{"id":51513810,"url":"https://github.com/ciderapp/translations","last_synced_at":"2026-07-08T09:30:24.176Z","repository":{"id":359245496,"uuid":"1245066714","full_name":"ciderapp/translations","owner":"ciderapp","description":"Community translation files for Cider","archived":false,"fork":false,"pushed_at":"2026-07-07T01:53:12.000Z","size":25091,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-07T03:14:39.921Z","etag":null,"topics":["cider","gemini","i18n","translations"],"latest_commit_sha":null,"homepage":"https://cider.sh","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ciderapp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"ciderapp","ko_fi":"cryptofyre","open_collective":"ciderapp","custom":"https://opencollective.com/ciderapp/donate/10/month/Support%20Development?redirect=https://cidercollective.dev/thanks"}},"created_at":"2026-05-20T21:58:28.000Z","updated_at":"2026-07-07T01:53:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ciderapp/translations","commit_stats":null,"previous_names":["ciderapp/translations"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ciderapp/translations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciderapp%2Ftranslations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciderapp%2Ftranslations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciderapp%2Ftranslations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciderapp%2Ftranslations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ciderapp","download_url":"https://codeload.github.com/ciderapp/translations/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ciderapp%2Ftranslations/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35260671,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-08T02:00:06.796Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cider","gemini","i18n","translations"],"created_at":"2026-07-08T09:30:18.426Z","updated_at":"2026-07-08T09:30:24.162Z","avatar_url":"https://github.com/ciderapp.png","language":"JavaScript","funding_links":["https://github.com/sponsors/ciderapp","https://ko-fi.com/cryptofyre","https://opencollective.com/ciderapp","https://opencollective.com/ciderapp/donate/10/month/Support%20Development?redirect=https://cidercollective.dev/thanks"],"categories":[],"sub_categories":[],"readme":"# Cider Translations\n\nCommunity translation files for [Cider](https://cider.sh)\n\n\u003cp align=\"center\"\u003e\n  \u003cbr/\u003e\n  \u003ca href=\"../../issues/new?template=translation.yml\"\u003e\n    \u003cimg alt=\"Suggest a translation\" src=\"https://img.shields.io/badge/Suggest%20a%20translation-2EA44F?style=for-the-badge\u0026logo=github\u0026logoColor=white\"\u003e\n  \u003c/a\u003e\n  \u003cbr/\u003e\n  \u003csub\u003eNo fork, no PR, no command line. Fill in a short form; a maintainer reviews and the bot does the rest.\u003c/sub\u003e\n  \u003cbr/\u003e\u003cbr/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"../../actions/workflows/ai-fill.yml\"\u003e\u003cimg alt=\"AI fill\" src=\"https://img.shields.io/github/actions/workflow/status/ciderapp/translations/ai-fill.yml?branch=main\u0026label=AI%20fill\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"../../actions/workflows/translation-issue.yml\"\u003e\u003cimg alt=\"Issue bot\" src=\"https://img.shields.io/github/actions/workflow/status/ciderapp/translations/translation-issue.yml?branch=main\u0026label=Issue%20bot\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"locales/languages.yml\"\u003e\u003cimg alt=\"Languages\" src=\"https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fciderapp%2Ftranslations%2Fmain%2F.github%2Fbadges%2Flanguages.json\u0026style=flat-square\"\u003e\u003c/a\u003e\n  \u003ca href=\"#translators\"\u003e\u003cimg alt=\"Translators\" src=\"https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fciderapp%2Ftranslations%2Fmain%2F.github%2Fbadges%2Ftranslators.json\u0026style=flat-square\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n\nThis 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.\n\n## How translations work\n\nThree things keep this repo healthy:\n\n1. **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.\n2. **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.\n3. **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.\n\n## Where to look\n\n| File / directory | What it is |\n| --- | --- |\n| [`locales/en-US.yml`](locales/en-US.yml) | English source. **Read-only here**; edits get overwritten by the Citadel sync. |\n| `locales/\u003ccode\u003e.yml` | One file per target language. This is where translations live. |\n| [`locales/languages.yml`](locales/languages.yml) | Locked list of supported languages with display names. |\n| [`scripts/i18n-translate.mjs`](scripts/i18n-translate.mjs) | The AI translator (Gemini). Runs in CI; you generally won't run it locally. |\n| [`.github/ISSUE_TEMPLATE/translation.yml`](.github/ISSUE_TEMPLATE/translation.yml) | The contribution form. |\n\n## File format\n\nTranslation files are YAML. Each key maps to either a scalar (AI-translated) or a map (community-contributed, with credit).\n\n```yaml\n# Scalar = AI-translated. May be re-translated automatically if the English source changes.\naction.apply: Aplicar\n\n# Map = community-contributed. The bot writes this shape after a maintainer approves an issue.\naction.back:\n  value: Atrás\n  source: human\n  by: '@yourhandle'\n  issue: 1234\n```\n\nThe runtime reads `value` (or the scalar). The extra fields are credit metadata.\n\nWhen 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.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md). The short version: **open an issue**, don't open a PR, the bot does PRs so attribution stays consistent.\n\n## Translators\n\nEvery 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).\n\n\u003c!-- table auto-generated by scripts/update-credits.mjs — do not edit by hand --\u003e\n\u003c!-- translators:start --\u003e\n| Translator | Languages | Entries |\n| --- | --- | --- |\n| [@Tesutarin](https://github.com/Tesutarin) | Chinese (Simplified) | 2426 |\n| [@jay900604](https://github.com/jay900604) | Chinese (Traditional) | 349 |\n| [@kinlay0](https://github.com/kinlay0) | Russian | 204 |\n| [@szymin22](https://github.com/szymin22) | Polish | 105 |\n| [@Vudgekek](https://github.com/Vudgekek) | Croatian | 103 |\n| [@lumaa-dev](https://github.com/lumaa-dev) | French | 68 |\n| [@nekocats](https://github.com/nekocats) | Estonian | 39 |\n| [@MP-K](https://github.com/MP-K) | Korean | 27 |\n| [@ramuuflor](https://github.com/ramuuflor) | Japanese | 22 |\n| [@itsmeares](https://github.com/itsmeares) | Turkish | 17 |\n| [@UnoPanduo](https://github.com/UnoPanduo) | Dutch | 1 |\n\u003c!-- translators:end --\u003e\n\n## License\n\nTranslation 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciderapp%2Ftranslations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fciderapp%2Ftranslations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fciderapp%2Ftranslations/lists"}