web-dev-qa-db-fra.com

en_US ou en-US, lequel devez-vous utiliser?

Supposons que vous souhaitiez stocker les paramètres régionaux des préférences utilisateur dans la base de données, quelle valeur utiliserez-vous?

en_US ou en-US

Ce sont deux normes, mais laquelle préférez-vous utiliser dans le cadre de votre propre application?

Mise à jour : Il semble que de nombreux sites Web utilisent un tiret au lieu d'un trait de soulignement, par exemple.

http://zh.wikipedia.org/zh-twhttp://www.google.com.hk/search?hl=zh-TW

53
Howard

Attends attends. Les gars, je suis presque sûr que "-" est la norme. Si vous voyez "_" quelque part, c'est probablement quelque chose que certaines personnes ont trouvé pour en faire un identifiant valide.

Personnellement, j'irais avec "-", juste pour être correct.

http://en.wikipedia.org/wiki/IETF_language_tag

http://tools.ietf.org/html/rfc5646

71
Matti Virkkunen

Si vous travaillez avec Java, vous pourriez aussi bien utiliser le format local Java (en_US).

Les documents BCP 47 spécifient en fait le en-US format, et il est tout aussi courant sinon plus courant que les noms de paramètres régionaux de style Java. Mais en pratique, vous verrez un peu le formulaire avec la barre inférieure. Par exemple, Java et la plupart des plates-formes de type POSIX utilisent la barre inférieure pour leur séparateur de langue/région.

Vous ne pouvez donc pas vous tromper avec ces deux choix. Mais étant donné que vous écrivez en Java et que vous ciblez probablement une plate-forme Unix, en_US est probablement la voie à suivre.

23
dkarp

Dans Java 7, il y a une nouvelle méthode Locale.forLanguageTag(String), qui suppose le trait d'union comme séparateur. Je considérerais cela comme normatif.

Consultez la documentation de Locale pour plus d'informations.

9
user1774051

en_US. This est une lecture très utile.

6
CoolBeans

Je ne pense pas en-US est un standard pour Java. (Si vous le voyez quelque part, pourriez-vous ajouter un lien).

Il suffit donc d'utiliser en_US.

3
jzd