60 votes

Est-ce que en_UK est une locale illégale?

Jusqu'à présent, j'avais toujours utilisé 'fr_fr' pour l'anglais Britannique. Aujourd'hui j'ai eu une erreur lors de l'utilisation de Zend Framework parce que la locale n'est pas inclus dans la longue liste de reconnu les lieux.

En voici un court extrait de cette liste:

'ee_GH' => true, 'ee_TG' => true, 'ee'    => true, 'el_CY' => true, 'el_GR' => true,
'el'    => true, 'en_AS' => true, 'en_AU' => true, 'en_BE' => true, 'en_BW' => true,
'en_BZ' => true, 'en_CA' => true, 'en_GB' => true, 'en_GU' => true, 'en_HK' => true,
'en_IE' => true, 'en_IN' => true, 'en_JM' => true, 'en_MH' => true, 'en_MP' => true,
'en_MT' => true, 'en_NA' => true, 'en_NZ' => true, 'en_PH' => true, 'en_PK' => true,
'en_SG' => true, 'en_TT' => true, 'en_UM' => true, 'en_US' => true, 'en_VI' => true,
'en_ZA' => true, 'en_ZW' => true, 'en'    => true, 'eo'    => true, 'es_AR' => true,
'es_BO' => true, 'es_CL' => true, 'es_CO' => true, 'es_CR' => true, 'es_DO' => true,

Comme vous pouvez le voir, il y a toutes sortes de territoires avec la langue anglaise et il y a aussi une entrée 'fr_fr' qui, je suppose est synonyme de Grande-Bretagne... mais il n'y a pas de 'fr_fr'. Est-ce juste un " bug " dans le Zend Framework ou est-il une autre raison?

81voto

martin clayton Points 41306

Les paramètres régionaux à utiliser la norme ISO 3166-1 pour les codes de pays. La wikipedia article comprend:

Les codes sont choisis, selon la norme ISO 3166/MA, "pour tenir compte de la important, unique composante du nom du pays dans le but de permettre une visual association entre le nom du pays et l'indicatif du pays".[7] Pour ce la raison, le bon composants des noms de pays comme "République", "le Royaume", "Royaume", "Fédéral" ou "Démocratique" ne sont normalement pas utilisés pour dériver les éléments de code. En conséquence, par exemple, le royaume-Uni est officiellement attribué l'alpha-2 code GO plutôt que le royaume-UNI, basé sur son nom officiel "royaume-Uni de Grande-Bretagne et d'irlande L'irlande" (bien que le royaume-UNI est réservé sur la demande de l'Organisation Uni).

20voto

GolezTrol Points 54531

C'est en effet une erreur commune (?). en_UK est faux. Le code de pays ISO pour le Royaume-Uni est GB, ce qui rend la balise de langue en_GB.

6voto

Andreas Points 1240

Imparfait implémentations

À partir de 1985, la norme ISO 3166-1 alpha-2 codes ont été utilisés dans la Système de Nom de domaine en tant que pays code des domaines de premier niveau (cctld). L' Internet Assigned Numbers Authority actuellement attribue le cctld surtout en suivant les codes alpha-2, mais avec quelques exceptions.[9] Pour exemple, le Royaume-Uni, dont les alpha-2 code de est GO, utilise .royaume-uni au lieu de .go comme son ccTLD, comme le royaume-UNI est actuellement exceptionnellement réservé dans la norme ISO 3166-1 sur la demande du Royaume-Uni.

Selon wikipedia http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2.

Donc, apparemment, c'est un vieux truc qui a coincé ou quelque chose comme ça.

EDIT: martin clayton trouvé une meilleure solution.

4voto

Linguist Points 11

Vous ne pouvez pas simplement inventer locales! Ils sont déjà définis. Ainsi, "en-gb" est l'anglais Britannique, alors que les "en-us" est l'anglais Américain. Si vous utilisez "fr-royaume-uni", vous êtes juste un code.

Pourquoi le code officiel est "en-gb" et non pas "en-royaume-uni", je pense que, fondamentalement, parce qu'il n'y a pas une telle chose comme le royaume-Uni anglais. La variante de langue Britannique. Notez que la différence entre la Grande-Bretagne et le royaume-Uni est:

UK = GO + Irlande du Nord

En nommant la variante "fr-royaume-UNI" c'est comme si vous dites que vous voulez inclure la manière dont ils parlent dans le Nord de l'Irlande au sein de cette catégorie. Mais pourquoi voudriez-vous faire cela? À partir d'un point de vue linguistique, il n'a pas de sens, comme en Irlande du Nord, l'anglais est plus proche de l'Irlandais, anglais (en-IE) que l'anglais Britannique.

3voto

Mouna Cheikhna Points 12741

le bon code de pays ISO 3166 pour le Royaume-Uni de Grande-Bretagne et d'Irlande du Nord est pour une raison "GO", de sorte que le code de paramètres régionaux devraient être en_GB, et pas fr comme indiqué ici.

fr est également utilisé par la glibc, gnome, kde, etc

J'aime aussi le fait que de nombreuses corrections de bugs dans les projets open source sont liées à cela, comme en http apache 1.3 et roundcube projet

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X