{"id":26145965,"url":"https://github.com/khoeos/paradox-translation-toolkit","last_synced_at":"2025-04-14T03:10:41.436Z","repository":{"id":195951712,"uuid":"490193225","full_name":"khoeos/paradox-translation-toolkit","owner":"khoeos","description":"The easiest way to manage the localisation files for Paradox games.","archived":false,"fork":false,"pushed_at":"2025-02-25T19:27:35.000Z","size":17594,"stargazers_count":14,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-27T17:11:16.836Z","etag":null,"topics":["ck3","eu4","hoi4","language","localisation","localization","mod","paradox","paradox-interactive","paradox-mods","paradoxgame","stellaris","tool","toolkit","translation"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/khoeos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2022-05-09T08:15:56.000Z","updated_at":"2025-02-16T08:22:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"1ca6311e-91fa-4867-9ff4-c4bc65dadbe6","html_url":"https://github.com/khoeos/paradox-translation-toolkit","commit_stats":null,"previous_names":["khoeos/paradox-mod-language-converter"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khoeos%2Fparadox-translation-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khoeos%2Fparadox-translation-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khoeos%2Fparadox-translation-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khoeos%2Fparadox-translation-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khoeos","download_url":"https://codeload.github.com/khoeos/paradox-translation-toolkit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248813796,"owners_count":21165634,"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":["ck3","eu4","hoi4","language","localisation","localization","mod","paradox","paradox-interactive","paradox-mods","paradoxgame","stellaris","tool","toolkit","translation"],"created_at":"2025-03-11T04:57:08.203Z","updated_at":"2025-04-14T03:10:41.411Z","avatar_url":"https://github.com/khoeos.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![stars-shield](https://img.shields.io/github/stars/Khoeos/Paradox-mod-language-converter.svg?style=for-the-badge)](https://github.com/Khoeos/Paradox-mod-language-converter/stargazers)\n[![contributors-shield](https://img.shields.io/github/contributors/Khoeos/Paradox-mod-language-converter.svg?style=for-the-badge)](https://github.com/Khoeos/Paradox-mod-language-converter/graphs/contributors)\n[![issues-shield](https://img.shields.io/github/issues/Khoeos/Paradox-mod-language-converter.svg?style=for-the-badge)](https://github.com/Khoeos/Paradox-mod-language-converter/issues)\n[![License: CC BY-NC-SA 4.0](https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg?style=for-the-badge)](https://creativecommons.org/licenses/by-nc-sa/4.0/)\n\n\u003ch1 align=\"center\"\u003eParadox Translation Toolkit\u003c/h1\u003e\n\n\u003ca href=\"https://github.com/khoeos/Paradox-mod-language-converter\"\u003e\n    \u003cimg src=\"https://github.com/khoeos/Paradox-mod-language-converter/blob/main/screenshots/1.png?raw=true\" alt=\"Logo\"\u003e\n  \u003c/a\u003e\n\n  \u003cp align=\"center\"\u003e\n    The easiest way to manage your missing translation files for Paradox games (and more).\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/khoeos/Paradox-mod-language-converter/releases\"\u003e\u003cstrong\u003eDownload App »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr/\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://github.com/khoeos/Paradox-mod-language-converter\"\u003eExplore the docs »\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/khoeos/Paradox-mod-language-converter/issues\"\u003eReport Bug\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/khoeos/Paradox-mod-language-converter/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails open=\"open\"\u003e\n  \u003csummary\u003e\u003ch2 style=\"display: inline-block\"\u003eTable of Contents\u003c/h2\u003e\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#how-to-use\"\u003eHow to use\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout the project\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#todo\"\u003eTodo\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#project-setup\"\u003eProject Setup\u003c/a\u003e\u003c/li\u003e\n\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n## Main functionnalities\n\n- Generate missing localisation files for any language\n- Generate files directly in the mod folder or in a custom folder\n- View all the missing files, and acess it directly\n- Working with multiple paradox games\n\n⚠️ **The tool is in active development, the new version is quite recent and based on the first one but without an extensive testing in every games and every cases, you may encounter some errors, [you can check the V1 for a more stable version](https://github.com/khoeos/Paradox-mod-language-converter/releases/tag/1.0.0) but there is also some known error that are fixed in the last vesion (you have to make a choice 🤡)**\n\n### Coming soon\n\n- Opt-in each file to generate\n- Deep check in the files for missing keys\n- Extract automatically the missing files into a new custom mod\n- Manage translation files (missing keys, side by side view, etc)\n\n## How to use\n\n### 1. **Download and install the app from the** [release page](https://github.com/khoeos/Paradox-mod-language-converter/releases)\n\nYou can use the standalone version, or the installer version. The installer version will create a shortcut on your desktop and in your start menu.\n\n### 2. **Select the game you want to manage on the top**\n\n### 3. **Select your mod folder from the path or using the button**\n\n### 4. **Select the language(s) you want to generate**\n\n### 5. **Select the mode**\n\n### 6. **Change the options if you need**\n\n### 7. **Enjoy**\n\nThe tool will check all the mods in the selected folder, and generate the missing localisation files for the selected languages, based on the source language (english by default).\n\nWith the default options, no files will be overwritten, and the tool will only generate missing files.\n\nThe tool is mainly tested with Stellaris, but it should work with all Paradox games. But some parameters may be different from one game to another. If you have any issue, please report it.\n\nOnly tested on windows. It may work on other plaforms you can build it yourself, but i can't guarantee it will work.\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003ch2 style=\"display: inline-block\"\u003eHow it work\u003c/h2\u003e\u003c/summary\u003e\n  \u003cp\u003eI've tried to comment every function I've used and/or use explicit naming so you can easily check the code.\u003c/p\u003e\n\u003cp\u003eIn brief, using the default functions and options, I have a script that parses all the files in all folders within a directory and filters out only the translation files: specifically, the .yml files located in the localization directory of the selected game.\u003c/p\u003e\n\u003cp\u003eFor each file, it extracts the file paths from the source language and compares them to the file paths of the output language.\u003c/p\u003e\n\u003cp\u003eIf the file doesn't exist, the script will copy the source file, replace the language keys in both the file content and the filename with the targeted language, and create the new file in the corresponding location.\u003c/p\u003e\n\u003cp\u003eFor the \"deep check\" option I have planned: if the file exists in the targeted language, the script will read it and check for any missing keys that are present in the source file but not in the target file. However, this will require more parsing, so it's not for today.\u003c/p\u003e\n\n\u003c/details\u003e\n\n## About the project\n\nAs a non-English player, one thing that frustrates me in Paradox games is the way translations are handled in mods. When a modder chooses to create localization files for multiple languages, if there isn't a file for your language, the game only displays the translation tags, not even the English (or any other language) text.\n\nEven if you're proficient in English, it's more comfortable to play in your native language, especially when most of the content is translated, with only a few mods remaining in English.\n\nTo help players like me, and modders who want to be more inclusive with minimal effort, I created this app. It generates localization files for any selected language using English files (and eventually other languages in future versions).\n\nThere have been several versions leading up to the current one, and I expect to keep improving it (I’ll try not to let another two years pass before the next update!).\n\n## Contributing\n\nContributions are what make the open source community. Any contributions you make are **greatly appreciated**.\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\nDon't hesitate to pm me on discord to talk about the app. You can find my tag lower.\n\nAs a translation tool, it need to be translated ! you can find the translation files in `src/i18n` folder. Feel free to add your own language !\n\n## Todo\n\n- Manage incomplete files (missing translation tag for example)\n- Manage files with replace (don't remember why i've excluded these files)\n\nSee the [open issues](https://github.com/Khoeos/Paradox-mod-localisation-converter/issues) for a list of proposed features (and known issues).\n\n## License\n\nThis project is licensed under the [Creative Commons Attribution - NonCommercial - ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/) license. You are free to share and adapt the content as long as proper attribution is given, it is not used for commercial purposes, and any derivative works are shared under the same license.\n\n## Contact\n\n[![logo-discord](https://img.shields.io/badge/khoeos-grey?style=for-the-badge\u0026logo=discord)](https://discordapp.com/users/170144954964770816)\n[![logo-reddit](https://img.shields.io/badge/khoeos-grey?style=for-the-badge\u0026logo=reddit)](https://www.reddit.com/user/khoeos/)\n\nProject Link: [https://github.com/khoeos/Paradox-mod-language-converter](https://github.com/khoeos/Paradox-mod-language-converter)\n\n## Project Setup\n\n### Recommended IDE Setup\n\n- [VSCode](https://code.visualstudio.com/) + [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) + [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)\n\n### Install\n\n```bash\n$ npm run install\n```\n\n### Development\n\n```bash\n$ npm run dev\n```\n\n### Build\n\n```bash\n# For windows\n$ npm run build:win\n\n# For macOS\n$ npm run build:mac\n\n# For Linux\n$ npm run build:linux\n```\n## Disclaimer\n\nThis project, Paradox Translation Toolkit, is an open-source tool developed by the community and is not affiliated with, endorsed by, or associated with Paradox Interactive in any way. All trademarks and copyrights related to Paradox Interactive and their games are the property of their respective owners. This tool is provided as-is for the purpose of modding and translation, with no guarantees or warranties.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhoeos%2Fparadox-translation-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhoeos%2Fparadox-translation-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhoeos%2Fparadox-translation-toolkit/lists"}