ios xcode interface localization builder

ios - XCode Storyboard Localization Duplicate Strings Merge?



interface builder (2)

Lamentablemente, los archivos .strings son archivos de clave-valor y, por naturaleza, debe haber una clave (que esté compuesta por la ID del plumín del elemento seguido de la propiedad) y el valor de cadena asociado.

Como Apple describe en el enlace precedente:

El formato de archivo de cadenas estándar consta de uno o más pares clave-valor junto con comentarios opcionales. La clave y el valor en un par determinado son cadenas de texto entre comillas dobles y separadas por un signo igual.

entonces, su idea no es compatible con los archivos .strings .

La única forma de admitir esa característica es mediante el uso de NSLocalizedString en el código.

Actualmente estoy trabajando en una aplicación de iOS y localizándola en varios idiomas, pero me he enfrentado a un problema molesto (que no se rompe).

Cuando agregue una nueva localización para mi guión gráfico, xcode poblará automáticamente las cadenas, lo cual es muy bueno. El problema que estoy teniendo es que tengo múltiples interfaces que tienen un botón de retroceso. El texto sobre estos es por supuesto el mismo y sus traducciones también. La pregunta que me preguntaba, ¿es posible, sin usar strings.localizable, combinar de algún modo las traducciones de objetos múltiples en una sola?

Así es como se vería actualmente:

"Pnu-Ec-HAj.normalTitle" = "Back"; "Rtx-fT-rdc.normalTitle" = "Back";

Pero sería mucho más fácil si hubiera una sintaxis como

"Pnu-Ec-HAj.normalTitle", "Rtx-fT-rdc.normalTitle" = "Back"; (esta sintaxis no es correcta obviamente)

He mirado por ahí bastante tiempo, pero aún no he encontrado ninguna respuesta a esta pregunta.

Gracias por leer.


Recomiendo referenciar cada texto en su guión gráfico en el código, y establecer el texto en viewDidLoad como, por ejemplo:

buyButton.titleLabel.text = NSLocalizedString(@"SHOP_BUY_BUTTON_TEXT",@"Button for buying product in detail view");

Es mucho trabajo si tienes un gran guión gráfico, pero al final tienes un Localizable.strings limpio con claves y comentarios concisos, proporcionando el contexto necesario para tus traductores.

Prefijo la clave con la sección de la aplicación, por ejemplo SHOP_*** , USER_SETTINGS_*** , etc.

Además, utilizamos un servicio como OneSky para organizar nuestras traducciones en línea y actualizarlas desde la nube (no afiliadas a ellas, y no sin sus problemas iniciales).