romansorochak / Localizable
Licence: mit
Change language in the app. Simple approach to localize strings/images. Written in Swift.
Stars: ✭ 67
Programming Languages
swift
15916 projects
Labels
Projects that are alternatives of or similar to Localizable
Tdoa Evaluation Rtlsdr
Matlab Scripts for Evaluation of a TDOA System based on RTL-SDRs
Stars: ✭ 49 (-26.87%)
Mutual labels: localization
React Intl Hooks
React hooks for internationalization without the hassle ⚛️🌍
Stars: ✭ 64 (-4.48%)
Mutual labels: localization
Goloc
A flexible tool for application localization using Google Sheets.
Stars: ✭ 42 (-37.31%)
Mutual labels: localization
Preferred Languages
Choose languages for displaying WordPress in, in order of preference.
Stars: ✭ 48 (-28.36%)
Mutual labels: localization
Localize React
✈️ Lightweight React Localization Library 🇺🇸
Stars: ✭ 52 (-22.39%)
Mutual labels: localization
Parse Decimal Number
🏧 Parse a decimal number with i18n format support (localized decimal points and comma separators)
Stars: ✭ 33 (-50.75%)
Mutual labels: localization
Localization Zh Cn Plugin
Chinese Localization for Jenkins
Stars: ✭ 65 (-2.99%)
Mutual labels: localization
Atom I18n
:atom: One Atom i18n Package for Any Locale 🌏 🌎 🌍
Stars: ✭ 56 (-16.42%)
Mutual labels: localization
Laravel Multilang
Package to integrate multi language (multi locale) functionality in Laravel 5.x.
Stars: ✭ 47 (-29.85%)
Mutual labels: localization
Ioslocalizationeditor
Simple macOS editor app to help you manage iOS and macOS app localizations by allowing you to edit all the translations side by side
Stars: ✭ 1,066 (+1491.04%)
Mutual labels: localization
Mod Translation Styleguide
Simplified Chinese Minecraft Mod translation standards and guidelines.
Stars: ✭ 37 (-44.78%)
Mutual labels: localization
Redux React I18n
An i18n solution for React/Redux and React Native projects
Stars: ✭ 64 (-4.48%)
Mutual labels: localization
Erpnext
Free and Open Source Enterprise Resource Planning (ERP)
Stars: ✭ 10,220 (+15153.73%)
Mutual labels: localization
Locale2
💪 Try as hard as possible to detect the client's language tag ("locale") in node or the browser. Browserify and Webpack friendly!
Stars: ✭ 65 (-2.99%)
Mutual labels: localization
Laravel Lang
🌏 75 languages support for Laravel application.
Stars: ✭ 1,134 (+1592.54%)
Mutual labels: localization
Zing
Translation server for continuous localization.
Stars: ✭ 55 (-17.91%)
Mutual labels: localization
Localizable
- Simple approach to localize strings/images.
- Change app language in the app.
Contents
Requirements
- iOS 9.0+
- Xcode 8.0+
- Swift 3.0+
Installation
All logic is in Localizable.swift file. Just copy this file to your project.
Usage
Localize your project
- Create Localizable.strings file
- In Localizable.strings file tap Localize button and select english language.
- In project file add supported languages.
- Recommendation: do not localize storyboards or xibs. Make it simpler. Put all your localized strings in Localizable.strings file.
- Reproduce step 2 for needed languages.
Localization
-
Recommendation: do not localize storyboards/xibs. Always set strings from code.
-
Extend enum Language with appropriate languages used in the project
enum Language: String {
case english = "en"
case arabic = "ar"
case ukrainian = "uk"
//...
Get appropriate localized string
"main_page_language".localized
Get appropriate localized image
"flag".localizedImage
Change language in the app
To change language just set Language case to Language.language static property. It will change app language and semantic if need. To enable changes it will restart the app within instantiating initial view controller from Main storyboard.
- Important: use appropriate properties described above.
Language.language = Language.english
Author
Roman Sorochak - iOS developer - [email protected]
License
Localizable is released under the MIT license. See LICENSE for details.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].