Skip to content

ciderapp/translations

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

137 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cider Translations

Community translation files for Cider


Suggest a translation
No fork, no PR, no command line. Fill in a short form; a maintainer reviews and the bot does the rest.

AI fill Issue bot Languages Translators


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 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 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 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.

File format

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: 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. 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 — 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

License

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.

About

Community translation files for Cider

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Contributors