2010-10-19 11 views
0

J'implémente le routage et la partie i18n de mon framework. Je me demande si je devrais supposer queDevrais-je supposer que^[a-z] {2} correspondra aux paramètres régionaux?

^[a-z]{2} 

Sera un paramètre régional, et si oui, utilisez-le. Ou devrais-je faire en sorte que l'utilisateur remplisse une liste avec des langues? Par exemple:

supported = [ 'en', 'es', 'it', 'ru', ] 

Le développeur doit donc définir manuellement les langues. Et pour mémoire, 90% des sites ici utilisent uniquement en. Gardez à l'esprit que certaines langues ont besoin de plus de deux caractères pour être spécifiées.

Répondre

3

ISO 639 est les spécifications du code de langue - mais il définit plus d'une façon

  • ISO 639-1: codes à deux lettres
  • ISO 639-2/T: trois codes de lettre
  • ISO 639-2/B: codes à trois lettres
  • ISO 639-3: codes à trois lettres où les dialectes d'une racine commune (arabe générique, arabe standard par exemple) sont séparés.

Cependant, la langue est-elle réellement une locale? Par exemple, le plus certainement ne l'est pas. Étant britannique, je veux d'abord le contenu d'EN-UK, mais je suis aux États-Unis. Cela signifie que google redirige vers google.co.uk, ce qui n'est certainement pas ce que je veux.

3

Le chinois simplifié est souvent "zh-CN" ou "zh-HANS", et le chinois traditionnel est "zh-TW" ou "zh-HANT". Le portugais brésilien est "pt-BR", et ainsi de suite.