A Swift framework for in-app language switching and advanced localization with plural support.
L10n-swift is a Swift framework that enhances app localization by enabling dynamic language changes and supporting complex plural forms. It provides a cleaner API than native solutions and works with multiple file formats for managing translations. The framework solves the problem of rigid, restart-required language switching in iOS and macOS apps.
Swift developers building iOS, macOS, tvOS, or watchOS apps that require internationalization and in-app language switching. It's particularly useful for apps targeting multiple regions with diverse pluralization rules.
Developers choose L10n-swift for its significant performance boost (up to 25x faster), seamless runtime language switching, and comprehensive plural support that native Swift localization lacks. Its extensible format support and Interface Builder integration streamline the localization workflow.
Localization of the application with ability to change language "on the fly" and support for plural form in any language.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables changing app language at runtime without restart via a simple property set like L10n.shared.language = 'en', demonstrated in the GIF demo and notification system.
Handles plural forms for any language with multiple arguments using .l10nPlural(), supporting complex rules through .stringsdict or similar files as per the wiki.
Claims to be approximately 25 times faster than native Swift localization solutions, improving app responsiveness with optimized caching.
Supports .plist, .json, .stringsdict, and .strings files, allowing teams to choose based on existing workflows, with examples in the README.
Includes pseudo-languages like DoubleLength and ForcedRightToLeft for UI testing, aiding in layout validation without manual translation.
IBInspectable for Cocoa is listed as 'coming soon,' indicating delayed features for macOS development and potential integration gaps.
Key usage details are split between the README and a separate wiki, complicating the learning process and requiring extra navigation.
Requires Swift 4.0+, which might force updates or be incompatible with older projects, adding migration overhead.
Adds a third-party framework to the project, introducing maintenance and compatibility risks compared to Apple's built-in system.