HA Frontend User-Facing Text
Use this skill for all user-facing text, translations, labels, buttons, dialog copy, errors, helper text, and review comments about wording.
Localization
- All user-facing text must be translatable.
- Add translation keys to
src/translations/en.json when introducing new strings.
- Use the localization system instead of inline user-visible strings.
- Prefer complete localized strings with placeholders over concatenating translated fragments.
- Give translators enough context through key naming and placeholders.
this._localize("ui.panel.config.updates.updates_refreshed", {
count: 5,
});
Voice And Style
- Use American English.
- Use a friendly, informational tone.
- Address users directly with "you" and "your" when appropriate.
- Be inclusive, objective, and non-discriminatory.
- Be concise and clear.
- Use active voice.
- Avoid jargon where a familiar home automation term works.
- Always write "Home Assistant" in full. Do not use "HA" or "HASS" in user-facing copy.
- Spell out terms when possible.
- Use sentence case for titles, headings, buttons, labels, and UI elements.
- Use the Oxford comma in lists.
- Prefer "like" over "e.g." and "for example" over "i.e.".
- Avoid all caps for emphasis. Use wording, bold, or italics instead.
- Write for both technical and non-technical users.
Sentence case examples:
- Use: "Create new automation"
- Avoid: "Create New Automation"
- Use: "Device settings"
- Avoid: "Device Settings"
Terminology
Use "integration" instead of "component" for user-facing product language unless referring to a frontend component in developer context.
Technical product terms are lowercase in prose: automation, entity, device, service.
Delete, Remove, Create, Add
Use "Remove" for actions that can be restored or reapplied:
- Removing a user's permission.
- Removing a user from a group.
- Removing links between items.
- Removing a widget from a dashboard.
- Removing an item from a cart.
Use "Delete" for permanent, non-recoverable actions:
- Deleting a field.
- Deleting a value in a field.
- Deleting a task.
- Deleting a group.
- Deleting a permission.
- Deleting a calendar event.
Use "Add" for already-existing items:
- Adding a permission to a user.
- Adding a user to a group.
- Adding links between items.
- Adding a widget to a dashboard.
- Adding an item to a cart.
Use "Create" for something made from scratch:
- Creating a new field.
- Creating a new task.
- Creating a new group.
- Creating a new permission.
- Creating a new calendar event.
Create pairs with Delete. Add pairs with Remove.
Review Checklist
- Text is localized.
- Copy uses sentence case.
- "Home Assistant" is written in full.
- Delete/Remove and Create/Add match recoverability and object lifecycle.
- Placeholders are used instead of string concatenation.
- The wording is concise and understandable without implementation knowledge.
1---2name: ha-frontend-user-facing-text3description: Home Assistant frontend copy, localization, terminology, and user-facing text guidance. Use when adding or reviewing labels, buttons, dialogs, errors, translations, or UI strings.4---56# HA Frontend User-Facing Text78Use this skill for all user-facing text, translations, labels, buttons, dialog copy, errors, helper text, and review comments about wording.910## Localization1112- All user-facing text must be translatable.13- Add translation keys to `src/translations/en.json` when introducing new strings.14- Use the localization system instead of inline user-visible strings.15- Prefer complete localized strings with placeholders over concatenating translated fragments.16- Give translators enough context through key naming and placeholders.1718```ts19this._localize("ui.panel.config.updates.updates_refreshed", {20 count: 5,21});22```2324## Voice And Style2526- Use American English.27- Use a friendly, informational tone.28- Address users directly with "you" and "your" when appropriate.29- Be inclusive, objective, and non-discriminatory.30- Be concise and clear.31- Use active voice.32- Avoid jargon where a familiar home automation term works.33- Always write "Home Assistant" in full. Do not use "HA" or "HASS" in user-facing copy.34- Spell out terms when possible.35- Use sentence case for titles, headings, buttons, labels, and UI elements.36- Use the Oxford comma in lists.37- Prefer "like" over "e.g." and "for example" over "i.e.".38- Avoid all caps for emphasis. Use wording, bold, or italics instead.39- Write for both technical and non-technical users.4041Sentence case examples:4243- Use: "Create new automation"44- Avoid: "Create New Automation"45- Use: "Device settings"46- Avoid: "Device Settings"4748## Terminology4950Use "integration" instead of "component" for user-facing product language unless referring to a frontend component in developer context.5152Technical product terms are lowercase in prose: automation, entity, device, service.5354## Delete, Remove, Create, Add5556Use "Remove" for actions that can be restored or reapplied:5758- Removing a user's permission.59- Removing a user from a group.60- Removing links between items.61- Removing a widget from a dashboard.62- Removing an item from a cart.6364Use "Delete" for permanent, non-recoverable actions:6566- Deleting a field.67- Deleting a value in a field.68- Deleting a task.69- Deleting a group.70- Deleting a permission.71- Deleting a calendar event.7273Use "Add" for already-existing items:7475- Adding a permission to a user.76- Adding a user to a group.77- Adding links between items.78- Adding a widget to a dashboard.79- Adding an item to a cart.8081Use "Create" for something made from scratch:8283- Creating a new field.84- Creating a new task.85- Creating a new group.86- Creating a new permission.87- Creating a new calendar event.8889Create pairs with Delete. Add pairs with Remove.9091## Review Checklist9293- Text is localized.94- Copy uses sentence case.95- "Home Assistant" is written in full.96- Delete/Remove and Create/Add match recoverability and object lifecycle.97- Placeholders are used instead of string concatenation.98- The wording is concise and understandable without implementation knowledge.