diff options
author | Chocobozzz <me@florianbigard.com> | 2018-06-06 19:37:55 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-06-06 19:38:25 +0200 |
commit | 157b62b1f4450c32bb7383ccacbea555ec607013 (patch) | |
tree | a5d70f81a3ba1dfdcc41428c053619e6300704ff /support | |
parent | fa40cbc3b26e2a7b01a6273def62fa8bb552c7b6 (diff) | |
download | PeerTube-157b62b1f4450c32bb7383ccacbea555ec607013.tar.gz PeerTube-157b62b1f4450c32bb7383ccacbea555ec607013.tar.zst PeerTube-157b62b1f4450c32bb7383ccacbea555ec607013.zip |
Add dev doc about localization
Diffstat (limited to 'support')
-rw-r--r-- | support/doc/development/localization.md | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/support/doc/development/localization.md b/support/doc/development/localization.md new file mode 100644 index 000000000..3cf797516 --- /dev/null +++ b/support/doc/development/localization.md | |||
@@ -0,0 +1,32 @@ | |||
1 | # Application localization documentation | ||
2 | |||
3 | Source files are in `client/src/locale/source` and translated files pulled from [Zanata](https://trad.framasoft.org/zanata/iteration/view/peertube/develop/languages/fr?dswid=-1605) in `client/src/locale/target`. | ||
4 | |||
5 | ## Generation | ||
6 | |||
7 | Will generate XLIFF files for Angular and escape inner elements in `source` tag because Zanata does not support them. | ||
8 | |||
9 | This script will create `player_en_US.xml` XLIFF file using custom strings (VideoJS plugins) and strings from `videojs_en_US.json` file. | ||
10 | |||
11 | It will also create `server_en_US.xml` XLIFF file using custom strings (defined inside the script, we did not find a way to extract them from TypeScript server files). | ||
12 | |||
13 | ``` | ||
14 | $ npm run i18n:generate | ||
15 | ``` | ||
16 | |||
17 | ## Upload on Zanata | ||
18 | |||
19 | Push source source files (en-US) on Zanata: | ||
20 | |||
21 | ``` | ||
22 | $ zanata-cli push | ||
23 | ``` | ||
24 | |||
25 | ## Pull translation | ||
26 | |||
27 | Pull XLIFF files from Zanata, and unescape them (so we retrieve inner elements in `source` tag, used by Angular). | ||
28 | A hook converts `player` and `server` translation files to JSON (needed by Video.JS, and our application to have efficient runtime translation). | ||
29 | |||
30 | ``` | ||
31 | $ zanata-cli pull | ||
32 | ``` | ||