iOS localization for unsupported languages - ios

I want to offer a “Nynorsk localization” option for my app. In the device settings there is no such option, but it looks like iOS actually supports this language, since availableLocaleIdentifiers do contain nn:
kCFLocaleCountryCodeKey = NO;
kCFLocaleLanguageCodeKey = nn;
So I'm confused, is Norwegian Nynorsk supported or not? It's not among device's international languages, but it is among availableLocaleIdentifiers.
I know there are some ways to make custom ‘localizable strings’ work, but so far I did not find a way to make iOS return proper strings for instance for system buttons (Delete button for UITableViewCell, UIBarButtonItem-s from initWithBarButtonSystemItem:target:action, etc).
So the question is if there is a way to indicate a locale for system controls.

Translating iOS app to unsupported/non-standard languages
Choosing localization for unsupported languages
http://applingua.com/supporting-unsupported-languages-in-ios/

Related

Manual language selection in swift by using picker view

I have a picker view which I want it to change the language of the app, I have localized my app with 3 languages and it switches to different languages when I change device language but how can I use the picker view to change the language of the app ?
I'm using Xcode 7 and swift 2.1
Short answer: You can't. The system is starting your localized app according to the device settings, which you cannot override.
Side note: If you opt to not use any localization features provided by apple and implement everything yourself, you may provide whatever means to change your own language setting in-app. But that is a real pain and you are likely to make mistakes, not taking into account anything.
If you want to go down that road, see semanticContentAttribute to help with problems regarding RTL languages.
Also, please note that this might become a problem in review. Most apps should not need to reinvent the wheel here.

Prevent automatic localization for unsupported languages

UIBarButtonItem have identifiers like Cancel, Done and some others which get localized automatically.
Now, if the device language is set to a language which is not yet supported by the app, I would like to disable this feature, in order to prevent this result of languages mix.
Is this thing possible?

iOS - Country and Language Specific Localization

We are migrating our app from iOS6 to iOS7 and we use programmatic way of creating view (rather from storyboard or nibs).
We are trying to support multiple countries with different languages.
Example,
English for - China, India, US
Simplied Chinese for- Taiwan, China
There can be custom override's for specfic country from the basic language localization set.
Now I need to have a common base for language bundles and country specific bundles.
Common Language Bundles: (base language bundles)
en.lproj
zh_hans.lproj
Country Specific Override Bundles: (if i have custom text for each specific countries)
ch(ina)_en.lproj
ch(ina)_hans.lproj
us_en.lproj
Problem:
Resource files (Translations) have to be duplicated for each countries(chinese, taiwan) with english, chinese. How can we avoid this ?. Images are also duplicated sometimes, it is a maintenance problem, if we start support more than 10 countries.
Android supports delta overrides of translations for each language translation per country, do we have anything in iOS similar to that ?.
I know it is not supported out of the box from iOS. What is the right way to achieve the same without duplicating the resources ?. Any hints or ideas to achieve the same ?.
Thanks,
Alex
I hope I've understood correctly.
1a.Image files will only need to be duplicated per language if they contain text or "imagery" that requires translation otherwise there should only be one version. From memory, you select which image files you want to be translated.
2a.A translation is needed for each language you want to support - there is no way round this (obviously). These usually live in "strings" files which you send off for translation.
2b.If you don't supply a specific translation for a string it defaults to the "base" translation. Unfortunately, I don't know how this would work with two "base" translations or even if this is possible as usually the base translation is the language you developed in. You will need to investigate further.
2c.You will need to manage deltas to your strings file yourself - through GIT perhaps? This is annoying but do-able although there may be third-party products that can do this.

IOS Internalization MultiLanguage change by run time

I have an IOS app and i want to add multi language support. For Example; there are two button first for English and second for Dutch. If user presses the button English the app language change to English. The Dutch button for Dutch language. But there is some constraints. I search for many solutions.
I dont want to use the language option at Iphone "Settings"
The user wont restart the phone to see the changing language.
I need any help, i'm so desperate :(
This question was asked many times.
You can easily implement your own language system. The NSLocalizedString that Apple uses is a macro, which you could change or just make your own macro for localization. That way you can fully control what is being localized and what not and can change it at runtime. See those projects for example: TCLocalizer and DPLocalizationManager.
They both allow runtime localization of your view controllers. And there are many more, such as:
Qlovr/QVLocalization
illoyd/CAFLocalizables
mumensh/iOS-Localization
All these links and libraries should help you figure out what exactly do you need and how to accomplish it.

How to add rtl support to my ios app

I am localizing my app and wanted to add some rtl support as well (my app is currently in ltr).
What would be the best approach for providing such localization? I was thinking of creating different xib's for rtl and ltr, but then how would I load the correct one?
I asked a question similar to yours not so long ago: How does waze change objects location with their localization?
Your best bet would be to use a different xibs \ StoryBoard and differentiate between the two after checking the local settings. You could also ask the user for his native language to trigger the right StoryBoard (some users like to have controler of the language they are getting, even if there phone is in another language)
If you are going to support iOS 6 and there is a way achieving the above with AutoLayout but I'm not sure that's what you are looking for.

Resources