i18n: add Greek (el) and Serbian Cyrillic (sr) translations - #169
Open
igorpecovnik wants to merge 1 commit into
Open
i18n: add Greek (el) and Serbian Cyrillic (sr) translations#169igorpecovnik wants to merge 1 commit into
igorpecovnik wants to merge 1 commit into
Conversation
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>
There was a problem hiding this comment.
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) andsr(Serbian Cyrillic). - Registered
el/srin the i18n language metadata and bundled Twemoji flag assets. - Extended the locale sync script’s
LANGUAGE_NAMESmap to includeelandsr.
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.
| 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, |
🧪 Test BuildsVersion:
ℹ️ About these builds
|
|
I have made a couple of comments for some words that they are indeed translated, It looks good to me, anyways. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds two new UI languages to the imager.
What
src/locales/el.json(Greek) andsrc/locales/sr.json(Serbian, Cyrillic) — full translations of all 314 strings.src/config/i18n.ts: Twemoji flag imports (🇬🇷1f1ec-1f1f7, 🇷🇸1f1f7-1f1f8),LANGUAGESentries (Ελληνικά,Српски), andFLAG_URLS. Theimport.meta.globloader picks the JSON up automatically.el/srtoscripts/locales/sync-locales.jsLANGUAGE_NAMESso future key syncs know how to translate them.Verification
en.json, key order preserved.{{boardName}},{{count}},{{name}},{{offset}},{{size}},{{step}}) preserved verbatim.Notes
sr). If you'd prefer Latin (sr-Latn), say so and I'll switch it.tsc/vitelocally (nonode_modulesin this checkout); validated JSON parse, key/placeholder parity, and config consistency instead. CI's typecheck/build will confirm the TS side.