
## 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 ..."

