https://github.com/ciderapp/translations
Community translation files for Cider
https://github.com/ciderapp/translations
cider gemini i18n translations
Last synced: about 13 hours ago
JSON representation
Community translation files for Cider
- Host: GitHub
- URL: https://github.com/ciderapp/translations
- Owner: ciderapp
- Created: 2026-05-20T21:58:28.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-07-07T01:53:12.000Z (2 days ago)
- Last Synced: 2026-07-07T03:14:39.921Z (2 days ago)
- Topics: cider, gemini, i18n, translations
- Language: JavaScript
- Homepage: https://cider.sh
- Size: 23.9 MB
- Stars: 4
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Cider Translations
Community translation files for [Cider](https://cider.sh)
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.
## How translations work
Three things keep this repo healthy:
1. **Citadel mirrors `en-US.yml` here.** Whenever Cider's source code adds or changes a translatable string, a sync workflow pushes the updated `en-US.yml` into this repo.
2. **AI fills new strings.** When `en-US.yml` changes, [`.github/workflows/ai-fill.yml`](.github/workflows/ai-fill.yml) runs Google Gemini (specifically 3.5 Flash) against the delta and commits translations for every supported language.
3. **Humans correct what the AI gets wrong.** Open a [translation issue](../../issues/new?template=translation.yml) with the corrections, a maintainer labels it `approved`, and a bot applies the change with full credit attached.
## Where to look
| File / directory | What it is |
| --- | --- |
| [`locales/en-US.yml`](locales/en-US.yml) | English source. **Read-only here**; edits get overwritten by the Citadel sync. |
| `locales/.yml` | One file per target language. This is where translations live. |
| [`locales/languages.yml`](locales/languages.yml) | Locked list of supported languages with display names. |
| [`scripts/i18n-translate.mjs`](scripts/i18n-translate.mjs) | The AI translator (Gemini). Runs in CI; you generally won't run it locally. |
| [`.github/ISSUE_TEMPLATE/translation.yml`](.github/ISSUE_TEMPLATE/translation.yml) | The contribution form. |
## File format
Translation files are YAML. Each key maps to either a scalar (AI-translated) or a map (community-contributed, with credit).
```yaml
# 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: 1234
```
The 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.
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md). The short version: **open an issue**, don't open a PR, the bot does PRs so attribution stays consistent.
## Translators
Every entry below came from a community member through a [translation issue](../../issues/new?template=translation.yml) — 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](../../graphs/contributors).
| Translator | Languages | Entries |
| --- | --- | --- |
| [@Tesutarin](https://github.com/Tesutarin) | Chinese (Simplified) | 2426 |
| [@jay900604](https://github.com/jay900604) | Chinese (Traditional) | 349 |
| [@kinlay0](https://github.com/kinlay0) | Russian | 204 |
| [@szymin22](https://github.com/szymin22) | Polish | 105 |
| [@Vudgekek](https://github.com/Vudgekek) | Croatian | 103 |
| [@lumaa-dev](https://github.com/lumaa-dev) | French | 68 |
| [@nekocats](https://github.com/nekocats) | Estonian | 39 |
| [@MP-K](https://github.com/MP-K) | Korean | 27 |
| [@ramuuflor](https://github.com/ramuuflor) | Japanese | 22 |
| [@itsmeares](https://github.com/itsmeares) | Turkish | 17 |
| [@UnoPanduo](https://github.com/UnoPanduo) | Dutch | 1 |
## License
Translation content is contributed under the terms outlined in [CONTRIBUTING.md](CONTRIBUTING.md). Cider itself is closed-source; this repository exists to keep translation work in the open.