Community translation files for Cider
No fork, no PR, no command line. Fill in a short form; a maintainer reviews and the bot does the rest.
This repository holds every locale Cider ships. The English source (locales/en-US.yml) is generated automatically from the Cider codebase; you can read it but please don't edit it here. Every other locale is fair game.
Three things keep this repo healthy:
- Citadel mirrors
en-US.ymlhere. Whenever Cider's source code adds or changes a translatable string, a sync workflow pushes the updateden-US.ymlinto this repo. - AI fills new strings. When
en-US.ymlchanges,.github/workflows/ai-fill.ymlruns Google Gemini (specifically 3.5 Flash) against the delta and commits translations for every supported language. - Humans correct what the AI gets wrong. Open a translation issue with the corrections, a maintainer labels it
approved, and a bot applies the change with full credit attached.
| File / directory | What it is |
|---|---|
locales/en-US.yml |
English source. Read-only here; edits get overwritten by the Citadel sync. |
locales/<code>.yml |
One file per target language. This is where translations live. |
locales/languages.yml |
Locked list of supported languages with display names. |
scripts/i18n-translate.mjs |
The AI translator (Gemini). Runs in CI; you generally won't run it locally. |
.github/ISSUE_TEMPLATE/translation.yml |
The contribution form. |
Translation files are YAML. Each key maps to either a scalar (AI-translated) or a map (community-contributed, with credit).
# Scalar = AI-translated. May be re-translated automatically if the English source changes.
action.apply: Aplicar
# Map = community-contributed. The bot writes this shape after a maintainer approves an issue.
action.back:
value: Atrás
source: human
by: '@yourhandle'
issue: 1234The runtime reads value (or the scalar). The extra fields are credit metadata.
When an AI re-translation overwrites a human entry (because the English source changed), the map is preserved with source: ai and a superseded_at date, so credit isn't lost. The original contributor is notified on the issue thread.
See CONTRIBUTING.md. The short version: open an issue, don't open a PR, the bot does PRs so attribution stays consistent.
Every entry below came from a community member through a translation issue — thank you! Contributors are also credited as the git author of the commit that applied their work, so this same crew shows up in the contributors graph.
| Translator | Languages | Entries |
|---|---|---|
| @Tesutarin | Chinese (Simplified) | 2426 |
| @jay900604 | Chinese (Traditional) | 347 |
| @kinlay0 | Russian | 204 |
| @szymin22 | Polish | 105 |
| @Vudgekek | Croatian | 103 |
| @lumaa-dev | French | 68 |
| @nekocats | Estonian | 39 |
| @MP-K | Korean | 27 |
| @ramuuflor | Japanese | 22 |
| @itsmeares | Turkish | 17 |
Translation content is contributed under the terms outlined in CONTRIBUTING.md. Cider itself is closed-source; this repository exists to keep translation work in the open.