Includes scratch-gui, scratch-vm, scratch-blocks, scratch-render, scratch-l10n, and deployment config. Co-authored-by: Cursor <cursoragent@cursor.com>
2.8 KiB
2.8 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:
- We don't want to wait for Travis's automatic weekly update; or,
- 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
localesconst - Check if language is right-to-left. If so:
- Add entry in
rtlLocales
- Add entry in
- Add entry for the language in the
-
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>'
- Add new entry to
- Edit
.tx/config:- Add to the
lang_maplist. Format is<Transifex ICU locale string>:<W3C HTML browser locale string> - NOTE: we are moving away from using the
txcli;.tx/configwill eventually be deprecated
- Add to the
-
Edit
src/index.js:- Add 'import' line
- Add entry in
localeDataarray
-
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 areact-intllocale
- In
- Edit
src/index.js:- In
localeData, add entry for parent locale
- In
- Edit
-
Update translations per the "Updating translations" section above
-
Confirm that we see changes to:
src/supported-locales.jssrc/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 -
Add language po files to scratchr2_translations
- manually update
scratchr2_translations/legacywithtx pull -l <locale>and check in changes
- manually update
-
Add language to scratchr2 settings
- manually update
settings/base.pywith the new language
- manually update
After scratch-l10n update is published:
- Update scratch-blocks dependency
- in
package.json, update the version of the scratch-l10n dependency to the version number you used above - pull translations so that a new
Blockly.ScratchMsgs.locales["<LOCALE CODE>"]is added tomsg/scratch_msgs.js
- in