100 lines
4.1 KiB
Markdown
100 lines
4.1 KiB
Markdown
|
||
## Translations
|
||
|
||
This documents the convention used for the text in the UI.
|
||
|
||
### Tale of Two Cases
|
||
|
||
**Title Case**
|
||
|
||
All words are capitalized. In title case, articles (a/an/the), conjunctions (and/but/or/...)
|
||
and prepositions (on/at/...) inside a phrase are not capitalized. Everything else is capitalized
|
||
- noun, pronoun, verb, adverb.
|
||
|
||
Examples:
|
||
|
||
* "Sign In to Your Account"
|
||
* "Terms and Conditions"
|
||
* "Getting Started with GraphQL"
|
||
* "Between You and Me"
|
||
|
||
**Sentence Case**
|
||
|
||
Only first word is capitalized.
|
||
|
||
### UI Conventions
|
||
|
||
Keeping as much as possible in Sentence Case helps in sharing the same strings.
|
||
|
||
| Element | Recommended Style | Example |
|
||
| -------------- | ---------------------- | -------------------------------- |
|
||
| Headings | Title Case | Manage Account |
|
||
| Sub heading | Title Case | Create Admin Account |
|
||
| Section/Card | Title Case | System Information |
|
||
| Form Labels | Sentence case | Email address |
|
||
| Form Groups | Sentence case | Volume mounts, Data directory |
|
||
| Table headings | Sentence case | Memory limit |
|
||
| Info sections | Sentence case | Cloudron version |
|
||
| Buttons | Sentence case | Save changes |
|
||
| Radio Buttons | Sentence case | Option one / Option two |
|
||
| Checkbox | Sentence case | Use CIFS encryption |
|
||
| Menu action | Sentence case | Select all |
|
||
| Switches | Sentence case | Allow users to edit email |
|
||
| Descriptions | Sentence case | Enter your password to continue. |
|
||
| Tooltips | Sentence case | Click to edit. |
|
||
| Error Messages | Sentence case | Password is too short |
|
||
| Notifications | Sentence case | Settings saved successfully. |
|
||
| Legend (graph) | Sentence case | Docker volume, Box data. |
|
||
| Placeholders | Sentence case | Comma separated IPs or subnets |
|
||
|
||
Hints in brackets are small case. Like "(comma separated)".
|
||
|
||
### Full Stops
|
||
|
||
Sentence fragments like form hints and tooltips (which are always visible) do not need a full stop.
|
||
All other full sentences do.
|
||
|
||
Description has a full stop unless it's a hint/phrase.
|
||
|
||
instructional heading in dialogs (like the object being configured) should not have a full stop.
|
||
|
||
Switch UI description does not have a fullstop.
|
||
|
||
Setting item description does not need a fullstop (usually).
|
||
|
||
Checkbox labels do not have a full stop at the end.
|
||
|
||
No full stop → short labels, commands, headings, or action text (“Configure Service {{serviceName}}”).
|
||
|
||
Full stop → descriptive text or sentences explaining a setting (“The IPv4 address used for DNS A records.”).
|
||
|
||
### Dialog Buttons
|
||
|
||
'Add' for addition
|
||
'Cancel' to cancel
|
||
'Save' for edit/update
|
||
'Remove' for non-destructive/less destructive things (app password remove)
|
||
'Delete' for destructive (user delete)
|
||
|
||
'Close' - Only for dialogs with the only button
|
||
|
||
### Dialog Text
|
||
|
||
When asking for confirmation simply ask 'Remove app password "xxx"' . Don't use "really"
|
||
or other emotional terms. Quote the password/domain name.
|
||
|
||
In general, we put just "Delete User" in Title and provide the username in the context.
|
||
|
||
Title = action (what you’re doing)
|
||
Description = context (to whom it applies)
|
||
|
||
### Description Text
|
||
|
||
| Context | Verb form | Example |
|
||
| --------------------------------- | ------------------------ | ---------------------------------------------------------------------- |
|
||
| **Action / Button / Instruction** | **Imperative** → “Add” | Button: **Add**, Tooltip: “Add a new link” |
|
||
| **Section / View description** | **Imperative** → “Add” | Description: **Adds shortcuts to external services on the dashboard.** |
|
||
|
||
We use plural when possible. "Admins can ..." , "Operators can ..."
|
||
|