seguimiento retos personales personal para motivadoras metas mejor frases electronica cumplir apps app aplicaciones agenda ios xcode localization dry info-plist

ios - retos - apps para metas personales



Proyecto localizado con varios objetivos con nombres de aplicaciones localizados (6)

He estado haciendo exactamente esto para mis aplicaciones.

A medida que cambio el idioma predeterminado para el teléfono, recoge correctamente los nombres en cada uno de mis archivos infoPlist.strings.

Pero lo hice desde cero. No sé si tendrá que realizar una copia de seguridad para obtener el comportamiento que desea. tal vez guarde a un lado sus diversos archivos infoPlist.strings de cualquier carpeta de localización, luego realice los siguientes pasos y luego vuelva a insertar su contenido de sus archivos actuales infoPList.strings en sus archivos recién creados siguiendo los siguientes pasos.

Estoy usando Xcode 4.3. los pasos:

1) configure las cadenas que desea para su idioma predeterminado en info-plist.strings. Deberías terminar con un solo archivo:

2) ahora, abre el inspector de archivos

3) en el inspector en el extremo derecho, ahora puede hacer clic en el signo + en la parte inferior del navegador:

4) una vez que haya elegido su (s) idioma (s) de interés, aparecerán en el navegador de su proyecto a la izquierda de la siguiente manera:

También puede hacer esto para Localizable.strings y otros archivos (como el index.html en la siguiente foto de ejemplo):

Recientemente he fusionado 5 de mis proyectos independientes en un solo proyecto para tener una base de código común. Así que ahora tengo un proyecto con 5 objetivos en su lugar.

Cada destino tiene el mismo conjunto de archivos, a excepción de algunos archivos que difieren para cada destino (como Default.png y archivos de iconos entre otros). Mi aplicación está traducida a 7 idiomas con inglés por defecto. Los otros idiomas son: sueco, holandés, alemán, francés, polaco y español.
Ahora también me gustaría traducir el nombre de la aplicación en función del idioma utilizado. Por ejemplo, para mi aplicación de aviación sueca, la aplicación debería llamarse "Flyget ARN" en sueco, pero para el inglés debería llamarse "Aviation ARN". Todo esto no es un problema, ya que esto se hace en InfoPlist.string , sin embargo, combinar esto con la localización de la aplicación es un problema.

Recientemente escribí esta pregunta: varias localizaciones aún muestran solo el inglés y descubrieron que no puedo combinar varios archivos .strings. (ver la respuesta que escribí).

Así que mi pregunta es la siguiente:
¿Cómo puedo tener una aplicación localizada de un proyecto que contenga varios objetivos y también localizar el nombre de mis aplicaciones sin tener una violación DRY (código duplicado)?

Actualizar
Esto sigue siendo un problema, las respuestas dadas no resuelven mi problema.


Rompí esta tuerca en un proyecto XCode que, creo, aborda el mismo problema que tú, así que espero que esto te ayude. La solución contiene dos objetivos creados a partir de la misma base de código (con un nombre de aplicación diferente) y que están completamente localizados, incluidos los nombres de la aplicación. (Construye mi aplicación freemium llamada Growth (en francés: Croissance , español: Crecer ) y la versión de pago llamada Growth + (en francés: Croissance + , en español: Crecer + ).

También me topé con los archivos InfoPlist.string (que contienen solo el nombre de la aplicación). Resolví el problema mediante el uso de subcarpetas en mi solución y cambiando los objetivos para incluir el conjunto localizado de InfoPlist.strings de la subcarpeta correspondiente. Específicamente, tengo esta estructura:

Root +-- en.lproj ¦ +-- Localizable.strings ¦ +-- SomeXib.xib +-- es.lproj ¦ +-- Localizable.strings ¦ +-- SomeXib.xib +-- fr.lproj ¦ +-- Localizable.strings ¦ +-- SomeXib.xib +-- OnlyInAppA ¦ +-- en.lproj ¦ ¦ +-- InfoPlist.strings ¦ +-- es.lproj ¦ ¦ +-- InfoPlist.strings ¦ +-- fr.lproj ¦ +-- InfoPlist.strings +-- OnlyInAppB ¦ +-- en.lproj ¦ ¦ +-- InfoPlist.strings ¦ +-- es.lproj ¦ ¦ +-- InfoPlist.strings ¦ +-- fr.lproj ¦ +-- InfoPlist.strings +-- AppA.plist +-- AppB.plist

Y la única diferencia entre mis objetivos (aparte de los diferentes símbolos del preprocesador y el archivo .plist diferente) es que la configuración de compilación de AppA incluye los archivos Info.Plist.strings en OnlyInAppA, mientras que la configuración de compilación de AppB incluye los archivos Info.Plist.strings en OnlyInAppB.

La convención de nomenclatura que utilicé (carpetas OnlyInAppA / OnlyInAppB, archivos de aplicaciones AppB / AppB) es lo suficientemente obvia como para que este sea un enfoque satisfactorio, en mi opinión personal.

Editar:

Por favor, vea estas dos capturas de pantalla de XCode 4 para ver dónde encontrar exactamente las configuraciones que se modifican en los objetivos.

  1. En la configuración de compilación del objetivo, se especifica un archivo plist diferente (nota: XCode lo hace automáticamente cuando agrega un nuevo destino)

  2. En las fases de compilación de destino, en la sección Copiar recursos del paquete, elija la versión de InfoPlist.strings de la subcarpeta OnlyInAppX correspondiente (observe el texto gris junto a InfoPlist.strings en esta captura de pantalla; esto mostrará una ubicación diferente para el otro objetivo) . Puede lograr esto utilizando los botones +/- y reemplace el archivo con el deseado.


Si este problema aún persiste: he encontrado una solución sobre cómo agregar múltiples InfoPlist.string localizadas para cada objetivo en su proyecto. Por favor siga estos pasos:

  1. Supongo que ya tienes múltiples objetivos.
  2. Ve a la carpeta del proyecto en Finder.
  3. Crea una carpeta específica para cada objetivo:

  4. Cree un archivo InfoPlist.strings en cada carpeta:

  5. Agregue carpetas a los destinos especificando el destino adecuado (¡y solo!) Para cada carpeta en su proyecto:

  6. Elimine la dependencia de destino para el archivo original InfoPlist.strings para cada nuevo destino.

  7. Localice los nuevos archivos de InfoPlist.strings:

  8. Construye objetivos y verifica cambiando la configuración de idioma:


Simplemente mantenga todos los archivos InfoPlist.strings, en rutas separadas. Cada uno solo sería miembro de un objetivo.

¿O no entendí la pregunta?


Tengo una configuración similar donde mi mismo software soporta múltiples dominios, cada dominio accede a las mismas rutas exactas para varios módulos (por ejemplo, blogs, foros). Para conservar la individualidad por dominio, especialmente cuando el servicio de base de datos deja de estar disponible, retengo información crítica en archivos, básicamente metainformación. Para la localización, mantendría una variable que conserva el idioma predeterminado de cada sitio / proyecto. Puede determinar los archivos que contienen la información para tener su propio dominio o almacenar todos los proyectos en el mismo archivo, de cualquier forma que quiera usarlo para su último repliegue o si simplemente carece de más opciones públicas para cualquiera / todos con permisos más bajos que usted hasta que implemente tales opciones (los usuarios pueden anular la opción de idioma).


Trate de ver un iTunesConnect_DeveloperGuide

y ver un "Agregar una nueva localización"

Aquí puedes escribir el nombre de una aplicación localizada para cada idioma.