Por que não há localidade “Euro English”?

93

Eu costumava usar o código do en_DK.UTF-8idioma um tanto caprichoso ao instalar um novo sistema, porque isso produzia (aproximadamente) os resultados do código do idioma que eu queria, mesmo que não esteja na Dinamarca.

  • Métrica de medições
  • Formatos de data e hora sensatos, mas nomes de dia e mês em inglês
    • Formato de 24 horas
    • A semana de trabalho começa na segunda-feira
    • Data numérica no formato (algo pelo menos parecido com ISO), aaaa-mm-dd
    • A data informal é dd / mm, não o contrário
  • Tamanho de papel A4
  • Moeda euro
  • Mensagens do sistema em inglês

Infelizmente, o Ubuntu e o Debian não parecem mais dar suporte ao en_DKlocal. Eu estive pensando que deveria haver algo como en_EU"Euro English".

Todos os lugares em que trabalhei têm esse tipo de exigência - o idioma oficial da organização é o inglês, mas queremos padrões da Europa continental para todo o resto.

Imagino que não sou a primeira pessoa a pensar que um local em inglês "independente de local" beneficiaria tanto a mim pessoalmente quanto às organizações nas quais trabalho. Então, por que não existe e onde procuro mais discussões e justificativas?

... Ou devo propor e propor? A quem?

triplo
fonte
1
Tenho certeza de que essa seria uma boa pergunta em algum lugar da rede StackExchange, mas não é realmente um problema de programação, é?
1
Você me confunde aqui. A Dinamarca nunca adotou o Euro AFAIK e os testes do Debian e os instáveis ​​ainda têm uma localidade en_DK (com moeda DKK / kr)
Stéphane Chazelas
1
Na verdade, eu acabara de viver com o fato de ter a moeda errada; Eu realmente não preciso desse recurso, mas ele surgiu como uma das coisas a serem incluídas na questão por uma questão de integridade. Esse en_DKlocal é uma curiosidade estranha; de onde se originou e por que não existem locais aleatórios em inglês para outros países? Não é como se a Dinamarca tivesse uma proporção extraordinariamente alta de falantes de inglês.
Tripleee
5
@Each: quem perderia o controle? Sobre o que? Isso é uma coisa ruim? Por que um estado soberano é bom e / ou o único interessado aceitável para isso? As configurações em espanhol para a América do Norte parecem bastante análogas ao meu cenário; Tenho certeza de que haveria uma demanda por isso. E também não vejo por que o cenário Cree deve ser descartado, embora uma demanda do mundo real seja um requisito sensato de um órgão de padronização.
Tripleee
2
Simpatizo, mas também me diverte o fato de você estar escrevendo "organização" com ortografia específica para dois ou três países (por exemplo, en_US, talvez en_CA), e não da maneira que a maioria dos falantes de inglês faria internacionalmente. A solução real, IMHO, é ter configurações separadas para diferentes contextos. Por exemplo, quando moro nos EUA, prefiro usar inglês normal e medidas padrão, mas tamanhos de papel nos EUA. O fato de os USAns chamarem suas medidas excêntricas de "inglês" acrescenta confusão, no entanto - os ingleses usam principalmente métricas há décadas, e muitas de suas unidades diferem dos EUA.
Michael Scheper 14/10

Respostas:

13

(a) Uma entidade conhecida como Repositório de Dados de Localidade Comum Unicode parece ser o local que lida com localidades. O wiki da glibc indica que eles seguirão o CLDR .

(b) Eles têm um código de idioma conhecido como "en_150" que parece ter o objetivo de fazer o que você deseja. Não tenho certeza se o glibc o implementou ainda. Também existe um código de idioma semelhante, conhecido como en_BE, que é idêntico ao en_150, exceto pelo fato de possuir cobertura regional do BE em vez de em todo o mundo.

snakeroot
fonte
Interessante, mas eu tentei export LC_TIME=en_150.UTF-8(e en_BE) no Xubuntu 14.04 LTS e exibebash: warning: setlocale: LC_TIME: cannot change locale (en_150.UTF-8): No such file or directory
baptx
79

en_IE.UTF-8 A localidade em inglês (Irlanda) tem tudo o que você está pedindo:

  • Métrica de medições - sim
  • Formato de 24 horas - sim
  • A semana de trabalho começa na segunda-feira - sim
  • Data numérica no formato ISO (algo pelo menos parecido), aaaa-mm-dd - não , neste local é dd/mm/yy. Mas isso parece perto o suficiente do que você está acostumado
  • A data informal é dd / mm, não o contrário - sim
  • Tamanho de papel A4 - sim
  • Moeda do euro - sim
  • Mensagens do sistema em inglês - sim

Na verdade, estou usando esse código de idioma, mesmo estando em Amsterdã, pois não há código de idioma inglês (paneuropeano) que eu conheça.

Entre. não cometa o erro de selecionar a ga_IE.UTF-8localidade irlandesa (Irlanda), pois é o idioma gaélico irlandês.

vartec
fonte
1
Ah, o bom e velho irlandês! Ótima descoberta.
3
Estou aceitando esta resposta, pois resolve o problema para minha completa satisfação. Eu ainda gostaria de encontrar indicações sobre se um local "inglês universal" foi proposto no passado e / ou para onde essa proposta deve ser enviada. O processo de padronização de bibliotecas que faz parte dessa pergunta é a razão pela qual eu a publiquei originalmente no PSE, mas não sei se é adequado lá (ou em qualquer outro lugar da rede * SE).
Tripleee
@ tripleeee: a única coisa que vem à mente é a versão pan-europeia do Windows 98, que estava em inglês, mas com localidade européia e suporte para caracteres europeus. Não ouvi nenhuma tentativa de criar local oficial do Pan-Euro.
vartec
Digitei o comando "sudo update-locale LANG = pt_IE.UTF-8 LC_MESSAGES = POSIX" e após a reinicialização, quando você responder a um email com o Thunderbird, ele usará o dd / mm / aaaa padrão e não aaaa-mm-dd ( Eu tentei com o Ubuntu 14.04 e Thunderbird 31.1.2).
precisa saber é
Um código de idioma inglês universal pode precisar considerar os milhares separados. Sim, todos os falantes de inglês (nativos) usam vírgula (acho?), Mas muitos europeus usam um ponto ( .) mesmo quando escrevem inglês. Estou começando a me convencer de que o apóstrofo '(usado pelos suíços), com .a parte fracionária, seria um bom candidato. Funciona em arquivos CSV e não conheço nenhum lugar que use 'para números fracionários.
Aaron McDaid
9

O código do idioma en_DK realmente não tem nada a ver com a Dinamarca, exceto pelo nome. Foi originalmente criado por alguém que queria o mesmo que foi solicitado aqui - um conjunto razoável de padrões para um falante de inglês na Europa. O nome "en_DK" é uma espécie de piada - todos os nomes de localidades na época eram compostos de um código de idioma e de país (não havia códigos de continente ou qualquer outra coisa na segunda posição) e, por qualquer motivo, a Dinamarca foi escolhida como o código do país do espaço reservado. (... e provavelmente levou mais de uma pessoa confusa desde então a pesquisar a proporção de pessoas na Dinamarca cuja primeira língua é o inglês. :))

David
fonte
5
Você tem uma fonte para a DK ter sido escolhida caprichosamente? (Eu concordo que é o único local lá fora, com configurações razoáveis ...)
Celada
1
Concorde que esta resposta se beneficiaria de pelo menos indicadores anedóticos para futuras pesquisas. Mas obrigado por este petisco já.
tripleee
Aparentemente, há realmente localidade en_DK em unicode #
sanmai
1
O único problema é que ele usa DKK como moeda.
Alen Siljak
4

É por isso que você usa localidades diferentes para coisas diferentes.

No meu caso, eu misturo en_GB e sv_SE para obter o que eu preciso e fica assim:

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

Mas você provavelmente substituiria sv_SE por dk_DK.

E para obter € use o LC_MONETARY = pt_IE.UTF-8

Em seguida, salvo minha configuração como muitas exportações em ~ / .profile

export LC_MONETARY="en_IE.UTF-8"

Isso lhe dará a oportunidade de escolher as coisas "corretas" de diferentes áreas.

Johan
fonte
Eu na verdade não substituir sv_SEcom dk_DK- como afirmei na minha pergunta, eu escolhi configurações dinamarqueses porque coincidentemente e um tanto confusa ofereceu as características que eu queria, mesmo que eu não tenho nenhuma razão ou desejo de ter algo específico para a Dinamarca em minhas configurações, e, de fato, é isso que estou tentando evitar. De maneira semelhante, sv_SEfaz (algum tipo) sentido, LC_TIMEindependentemente de onde você esteja, porque a Suécia usa datas ISO por padrão, diferente de muitos outros locais.
Tripleee
3

Na verdade, acredito que há um código de idioma que atenda melhor aos seus requisitos do que en_IE. Não é oficial, mas é en_SE.UTF-8. Esse é um link que aponta para o arquivo de localidade.

Basicamente, copia o sv-SE, que deve fornecer tudo o que você deseja (embora eu não tenha verificado duas vezes), mas fornece mensagens, menus, etc. do sistema em inglês. Eu o usei antes e funcionou muito bem para mim no prática, apesar das advertências no bloco de comentários na parte superior do arquivo.

Para instalar:

  1. faça o download para que o arquivo de localidade esteja acessível como /usr/share/i18n/locales/en_SE
  2. corre sudo localedef -i en_SE -f UTF-8 en_SE.UTF-8
  3. adicionar à /var/lib/locales/supported.d/locallinha en_SE.UTF-8 UTF-8(pode ser diferente com base na distribuição; o Debian Squeeze / 6.0 parece estar feliz com /etc/locale.gen)
  4. corre sudo locale-gen
  5. defina o código de idioma padrão do seu sistema ou conta como en_SE.UTF-8(por exemplo, /etc/default/localeem sistemas similares ao Debian)
  6. reinicie ou efetue logoff e logon novamente para ativar o novo código do idioma
um CVn
fonte
6
Mas a Suécia não adotou €.
mouviciel 23/01
@mouviciel A Irlanda?
um CVn
5
Sim
mouviciel
1
Além disso, isso tem a desvantagem definitiva (junto com en_DK) de que é uma solução alternativa decididamente não óbvia para pessoas que não moram naquele país em particular. Você poderia argumentar que en_IEtambém não passa completamente por esse requisito (adicional); mas pelo menos é possível raciocinar logicamente sobre o problema e chegar a isso como uma conclusão bastante justa (embora eu pessoalmente não o tenha alcançado, com base em várias suposições falsas sobre como as coisas são feitas na Irlanda).
Tripleee
1
Além disso, o código do idioma viaja com você sshpara sistemas remotos, e você receberá todos os tipos de avisos irritantes se o código do idioma não estiver instalado no sistema remoto também.
Tripleee
1

eu uso en_IE@euro ISO-8859-15

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

... mas não tenho muita certeza sobre as medições, considerando o uso de nl_NL.UTF-8ou nl_BE.UTF-8, o único problema que tenho com isso é quando permito essa biblioteca outros aplicativos podem acabar usando-a como referência para a lib local e começar novamente a baixar aplicativos e serviço em holandês ou mesmo alemão.

O winetricks me levou até a parede ontem à noite, vcrun6mesmo depois de alterar a locale-gensugestão da lib alemã, ele continuava baixando uma versão em alemão redistributablec++, eventualmente fazia manualmente, lançando o exe com o vinho.

Inacreditavelmente, estou aqui novamente sobre o mesmo problema; desta vez, é o APT e o repositório belga local decidiu editar minha configuração de localidade, não pode, porque eu editei as permissões. Em vez disso, recebo apenas reclamações de erro:

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 

Sem compromisso, tudo ou nada .. a única outra solução seria mudar o repositório, eu acho, mas nunca estarei completamente livre de problemas, pois o teclado é um AZERTY e, por lei, só faz francês dos holandeses belgas ...: ' (

marxengels02
fonte
Isso soa estranho. As configurações LC_MONETARYou LC_MEASUREMENTcertamente não devem afetar o idioma do catálogo de mensagens.
Tripleee
0

Consulte https://github.com/PanderMusubi/locale-en-nl para obter uma localidade em inglês adequada para os Países Baixos, que não é possível definir remixando as localidades existentes por suas configurações de ambiente LC_.

user10653206
fonte