https://github.com/0xwdg/xcstrings-translator
xcstrings translator is a simple tool to translate .xcstrings files, using Apple's Translate framework.
https://github.com/0xwdg/xcstrings-translator
string-catalog translator xcstrings
Last synced: 8 months ago
JSON representation
xcstrings translator is a simple tool to translate .xcstrings files, using Apple's Translate framework.
- Host: GitHub
- URL: https://github.com/0xwdg/xcstrings-translator
- Owner: 0xWDG
- License: mit
- Created: 2025-01-30T12:30:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-09T20:49:32.000Z (over 1 year ago)
- Last Synced: 2025-02-13T23:09:50.278Z (over 1 year ago)
- Topics: string-catalog, translator, xcstrings
- Language: Swift
- Homepage: https://wesleydegroot.nl/apps/xcstrings-translator
- Size: 4.35 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# xcstrings translator
xcstrings translator is a simple tool to translate `.xcstrings` files, using Apple's Translate framework.
The tool is written in Swift and uses the Apple's Translate framework to translate the `.xcstrings` files.
## Limitations/TODO
- Translate in _all_ supported languages with one button.
- Skip string if it's already translated.
- Skip strings marked with `shouldTranslate: false`.
## Finished
- Input language detection.
- Translate to a specific language.
- Save translated strings to the input file.
- Save translated strings to a new file. (only if _test mode_ is enabled)
## Screenshots

https://github.com/user-attachments/assets/0aaf99fc-4c60-4775-bd1c-cb977758d65f
## Alternatives
I'm not planning to add support for `Google Translate`, `DeepL`, `Microsoft Translator` or any other (AI) translation service, If you think it should be added, feel welcome to create a pull request.
Alternatives to this tool are (but not limited to):
- [TranslateKit](https://translatekit.app) by [Cihat Gündüz](https://www.fline.dev/about/?ref=wesleydegroot.nl), TranslateKit uses `DeepL`, `Google Translate` and `Microsoft Translator`, it relies on in-app subscriptions.
## Special Thanks
Special thanks to these wonderful people:
- [Zhenyi Tan](https://andadinosaur.com) for his help on a [saving issue](https://mastodon.social/@zhenyi/113969196950076700) which I encountered.
- [Cihat Gündüz](https://www.fline.dev/about) creating [TranslateKit](https://translatekit.app) which gave me an idea how to build the GUI of this application.
## Frameworks/Packages used
Here are the frameworks/packages used in this project:
- [Translation framework](https://developer.apple.com/documentation/translation/) by [Apple](https://apple.com)
- [FilePicker](https://github.com/0xWDG/FilePicker) by [Wesley de Groot](https://wesleydegroot.nl)
- [SwiftExtras](https://github.com/0xWDG/SwiftExtras) by [Wesley de Groot](https://wesleydegroot.nl)
## Contact
🦋 [@0xWDG](https://bsky.app/profile/0xWDG.bsky.social)
🐘 [mastodon.social/@0xWDG](https://mastodon.social/@0xWDG)
🐦 [@0xWDG](https://x.com/0xWDG)
🧵 [@0xWDG](https://www.threads.net/@0xWDG)
🌐 [wesleydegroot.nl](https://wesleydegroot.nl)
🤖 [Discord](https://discordapp.com/users/918438083861573692)
Interested learning more about Swift? [Check out my blog](https://wesleydegroot.nl/blog/).