Skip to content

Commit

Permalink
docs: add process for updating translations (#876)
Browse files Browse the repository at this point in the history
Make translations documentation more generic and add process for
adding/updating entries.

Closes #873
  • Loading branch information
ckniffen authored Nov 30, 2023
1 parent cfa8026 commit c7a9918
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 12 deletions.
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,13 @@ Since `canvas` does not provide pre-built binaries for Apple chips during `npm i

## Targeted languages

1. US English (default)
1. Japanese
1. Korean
1. US English (default)
1. Spanish
1. French
1. Japanese
1. Korean

If you are interested in adding more translations please follow the guide on [how to define an additional language](./docs/how-to-define-a-language.md).
When updating translation entires or adding new languages consult the guide [Translating](./docs/translating.md).

## Additional Documentation
* [How to define transactions](./src/containers/shared/components/Transaction/README.md)
Expand Down
8 changes: 0 additions & 8 deletions docs/how-to-define-a-language.md

This file was deleted.

25 changes: 25 additions & 0 deletions docs/translating.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Translating the Application

## How Languages Are Defined

1. Add the new language code and language name to the map `supportedLanguages` in [/src/i18n/baseConfig.ts](../src/i18n/baseConfig.ts)
2. Create a folder in [/public/locales/](../public/locales) with the language code as its name.
3. Add a new file, `translations.json`, to the new folder.
4. Translate all the entries. If you prefer to use the English version just set the value to `null`.

Example file: [/public/locales/ja-JP/translations.json](../public/locales/ja-JP/translations.json)

## Updating Existing Translations

When making changes to the base (English) language file follow the guide based on the type and scope of the change.

### New Entry
1. Create entry in `en-US/translations.json`
2. Add an entry to all other `translation.json` files. Set the value to be `null` (which means it will default to using the English version).

## Existing Entry
1. Update the entry in `en-US/translations.json`
2. If the meaning does **NOT** change materially, you can leave them as is. Ex. "Please check your transaction hash" => "Please check your transaction hash or CTID."
3. If the entry has a new meaning than before, set the value to `null` in all other `translation.json` files.

*Note that changing a translation to `null` causes it to fall back to the English version, and is a signal to language contributors that they may want to provide a fresh localization.*

0 comments on commit c7a9918

Please sign in to comment.