Merge pull request #266 from vector-im/feature/bma/namingRules
Add string key naming rules.
This commit is contained in:
commit
c87716a744
2 changed files with 62 additions and 11 deletions
|
|
@ -2,12 +2,49 @@
|
|||
|
||||
Localazy is used to host the source strings and their translations.
|
||||
|
||||
<!--- TOC -->
|
||||
|
||||
* [Localazy project](#localazy-project)
|
||||
* [Key naming rules](#key-naming-rules)
|
||||
* [Special suffixes](#special-suffixes)
|
||||
* [Placeholders](#placeholders)
|
||||
* [CLI Installation](#cli-installation)
|
||||
* [Download translations](#download-translations)
|
||||
* [Add translations to a specific module](#add-translations-to-a-specific-module)
|
||||
|
||||
<!--- END -->
|
||||
|
||||
## Localazy project
|
||||
|
||||
To add new strings, or to translate existing strings, go the the Localazy project: [https://localazy.com/p/element](https://localazy.com/p/element).
|
||||
To add new strings, or to translate existing strings, go the the Localazy project: [https://localazy.com/p/element](https://localazy.com/p/element). Please follow the key naming rules (see below).
|
||||
|
||||
Never edit manually the files `localazy.xml` or `translations.xml`!.
|
||||
|
||||
### Key naming rules
|
||||
|
||||
For code clarity and in order to download strings to the correct module, here are some naming rules to follow as much as possible:
|
||||
|
||||
- Keys for common strings, i.e. strings that can be used at multiple places must start by `action_` if this is a verb, or `common_` if not;
|
||||
- Keys for common accessibility strings must start by `a11y_`. Example: `a11y_hide_password`;
|
||||
- Keys for strings used in a single screen must start with `screen_` followed by the screen name, followed by a free name. Example: `screen_onboarding_welcome_title`;
|
||||
- Keys can have `_title` or `_subtitle` suffixes. Example: `screen_onboarding_welcome_title`, `screen_change_server_subtitle`;
|
||||
- For dialogs, keys can have `_dialog_title`, `_dialog_content`, and `_dialog_submit` suffixes. Example: `screen_signout_confirmation_dialog_title`, `screen_signout_confirmation_dialog_content`, `screen_signout_confirmation_dialog_submit`;
|
||||
- `a11y_` pattern can be used for strings that are only used for accessibility. Example: `a11y_hide_password`, `screen_roomlist_a11y_create_message`;
|
||||
- Strings for error message can start by `error_`, or contain `_error_` if used in a specific screen only. Example: `error_some_messages_have_not_been_sent`, `screen_change_server_error_invalid_homeserver`.
|
||||
|
||||
*Note*: those rules applies for `strings` and for `plurals`.
|
||||
|
||||
#### Special suffixes
|
||||
|
||||
- if a key is suffixed by `_ios`, it will not be imported in the Android project;
|
||||
- if a key is suffixed by `_android`, it will not be imported in the iOS project.
|
||||
|
||||
So feel free to use those suffixes when necessary for instance when the string content is referring to something related to Android only, or iOS only.
|
||||
|
||||
#### Placeholders
|
||||
|
||||
Placeholders should have the form `%1$s`, `%1$d`, etc.. Please use numbered placeholders. Note that Localazy will take care of converting the placeholder to Android (-> `%1$s`) and iOS specific format (-> `%1$@`). Ideally add a comment on Localazy to explain with what the placeholder(s) will be replaced at runtime.
|
||||
|
||||
## CLI Installation
|
||||
|
||||
To install the Localazy client, follow the instructions from [here](https://localazy.com/docs/cli/installation).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue