Prevent automatic localization for unsupported languages - ios

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?

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.

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.

iOS localization for unsupported languages

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/

Change language in iOS app

I display content in selected language which comes from the phone settings. Users may change the app language in settings of my app. I use NSUserDefaults to insert selected language to AppleLanguages key with setting objectAtIndex at 0. It works when application relaunches. But inside the app I cant see any change. I used NSUserDefaults syncronize but it is not working.
Simply I want to reload my tabbed app views with chosen language at runtime.
Firstly, this isn't great user experience - languages are there to be set by the user for their personal aptitude. Your app is trying to forcibly dictate a language to them - behaviour that is at best frowned upon by Apple, and at worst will see your app rejected. I know Id definitely delete an app that tried to change one of my settings for me, especially a global one like preferred languages.
That being said, you can manipulate the localisation system by only supporting specific languages - you should never have to support that kind of requirement. Simply limit the supported languages to the ones you are prepared to offer translations for.
Lastly, Id expect that firstly you can't manipulate global settings like that as it breaks the application sandbox, and that secondly even if you could you'd have to find a way of relaunching your app anyway - itself a difficult proposition.

Ipad app in different languages

What is the best way to localize my app to different countries/languages?
I would like the user to have an option to select the language he wants regardless of the country he is downloading from.
Thanks
The best way is to provide your application with whatever set of languages is needed.
As for switching, the best way is to actually detect the language and use it. You should not implement some specific language switching method, I mean user should not be forced to choose the language again – (s)he already did during initial set up of the system.

Resources