Skip to content

Assisting With Translations

Will Binns edited this page May 25, 2018 · 2 revisions

How To Translate

You can join a translation team on Transifex and start translating or improving existing translations.

  • You must be a native speaker for the language you choose to translate.
  • Please be careful to preserve the original meaning of each text.
  • Sentences and popular expressions should sound native in your language.
  • Translations need to be reviewed by a reviewer or coordinator before publication.
  • Once reviewed, translations can be submitted in a pull request on GitHub.
  • In doubt, please contact coordinators on Transifex. That'll be much appreciated.

Import Translations

Update translations: You can update the relevant language file in _translations/ and from the root of the git repository run ./_contrib/updatetx.rb to update layouts and templates for this language. You should also make sure that no url has been changed by translators. If any page needs to be moved, please add redirections.

Add a new language: You can put the language file from Transifex in _translations and add the language in _config.yml in the right display order for the language bar. Make sure to review all pages and check all links.

Update English Strings

Any change in the English text can be done through a pull request on GitHub. If your changes affect the HTML layout of a page, you should apply fallback HTML code for other languages until they are updated.

{% case page.lang %}
{% when 'fr' %}
  (outdated french content)
{% else %}
  (up to date english content)
{% endcase %}

When translation is needed: If you want all changes you've made to be re-translated, you can simply update the resource file (en.yml) on Transifex.

When translation is not needed: If you are only pushing typo fixes and that you don't want translators to redo all their work again, you can use the Transifex client to pull translations, update en.yml and push back all translations at once:

# Init Transifex project
tx init

# Setup Transifex local client to use a project created on Transifex
tx set --auto-remote https://www.transifex.com/bitcoinorg/bitcoinorg/

# Download all translations
tx pull -a -s --skip

# Set the translations/bitcoinorg.bitcoinorg/en.yml file
# as a source that will be pushed back to the server after
# updating the translation
tx set --source -r bitcoinorg.bitcoinorg -l en translations/bitcoinorg.bitcoinorg/en.yml

# (update en.yml)

# Push changes back to Transifex
tx push -s -t -f --skip --no-interactive