Skip to content

Latest commit

 

History

History
67 lines (49 loc) · 2.48 KB

File metadata and controls

67 lines (49 loc) · 2.48 KB

Internationalization (I18N)

We use POEditor to streamline our translation process.

Translator

Update a language

  1. Login to POEditor
  2. Update and review the language
  3. Please toggle the Proofread flag for all translations that you finished
  4. Drop us a note that we can integrate your work in our project

Preview a language

  1. Drop us a note that you translate and we will enable the features in the App for you.
  2. Goto Menu | Settings | Erase all Content
  3. When the App refreshes, you will have an additional menu Developer. This gives you access to the live translations features. You can choose another language via Override Language. You see all available languages, even if they are not yet released.
  4. You can refresh the translations any time via Refresh Current Translations. Translations are live downloaded from the POEditor service and applied to the App. Such, you can validate what you translated.
  5. If you want to get back to the defaults, press Reset Translations to Default.

Developer

Internals

  • We use a babel plugin module-resolver to provide moment with all languages pre-loaded (moment/min/moment-with-locales)
  • Languages can be provided on the fly for an App release via CDN:/translations/#channel#/#lang#.json

Add terms

If you added terms to the App, other languages need to translate that new terms.

  1. Update the english locale only!
  2. yarn translations and commit
  3. Login to POEditor
  4. Settings | GitHub
  5. Tick the language
  6. Click Get terms
  7. Notify translators about new terms

Update a language

  1. Login to POEditor
  2. Settings | GitHub
  3. Tick the language
  4. Export to GitHub
  5. Languages can be published on the fly for an App via CDN

Add language

  1. Know you iso2 code (XX)
  2. Add XX_strings.json with {}
  3. Add XX.ts
import XX from './XX_strings.json';

XX.id = 'XX';
export default XX;
  1. Add language to translations.ts, loadLanguage
  2. Add language to .env, APP_LANGUAGES
  3. Add the language to POEditor
  4. Add a mapping for the file in POEditor
  5. Find someone who can translate it :)
  6. Make a new release build and publish it to the stores

When the language is approved, the add language to azure-pipelines.yaml, APP_LANGUAGES. This will publish the language together with the App.