Overview
Help translate Zippie into your language! Sign up to the Zippie Translation Portal for an overview of Zippie Projects and Supported Languages
We use Weblate to manage translation contributions, check out their Translators Guide for detailled information on how to use the platform
How can I contribute a Translation?
Please log into our Translation Portal to view the current Projects and progress of translation. Select the Project and Language you would like to contribute, and choose the Translate
button on the right hand side.
Once you are done and the translations have been accepted, the translation will appear in the next release of the Zippie Project!
How can I add a new Language?
New languages have to be added by developers first, please contact us to request a new language be added
For developers adding a new language is as simple as running the appropriate command on the project with the correct ISO_639-1 Language Code
yarn add-locale [language code]
and then commiting the the created messages.po
file to the git repository
What do I need to do to add new strings to be translated?
Before adding new string ids, please make sure they conform to the naming convention.
Recommendations
- Use screen names as prefix after removing “Screen”/“View”
- Use small letters
- Separate words by dot, except for words that are treated as one unit, like receiveAccount, which is camelCased
- Generic strings like “OK”, “Cancel”, “Previous” or strings that likely aren’t very specific to one screen have the word itself as id (easiest way to check which ones exist is to look in src/locales/en/messages.po or search for <Trans in source code)
- Do not use component types (label, button etc) as part of name, rather focus on the context/action
### Examples Example String IDs for translation
- screen.context/action
- wallet.title
- wallet.subtitle
- redeemCheck.redeem
- screen.submenu.title
- settings.general.title
- settings.id.security.title
- screen.field.context
- send.amount.required
- send.currency.must.select
- context.action.error
- wallet.update.error
- redeemCheck.redeem.error
- readCard.createCheck.error
- transaction.cancel.error
Add the string to the project
We use lingui to handle translations in our reactjs projects, and the general process is as follows:
Add the ID to the code eg.
<Trans id="wallet.title"/>
Extract the latest string from the code to the messages.po file
yarn extract # --clean to remove outdated ids
and finally commit the latest messages.po files to the git repository.
Once committed our CI infrastructure will take care of the rest