-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
A Python application for automatically translating Xcode XLIFF localization files using Google Translate. It supports both GUI and command-line interfaces.
Yes! The tool is open source under the MIT License and uses the free Google Translate API through the deep-translator library.
macOS, Linux, and Windows - anywhere Python 3.7+ runs.
No! Just install Python and the dependencies, then use the GUI application. No coding required.
Yes! It works with any Xcode project that uses XLIFF localization files (iOS, macOS, watchOS, tvOS).
No. The tool only translates entries that are empty or marked as "needs-review-l10n". Existing translations are preserved.
Translation quality depends on Google Translate. It's best for:
- Short UI strings
- Common phrases
- Standard terminology
Always review translations before production use.
Yes! Use the --only option:
python3 translate_xliff.py --only de fr jaYes. Translations are done through Google Translate's online service.
Google Translate may rate-limit heavy usage. If you hit limits, wait a few minutes or translate fewer languages at once.
The tool intelligently preserves iOS placeholders like %@, %d, %1$@, etc. They are extracted before translation and reinserted after.
The tool works with standard Xcode XLIFF 1.2 format.
Not currently, but it's on the roadmap! Future versions may support DeepL, Azure Translator, etc.
- Export localizations from Xcode
- Run this tool to translate
- Import back into Xcode
- Review and refine translations
Yes! Commit the translated XLIFF files so your team has them.
- Export updated localizations from Xcode
- Run the tool again (existing translations won't be overwritten)
- Only new/changed strings will be translated
Install dependencies:
pip3 install -r requirements.txtYou need Tkinter. Install it:
-
macOS:
brew install python-tk -
Ubuntu:
sudo apt-get install python3-tk - Windows: Reinstall Python from python.org
- Check internet connection
- Verify
.xclocfolder structure - Try
--dry-runto test - Check for rate limiting (wait a few minutes)
Absolutely! See CONTRIBUTING.md for guidelines.
See the roadmap in the README:
- Other translation services (DeepL, Azure)
- Translation memory/cache
- Quality scoring
- Custom placeholder patterns
Open an issue on GitHub with:
- Python version
- OS
- Error message
- Steps to reproduce
MIT License - free to use commercially and personally.
Yes! The MIT License allows modification and distribution.
Not required by the MIT License, but appreciated!