ios localization nsbundle

ios - Cadena localizable en Foundation.framework no encontrado



localization nsbundle (4)

Acabo de tener este problema también.

Dado que desactivar la advertencia parece ser una mala idea (parece que las traducciones de alto riesgo no funcionarán según lo previsto), localicé la causa del problema.

En mi caso, el problema era una cadena vacía en el archivo Localizable.strings. (Utilicé una forma no estándar para generarlo, la herramienta de cadenas de caracteres predeterminada no los agregará)

Es decir, en un lugar tuve esta línea:

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

Si lo quito, la advertencia desapareció! Parece que hay algún problema en la implementación de la tabla de cadenas si agregas cadenas vacías, eso hace que todas las tablas de cadenas se desordenen, no solo en la que el problema es ...

Tal vez alguien encuentre útil esta información, así que la dejo aquí.

Recibo esta advertencia de registro mientras uso mi aplicación y no estoy seguro de cómo manejar este mensaje:

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 </System/Library/Frameworks/Foundation.framework> (not loaded).

Parece que falta el archivo de localización dentro del marco, lo que sería realmente extraño. Re-agregar el marco no ayudó.

Cualquier sugerencia que se aprecie.


Estoy recibiendo el mismo mensaje. En mi caso, parece que tanto TestFlight como Crashlytics los están generando;

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

No nos está causando ningún problema, así que déjalos solos por ahora.

Actualizar

Ok, llegué al fondo de esto. Si ha estado haciendo localización, es probable que esté habilitado ''Depuración de localización'' en su esquema (Producto> Esquema> Editar esquema en Xcode). Si se está preguntando por qué recibe estos mensajes de varias bibliotecas, es probable que todavía lo tenga habilitado.


Por lo que encontré en mi proyecto reciente, este error ocurrió cuando tienes el idioma inglés (solo inglés sin región) definido en tu dispositivo. Dado que uno o más marcos no encontrarán cadenas de traducción, tendrá este error en el registro de su consola. Espero que ayude


Si no especifica "Documento", se buscará en el archivo Localizable.strings. De lo contrario, asegúrese de tener el archivo Document.strings en su proyecto. Además, "(Un documento se guarda por% @)" me parece bastante extraño. Es posible que desee comprobar que esto es realmente lo que quiere como clave para una cadena localizable.

Aquí hay un enlace que puede ayudarte a entender el proceso.

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