We use https://www.locize.io/ as a translation service.
Language files are stored in frontends/web/src/locales
.
The reference language is en
.
Changing values of any language (reference or otherwise) must be done inside of locize.
Changing values of existing keys must be done inside of locize.io, so the corresponding keys in the other languages get tagged to be retranslated.
Repo maintainers use locize-cli. to push/pull translation files.
Set up ~/.locize
with the following contents:
apiKey = <your bitbox-wallet-app api key>
projectId = fe4e5a24-e4a2-4903-96fc-3d62c11fc502
version = latest
After adding or removing keys in the reference language: make locize-push
.
make locize-push
does not update the values of existing keys. In emergencies, use
locize sync -u true
to force overwrite them.
To pull the files from locize into the repo, use make locize-pull
.
Login to locize.io to the bitbox-wallet-app project.
Or use a build of the app with an inline editor (see above).
Keys can be added to or removed from frontends/web/src/locales/en/app.json
. Keys for other
languages must not be added or removed manually.
Existing keys should not be modified directly, but sometimes it is still useful to modify en
keys
anyway. Reasons can be for review/testing purposes or to keep track which keys have to be updated
after the PR was merged.
Keys have to be in alphabetical order, this can be automatically fixed by running:
make locize-fix