{"id":15654099,"url":"https://github.com/bdefore/protondb-i18n","last_synced_at":"2025-04-06T07:10:32.564Z","repository":{"id":39105610,"uuid":"222101272","full_name":"bdefore/protondb-i18n","owner":"bdefore","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-17T23:57:37.000Z","size":839,"stargazers_count":30,"open_issues_count":12,"forks_count":55,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-30T06:06:06.429Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/bdefore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-16T13:11:25.000Z","updated_at":"2025-03-15T16:46:43.000Z","dependencies_parsed_at":"2023-11-20T17:46:27.476Z","dependency_job_id":"1d5fd4cb-6004-4094-9388-e22d62b8759a","html_url":"https://github.com/bdefore/protondb-i18n","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bdefore%2Fprotondb-i18n","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bdefore%2Fprotondb-i18n/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bdefore%2Fprotondb-i18n/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bdefore%2Fprotondb-i18n/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bdefore","download_url":"https://codeload.github.com/bdefore/protondb-i18n/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247445669,"owners_count":20939958,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-03T12:49:30.891Z","updated_at":"2025-04-06T07:10:32.533Z","avatar_url":"https://github.com/bdefore.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# protondb-i18n\n\nA crowdsourced journey to translate [ProtonDB](https://www.protondb.com) ([News post](https://www.protondb.com/news/protondb-spricht-nun-auch-deutsch))\n\n### Overview\n\nProtonDB loads its text using [react-i18next](https://github.com/i18next/react-i18next) resource bundles in JSON.\n\nEach language, as represented by their 'xx-XX' [BCP-47 language tag](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl), lives within `locales`. Within each locale's directory are the following files:\n\n- `protondb-content.json` *(translations for content around the site)*\n- `proton-report.json` *(translations for the reporting flow specific to Proton)*\n- `questionnaire.json` *(translations for generic items in the reporting flow)*\n- `general.json` *(everything else)*\n\n#### Prerequisites\n\nNone! You can browse this repository and edit the files manually. But editing language files can be fiddly and typos are common. It's preferable to grab some tools:\n\n- [Node.js](https://nodejs.org/en/)\n- [yarn](https://yarnpkg.com/lang/en/) (if you want to skip this, `npm` is included with node and will probably work fine as a substitute).\n- A text editor, ideally one with colored formatting for JSON.\n\n### Contributing\n\nAll native speakers are welcome to contribute! Please do not make pull requests with automated translations.\n\n- Fork this repo\n- Download your fork\n- In your downloaded directory, install dependencies by running `yarn`\n- If starting a new locale, create the directory named after your language tag within `locales` and copy over files from the `locales/en-US` directory\n- Make your changes/additions\n- Review them visually (see Verify Your Changes below)\n- Run `yarn lint:json` to validate everything is alphabetized and formatted properly\n- Commit, push, and open a pull request!\n\nAny questions? Ask us on [Discord](https://discord.gg/uuwK9EV) You might want to let us know on there anyway that you're starting work so that we can add you to Known Active Translations below.\n\n### Verify Your Changes\n\nKeep an eye out for page rendering issues if your text is smaller or larger than the English equivalent, and open an issue with a screenshot if you cannot fit readable words for your language.\n\n- Learn how to modify your browser's local storage (here are instructions for [Chrome](https://developer.chrome.com/docs/devtools/storage/localstorage/) and [Firefox](https://developer.mozilla.org/en-US/docs/Tools/Storage_Inspector))\n- Visit [ProtonDB](https://www.protondb.com)\n- If you're not already, switch to English\n- (NEW): For both files, copy the values for `i18nStamp` and `i18nVersion` that occur in the ones that are stored in your local storage.\n- For each file in the locales directory, copy its contents into a local storage entry of `i18next:en-US-filename`, i.e. `i18next:en-US-proton-report`\n- Reload and review\n- (NEW): When finished, remove the values you added for `i18nStamp` and `i18nVersion` before submitting your PR\n\n### Maintenance\n\nAs ProtonDB continues development, new text will be added that may need translation. For a quick way to verify if a language is missing translations (or has identical ones to English), you can run: `yarn compare --locale \u003clocale-code\u003e`\n\n### Hall of Fame\n\n- German (de-DE): [@NoXPhasma](https://github.com/NoXPhasma) and [@VoxelCubes](https://github.com/VoxelCubes)\n- Polish (pl-PL): [@kacperski1](https://github.com/kacperski1)\n- Ukrainian (uk-UA): [@iodream](https://github.com/iodream)\n- Bulgarian (bg-BG): [@mialy](https://github.com/mialy)\n- Greek (el-GR): [@xnick](https://github.com/xnick)\n- Swedish (sv-SE): [@newbytee](https://github.com/newbytee)\n- French (fr-FR): [@julroy67](https://github.com/julroy67), [@nocymer](https://github.com/nocymer)\n- Italian (it-IT): [@apontini](https://github.com/apontini), [@protoroto](https://github.com/protoroto), [@Mte90](https://github.com/Mte90/), [@spagoc](https://github.com/spagoc), [@marco-acorte](https://github.com/marco-acorte) and simojn\n- Spanish (es-ES): [@xathech](https://github.com/xathech)\n- Simplified Chinese (zh-Hans): [@zactry](https://github.com/zactry)\n- Dutch (nl-NL): [@hypothermic](https://github.com/hypothermic)\n- Russian (ru-RU): [@Homaykin](https://github.com/Homyakin)\n- Turkish (tr-TR): [@csengor](https://github.com/csengor)\n- Taiwanese Chinese (zh-TW): [@laichiaheng](https://github.com/laichiaheng)\n- Portuguese Brazilian (pt-BR): [@kassindornelles](https://github.com/kassindornelles)\n- Czech (cs-CZ): [@Fjuro](https://github.com/Fjuro)\n- Croatian (hr-HR): [@wuku0](https://github.com/wuku0)\n- Korean (ko-KR): [@infopcgood](https://github.com/infopcgood)\n\n### Coming soon\n\n- An expanded ProtonDB help section will need translations too!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbdefore%2Fprotondb-i18n","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbdefore%2Fprotondb-i18n","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbdefore%2Fprotondb-i18n/lists"}