Qual é o equivalente de localidades - todas do Debian?


8

No Debian, posso depender de um pacote locales-allpara garantir que todas as localidades estejam instaladas / disponíveis. Não existe esse pacote no Ubuntu.

Costumava ter o belocs-locales-*que parecia fazer o mesmo; alternativamente, pode-se depender de vários pacotes de localização (por exemplo, apenas de+ en+ frna maior parte da Europa Ocidental, que é de uso limitado; às vezes, o software de fato exige todos os locais padrão). Esses pacotes desapareceram entre resistente e preciso, AFAICT.

Então, em qual pacote do Ubuntu posso Dependster todos os locais disponíveis?

Editar: não é o mesmo que o localespacote, que apenas fornece arquivos de dados necessários para gerar os códigos de idioma; apenas instalar o locales-allpacote no Debian torna esses locais disponíveis imediatamente, e todos eles. (Ele contém um pacote, nas versões recentes, economizando muito espaço também.) Dessa forma, o usuário não possui um botão no qual pode (acidentalmente) desativar os códigos de idioma necessários.


Eu não acho que exista um equivalente no Ubuntu. Uma razão pela qual locales-all não está incluída no arquivo Ubuntu pode ser o conflito com a maneira como o sistema langpack do Ubuntu lida com a criação de localidades (mas isso é apenas um palpite). Por curiosidade: que tipo de programa precisaria de acesso instantâneo a todos os locais suportados?
Gunnar Hjalmarsson

@GunnarHjalmarsson vários tipos de aplicativos da web: Conheço um que usa localidades do sistema para o i18n do lado do servidor e conheço um que possui falhas inexplicáveis ​​que desaparecem durante a instalação locales-all. Meu "gatilho para perguntar" atual é um pacote que contém itens que dependem de uma localidade específica, mas o uso localesestá fora de questão porque outros pacotes ou o administrador local podem desativar a localidade posteriormente, se eu ativá-la usando, por exemplo, as configurações do debconf.
mirabilos


Notado. Eu adicionei uma tarefa para langpack-locales , que eu acho que é o pacote Ubuntu adequado.
Gunnar Hjalmarsson

Respostas:


4

Encontrei a seguinte solução em https://docs.moodle.org/dev/Table_of_locales

   sudo ln -s /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/all
   sudo locale-gen

1
Possivelmente sim. Mas não posso fazer isso em um pacote. (Ver acima: sem que o usuário ser capaz de desativar isso de novo (exceto por desinstalar o meu pacote ou locais-todos).) Talvez precisa ln -sf, também ...
mirabilos

1

A menos que eu esteja lendo o que você está errado, isso é localesagora.

Faz parte dos minimal^requisitos da tarefa e também ubuntu-minimaldiretamente, portanto, isso deve sempre ser instalado. Você não precisa depender de nada para garantir sua presença, mas se precisar de algo, escolha ubuntu-minimalou algo do qual também precise ubuntu-minimal. Esse é um padrão bastante sensato.


Olhando para o conteúdo do Debian,locales-all posso ver muitos arquivos como este que não estão no localespacote padrão do Ubuntu (veja dpkg -L locales):

/usr/lib/locale/am_ET/LC_ADDRESS
/usr/lib/locale/am_ET/LC_COLLATE
/usr/lib/locale/am_ET/LC_CTYPE
/usr/lib/locale/am_ET/LC_IDENTIFICATION
/usr/lib/locale/am_ET/LC_MEASUREMENT
/usr/lib/locale/am_ET/LC_MESSAGES/SYS_LC_MESSAGES
/usr/lib/locale/am_ET/LC_MONETARY
/usr/lib/locale/am_ET/LC_NAME
/usr/lib/locale/am_ET/LC_NUMERIC
/usr/lib/locale/am_ET/LC_PAPER
/usr/lib/locale/am_ET/LC_TELEPHONE
/usr/lib/locale/am_ET/LC_TIME

Eu procurei em packages.ubuntu.com por arquivos semelhantes e não consegui encontrar nenhum. Isso significa que eles não estão empacotados, têm nomes drasticamente diferentes ou são extraídos na instalação (raro, mas possível).

A única exceção que eu posso ver são as localidades instaladas por libc-bindentro /usr/lib/locale/C.UTF-8/.


Ooo, eu poderia estar no dinheiro com a extração. O localespacote inclui um locale-genaplicativo que gera esses tipos de arquivos. Veja o wiki para mais informações sobre localidades .


2
Apenas o localespacote é não suficiente - verdadeiro, com locale-geneu poderia gerar locais específicos, mas isso não substitui locales-allo que torna tudo deles disponíveis , sem a necessidade de executar um comando extra (e sem que o usuário seja capaz de, em seguida, desativar manualmente essas localidades novamente) . Isso também é verdade no Debian.
mirabilos

0

Sei que é uma pergunta antiga, mas você tentou instalar todos os pacotes de idiomas através do apt-get? Eu poderia resolver um problema semelhante em que precisaria de muitos locais diferentes em um servidor e o resolveria em execução sudo apt-get install language-pack-*. Ele baixou todos os arquivos (cerca de 2 GB ao terminar de descompactar) e gerou todos os locais disponíveis.


Obrigado, mas essa não é uma solução consistente, especialmente porque eu preciso expressá-la como dependência de pacote, não como coisa interativa, e um pacote de idiomas é muito mais do que apenas os códigos de idioma.
mirabilos
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.