scratch-l10n/.github/PULL_REQUEST_TEMPLATE.md
chrisgarrity 13c9a785d9
Reference the other steps needed for adding a language
Scratch-blocks, scratchr2 and scratchr2_translations all need manual updates when a language is added. Since l10n changes will usually be the starting point, add reminders for the others here.
2019-04-25 17:16:58 -04:00

2.7 KiB

Resolves

  • Resolves #

Proposed Changes

Describe what this Pull Request does

Checklist for updating translations

There are two situations in which we create manual PRs to update translations:

  1. We don't want to wait for Travis's automatic weekly update; or,
  2. We need to add a language that has become ready

1. Updating translations manually

  • Pull editor translations from Transifex with > npm run pull:editor
  • Pull www translations from Transifex with > npm run pull:www
  • Test the result with > npm run test
  • Confirm that you see changes to files like editor/<resource>/<lang code>.json

Adding a language

  • Edit src/supported-locales.js:

    • Add entry for the language in the locales const
    • Check if language is right-to-left. If so:
      • Add entry in rtlLocales
  • Check if the new language uses a country code

    • Check https://www.transifex.com/explore/languages. If the language has a country code:
    • Edit src/supported-locales.js:
      • Add new entry to localeMap. Format is '<W3C HTML browser locale string>': '<Transifex ICU locale string>'
    • Edit .tx/config:
      • Add to the lang_map list. Format is <Transifex ICU locale string>:<W3C HTML browser locale string>
      • NOTE: we are moving away from using the tx cli; .tx/config will eventually be deprecated
  • Edit src/index.js:

    • Add 'import' line and export line
    • Add entry in localeData array
  • Check if locale is in react-intl

    • Look in https://unpkg.com/react-intl/locale-data/
    • If not in react-intl:
      • Edit src/supported-locales.js:
        • In customLocales, add entry with parent set to a react-intl locale
      • Edit src/index.js:
        • In localeData, add entry for parent locale
  • Update translations per the "Updating translations" section above

  • Confirm that we see changes to:

    • src/supported-locales.js
    • src/index.js
    • .tx/config (if language needed a new locale)
    • Multiple files like editor/<resource>/<lang code>.json
  • Bump minor version number in package.json

  • Update scratch-blocks dependency

    • scratch-blocks has its own translations. It will not pick up the new language unless the scratch-l10n dependency in package.json is updated to the new minor version.
  • Add language po files to scratchr2_translations

    • manually update scratchr2_translations/legacy with tx pull -l <locale> and check in changes
  • Add language to scratchr2 settings

    • manually update settings/base.py with the new language