Lista de almacenamiento de diccionarios de iOS
Utilizaremos chino simplificado y chino tradicional como ejemplos para hacer una demostración para explicar (lo mismo ocurre con otros idiomas). Los objetivos son los siguientes:
Es decir, esperamos que cuando el idioma del sistema del usuario sea chino tradicional, el nombre de la aplicación muestre la "palabra modesta" tradicional, y cuando el idioma del sistema sea En otros idiomas (como chino simplificado e inglés), mostrará la "palabra modesta" simplificada.
Primero, cree un programa de demostración llamado PlistLocalizeDemo (el nombre no es importante). Luego agregue la configuración del nombre de la aplicación arriba de Info.plist
Clave: CFBundleDisplayName, tipo: cadena, valor: modesto.
Si ejecutas la demostración ahora, el nombre de la aplicación es modesto en todos los idiomas.
Dirijamos nuestra atención al proyecto anterior TARGETS, que tiene configuración localizada. Hay dos configuraciones arriba, una es Base y la otra es inglesa. Al inglés le sigue la visualización del idioma de desarrollo, lo que significa que el idioma predeterminado actual es el inglés. Esta es la configuración predeterminada del sistema al crear una demostración.
A continuación, realicemos las siguientes operaciones. Una vez completada la operación, podemos configurar el idioma en chino simplificado y chino tradicional:
Eliminar la configuración básica.
2. Agregue la configuración en chino simplificado y la configuración en chino tradicional.
3. Cambie la configuración de idioma predeterminada a chino simplificado.
4. Eliminar la configuración del idioma inglés
Hay una casilla de verificación en "Localización, usar internacionalización básica". Comprobemos que la ventana emergente estará configurada de forma predeterminada y hagamos clic en Mover. Esto elimina la configuración multilingüe de Base (principalmente porque es una monstruosidad).
Hay un "+" debajo de Localización y puedes agregar varias configuraciones de idioma. Seleccionamos chino simplificado (zh-Hans), realizamos la configuración predeterminada en la ventana emergente y hacemos clic en Finalizar para agregar chino simplificado. Luego use la misma operación para agregar chino tradicional y chino tradicional (zh-Hant).
Esto es un poco problemático. El idioma predeterminado es en realidad el valor de $(DEVELOPMENT_LANGUAGE), que por defecto es el inglés al crear una demostración. Pero Xcode buscó durante mucho tiempo y no pudo encontrar dónde está configurado este valor. Posteriormente se utilizó un ingenioso método para modificarlo. archivo pbxproj.
Cierre el proyecto Xcode, abra el directorio del proyecto en Finder y encuéntrelo. xcodeproj (nuestra demostración es PlistLocalizeDemo.xcodeproj), luego haga clic derecho -> Mostrar contenido del paquete, busque el archivo project.pbxproj, abra el archivo, busque desarrolloRegión y encuéntrelo.
desarrolloRegión = es. Esta configuración es exactamente lo que estamos buscando.
(ps: ¿Ha encontrado una matriz de idiomas knowRegions debajo de esta línea? Hay en, zh-Hans, zh-Hant zh-hant, esta es la configuración de localización que vemos en Xcode).
Coloque developmentRegion = en como development region = zh-Hans;. Guarde (asegúrese de guardar), abra el panel del proyecto en Xcode nuevamente y descubra que la configuración de localización ha cambiado. El idioma de desarrollo solía ir por detrás del inglés y ahora va por detrás del chino simplificado. El idioma predeterminado se ha cambiado a chino simplificado.
Seleccione inglés, haga clic en "-" y confirme la eliminación de la configuración del idioma inglés.
Después de eliminar la configuración, vaya al directorio raíz del proyecto y busque archivos con el sufijo. lproj (en realidad es una carpeta).
Según nuestra configuración, solo debería haber zh-Hans.lproj y zh-Hant.lproj. Si hay redundancias, recomendamos eliminarlas.
La configuración en varios idiomas del archivo Info.plist requiere crear un archivo InfoPlist.strings, realizar un procesamiento en varios idiomas en el archivo y, finalmente, configurar el valor-clave correspondiente en cada archivo de idioma.
Barra de menú Archivo->Nuevo->Archivo, luego Buscar cadenas y seleccione el archivo de cadena denominado InfoPlist.strings.
Nota: El nombre está fijo en InfoPlist.strings; el uso de otros nombres no es válido.
Seleccione el archivo InfoPlist.strings, haga clic en el botón Localizar... y luego haga clic en "Localizar" en la ventana emergente.
El siguiente paso es agregar los valores clave correspondientes a los dos archivos de localización. La clave para la configuración del idioma de visualización de la aplicación es CFBundleDisplayName, por lo tanto, infoplist. String (chino, LED simplificado) agregó la configuración de "CFBundleDisplayName" = "su Qian". Lista de información. Archivo de cadena (chino, tradicional) más la configuración "CFBundleDisplayName" = "Modest";
En este punto, la configuración se ha completado.
Después de ejecutarla, verifique el idioma de la aplicación y cambie el idioma del sistema para realizar pruebas. Básicamente cumple con nuestros requisitos.
De acuerdo con la configuración anterior, se puede lograr la función de configuración multilingüe esperada. Sin embargo, hay dos cosas a tener en cuenta durante las pruebas.
En primer lugar, el sistema lee el nombre de la aplicación y la descripción del permiso de privacidad mencionados anteriormente. El sistema los leerá y mostrará de acuerdo con el idioma del sistema del usuario actual, que está relacionado con el idioma del sistema. . Algunas aplicaciones tienen la función de cambiar de idioma. Cabe señalar que la función de cambio de idioma en la aplicación no se puede aplicar a la visualización multilingüe del nombre y la descripción del permiso de privacidad de la aplicación de la que estamos hablando hoy, porque esto lo lee el propio sistema y nosotros No puedo especificarlo.
Por ejemplo, si un usuario cuyo idioma del sistema es chino tradicional cambia al chino simplificado en la aplicación, el nombre de la aplicación seguirá apareciendo en chino simplificado y el sistema solo lo mostrará según el idioma actual. lenguaje del sistema.
En segundo lugar, de hecho, además del chino tradicional, los usuarios de otros idiomas que muestran chino simplificado no cumplen plenamente las normas. Hay una matriz en la configuración de idioma del sistema. De hecho, el sistema recorrerá la matriz de arriba a abajo y mostrará los idiomas encontrados. Por ejemplo, la lista de idiomas del sistema es inglés, chino tradicional y chino simplificado. Entonces el idioma actual del sistema es el inglés. Según nuestra idea, el nombre de esta aplicación debería ser chino simplificado. Pero en realidad muestra chino tradicional. Debido a que el sistema encuentra primero el chino tradicional al iterar a través de esta matriz, utiliza la traducción al chino tradicional directamente. Por supuesto, realmente no importa. Después de todo, la mayoría de los usuarios no cambiarán entre tantos idiomas.
Configuración multilingüe de internacionalización de Xcode info.plist
Internacionalización de info.plist
La localización de Xcode cambia el idioma de desarrollo (la localización de xcode cambia el idioma de desarrollo predeterminado)
¿Dónde está Info.plist en Xcode 13? (Falta, no en el navegador de proyectos)
Cambiar el lenguaje de desarrollo en Xcode