A Swift localization code generator that converts .strings files into type-safe, autocomplete-friendly Swift/ObjC code.
Laurine is a localization code generator written in Swift that transforms .strings files into type-safe Swift or Objective-C code. It solves the problem of using error-prone string keys for localization by generating compile-time checked properties and methods, improving developer productivity and reducing bugs.
iOS and macOS developers working on Swift or Objective-C projects who need robust, maintainable localization management with compiler support and autocomplete.
Developers choose Laurine because it eliminates magical strings, provides full Xcode autocomplete, ensures type safety for format specifiers, and integrates seamlessly into build processes, making localization usage faster and more reliable.
Laurine - Localization code generator written in Swift. Sweet!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Converts string keys into strongly-typed properties and methods, enabling compiler checks and Xcode autocomplete, as shown with examples like Localizations.ProfilePhoneNumber.
Uses delimiters to organize keys into logical hierarchies, making it easier to manage thousands of strings, e.g., Localizations.Profile.NavigationBar.Items.Done.
Detects runtime format specifiers like %@ and %d, generating methods with parameters to ensure type safety for dynamic strings.
Can be run as an Xcode build phase to automatically regenerate localizations before each compile, keeping code in sync with .strings files.
Lacks support for pluralization, gender, and all special localization characters, as admitted in the 'Supported Features' section, limiting use in complex multilingual apps.
Requires setting up and maintaining a custom Xcode build script, which can be error-prone and adds overhead to the development workflow.
Only works with basic .strings files and does not support localization tables or other formats, restricting flexibility in diverse projects.