Update translations doc

// FREEBIE
pull/1/head
Michael Kirk 7 years ago
parent 741bc9d1ae
commit 970148dd2e

@ -1,33 +1,37 @@
#
# Translations
Translations are solicited on Transifex[https://www.transifex.com/]. We
upload our source language (US English) to Transifex, where our
translators can submit their translations. Before the app is released,
we pull their latest work into the code base.
## For Developers
## Fetch Translations
### Localize User Facing Strings
Generally you wan to fetch the latest translations whenever releasing. The
exception being if you have recently changed lots of existing source strings
that haven't had a chance to be translated.
Use the NSLocalizedString macros to mark any user facing strings as
localizable. See existing usages of this macro for examples.
To fetch the latest translations:
### Extract Source Strings
bin/pull-translations
To extract the latest translatable strings and comments from our local source
files into our english localization file:
This imposes some limits on what localizations we include. For example,
we don't want to include languages until a substantial portion of the
app has been translated.
bin/auto-genstrings
Sometimes you'll pull down a translation which isn't yet tracked by git.
This means that translation recently became sufficiently complete to
include in the project. As well as adding it to git, you need to update
the Xcode project to include the new localization.
At this point you should see your new strings, untranslated in only the English
(en) localization.
Edit Signal/translations/en.lproj/Localizable.strings to translate your strings.
Commit these English translations with your work. Do not touch the non-english
localizations. Those are updated as part of our release process by Signal
Staff.
### Writing Good Translatable Strings
Be sure to add a comment to provide context to the translators. For
example:
Be sure to include comments in your translations, and enforce that other
contributors do as well. Why comment? For example, in English these are
the same, but in Finnish the noun/verb are distinct.
#### English
/* Tab button label which takes you to view all your archived conversations */
ARCHIVE_HEADER="Archive"
@ -35,9 +39,7 @@ example:
/* Button label to archive the current conversation */
ARCHIVE_ACTION="Archive"
Be sure to include comments in your translations, and enforce that other
contributors do as well. Why comment? For example, in English these are
the same, but in Finnish the noun/verb are distinct.
#### Finish
/* Tab button label which takes you to view all your archived conversations */
ARCHIVE_HEADER="Arkisto"
@ -50,12 +52,31 @@ provided. For example, is it an alert title, which can be a few words, a
button, which must be *very* short, or an alert message, which can be a
little longer?
## Extract Source Strings
## For Maintainers (Signal Staff)
Translations are solicited on Transifex[https://www.transifex.com/]. We
upload our source language (US English) to Transifex, where our
translators can submit their translations. Before the app is released,
we pull their latest work into the code base.
## Fetch Translations
To extract the latest translatable strings and comments from our local source files
(Signal-iOS and SignalServiceKit):
Generally you want to fetch the latest translations whenever releasing. The
exception being if you have recently changed lots of existing source strings
that haven't had a chance to be translated.
bin/auto-genstrings
To fetch the latest translations:
bin/pull-translations
This imposes some limits on what localizations we include. For example,
we don't want to include languages until a substantial portion of the
app has been translated.
Sometimes you'll pull down a translation which isn't yet tracked by git.
This means that translation recently became sufficiently complete to
include in the project. As well as adding it to git, you need to update
the Xcode project to include the new localization.
### Upload Strings to be Translated

Loading…
Cancel
Save