I have a project in XCode 5 (Target iOS 7.0). I removed "Base Localization" and my Main.Storyboard. Then, i restores my Main.Storyboard, but XCode doesn´t allow me to add any localization. Do someone know this problem?
I tried the checkbox "Use Base Internacionalization", the "+" button. When I tried to add, there is no "resource file" and "Reference Language". When I press finish, nothing happens.
Im my experience, Base internationalization just confuses the issue of localization. My localized apps don't use it. Just create a Localizable.strings file (SmoothLocalize has a good tutorial HERE) in English, then follow the tutorial for adding further languages. English will be the default.
Related
My project base language is English. My simulator/phone is in English. The projects supports English, French, Dutch.
When the app starts for the first time the app is always in French even when the phone is in English.
When I debug and print out this line:
[NSLocale preferredLanguages][0];
It gives me the correct language namely English.
Does someone have an idea why this is?
Please, check the following.
Tap on your project_name -> edit scheme...
Click on 'Options' tab
Select on 'Application language' English (or whatever you need)
Just renaming localization files may cause some other bugs. Here is Apple guide about base localization:
https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html
In order to remove base localization:
click on your project in file inspector.
Select 'Info' tap on yours project and deselect 'Use base Internationalization' on 'Localizations' section
Hope this helps.
I'm guessing Apple broke something with the simulator, because it works on real devices from Xcode 6.1. Check on real device
I want to add some languages to my application. At the beginning, I started just in german. So after I finished the application, I wanted to add english to it.
So I opened up the project file, and saw that my applications "Development Language" is english. So I added german there and added german in my Localizable.strings file and started to change the english file.
After I was finished, I saw that in my info.plist the key Localization native development region was set to "en". So I changed it to "de". Unfortunately, the "Development Language" was still "english". So I opened up the .xcodeproj file with a text editor and changed the "Development Language" to german. Now my "Development Language" is set correctly to german.
"Use Base Localization" was checked by default.
But now I have the problem, when I run my application with a german device, the whole app is in english and not german. When I run the app with an english device, it's in english,too.
Can someone help me?
Thanks!
Ok, it seems like it's a Xcode/iOS simulator bug... It works when I follow the instructions on the top of this question.
I was following one of Ray Wenderlich's tutorials on localization but I can't seem to get it working.
I've set my project up for localization in English and French and I have a locaziable.strings file for each:
The French file has the correct (well as far as Google translate goes) French versions of my string:
I'm setting the strings by calling the correct key from the localizable.strings file:
NSString* strTitle = [NSString stringWithFormat:NSLocalizedString(#"Title", Nil)];
And I have the simulator set to French (BTW: Whenever I do a language change the simulator crashes).
But it is not pulling from the correct localizable.strings file. It's still displaying in English:
Am I doing something wrong?
If you are using xcode 6.1.1 and iOS sdk 8.1,try this workaround.
It seems localization does not work with xCode 6.1 and 8.1 simulator.
Workaround:
Go to "edit schemes" >> "Run" (side bar) >> "Options" tab >> "Application Language"
Select the language you wish to run the app on the simulator.
I got this workaround from Workaround by natanavra
Thanks to him.
However I read on developer forum,that it is working in 6.2 beta version of Xcode. Hope it do.
Maybe you have run the app at some time where the file Localizable.strings already existed but has not been localized yet. If this is the case, this unlocalized file still resides in the resources folder in the application bundle in the simulator (when you build an run a new version of your app in the simulator or in the device, unused files will not be deleted). This can lead to problems.
Try to delete the app completely from the simulator and build an run again.
I have experienced similar issues (IB localization in my case) on device. So general answer would be
Device - Uninstall app and clean project by Shift+CMD+K
Simulator - Go iOS simulator > Reset Content and Settings and clean project by Shift+CMD+K
These problems are really annoying. Along with poor ability to update localized strings is localization one of the biggest drawback of iOS development.
Another problem that could cause localization not work is the encoding of the strings file. Localizable.strings's encoding must be UTF-16. The default encoding of text file in xcode is UTF-8, that cause me spending a whole day to check why the localization not work.
In Xcode 6.0 and later, Localization not work by changing language in Simulator not working.
You have to edit scheme before running your application.
Go to Edit Scheme -> Run -> Options, change language here.
Now, Run Your Application. It will Work.
For more details, check this answer : Changing language on iOS 8.1 simulator does not work
My problem for this was an incorrectly encoded character in the localization file.
I tried to make the localization of the app name using CFBundleDisplayName.
I made the localized InfoPlist.strings according two different language.
In one strings file wrote:
CFBundleDisplayName="x11111"
and in another:
CFBundleDisplayName="y22222"
And in file info.plist, I added "Application requires iPhone environment" property, and set the boolean value to YES.
And in info.plist,the "Bundle display name" I used "x11111".
The localization worked ok on the simulator, but when tested on the device , it did not work.
On device, the name I used for 'Bundle display name' in info.plist can only be showed.
By the way, I use cocos2d for the project.
Anything I missed or did wrong?
If your localisation files were supplied to you, and you need to add them, be sure to add them correctly on per file basis. In Xcode, while you are adding files, pay attention how you add them. This is how they should look in Xcode Project Navigator.
I have added them by selecting all folders which didn't add them correctly to project.
Hi I've created my iPhone app for IOS 5.0 with Xcode 4.2. By default it is localized in English.
I would like to make the app appear on the app store with language "French".
From my understanding, I've to remove English language and add the French one, but this is causing some problems to me.
At first, each time I open my app in Xcode, english language is added by default, even if I have removed it previously.
Moreover, if I localize my Storyboard files in French, the file is moved to my fr folder in project, but this causes in "Copy Bundle Resources" a problem with the file that becomes red.
To make it work again, I've to remove the localization from the Storyboard files.
Can you please help me?