Mi proyecto Cocoa está localizado en italiano (mi idioma) y en inglés.
Si lo ejecuto, veo todo en italiano (¡por supuesto, mi sistema operativo es italiano!).
¿Cómo puedo ejecutarlo para probar la localización en inglés sin cambiar el idioma del sistema operativo?Xcode: ejecutar proyecto con la localización especificada
Respuesta
En los viejos tiempos, Leopard y antes, la ventana de obtener información en Finder permitía que eligiera los idiomas disponibles. Por lo tanto, era cuestión de anular la selección del idioma que no desea usar y que sería "predeterminado" para el otro.
En estos días puede usar una utilidad como this one. Sin embargo, me encantaría saber qué hace detrás de escena.
Finalmente encontré una buena solución en el cocoa-dev mailing list archives. Aparentemente, puede cambiar el dominio predeterminado dentro de los argumentos pasados a su ejecutable, y esto hace que se sobrescriba la preferencia global. Se se puede lograr con la bandera -AppleLanguages
, pasar una lista de los idiomas en el orden de preferencia:
~/apath/AppName.app/Contents/MacOS/AppName -AppleLanguages "(Italian, English)"
Ejecutar esto desde su terminal y debe dar una prioridad diferente para el idioma . Observe que también puede especificar una lista de elementos individuales "(Italian)"
-tiene más sentido para fines de prueba.
Para hacerlo dentro de Xcode y evitar el terminal, vaya al menú Producto> Editar Esquema .... Luego, en la configuración de ejecución, cambie a la pestaña Argumentos y cree una nueva que se pasará en el inicio. Agregue -AppleLanguages "(Japanese)"
mensaje de texto. Algo similar a esto:
Suponiendo que tiene un archivo que contiene todas las cadenas, intercambie los nombres de los archivos. O bien, si tienes un grupo it.lproj y en.lproj en tu proyecto, simplemente mueve tus InfoPlist.strings (o lo que sea que hayas nombrado) al otro grupo y viceversa.
gracias, truco útil. no lo había pensado: D alguna otra sugerencia? – Oneiros
Sí, acaba de editar mi respuesta con un poco más de información. En mi caso, utilizo un nombre de archivo especial, pero puede que esté utilizando grupos localizados con el mismo nombre de archivo, en cuyo caso simplemente coloca el archivo de cadena en.lproj en el grupo it.lproj, por ejemplo. Por supuesto, querrás moverlos de vuelta antes de implementar: D – Jeremy
intenté intercambiar it.lproj y en.lproj pero de alguna manera no funciona ... – Oneiros
- 1. Construir/ejecutar el proyecto iOS Xcode desde la Terminal
- 2. Ejecutar la función especificada cada X segundos
- 3. Problemas con la localización de archivos .storyboard
- 4. Construir y ejecutar un proyecto xcode a través de AppleScript
- 5. Localización avanzada con Omisión de argumentos en Xcode
- 6. Xcode 4: la localización de marcos no funciona
- 7. Importar proyecto XCode dentro de otro proyecto XCode
- 8. Response.RedirectToRoute con una acción especificada
- 9. MS Test: ¿Cómo ejecutar la localización de prueba?
- 10. Proyecto de Xcode dentro del proyecto
- 11. C# ¿Cómo puedo forzar la Cultura de localización a en-US para el proyecto de pruebas
- 12. Localización con JQuery?
- 13. proyecto depende en Xcode 4
- 14. ¿Cómo agregar lenguaje de localización a Xcode 4.4?
- 15. ¿Cómo puedo obtener Xcode para compilar y ejecutar con Applescript?
- 16. Localización con etiquetas HTML
- 17. Fusionando archivos de proyecto Xcode
- 18. Eliminar git del proyecto en Xcode 4
- 19. ¿Cómo usar la localización implícita con MVCSiteMap?
- 20. ¿Cómo localizar mi aplicación con Xcode 4?
- 21. Duplicar un proyecto XCode 4
- 22. Compilar e instalar sin ejecutar en Xcode
- 23. Proyecto de XCode 4.2 que migra a XCode 4.2.1
- 24. Localización en node.js con express
- 25. Uso de Git con un proyecto XCode existente
- 26. ¿Cómo agregar arquitectura armv6 al proyecto Xcode?
- 27. XCode 4.2 + Iphone 3g no se puede ejecutar la aplicación
- 28. Herramienta para comparar archivos de proyecto Xcode
- 29. Error al compilar el proyecto Xcode (iPhone)
- 30. Xcode Indicador del compilador del proyecto
¿Alguna solución dentro de xcode? – Oneiros
@Oneiros acaba de encontrar una forma y editó la respuesta. – sidyll
@sidyll esta es una buena solución. Voy a probarlo en iOS cuando tenga la oportunidad: ahorrará la misma molestia de cambiar el idioma del dispositivo todo el tiempo. – Jessedc