Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Localizable string in Foundation.framework not found

I'm getting this log warning while using my app and I'm not sure how to deal with this message:

2014-10-21 12:57:54.472 App[7067:2540152] Localizable string "(A Document Being Saved By %@)" not found in strings table "Document" of bundle CFBundle 0x12e508f60 (not loaded).

It seems, the localization file within the framework is missing, which would be really weird. Re-adding the framework didn't help.

Any hints apprechiated.

like image 435
Carsten Avatar asked Oct 21 '14 12:10

Carsten


4 Answers

I'm getting the same message. In my case it looks like both TestFlight and Crashlytics are generating them;

[TestFlight takeOff:@"xxxxxxxxxxx"]; // Generates 2 messages 
[Crashlytics startWithAPIKey:@"xxxxxxxxxxx"]; // Generates 1 message

Not causing us any trouble, so leaving them alone for now.

Update

Ok, got to the bottom of it. If you've been doing localization, chances are you probably enabled 'Localization Debugging' in your scheme (Product > Scheme > Edit Scheme in Xcode). If you're wondering why you're getting these messages from the various libraries, it's probably because you still have it enabled.

Imgur

like image 198
PaulB Avatar answered Oct 23 '22 20:10

PaulB


I just had this problem too.

Since turning off the warning seems like a bad idea (Feels like high risk translations will not work as intended), I tracked down what actually caused the problem.

In my case, the problem was an empty string in the Localizable.strings file. (I used a non-standard way to generate it, the default genstrings tool will not add them)

That is, in one place I had this line:

/* No comment provided by engineer. */
"" = "";

If I removed it, the warning disappeared! Seems like there is some problem in the string table implementation if you add empty strings, that makes all string tables mess up, not only the one where the problem is...

Maybe someone will find this information useful, so I leave it here.

like image 32
Olof Hedman Avatar answered Oct 23 '22 18:10

Olof Hedman


If you don't specify "Document" then it will look in the file Localizable.strings. Otherwise make sure you have the file Document.strings in your project. Also, "(A Document Being Saved By %@)" looks pretty weird to me. You might want to check this is really what you want as a key for a localizable string.

Here is a link that may help you understand the process

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/LoadingResources/Strings/Strings.html

like image 43
Brad Thomas Avatar answered Oct 23 '22 18:10

Brad Thomas


From what i found in my recent project, this error occured when you have the english language (just english with no region) defined in your device. Since one or more framework will fail to find translation strings you will have this error in your console log. Hope that helps

like image 36
thibaut noah Avatar answered Oct 23 '22 19:10

thibaut noah