forked from matrix/element-web
Merge pull request #6528 from aidalgol/string-translation-change-doc
Add instructions for changing translated strings
This commit is contained in:
commit
6bfc90bbe1
|
@ -3,6 +3,8 @@
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- A working [Development Setup](../../#setting-up-a-dev-environment)
|
- A working [Development Setup](../../#setting-up-a-dev-environment)
|
||||||
|
- Including up-to-date versions of matrix-react-sdk and matrix-js-sdk
|
||||||
|
- Node 8 or later
|
||||||
- Be able to understand English
|
- Be able to understand English
|
||||||
- Be able to understand the language you want to translate riot-web into
|
- Be able to understand the language you want to translate riot-web into
|
||||||
|
|
||||||
|
@ -30,9 +32,15 @@ function getColorName(hex) {
|
||||||
|
|
||||||
1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements. Also import `_td` if needed.
|
1. Check if the import ``import { _t } from 'matrix-react-sdk/lib/languageHandler';`` is present. If not add it to the other import statements. Also import `_td` if needed.
|
||||||
1. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
|
1. Add ``_t()`` to your string. (Don't forget curly braces when you assign an expression to JSX attributes in the render method). If the string is introduced at a point before the translation system has not yet been initialized, use `_td()` instead, and call `_t()` at the appropriate time.
|
||||||
1. Run `npm run i18n` to update ``src/i18n/strings/en_EN.json`` (if it fails because it can't find the script, your dev environment predates the script, so reinstall/link react-sdk with `npm link ../matrix-react-sdk`). If it segfaults, you may be on Node 6, so try a newer version of node.
|
1. Run `npm run i18n` to update ``src/i18n/strings/en_EN.json``
|
||||||
1. If you added a string with a plural, you can add other English plural variants to ``src/i18n/strings/en_EN.json`` (remeber to edit the one in the same project as the source file containing your new translation).
|
1. If you added a string with a plural, you can add other English plural variants to ``src/i18n/strings/en_EN.json`` (remeber to edit the one in the same project as the source file containing your new translation).
|
||||||
|
|
||||||
|
## Editing existing strings
|
||||||
|
|
||||||
|
1. Edit every occurrence of the string inside `_t()` and `_td()` in the JSX files.
|
||||||
|
1. Run `npm run i18n` to update `src/i18n/strings/en_EN.json`. (Be sure to run this in the same project as the JSX files you just edited.)
|
||||||
|
1. Run `npm run prunei18n` to remove the old string from `src/i18n/strings/*.json`.
|
||||||
|
|
||||||
## Adding variables inside a string.
|
## Adding variables inside a string.
|
||||||
|
|
||||||
1. Extend your ``_t()`` call. Instead of ``_t(STRING)`` use ``_t(STRING, {})``
|
1. Extend your ``_t()`` call. Instead of ``_t(STRING)`` use ``_t(STRING, {})``
|
||||||
|
|
Loading…
Reference in New Issue