2009-03-11 13 views
15

Estoy en el medio de localizar mi aplicación de iPhone, y he conseguido que las localizaciones en inglés, francés, alemán y japonés funcionen sin ningún problema. Ahora trato de hacer que funcione una localización simplificada de chino, y no importa lo que intente, el paquete chino .lproj simplemente no se usará cuando tenga el teléfono configurado en chino simplificado.Cocoa/iPhone: ¿Cómo creo una localización de mi aplicación en chino simplificado?

Un problema es que no estoy seguro de cómo debe llamarse la localización. He intentado con "chino", zh-Hans, zh-CN, zh_Hans, zh_CN y ninguno funciona. Incluso he ido tan lejos como para hurgar en el paquete de la aplicación Remember The Milk para ver lo que usaron. Están usando zh_CN, pero eso no funciona para mí.

¿Me falta algo obvio aquí? ¿Debo actualizar alguna plist en algún lado? Por lo que puedo ver al leer la documentación de I18N y mirar el video relevante de la sesión de la WWDC, todo lo que debería hacer es asegurarme de tener el paquete .lproj correcto en mi paquete de aplicaciones y debería ser bueno ir ... ¿derecho?

Si cree que ayudaría, que puede proporcionar un proyecto Xcode prueba que demuestra el problema ...

Gracias

Respuesta

33

Es zh_CN para Simp. Chino (简体 中文), zh_TW para Trad. Chino (繁體 中文).

Si está probando zh_CN.lproj bajo Trad. Chino Ajuste de idioma, no funcionará. Solo asegúrate de probar tu aplicación con la configuración de idioma del sistema correcta. Además, Localizable.strings se debe codificar con codificación UTF-16.

actualización:
En última Localization Programming Guide, éstos habían sido cambiadas a zh-Hans y zh-Hant.

Particularmente en dialectos chinos, un código de región no siempre es la mejor manera de especificar el dialecto o la secuencia de comandos adecuada. Por ejemplo, el chino tradicional (Han) es el idioma predeterminado que se habla en Taiwán y se identifica con el código zh_TW en Mac OS X v10.3.9 y anteriores. Sin embargo, el chino tradicional también se habla comúnmente en Hong Kong y Macao, lo que significa que el designador zh_TW no es del todo exacto en esos lugares. El nuevo estándar define nuevas etiquetas para los scripts tradicionales chinos (Hant) y chino simplificado (Hans). Por lo tanto, el chino tradicional hablado en cualquier país usa el código zh-Hant. El chino tradicional, tal como se habla en Taiwán, ahora usa el código regional zh-Hant_TW.

+0

sentimos que tenía un error tipográfico en mi post, quería decir zh_CN ... He intentado zh_CN y no funciona para mí. –

+1

Mike, zh_CN solo funciona con la configuración de idioma "简体 中文" (Simp. Chino) de su iPhone (no "繁體 中文", chino tradicional). – digdog

+0

No me preguntes por qué, pero zh_CN está funcionando ahora ... tuve que hacer una compilación limpia y reiniciar el simulador unas cuantas veces. Gracias digdog! –

1

Dado que a iPhone le gusta almacenar en caché los recursos, debe limpiar el proyecto de su aplicación y volver a compilarlo. Entonces todo funcionará bien con su localización.

0

cuando agrega la localización para cualquier idioma que no sea chino u nombrado como árabe, alemán, etc. pero para el chino tiene que restringir al nombrar porque hay 2 chinos (simple y tradicional) así que en la localización iphone debe nombrar zh_CN (para chino simplificado) si u coloca otro nombre que no podía traducir así que B cuidado nombre debe ser

zh_CN (para chino simplificado).

se resuelve ur problema
:)

0

Como dijo digdog arriba: "Además, los Localizable.strings deben ser codificados con codificación UTF-16."

me encontré con UTF-8 para Localizable.strings está bien también, he hecho con éxito varios idiomas incluyen zh_CN

fui guiado por el siguiente mensaje: http://www.cocoabuilder.com/archive/cocoa/277415-localization-strings-in-utf16-vs-utf8.html

+0

Estoy probando UTF8 y UTF 16, probé todas las opciones de UTF en Sublime Text 2 para Mac, pero XCode me sigue diciendo que no está en el formato correcto, ¿me pueden ayudar? Gracias – Badjano

Cuestiones relacionadas