Estoy buscando una lista de todas las configuraciones regionales y sus códigos cortos para una aplicación PHP que estoy escribiendo. ¿Hay mucha variación en estos datos entre plataformas?
Además, si estoy desarrollando una aplicación internacional, ¿puedo admitir una versión de inglés o existen diferencias significativas en inglés en todo el mundo?
php
internationalization
locale
Kirk Ouimet
fuente
fuente
en
usar sonen_US
yen_GB
, con las principales diferencias de que este último generalmente usa enise
lugar de las primerasize
, y la ortografía original en francés de palabras comometre
, en lugar demeter
, y no usa contracciones fonéticas, al usar ensulphur
lugar desulphur
.en_GB
generalmente cubrirá las convenciones de ortografía utilizadas en antiguas colonias que no han sido dominadas culturalmente por los Estados Unidos, comoen_AU
yen_NZ
. Consulte tysto.com/uk-us-spelling-list.html .en_US
como un únicoen
lugar no provocará demasiadas plumas.Respuestas:
La importancia de las configuraciones regionales es que su entorno / sistema operativo puede proporcionar funcionalidad de formato para todas las configuraciones regionales instaladas, incluso si no las conoce cuando escribe su aplicación. Mi sistema Windows 7 tiene 211 configuraciones regionales instaladas (enumeradas a continuación), por lo que es probable que no escriba ningún código personalizado o traducción específica para estas configuraciones regionales.
Lo más importante para varias versiones del inglés es formatear números y fechas. Otras diferencias son significativas en la medida en que desee y pueda atender variaciones específicas.
fuente
MessageFormatter::formatMessage
, o su uso únicomsgfmt_format_message
, como enmsgfmt_format_message('ar-ye', '{0,date,medium}', array('2017-01-27))
, que producirá٢٧/٠١/٢٠١٧
. En ocasiones, cuando se usan valores almacenados como UTC, probablemente sea mejor usar laIntlDateFormatter
clase, ya que se puede poner en una zona horaria para mostrar la hora local en el idioma.en-029
es, esEnglish (Caribbean)
: stackoverflow.com/questions/7192410/…La respuesta aceptada pierde algunos locales bastante significativos. Por ejemplo, los locales chinos no distinguen entre las diferentes escrituras (han simplificado, han tradicional). ¿Qué es un ciudadano chino de la parte continental que quiere que los han tradicionales usen el entorno de Hong Kong?
Tomé esta lista de configuraciones regionales de iOS , eliminé la extraña entrada POSIX, la formateé como Javascript y la ordené por valor (por lo tanto, si usa una implementación de objeto ordenada y crea una lista revisando las teclas y devolviendo el valor, aparecerá muestra el texto legible por humanos en el orden correcto). Además, esta lista contiene una entrada principal por idioma, así como todas las variantes específicas de la región; de esta manera siempre tiene una opción de reserva designada, por ejemplo, si su interfaz solo ha definido la opción 'en', de lo contrario no sabría en a qué recurrir de manera confiable.
fuente
zh-hans-hk
yzh-hant-hk
. Elintl
conjunto de objetos de PHP tolerará la especificación de configuraciones regionales como minúsculas y guiones, además de aceptar loslang_COUNTRY
estilos.intl
clases para todos sus esfuerzos, incluidas las zonas horarias y las configuraciones regionales, ya que se basan en la base de datos CLDR y se actualizan con cada versión de PHP. Las otras funciones de PHP se pueden construir en conjuntos de datos aislados que no tienen el esfuerzo de sincronización que se ha incluido en el conjunto de datos CLDR completo, por lo que algunas de esas otras funciones pueden dar algunas discrepancias de las CLDR, especialmente a medida que los esfuerzos internacionales estandarizan más en CLDR . Es posible que tenga que usar algunas de esas otras funciones como alternativa si se atiende a pre 5.6.intl
clases, es que servirá sus páginas en la mitad del tiempo.Si bien la respuesta aceptada es bastante completa (me utilicé en una pregunta similar que se me ocurrió), creo que vale la pena poner todos los códigos y variaciones de idiomas compatibles, así como las codificaciones, y señalar al usuario a un archivo que está presente en casi cualquier distribución de Linux, en caso de que simplemente quiera una respuesta más rápida y no internet, por ejemplo.
Este es el archivo
/usr/share/i18n/SUPPORTED
y su contenido:fuente
De http://www.w3.org/International/articles/language-tags/
La mayoría de las aplicaciones que reconocen el entorno local (que están escritas por profesionales) cumplen con este estándar. No es solo algo que alguien lanzó y que diferentes personas interpretan de manera diferente.
Le sugiero que investigue las características de internacionalización de su lenguaje de desarrollo particular, ya que probablemente terminará reinventando la rueda si no lo hace.
fuente
Si está utilizando php-intl para localizar su aplicación, probablemente desee utilizar ResourceBundle :: getLocales () en lugar de la lista estática que mantiene. También puede proporcionarle configuraciones regionales para un idioma en particular.
fuente
Aquí hay una lista bastante exhaustiva de Códigos de Cultura . Por lo que puedo decir, no varían entre lenguajes de programación ya que es un estándar RFC. En cuanto al inglés, creo que si admite el genérico
en
o posiblemente el genérico,en-US
entonces debería estar bien.fuente
en-US
. Solo un hecho de la vida. Solo observe cómo la mayoría de los sitios de periódicos en línea en todo el mundo usan citas de estilo estadounidense, incluso cuando se dirigen a audiencias locales, solo porque el pantano cultural por material de origen estadounidense ha anulado lo que haya estado en la guía de estilo oficial de un país. Las audiencias han avanzado, a pesar de lo que muchos de nosotros podemos usar para nuestras preferencias personales.Lista de idiomas
Lista de todos los idiomas con nombres y códigos ISO 639-1 en todos los idiomas y todos los formatos de datos.
Formatos disponibles
https://github.com/umpirsky/language-list
fuente
en_IE
comporta de manera diferenteen_US
en varios aspectos (moneda, medidas, ortografía, etc.).