Hints
SD.Next hints system is based on the single JSON file: ui/locale/locale_en.json
Structure of the file is simple: For each visible UI label, there is a corresponding hint that is displayed when user hovers over the label.
Example: generate button:
{ "id":"", "label":"Generate", "localized":"", "hint":"Start processing" }
See Localization document for more details since same file is used for langugage localizations as well as providing hints
Editing
You can add or modify hints displayed in the UI by editing the hints file.
Warning
Only modify the hint field in the file. Do not change any other fields.
[!IMPORTANT] Items in the "missing" section are auto-created with default hints only. To customize them, move them to the correct section and add your hint. Do not leave them in the missing section, as they will be overwritten on the next update.
Validation
Warning
All hints updates should be validated before submitting
Before submitting updates, validate your edits by saving the file locally and running:
python cli/validate-locale.py
Contribution
The best way to submit additions or changes is to create a GitHub PR with changes to the file.
Alternatively: - Create a GitHub discussion or issue to suggest changes - Reach out via the Discord server - #Contribute channel
Typography
Hint strings render as HTML. A small set of inline tags is used to keep hints scannable.
| Tag | Meaning | Examples |
|---|---|---|
<b> |
A value: default, dropdown enum, or specific numeric | <b>0.30</b>, <b>Karras</b>, <b>v_prediction</b> |
<b><i> |
A cross-reference to another label in the UI | <b><i>Denoising strength</i></b>, <b><i>Use init image</i></b> |
<i> |
A proper noun: model family, dataset, or example value being discussed | <i>SDXL</i>, <i>danbooru</i>, <i>long hair</i> |
<code> |
A literal: type or use this verbatim | <code>[PROMPT]</code>, <code>face-yolo8n:conf=0.5:strength=0.4</code> |
Cross-references
Use <b><i>...</i></b> whenever a hint refers to another control by its exact visible label. This includes setting names, tab names, and named buttons. Match the label exactly, including capitalization and spacing. Readers will look for the same string in the UI.
Generic concept references (the model, the prompt, the scheduler) are not cross-references and stay unstyled.
Structure
<br>for a line break within a paragraph<br><br>for a paragraph break<br>- <b>key</b>: descriptionfor a keyed bullet list, used for short enumerations of dropdown values, modes, or numeric brackets
Do not use <ul>, <li>, Markdown asterisks, or unicode bullets; none of those are used elsewhere in the file.
Common pitfalls
- Do not bold ad-hoc emphasis.
<b>is reserved for values and, combined with<i>, for cross-references; overusing it makes the genuine signal blend in. - Do not use
<b>and<i>separately for cross-references; always combined as<b><i>...</i></b>. - Do not reword the inside of
<code>blocks; they are literal user-facing strings.
Translation propagation
ui/locale/locale_en.json is the source of truth. Other locale_*.json files are auto-generated by cli/localize.js, so formatting changes in English propagate forward on the next translation run. Per-locale corrections live in ui/override_{locale}.json (see Localization).