update-translations.py- Import CSV → xcstringsexport-translations.py- Export xcstrings → CSVupdate-all-languages.sh- Batch update multiple languages
README-GITHUB.md- Main README (rename to README.md when publishing)INSTALLATION.md- Setup instructionsLICENSE- MIT License
setup.sh- One-command setup scriptQUICKSTART.md- Quick reference guideTRANSLATION_WORKFLOW.md- Complete workflow examplesTRANSLATOR_INSTRUCTIONS.md- Guide for translatorsTRANSLATOR_TEMPLATE.csv- Example CSV template
xcstrings-csv-tools/
├── README.md (README-GITHUB.md renamed)
├── LICENSE
├── INSTALLATION.md
├── update-translations.py
├── export-translations.py
├── update-all-languages.sh
├── setup.sh
├── docs/
│ ├── QUICKSTART.md
│ ├── TRANSLATION_WORKFLOW.md
│ └── TRANSLATOR_INSTRUCTIONS.md
└── examples/
└── example.csv
- Create new GitHub repo:
xcstrings-csv-tools - Copy files from Scripts/ directory
- Rename
README-GITHUB.mdtoREADME.md - Organize docs/ and examples/ subdirectories
- Add GitHub topics:
ios,localization,xcode,automation,i18n
- Keep Scripts/ directory as-is
- Add section to main README linking to Scripts/README-GITHUB.md
- Others can copy the Scripts/ folder to their projects
Create a GitHub Gist with:
- update-translations.py
- export-translations.py
- README-GITHUB.md
Automate Xcode String Catalog (.xcstrings) translations. Update iOS/macOS localizations from CSV files in seconds. Zero dependencies, pure Python 3.
- xcode
- ios
- macos
- localization
- internationalization
- i18n
- l10n
- string-catalog
- xcstrings
- translation
- automation
- csv
- python
These are project-specific:
README.md(your project-specific one)- Any language-specific CSV files (German.csv, etc.)
- Project configuration specific to Puppy Potty Trainer
- Remove project-specific references
- Test scripts on clean install
- Add usage examples with generic project names
- Add screenshot/demo GIF if possible
- Create releases/tags for versions
- Set up GitHub Actions for testing (optional)
- Add contributing guidelines
- Add issue templates