web-dev-qa-db-fra.com

Pourquoi n'y a-t-il pas de locale "Euro English"?

J'avais l'habitude d'utiliser le _ quelque peu lunatique en_DK.UTF-8 locale lors de l'installation d'un nouveau système car cela produirait (à peu près) les résultats régionaux que je voulais, même si je ne suis pas au Danemark.

  • Mesures métriques
  • Formats de date et d'heure sensibles, mais noms de jour et de mois en anglais
    • Format horaire 24 heures
    • La semaine de travail commence le lundi
    • Date numérique au format ISO (quelque chose qui ressemble au moins), aaaa-mm-jj
    • La date informelle est jj/mm, pas l'inverse
  • Format papier A4
  • Monnaie euro
  • Messages système en anglais

Hélas, Ubuntu et Debian ne semblent plus supporter le en_DK locale. J'ai pensé qu'il devrait y avoir quelque chose comme en_EU pour "Euro English".

Chaque endroit où j'ai travaillé a eu ce genre d'exigence - la langue officielle de l'organisation est l'anglais, mais nous voulons des valeurs par défaut d'Europe continentale pour tout le reste.

J'imagine que je ne suis pas la première personne à penser qu'un lieu anglais "location agnostic" serait bénéfique pour moi personnellement et pour les organisations pour lesquelles je travaille. Alors pourquoi n'existe-t-il pas et où dois-je chercher d'autres discussions et justification?

... Ou devrais-je aller de l'avant et le proposer? À qui?

101
tripleee

(a) Une entité connue sous le nom de nicode Common Locale Data Repository semble être l'endroit qui gère les paramètres régionaux. Le wiki de la glibc indique que ils suivront CLDR .

(b) Ils ont une locale appelée "en_150" qui semble être destinée à faire ce que vous voulez. Je ne suis pas sûr que la glibc l'ait encore implémenté. Il existe également un environnement local similaire appelé en_BE qui est identique à en_150, sauf qu'il a une couverture régionale de BE plutôt que mondiale.

15
snakeroot

en_IE.UTF-8 Les paramètres régionaux anglais (Irlande) ont tout ce que vous demandez:

  • Mesures métriques - oui
  • Format horaire 24 heures - oui
  • La semaine de travail commence le lundi - oui
  • Date numérique au format ISO (quelque chose qui ressemble au moins), aaaa-mm-jj - non, dans ce lieu, c'est dd/mm/yy. Mais cela semble assez proche de ce à quoi vous êtes habitué
  • La date informelle est jj/mm, pas l'inverse - oui
  • Format papier A4 - oui
  • Monnaie euro - oui
  • Messages système en anglais - oui

J'utilise en fait ce lieu, même si je suis à Amsterdam, car il n'y a pas de lieu en anglais (paneuropéen) à ma connaissance.

BTW. ne vous trompez pas en sélectionnant ga_IE.UTF-8 Paramètres régionaux irlandais (Irlande), car il s'agit de la langue gaélique irlandaise.

81
vartec

La locale en_DK n'a vraiment rien à voir avec le Danemark, à part son nom. Il a été créé à l'origine par quelqu'un qui voulait la même chose que celle demandée ici - un ensemble raisonnable de valeurs par défaut pour un anglophone en Europe. Le nom "en_DK" est en quelque sorte une blague - tous les noms de paramètres régionaux à ce moment-là étaient composés d'un code de langue et d'un code de pays (il n'y avait pas de codes de continent ou quoi que ce soit d'autre en deuxième position), et pour une raison quelconque, le Danemark a été choisi comme le code de pays de l'espace réservé. (... et a probablement incité plus d'une personne mystifiée depuis à rechercher la proportion de personnes au Danemark dont la langue maternelle est l'anglais. :))

9
David

C'est pourquoi vous utilisez des paramètres régionaux différents pour différentes choses.

Dans mon cas, je mélange en_GB et sv_SE pour obtenir ce dont j'ai besoin et cela ressemble à ceci:

$> locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=sv_SE.utf8
LC_TIME=sv_SE.utf8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=sv_SE.utf8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=sv_SE.utf8
LC_NAME=sv_SE.UTF-8
LC_ADDRESS=sv_SE.UTF-8
LC_TELEPHONE=sv_SE.UTF-8
LC_MEASUREMENT=sv_SE.utf8
LC_IDENTIFICATION=sv_SE.UTF-8
LC_ALL=

Mais vous remplaceriez probablement sv_SE par dk_DK.

Et pour obtenir € utilisez le LC_MONETARY = en_IE.UTF-8

Je sauvegarde ensuite ma configuration sous forme d'exportations dans ~/.profile

export LC_MONETARY="en_IE.UTF-8"

Cela vous donnera la possibilité de choisir les "bonnes" choses dans différents domaines.

5
Johan

En fait, je pense qu'il existe un environnement local qui correspond mieux à vos besoins qu'en_IE. Ce n'est pas officiel, mais c'est en_SE.UTF-8 . Il s'agit d'un lien qui pointe vers le fichier de paramètres régionaux.

Il copie essentiellement sv-SE, ce qui devrait vous procurer tout ce que vous voulez (bien que je n'ai pas revérifié), mais vous donne des messages système en anglais, des menus, etc. Je l'ai utilisé auparavant et cela a très bien fonctionné pour moi dans pratique malgré les mises en garde dans le bloc de commentaires en haut du fichier.

À installer:

  1. télécharger afin que le fichier de paramètres régionaux soit accessible en tant que /usr/share/i18n/locales/en_SE
  2. courir Sudo localedef -i en_SE -f UTF-8 en_SE.UTF-8
  3. ajouter à /var/lib/locales/supported.d/local la ligne en_SE.UTF-8 UTF-8 (peut être différent selon la distribution; Debian Squeeze/6.0 semble satisfait de /etc/locale.gen)
  4. courir Sudo locale-gen
  5. définissez les paramètres régionaux par défaut de votre système ou de votre compte sur en_SE.UTF-8 (par exemple, par /etc/default/locale sur les systèmes de type Debian)
  6. redémarrez, ou déconnectez-vous et reconnectez-vous pour activer les nouveaux paramètres régionaux
3
a CVn

J'utilise en_IE@euro ISO-8859-15

$ export LC_MONETARY= "en_IE@euro ISO-8859-15" 

... mais je ne suis pas exactement sûr des mesures, compte tenu de l'utilisation de nl_NL.UTF-8 ou nl_BE.UTF-8, le seul problème que j'ai avec cela est qu'une fois que j'autorise une telle bibliothèque, d'autres applications pourraient finir par l'utiliser comme référence pour la bibliothèque locale et recommencer à télécharger des applications et des services en néerlandais ou même en allemand.

winetricks m'a conduit le mur hier soir avec vcrun6 même après avoir modifié le locale-gen supprimant toute trace de bibliothèque allemande, il continuait de télécharger une version allemande de redistributablec++, l'a finalement fait manuellement, complètement en lançant l'exe avec du vin.

Incroyablement, je suis ici encore sur le même sujet; cette fois, c'est APT et l'enfer belge local repo se sont penchés sur la modification de ma configuration locale, cela ne peut pas parce que j'ai modifié les autorisations donc à la place je reçois juste des plaintes d'erreur:

Fetched 207 kB in 0s (1381 kB/s)
Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
    LANGUAGE = "en",
    LC_ALL = (unset),
    LC_TIME = "nl_BE.UTF-8",
    LC_MONETARY = "en_IE@euro ISO-8859-15",
    LC_ADDRESS = "nl_BE.UTF-8",
    LC_TELEPHONE = "nl_BE.UTF-8",
    LC_MESSAGES = "en_IE.UTF-8",
    LC_NAME = "en_IE.UTF-8",
    LC_MEASUREMENT = "nl_BE.UTF-8",
    LC_IDENTIFICATION = "en_GB.UTF-8",
    LC_NUMERIC = "nl_BE.UTF-8",
    LC_PAPER = "en_IE.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
Perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_ALL to default locale: No such file or directory 

Aucun compromis, tout ou rien .. la seule autre solution serait de changer le repo je suppose mais je ne serai jamais complètement sans soucis puisque le clavier est un AZERTY et par la loi il ne fait que du français du néerlandais belge ...: ' (

1
marxengels02

Voir https://github.com/PanderMusubi/locale-en-nl pour les paramètres régionaux anglais appropriés pour les Pays-Bas, qu'il n'est pas possible de définir en remixant les paramètres régionaux existants par leurs paramètres d'environnement LC_.

0
user10653206