A command-line tool to incrementally update and translate iOS/macOS localization strings from Swift, Objective-C, and Interface Builder files.
BartyCrouch is a command-line tool for iOS and macOS developers that automates the management of localization strings. It extracts strings from Swift, Objective-C, and Interface Builder files, updates `.strings` files incrementally, and can integrate machine translation to fill missing translations. It solves the problem of keeping localization files in sync with code changes manually.
iOS and macOS developers working on apps that support multiple languages and need to maintain `.strings` files efficiently. It's particularly useful for teams with frequent UI or copy changes.
Developers choose BartyCrouch for its incremental update approach that preserves existing translations, its ability to automate localization via build scripts, and its support for both code and Interface Builder files—reducing manual effort and errors in the i18n process.
Localization/I18n: Incrementally update/translate your Strings files from .swift, .h, .m(m), .storyboard or .xib files.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
BartyCrouch updates .strings files incrementally, preserving existing translations and comments, which prevents data loss during automation as highlighted in the README's core description.
It extracts strings from Swift, Objective-C (.swift, .h, .m), and Interface Builder files (.storyboard, .xib), covering both code and UI elements for comprehensive localization.
Supports Microsoft Translator and DeepL APIs to auto-translate missing strings, streamlining the translation process with configurable tasks in the .bartycrouch.toml file.
Can be integrated into Xcode build phases via a run script, ensuring localization updates and linting happen automatically on each build, reducing manual effort.
The transform task does not support formatted localized strings as of version 4.x, and it only works with Swift code, excluding Objective-C, which limits its utility in mixed-language projects.
The README notes that BartyCrouch is now maintained by volunteers, with the original author recommending migration to Xcode 15's String Catalogs, indicating potential future instability or lack of updates.
Setting up requires creating and fine-tuning a .bartycrouch.toml configuration file with specific paths and options, which can be error-prone and time-consuming for large projects.