A Swift framework for iOS app localization with clean syntax and in-app language switching.
Localize-Swift is a Swift framework designed to streamline internationalization and localization in iOS apps. It replaces Apple's standard `NSLocalizedString` with a cleaner `.localized()` syntax and enables in-app language switching, allowing users to change the app's language independently of their device settings.
iOS developers building Swift applications that require support for multiple languages and a seamless localization workflow.
Developers choose Localize-Swift for its Swifty, intuitive API that reduces localization boilerplate, its support for in-app language switching without device changes, and its compatibility with existing `Localizable.strings` files.
Swift friendly localization and i18n with in-app language switching
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Replaces verbose NSLocalizedString calls with a simple .localized() extension on strings, making code more readable and idiomatic, as shown in the README's usage examples.
Allows users to change the app's language via Localize.setCurrentLanguage() without altering device settings, enhancing user experience, as highlighted in the features list.
Works seamlessly with existing Localizable.strings files, avoiding migration overhead, which is explicitly stated as a key feature.
Includes a custom genstrings Swift/Python script that automatically extracts strings using .localized() from code, simplifying the localization workflow, as detailed in the README.
Introduces a third-party framework for functionality that Apple provides natively, which might be overkill for apps with simple localization needs and adds maintenance burden.
Requires observing LCLLanguageChangeNotification to update UI, which can be cumbersome and error-prone in complex view hierarchies, as mentioned in the usage section.
Specifically designed for iOS and Swift, making it unsuitable for cross-platform projects or those using other programming languages.