Perché non esiste un locale "Euro English"?


93

Usavo le impostazioni en_DK.UTF-8locali in qualche modo stravaganti durante l'installazione di un nuovo sistema perché ciò avrebbe prodotto (approssimativamente) i risultati locali desiderati, anche se non sono in Danimarca.

  • Misure metriche
  • Formati di data e ora sensibili, ma nomi di giorno e mese in inglese
    • Formato orario 24 ore
    • La settimana lavorativa inizia il lunedì
    • Data numerica in formato ISO (qualcosa che assomiglia almeno), aaaa-mm-gg
    • La data informale è gg / mm, non viceversa
  • Formato carta A4
  • Valuta euro
  • Messaggi di sistema in inglese

Purtroppo, Ubuntu e Debian non sembrano più supportare le en_DKimpostazioni locali. Ho pensato che dovrebbe esserci qualcosa come en_EU"Euro English".

Ogni posto in cui ho lavorato ha avuto questo tipo di requisiti: la lingua ufficiale dell'organizzazione è l'inglese, ma vogliamo impostazioni predefinite dell'Europa continentale per tutto il resto.

Immagino di non essere la prima persona a pensare che un locale inglese "agnostico" sarebbe vantaggioso sia per me che per le organizzazioni per cui lavoro. Quindi perché non esiste e dove posso cercare ulteriori discussioni e motivazioni?

... O dovrei andare avanti e proporlo? A cui?


1
Sono sicuro che questa sarebbe una buona domanda da qualche parte sulla rete StackExchange, ma non è davvero un problema di programmazione, vero?

1
Mi confondi qui. La Danimarca non ha mai adottato l'Euro AFAIK e sia i test Debian che quelli instabili hanno ancora un locale en_DK (con valuta DKK / kr)
Stéphane Chazelas,

1
In realtà avevo appena vissuto con il fatto che aveva la valuta sbagliata; Non ho davvero bisogno di quella funzionalità, ma è emersa come una delle cose da includere nella domanda per completezza. Questo en_DKlocale è una strana curiosità; da dove proviene e perché non ci sono locali inglesi casuali per altri paesi? Difficilmente la Danimarca ha un rapporto insolitamente alto di persone che parlano inglese.
triplo il

5
@Jeach: chi perderebbe il controllo? Sopra cosa? È una brutta cosa? Perché uno stato sovrano è un bene e / o l'unico stakeholder accettabile per questo? Le impostazioni spagnole per il Nord America sembrano abbastanza analoghe al mio scenario; Sono abbastanza sicuro che ci sarebbe una richiesta per questo. E non vedo nemmeno il motivo per cui lo scenario Cree dovrebbe essere escluso, sebbene una domanda nel mondo reale sarebbe un requisito ragionevole da parte di un ente standardizzante.
triplo

2
Sono d'accordo, ma sono anche divertito dal fatto che tu stia scrivendo "organizzazione" con ortografia specifica per due o tre paesi (ad es. En_US, forse en_CA), e non come la maggior parte dei madrelingua inglesi farebbero a livello internazionale. La vera soluzione, IMHO, è avere impostazioni separate per contesti diversi. Ad esempio, quando vivo negli Stati Uniti, preferisco utilizzare le normali misurazioni inglesi e standard, ma i formati di carta statunitensi. Il fatto che gli americani chiamino le loro misurazioni di stranezze "inglese" aggiunge confusione, tuttavia, gli inglesi hanno utilizzato per lo più la metrica per decenni e molte delle loro unità differivano dagli Stati Uniti.
Michael Scheper,

Risposte:


13

(a) Un'entità conosciuta come Unicode Common Locale Data Repository sembra essere il luogo che gestisce le localizzazioni. La wiki di glibc indica che seguiranno CLDR .

(b) Hanno un locale noto come "en_150" che sembra destinato a fare quello che vuoi. Non sono ancora sicuro che glibc l'abbia implementato. C'è anche un locale simile noto come en_BE che è identico a en_150 tranne per il fatto che ha una copertura regionale di BE piuttosto che in tutto il mondo.



Interessante ma ho provato export LC_TIME=en_150.UTF-8(ed en_BE) su Xubuntu 14.04 LTS e viene visualizzatobash: warning: setlocale: LC_TIME: cannot change locale (en_150.UTF-8): No such file or directory
baptx

79

en_IE.UTF-8 La lingua inglese (Irlanda) ha tutto ciò che stai chiedendo:

  • Metrica delle misurazioni -
  • Formato ora di 24 ore -
  • La settimana lavorativa inizia il lunedì -
  • Data numerica in formato ISO (qualcosa che assomiglia almeno), aaaa-mm-gg - no , è questa locale dd/mm/yy. Ma sembra abbastanza vicino a ciò a cui sei abituato
  • La data informale è gg / mm, non viceversa -
  • Formato carta A4 -
  • Valuta euro -
  • Messaggi di sistema in inglese -

In realtà sto usando questo locale, anche se sono ad Amsterdam, in quanto non esiste un locale inglese (paneuropeo) che conosco.

BTW. non fare errori nel selezionare la lingua ga_IE.UTF-8irlandese (Irlanda), poiché è la lingua gaelica irlandese.


1
Ah, il buon vecchio irlandese! Grande scoperta.

3
Accetto questa risposta perché risolve il problema con mia completa soddisfazione. Mi piacerebbe ancora trovare indicazioni sul fatto che in passato sia stata proposta una locale "inglese universale" e / o dove tale proposta debba essere inviata. Il processo di standardizzazione della libreria parte di questa domanda è il motivo per cui inizialmente l'ho pubblicato su PSE, ma non so se sia adatto lì (o in qualsiasi altra parte della rete * SE).
triplo il

@tripleee: l'unica cosa che mi piace, che mi viene in mente è la versione paneuropea di Windows 98, che era in inglese, ma con impostazioni locali europee e supporto per i personaggi europei. Non ho sentito di alcun tentativo di creare impostazioni internazionali Pan-Euro ufficiali.
vartec,

Ho digitato il comando "sudo update-locale LANG = en_IE.UTF-8 LC_MESSAGES = POSIX" e dopo il riavvio, quando rispondi a un'email con Thunderbird, userà lo standard gg / mm / aa e non aaaa-mm-gg Ho provato con Ubuntu 14.04 e Thunderbird 31.1.2).
Baptx,

Un locale inglese universale potrebbe aver bisogno di considerare le migliaia separate. Sì, tutti gli inglesi (madrelingua) usano la virgola (penso?), Ma molti europei usano un punto ( .) anche quando scrivono inglese. Sto cominciando a convincermi che l'apostrofo '(usato dagli svizzeri), con .per la parte frazionaria, sarebbe un buon candidato. Funziona in file CSV e non sono a conoscenza di alcun luogo che utilizza 'per i numeri frazionari.
Aaron McDaid il

9

La locale en_DK non ha nulla a che fare con la Danimarca tranne il suo nome. È stato originariamente creato da qualcuno che desiderava la stessa cosa richiesta qui: una serie ragionevole di valori predefiniti per un madrelingua inglese in Europa. Il nome "en_DK" è una specie di scherzo: tutti i nomi delle località in quel momento erano composti da un codice lingua e un codice paese (non c'erano codici continente o altro nella seconda posizione), e per qualsiasi motivo la Danimarca fosse scelta come il codice Paese segnaposto. (... e probabilmente ha causato più di una persona sconcertata da allora a ricercare la percentuale di persone in Danimarca la cui prima lingua è l'inglese. :))


5
Hai una fonte per DK che è stata scelta in modo stravagante? (Sono d'accordo che è l'unico locale là fuori con impostazioni ragionevoli ...)
Celada,

1
Concordo sul fatto che questa risposta trarrebbe beneficio almeno da indicazioni aneddotiche per ulteriori ricerche. Ma grazie per questo bocconcino già.
Tripleee,

Apparentemente c'è effettivamente la locale en_DK in unicode
sanmai

1
L'unico problema è che utilizza DKK come valuta.
Alen Siljak,

4

Questo è il motivo per cui usi impostazioni locali diverse per cose diverse.

Nel mio caso mescolo en_GB e sv_SE per ottenere ciò di cui ho bisogno e si presenta così:

$> 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=

Ma probabilmente sostituiresti sv_SE con dk_DK.

E per ottenere € usa LC_MONETARY = en_IE.UTF-8

Salvo quindi la mia configurazione come molte esportazioni in ~ / .profile

export LC_MONETARY="en_IE.UTF-8"

Questo ti darà l'opportunità di scegliere le cose "corrette" da diverse aree.


Vorrei, infatti, non sostituirlo sv_SEcon dk_DK- come ho affermato nella mia interrogazione, ho scelto le impostazioni danesi perché per coincidenza e un po 'confusamente offerto le caratteristiche che volevo, anche se non ho alcun motivo o desiderio di avere qualcosa di specifico per la Danimarca nelle mie impostazioni, e in effetti è quello che sto cercando di evitare. In qualche modo allo stesso modo, sv_SEha senso (una sorta di) senso LC_TIMEindipendentemente da dove ti trovi nel mondo, perché la Svezia utilizza le date ISO per standard, a differenza di molte altre località.
Tripleee

3

In realtà, credo che ci sia un locale che soddisfi le tue esigenze meglio di en_IE. Non è ufficiale, ma lo è en_SE.UTF-8. Questo è un collegamento che punta al file locale.

Fondamentalmente copia sv-SE, che dovrebbe fornirti tutto ciò che vuoi (anche se non ho ricontrollato), ma ti dà messaggi di sistema inglese, menu, ecc. L'ho usato prima e ha funzionato molto bene per me in esercitarsi nonostante le avvertenze nel blocco dei commenti nella parte superiore del file.

Installare:

  1. scaricare in modo che il file locale sia accessibile come /usr/share/i18n/locales/en_SE
  2. correre sudo localedef -i en_SE -f UTF-8 en_SE.UTF-8
  3. aggiungi alla /var/lib/locales/supported.d/localriga en_SE.UTF-8 UTF-8(potrebbe essere diverso in base alla distribuzione; Debian Squeeze / 6.0 sembra essere soddisfatto /etc/locale.gen)
  4. correre sudo locale-gen
  5. imposta le impostazioni internazionali predefinite del tuo sistema o account su en_SE.UTF-8(ad esempio, /etc/default/localesu sistemi simili a Debian)
  6. riavviare o disconnettersi e riconnettersi per attivare la nuova locale

6
Ma la Svezia non ha adottato €.
mouviciel,

@mouviciel Did Ireland?
un CVn il


1
Anche questo ha il netto svantaggio (insieme a en_DK) che è una soluzione decisamente non ovvia per le persone che non vivono in quel particolare paese. Si potrebbe obiettare che en_IEneanche questo requisito (aggiuntivo) non viene completamente superato; ma almeno è possibile ragionare logicamente sul problema e raggiungerlo come una conclusione abbastanza equa (anche se personalmente non l'avevo raggiunto, sulla base di molteplici ipotesi false su come vengono fatte le cose in Irlanda).
triplo il

1
Inoltre, la locale viaggia con te quando si sshpassa a sistemi remoti e si riceveranno tutti i tipi di fastidiosi avvisi se la propria locale non è installata anche sul sistema remoto.
triplo

1

Io uso en_IE@euro ISO-8859-15

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

... ma non sono esattamente sicuro delle misurazioni, considerando l'utilizzo nl_NL.UTF-8o nl_BE.UTF-8, l'unico problema che ho con questo è una volta che acconsento a tale libreria, altre app potrebbero finire per usarlo come riferimento per la lib locale e ricominciare a scaricare app e servizio in olandese o addirittura tedesco.

Winetricks mi ha spinto il muro ieri sera vcrun6anche dopo aver cambiato la locale-genrimozione di qualsiasi accenno alla lib tedesca continuava a scaricare una versione tedesca di redistributablec++, alla fine l'ha fatto manualmente, lanciando completamente l'exe con vino.

Incredibilmente, sono di nuovo qui per lo stesso problema; questa volta è APT e il repo belga locale ha deciso di modificare la mia configurazione locale, non è possibile perché ho modificato le autorizzazioni, quindi ricevo solo reclami di errore:

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 

Nessun compromesso, tutto o niente .. l'unica altra soluzione sarebbe quella di cambiare repository immagino, ma non sarò mai completamente senza problemi dato che la tastiera è un AZERTY e per legge fa solo il francese dell'olandese belga ....: ' (


Sembra strano. IlLC_MONETARYLC_MEASUREMENT impostazioni o non dovrebbero certamente influenzare la lingua del catalogo dei messaggi.
tripla il

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.