Localization (Custom Text)
Every piece of text the bot sends into a ticket can be rewritten or translated: 37 strings in total, covering the buttons, the notices posted in the channel, and the direct messages. It is free on every plan.
Find it under Dashboard → Settings → Localization. Managing it needs the Admin role.
What you can change
The editor has two tabs, each showing how many strings it holds.
Buttons (12)
Close, Claim, Unclaim, Add and Edit Note, Delete, Reopen, Save Transcript, and the confirm / cancel prompts. Shown as a live preview row: click any button to jump to its field.
Messages (25)
Everything the bot writes, from the closed notice to the rating prompt. Grouped into four categories, picked from a list.
The Messages tab groups its list into four categories:
| Group | Covers |
|---|---|
| Ticket Lifecycle | Close confirmation, ticket closed, private ticket closed, claimed, unclaimed, delete warning, transcript saved |
| People & Access | User added, user removed, ticket made private, access restored, the private staff thread notice |
| Automation & Feedback | The rating prompt, and the automations-paused notice (timed and indefinite) |
| Direct Messages | Ticket created and ticket closed DMs. A category can override these with its own text, in which case that wins over what you set here. |
Selecting a message shows a live preview of the embed, the fields that make it up, and the placeholders it accepts. A dot next to a name means you have customized it. Where a message is an embed with a title and a body, both are edited together, because the bot always sends them as one message.
Each message has two actions:
- Start from default copies the default text into the fields so you can edit it instead of retyping it.
- Reset clears your text so the message falls back to the default again.
Leave any field blank to keep the default English text, which is shown as the placeholder.
Placeholders
Fields that accept variables show a Variables button that inserts a token at your cursor, and the available placeholders are also listed under the editor for reference.
Both lists are per message, and only ever offer tokens that the message can actually resolve. {{target.mention}}, for example, appears only on the user-added and user-removed notices, because only those two know who was added or removed. This is deliberate: a token used where it cannot resolve would be shown to the customer as literal {{braces}}.
Starter language packs
Pick a language from the Language pack card at the top: English, 繁體中文, 简体中文, Español, Deutsch, Français, Português (BR), 日本語, 한국어, or Русский. A pack fills both tabs at once, and every string stays editable afterwards, so a pack is a starting point rather than a mode you switch into.
If a pack does not yet translate every string it is flagged with its coverage in the list, so you see the gap before applying it rather than discovering English mixed into your language later.
Picking a language always asks you to confirm, and tells you how many strings it will fill. If you already have custom text, the confirmation also asks what to do with it:
- Keep my custom text only fills the strings you have not customized.
- Replace everything overwrites your custom strings too.
Either way nothing is written until you press Save.
Import and export
Use Export to download your text as a file, and Import to load one back. This is handy for copying a translation between servers or keeping a backup. Import only accepts strings it recognizes, so an out-of-date file loads what it can and ignores the rest.
When changes apply
New tickets use your text right away. Open tickets pick it up the next time their buttons refresh, for example when a ticket is claimed or closed.
Tips
- The button labels have an 80-character limit (a Discord limit on buttons).
- The button icons are set by the bot and stay the same whatever text you use.
- This is per-server text, not per-member. Everyone in the server sees the same labels, whatever their own Discord language setting.
- The search box filters both tabs at once, and each tab shows how many matches it holds, so a search never hides results on the tab you are not looking at.