The main feature (copy selection to the other panel, F5) is now labeled "Send" in the toolbar button, tooltips, and context menu across all 7 locales. Internal identifiers (copyToOtherPanel, ctx-copy, i18n keys) and secondary strings (toasts, status bar, errors) are unchanged. The context-menu entry moves ahead of Open/Edit as the first row item. README, marketing site, and the Windows QA checklist updated to match. Co-Authored-By: Claude <noreply@anthropic.com>
Translations
en.ts is the source of truth. Every other locale mirrors its key shape;
any missing key falls back to English at lookup time (see index.ts +
I18nService/backend i18n.ts), so partial translations are safe.
Adding / editing strings
- Add the key to
en.ts(nested namespace,{param}interpolation). For plurals, use a{ one, other }map instead of a string — the runtime picks the CLDR category viaIntl.PluralRules(languages without plural, e.g. zh and ja, only needother). - Reference it as
i18n.t('ns.key', { param })in the UI (or backendt(...)for native menus / thrown errors). - Add the translation to the other locale files as convenient — until then English shows through.
The format is kept Transloco-compatible (nested namespaces, {param}) so
swapping in a real i18n library later is a drop-in of these dictionaries.
Review status
| Locale | File | Status |
|---|---|---|
| English | en.ts |
Source |
| Spanish | es.ts |
Full draft |
| French | fr.ts |
Full draft |
| German | de.ts |
Full draft |
| Chinese (Simplified) | zh.ts |
AI draft — needs native review |
| Japanese | ja.ts |
AI draft — needs native review |
| Basque | eu.ts |
AI draft — needs native review (highest priority; machine/AI Basque is unreliable) |
Native-speaker review is especially important for Basque and the CJK locales: grammatical agreement, counters/measure words, and UI-context word choice are easy to get subtly wrong.