Commit graph

50 commits

Author SHA1 Message Date
David Baker
317ad64ae6 Make the gen-i18n script validate _t calls
And throw a massive tantrum if you've messed up your format strings.

Because broken format strings making their way into the app cause it
to throw exceptions.
2017-10-20 18:38:22 +01:00
David Baker
d397858e81 Don't remove other plural variants 2017-10-19 14:39:23 +01:00
David Baker
8a9de7343c Add script to prune unused translations 2017-10-19 12:11:21 +01:00
David Baker
027a70ffe7 Add gen-i18n as a 'binary'
and add appropriate shebang
2017-10-19 10:51:54 +01:00
David Baker
1bada070ca Make gen-i18n support 'HTML'
Where by 'HTML' I mean just run the same regex as riot does over
some text.

Also make it walk multiple paths.

This mostly means it can be used for riot-web.
2017-10-18 19:36:07 +01:00
David Baker
2bbac903f1 'base file' is a bit overloaded by weblate 2017-10-18 14:45:04 +01:00
David Baker
caa4979e37 Comment ignoring getTKey returning null 2017-10-18 14:43:18 +01:00
David Baker
63a7d37f5a commented logging 2017-10-18 14:41:54 +01:00
David Baker
a2bfdd8925 missing saemi 2017-10-18 14:33:21 +01:00
David Baker
f759467193 Get English plural strings from an input file 2017-10-18 14:30:55 +01:00
David Baker
11761f535d Copyright 2017-10-18 13:39:04 +01:00
David Baker
8370c823b6 Script to generate the translations base file
Also replaces the translations base file with the output of the
script.
2017-10-17 19:19:01 +01:00
Luke Barnard
07b6040c39 Update travis script to use lintwithexclusions 2017-09-28 11:33:36 +01:00
Luke Barnard
2de4dd7b71 Filter out unsupported emoji from the emoji meta data
Because apparently emojione provides meta data for more than the emojis it supports itself.

Fixes https://github.com/vector-im/riot-web/issues/4504
2017-07-05 17:09:16 +01:00
Luke Barnard
982b009b90 Implement ascii emoji tab completion
When a fully plaintext, ascii emoji is typed like ";-)", pressing tab will suggest emojione to replace it with based off of the meta data provided by emojione.

e.g. the aliases_ascii for `😃` are [":D",":-D","=D"] so typing ":D *tab*" will insert a real 😃
2017-06-29 11:29:55 +01:00
Luke Barnard
48eb6f251b Update comment 2017-06-28 13:44:44 +01:00
Luke Barnard
30f80b57f2 Instead of making this part of the build process, let the devs generate stripped-emoji.json
With the expectation that when the file needs to be regenerated to include other keys, the developer will run this script.
2017-06-28 13:28:48 +01:00
Luke Barnard
2b8da85726 Strip the emoji meta-data for the data we need
This is done at build time by parsing emojione/emoji.json, stripping it and then writing to ./lib/stripped-emoji.json.
2017-06-28 11:36:19 +01:00
David Baker
4eb7419335 Don't put in spurious newline 2017-06-13 11:54:28 +01:00
David Baker
89c7477bd6 Add script to copy translations between files
So we can fill in missing translations from different dialects

Use it to fill in missing strings in pt from pt_BR
2017-06-13 11:39:37 +01:00
Matthew Hodgson
74e4260556 fix fullstops 2017-06-08 15:14:46 +01:00
Richard van der Hoff
9bda212cb1 Make travis/jenkins check for lint on files which are clean to start with 2017-06-08 14:03:30 +01:00
Matthew Hodgson
fe487232ad sync fullstops everywhere 2017-06-07 18:15:56 +01:00
Matthew Hodgson
650d45466c fix up missing strings caused by punctuation changes 2017-06-01 22:06:02 +01:00
Matthew Hodgson
b4284cf000 fix up Can't connect to HS i18n with _tJsx 2017-06-01 01:17:39 +01:00
Matthew Hodgson
85f830db71 warn for duplicate translation keys 2017-05-28 21:28:11 +01:00
Matthew Hodgson
dba35f4901 extend script to check for broken variables 2017-05-27 20:14:52 +01:00
Matthew Hodgson
796158422c list the strings remaining to be translated 2017-05-27 19:03:26 +01:00
Matthew Hodgson
b697c0472f fix fullstop 2017-05-27 18:41:43 +01:00
Matthew Hodgson
bc433bc2a2 ignore country codes 2017-05-27 18:38:37 +01:00
Matthew Hodgson
8d79ab6ce2 track entries that exist in en_EN but not in the src... 2017-05-27 18:35:34 +01:00
Matthew Hodgson
3302fc690f fix all missing translations picked up by check-i18n.pl 2017-05-27 18:20:44 +01:00
Matthew Hodgson
1305fd619e fix quoting 2017-05-27 17:42:58 +01:00
Matthew Hodgson
f442a665c8 fix more i18n punctuation fails 2017-05-27 17:36:02 +01:00
Matthew Hodgson
730258bd3c fix punctuation on e2e warning 2017-05-27 17:30:32 +01:00
Matthew Hodgson
e684cd5d28 track broken i18n files 2017-05-27 17:27:58 +01:00
Matthew Hodgson
44f8ee44e6 check for missing src strings too 2017-05-27 17:13:17 +01:00
Matthew Hodgson
c8dab3ae65 script for checking health of i18n 2017-05-27 16:47:15 +01:00
Matthew Hodgson
c34edbec3e include fullstop fixup 2017-05-27 16:02:51 +01:00
Matthew Hodgson
0cacf5b1a0 script to make punctuation consistent in i18n strings 2017-05-27 15:02:05 +01:00
Richard van der Hoff
4df51a2b0b Reskindex to a temp file, to confuse the babel watcher less (#908)
I'm seeing a lot of instances where the babel watcher picks up a half-written src/component-index,
and generates an empty lib file - which it then doesn't update when src/component-index is updated.

Empirically, this seems to make it better.
2017-05-19 11:44:04 +01:00
Luke Barnard
15201d86aa Prevent reskindex -w from running when file names have not changed 2017-05-15 10:16:47 +01:00
Luke Barnard
9af9603373 Only watch indexed files 2017-05-08 16:29:53 +01:00
Luke Barnard
2eaaa97451 Give reskindex.js a watch mode (-w)
`scripts/reskindex.js -w` will run reskindex in watch mode whereby FS events will cause a reskindex to occur.

This depends on `chokidar`
2017-05-08 15:07:05 +01:00
David Baker
396b38512c Remove babelcheck
Nobody is likley to be upgrading from babel 5 any more, so this
can go away now.
2017-05-04 16:50:47 +01:00
David Baker
923d2264dd Ignore components with no default export
InteractiveAuthEntryComponents is not a single component and
doesn't really fit into the structure: ignore it, otherwise
we crash when loading the skin.
2016-10-17 16:24:09 +01:00
David Baker
0931f746d8 Move scripts into scripts/ 2016-10-17 16:23:27 +01:00
David Baker
5b4b81f7dc Revert "Switch to babel 6" 2016-10-14 18:49:52 +01:00
David Baker
1336fe7490 Ignore components with no default export
InteractiveAuthEntryComponents is not a single component and
doesn't really fit into the structure: ignore it, otherwise
we crash when loading the skin.
2016-10-13 10:36:11 +01:00
David Baker
89ca18b556 Move scripts into scripts/ 2016-10-13 09:45:07 +01:00