Skip to content

Latest commit

 

History

History
90 lines (62 loc) · 2.13 KB

README.md

File metadata and controls

90 lines (62 loc) · 2.13 KB

@deriv/translations

  • Extract new string translations to Crowdin
  • Staging/dev branch is the source of truth for strings that should be translated.
  • React i18next configuration and translation components

In this document

Requirements:

  • Crowdin CLI: download here: https://support.crowdin.com/cli-tool/#installation
  • CROWDIN_API_KEY environment variables to your ~/.bash_profile
  • remote origin should be your fork
  • remote upstream should be the source repository (e.g. git@github.com:binary-com/deriv-app.git)

Extracting translations

Setup

Add the Crowdin API key to your ~/.bash_profile

   $ echo "export CROWDIN_API_KEY='apikeyhere'" >> ~/.bash_profile
   $ source ~/.bash_profile

Translate

To update strings to be translated in Crowdin

   $ npm run translate

Project translations

Setup

  • initialize translations in root app.jsx by importing and calling initializeTranslations
  • in app.jsx:
    import { initializeTranslations } from '@deriv/translations';
    ...
    initializeTranslations()

Usage

  • For strings use either localize(...) or <Localize />
  • <Localize /> example:
import { Localize } from '@deriv/translations';

<Localize
    i18n_default_text='You cannot use your real money account with {{website_name}} at this time.'
    values={{ website_name }}
/>;
  • localize example:
import { localize } from '@deriv/translations';

<h4 className='drawer__notifications-header'>{localize('all notifications')}</h4>;

FAQ:

  • This package includes all Crowdin configuration
  • Crowdin source translation file --> crowdin/messages.json
  • Source for the translated strings in the project --> src/translations/fr|en|id....json