2011-03-16 13 views
5

En el siguiente documento: http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPInternational/Articles/LanguageDesignations.htmlsobre iOS localización

se menciona que

En iOS, las interfaces de paquete no toman dialecto o información de secuencia de comandos en cuenta cuando se busca recursos localizados; solo se considera el código de designación de lenguaje . Por lo tanto, si su proyecto incluye directorios de proyectos específicos del idioma con un designador de idioma y región , esos directorios son ignorados. Las interfaces del paquete en Mac OS X son compatibles con los designadores de región en los directorios del proyecto específicos del idioma .

Estoy totalmente no entienden esto. ¿Significa que el nombre del directorio .lproj no puede contener ningún código de región?
Pero al menos sé que iOS acepta zh_TW.lproj, zh_CN.lproj. ¿Qué tal en en_GB.lproj y en-GB_GB.lproj? O solo sabe en.lproj?

Respuesta

1

Creo que la información está desactualizada. No deben haber actualizado los documentos de desarrollo de Mac cuando se hicieron los cambios de iOS.

Al crear su archivo Localizable.strings o Project.plist, creará uno por idioma o dialecto de idioma. Solo crea los que necesitas.

Si está utilizando Xcode 4, asegúrese de mostrar las "Utilidades" (Ver -> Utilidades -> Mostrar utilidades) cuando se selecciona el archivo Localizable.strings o Project.plist. Tendrá una sección de localización que hace que agregar estos sea fácil.

+2

Desafortunadamente, no creo que la información esté completamente desactualizada.Intentando crear un dialecto, digamos portugués-brasileño, usando Xcode 4 genera un archivo Localizable.strings bajo pt-BR, pero cambiándolo a Configuración-> General-> Internacional-> Idioma-> Portugués Y Internacional-> Región-> Brasil NO funciona, lo que provoca que las cadenas sean predeterminadas a inglés o portugués. –

2

Esto simplemente significa que iOS solo admitiría códigos de idioma de dos dígitos (por ejemplo, en.lproj, es.lproj, etc.). Mientras que Mac OS X admitirá el formato Language_Region (por ejemplo, en_GB, en_US, etc.).

1

ACTUALIZACIÓN: A partir de iOS 8 ahora puede utilizar cualquier idioma o región en iOS.

Apophenia es correcto. Aunque iOS tiene 30 idiomas que reconocerá como carpetas .lproj, no aceptará ningún código regional, por lo que contarlo fr-CA no le permitirá obtener francés canadiense, sino que simplemente usará sus cadenas en francés o en inglés. La única excepción a esta regla es chino, que debe ser zh-Hans para chino simplificado y zh-Hant para chino tradicional.

Siempre debe usar el código de dos letras para el idioma (en.lproj, fr.lproj, es.lproj, de.lproj, etc.).

Hay una lista completa (y actualizada) de los idiomas soportados actuales y los códigos de idioma para iOS y iTunes aquí:

http://www.ibabbleon.com/iOS-Language-Codes-ISO-639.html

Tenga en cuenta que el iTunes App Store tiene una lista diferente de los idiomas soportados , lo que hace que el gráfico vinculado al anterior sea muy útil.

+0

¿Esto significa que * no puede * proporcionar diferentes ubicaciones en iOS para, por ejemplo, francés (Francia) y francés (Canadá)? Esto sigue siendo cierto en iOS 7+? – pkamb

+0

A partir de iOS 8 y Xcode 6, Apple permite que las aplicaciones de iOS utilicen cualquier idioma y región. http://ibabbleon.com/copywriter-translator/2014/06/new-xcode-6-localization-ios-y... – Localizer