Files
miniSCP/src/shared/i18n
jgamboaandClaude 697f7f22c8 Rename Copy to Send and put it first in the row context menu
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>
2026-08-14 13:12:05 +02:00
..

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

  1. 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 via Intl.PluralRules (languages without plural, e.g. zh and ja, only need other).
  2. Reference it as i18n.t('ns.key', { param }) in the UI (or backend t(...) for native menus / thrown errors).
  3. 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.