Skip to content

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>: description for 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).