internacionalización de formatos de fecha en marco de juego

He internacionalizado mi aplicación de juego usando Messages.en, Messages.de, etc. Sin embargo, EE. UU. y el Reino Unido tienen diferentes preferencias de formato de fecha.

La documentación del juego es un poco confusa y pensé que tenías que usar códigos ISO de 2 letras, pero parece que los códigos de idioma ISO de 3 letras también funcionan en el juego.

Encontré eng y enu aquí y lo conecté al juego y al éxito. http://msdn.microsoft.com/en-us/library/ee825488%28v=cs.20%29.aspx

Sin embargo, no puedo encontrarlos documentados en la ISO oficial y preferiría que el juego fuera un poco más claro en cuanto a que los códigos de 3 letras funcionan, así que sé que es una función y no un error.

En general, ¿alguna recomendación sobre cómo hacer mejor los formatos de fecha aquí? ¿Es una buena idea vincularlos a la selección de idioma o es mejor dar a los usuarios una opción independiente del idioma?

preguntado el 04 de julio de 12 a las 01:07

1 Respuestas

Para configurar el formato de fecha para Play, lo define en su archivo de configuración, en lugar de específicamente en un archivo de mensajes aquí: http://www.playframework.org/documentation/1.2.4/configuration#date.format

Play dice lo siguiente acerca de elegir entre el código de 2 caracteres (código de idioma) y el código de idioma y país, aquí: http://www.playframework.org/documentation/1.2.4/i18n#languages

Puede usar el par de idioma/país si desea distinguir entre variantes, como en_US y en_GB, o zh_CN y zh_TW. Sin embargo, tenga en cuenta que es posible que algunos usuarios solo expongan un idioma y no un país en su idioma de aceptación. Por esa razón, siempre debe proporcionar el idioma "desnudo" (por ejemplo, en).

Por ejemplo, si la mayoría de sus usuarios son de EE. UU., pero también desea admitir el inglés británico, se recomienda usar simplemente "en" para inglés de EE. UU. y "en_GB" para inglés británico.

No menciona específicamente los códigos de 3 caracteres. Sin embargo, Play utiliza el objeto Java Locale para la internacionalización, por lo que si observa el Javadoc para ese objeto, puede ver la referencia al código de 2 caracteres solamente, y no al código de 3 caracteres. Por lo tanto, probablemente sea más seguro confiar en el código de 2 caracteres (o el código de país e idioma, como en_gb), ya que aunque Locale parece admitir 3 códigos de países, ¡no puede garantizarlos todos!

Respondido 04 Jul 12, 07:07

Leí ese archivo doc varias veces y no vi este párrafo. Refactorizaré el código de idioma según lo recomendado. Por lo tanto, mis archivos de mensajes.enu y mensajes.eng ahora serán mensajes.en (el valor predeterminado es EE. UU. para inglés si el usuario no admite el país) y mensajes.en_GB para el Reino Unido. ¡Gracias! - blamiral

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.