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.

mirabilos
fonte
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
Agora existe um bug em aberto sobre isso .
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
Sjaak Trekhaak
fonte
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 .

Oli
fonte
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.

Ricardo BRGWeb
fonte
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