Translation of app string resources

Translations of string resources are done at TranslateWiki.Net (aka TWN).

TWN sync
About once a week we sync string resources between our code and TWN. The terms import and export are used based on the TWN perspective. We first import new strings (English + qqq) from our code bases to TWN then export translated strings out of TWN to our code bases. The following section document how this is done at a low level.

Before starting the TWN sync make sure you have joined the  IRC channel.

Import to TWN for both apps
If the last command say "No changes" the continue with the export steps.

If it says something like "Process changes at https://translatewiki.net/wiki/Special:ManageMessageGroups" then go to that URL in your browser, review the to be imported strings.

Note about the   flag: We tend to ignore translated string resource changes, unless there is a good reason for them to be done in our code and it should be reflected in TWN. (Usually translated strings come from TWN, and not the other way around.)

Note about the   flag: If the meaning of the English string has changed then mark it as fuzzy so it shows up as  in the TWN interface. Then translators know they should translate the string again.

Run job queue if there were changes to expedite the process (otherwise you have to wait a few minutes to make sure the import, which runs in the background, is complete:

Export from TWN
This will push a new commit to Gerrit in the respective app repo(s). Pick one of the following blocks depending on if you want to do it for boths app or just one:


 * Both apps
 * Just Android
 * Just iOS

Done
Now you can exit TWN:

For Android, go to Gerrit and run the translation tests, then merge.

One time TWN sync setup
Set GERRIT_USER to the proper value. Follow steps in Gerrit settings to set up a new set of ssh keys so you don't need to do ssh agent forwarding.

Fixing translations on TWN site
To get to the string in TWN fast you can:
 * 1) go to the Message group statistics for Android or iOS,
 * 2) click on the language you want,
 * 3) switch from   to   or  ,
 * 4) then enter the translated string in the.
 * 5) From there (in the "List" tab) you can click on.

Change translations
You can change the string here but that should be left to the translators. What you can do though is to add the string  in front of the current text to mark it fuzzy/outdated. You can also look at the translation history of that particular string by clicking on the little down arrow.

Example URLs
https://translatewiki.net/w/i.php?title=Special:Translate&action=translate&group=out-wikimedia-mobile-wikipedia-android-strings&language=es&filter=

History: https://translatewiki.net/w/i.php?title=Wikimedia:Wikipedia-android-strings-app_name_prod/es&action=history

Talk: https://translatewiki.net/wiki/Wikimedia_talk:Wikipedia-android-strings-app_name_prod/es

More about Message group statistics
A given language is only exported from TWN if it has reached or exceeded a certain translation completeness threshold. Currently the threshold is set to 35% {citation needed}.

Translatewiki on Gerrit
https://gerrit.wikimedia.org/r/#/admin/projects/translatewiki

For Android TWN sync see, esp. the   section.