I'm unable to get the correct localized german strings from the Localizable.strings file. My app setup looks like this
Main.storyboard
Localizable.strings
Inside the app I'm trying to get the string like this
NSString *item = NSLocalizedString(@"Group expenses", @"Menu item");
The Localizable.strings (German) file looks like this
/* Menu item */
"Group expenses" = "Gruppenausgaben";
When I set a breakpoint after item
I always get the English string back, however the path for the resource seems correct NSString *path = [[NSBundle mainBundle] pathForResource:[[NSLocale preferredLanguages] objectAtIndex:0] ofType:@"lproj"];
gives me: /data/Containers/Bundle/Application/5E3ED6BF-71E1-4C60-9EDA-610C9A32B8EF/MyApp.app/de.lproj
I also have localized the string file
It's also included in Copy Bundle Resources
I tried several answers from different questions here on stackoverflow, like deleting app and do a clean (shift+cmd+k), setting application language under
Edit Scheme
, ...
Right click on the xib file in Xcode, and choose Get Info . Select the General tab and on the bottom click Make File Localizable . Then you will be able to add localizations by clicking Add Localization on that same tab. I would recommend this tutorial for step-by-step information (and pretty pictures).
The key used to look up an entry in a strings file or strings dictionary file.
Ok, I think I know the reason for your bug. Parse had an issue with adding Localizable.strings as documented here. This was fixed in 1.8.1 version of their framework:
V1.8.1 — AUGUST 19, 2015
...
Fixed: Overwritten localizations when used via CocoaPods and integrating as static library.
...
You can also check this question.
So, just make sure you use the latest version of the framework and all should work :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With