Basics
Content
How Tomatico writes in an interface. Voice, sentence case, button labels, error wording, dates and numbers — in English and Arabic.
Voice
Tomatico's promise is "smart living, made simple". The writing has to sound like the second half of that sentence, not the first.
- Clear, not clever. The person is trying to lock a door or check a bill. Wordplay gets in the way.
- Direct. Say what happened and what to do next. Prefer the active voice: "We could not reach the sensor", not "The sensor could not be reached".
- Calm. No exclamation marks. Nothing is urgent unless it genuinely is, and then the words carry the urgency rather than the punctuation.
- Human. Talk to a person, not about a system. "Your front door is unlocked", not "Device 4 state: UNLOCKED".
Write
- "Your front door has been unlocked since 14:20."
- "We could not reach the living room sensor. Check that it is powered on."
- "Saved. Your schedule runs from tomorrow."
Not
- "Device state anomaly detected!"
- "Error 4021: connection failed."
- "Your changes have been successfully persisted to the system."
Sentence case, everywhere
Headings, buttons, labels, menu items, table headers, alerts. Capitalise the first word and proper nouns; nothing else.
- "Add a device", not "Add A Device".
- "Energy usage", not "Energy Usage".
The exception is the eyebrow style — small, wide-tracked, uppercase labels that mark a
section. That treatment comes from the brand's tagline lockup, and it is a typographic
style rather than a capitalisation choice. It is available as
.tmt-eyebrow, and it never applies to Arabic.
Button and link labels
A button label says what will happen when it is pressed. Start with a verb, keep it under three words, and make it specific enough to read on its own — people who navigate by a list of controls never see the surrounding sentence.
| Instead of | Write | Why |
|---|---|---|
| OK | Save changes | Says what it does. |
| Submit | Create account | Names the outcome. |
| Yes / No | Delete device / Keep it | Survives being read out of order. |
| Click here | View your bill | Link text has to make sense alone. |
| Learn more | How scheduling works | Three "Learn more" links on a page are indistinguishable. |
Error messages
Three parts, in this order: what happened, why, what to do. Drop the "why" if it is obvious, never drop the "what to do".
- No blame. "Enter a date in the future", not "You entered an invalid date".
- No codes on their own. If support needs a reference, put it after the plain-language message, not instead of it.
- No apologies. "Sorry, something went wrong" tells the person nothing. Say what failed and what they can do.
- Name the field. An error next to a field still needs to identify it, because the error summary at the top of the form repeats it out of context.
See Form validation for where the words go and how they are announced.
Empty states
An empty screen is an opportunity, not a failure. Say what would be here, why it is not, and give the one action that fills it.
No schedules yet
Schedules turn your devices on and off automatically at times you choose.
Numbers, dates and units
- Numerals from zero. "3 devices", not "three devices" — interfaces are scanned, not read.
- Western Arabic numerals (0–9) in both languages, unless a client requires Eastern Arabic numerals.
- Dates unambiguously. "3 September 2026" or "3 Sep 2026". Never 03/09/26 — it means two different things in two markets.
- 24-hour time as the default: 14:20.
- Space before the unit: 24 °C, 3.2 kWh, 250 ms.
- Round sensibly. 3.2 kWh, not 3.2417 kWh. Precision the person cannot act on is noise.
Writing for Arabic
Arabic is not a translation of the English at the end of the project — it is a first-class version of the product, and it needs the same editorial care.
- Translate meaning, not words. A literal rendering of an English button label usually reads as an instruction to a machine.
- Expect the length to change. Arabic often runs shorter than English in characters but taller in line height. Never size a button to fit exactly one language.
- Keep brand terms in Latin. "Tomatico" and "Smart Living" stay as they
are; wrap them in a
<span dir="ltr">inside Arabic text so the punctuation around them lands correctly. - Never apply letter-spacing. It breaks the script's joins. That rules
out
.tmt-eyebrowfor Arabic — use a Medium weight at the small size instead. - Have a native speaker review it in place, in the actual interface. A spreadsheet of strings hides every problem worth catching.
Writing that works for everyone
- Front-load. Put the important word first — people scan the start of lines, and screen reader users often skip through by first words.
- No directional instructions. "The button below" breaks in a mirrored layout and means nothing in a screen reader. Name the control instead.
- No colour-only references. "The items marked in red" fails for a quarter of the people reading it. Say "the items marked Overdue".
- Meaningful alt text. Describe what the image conveys. If it conveys
nothing, use
alt=""so it is skipped rather than announced as a filename. - Expand an abbreviation on first use, in both languages.