Skip to content

i18n: add Greek (el) and Serbian Cyrillic (sr) translations - #169

Open
igorpecovnik wants to merge 1 commit into
mainfrom
add-greek-serbian-locales
Open

i18n: add Greek (el) and Serbian Cyrillic (sr) translations#169
igorpecovnik wants to merge 1 commit into
mainfrom
add-greek-serbian-locales

Conversation

@igorpecovnik

Copy link
Copy Markdown
Member

Adds two new UI languages to the imager.

What

  • New src/locales/el.json (Greek) and src/locales/sr.json (Serbian, Cyrillic) — full translations of all 314 strings.
  • Registered both in src/config/i18n.ts: Twemoji flag imports (🇬🇷 1f1ec-1f1f7, 🇷🇸 1f1f7-1f1f8), LANGUAGES entries (Ελληνικά, Српски), and FLAG_URLS. The import.meta.glob loader picks the JSON up automatically.
  • Added el/sr to scripts/locales/sync-locales.js LANGUAGE_NAMES so future key syncs know how to translate them.

Verification

  • Both files: 314 keys, zero missing/extra vs en.json, key order preserved.
  • All interpolation placeholders ({{boardName}}, {{count}}, {{name}}, {{offset}}, {{size}}, {{step}}) preserved verbatim.
  • Technical tokens kept literal: Armbian, SATA, NVMe, Wi-Fi SSID, the udev shell command, vendor/product IDs.
  • config ↔ locale files ↔ FLAG_URLS all consistent (every code has a file and a flag).

Notes

  • Serbian script: Cyrillic (CLDR default for sr). If you'd prefer Latin (sr-Latn), say so and I'll switch it.
  • Could not run tsc/vite locally (no node_modules in this checkout); validated JSON parse, key/placeholder parity, and config consistency instead. CI's typecheck/build will confirm the TS side.

Add full translations of all 314 UI strings for Greek and Serbian, register
both in src/config/i18n.ts (flag imports, LANGUAGES entries, FLAG_URLS), and
add them to scripts/locales/sync-locales.js LANGUAGE_NAMES for future key syncs.

Serbian uses Cyrillic script (the standard default for code 'sr').

Verified against en.json: 314 keys each, no missing/extra keys, all
interpolation placeholders preserved, technical tokens (Armbian, SATA, NVMe,
Wi-Fi SSID, the udev command, vendor IDs) kept literal.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
Copilot AI review requested due to automatic review settings July 24, 2026 17:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds two new UI languages (Greek el and Serbian Cyrillic sr) to Armbian Imager, including locale resources, UI language metadata, and locale-sync script support so the new languages can be selected and maintained alongside existing translations.

Changes:

  • Added full translation JSON files for el (Greek) and sr (Serbian Cyrillic).
  • Registered el/sr in the i18n language metadata and bundled Twemoji flag assets.
  • Extended the locale sync script’s LANGUAGE_NAMES map to include el and sr.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
src/locales/el.json Adds Greek translations for the UI string set.
src/locales/sr.json Adds Serbian (Cyrillic) translations for the UI string set.
src/config/i18n.ts Registers new languages and their bundled Twemoji flag SVGs.
scripts/locales/sync-locales.js Adds el/sr language names for future locale key sync/translation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/config/i18n.ts
auto: flagAuto, en: flagEn, de: flagDe, es: flagEs, fr: flagFr, hr: flagHr,
it: flagIt, ja: flagJa, ko: flagKo, nl: flagNl, pl: flagPl, pt: flagPt,
'pt-BR': flagPtBr, ru: flagRu, sl: flagSl, sv: flagSv, tr: flagTr, uk: flagUk, zh: flagZh,
el: flagEl, sr: flagSr,
@github-actions

Copy link
Copy Markdown

🧪 Test Builds

Version: 0.0.0-pr.169 | PR: #169 | Status: ready for testing

Platform Download
Linux x64 📦 .deb / .AppImage
Windows x64 📦 .exe
macOS ARM64 📦 .dmg
ℹ️ About these builds
  • 🔓 Public downloads via nightly.link (no GitHub login required)
  • ⚠️ Unsigned builds for testing purposes only
  • Expires in 7 days
  • 🔄 Updated on every push to this PR

@github-actions github-actions Bot added the status: ready for review Ready to be reviewed label Jul 24, 2026
@echatzip

echatzip commented Aug 5, 2026

Copy link
Copy Markdown

I have made a couple of comments for some words that they are indeed translated,
like all of them, but the literal meaning is tricky to grasp sometimes.

It looks good to me, anyways.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: ready for review Ready to be reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants