Что эквивалентно locales-all из Debian?

8

В Debian пакет может зависеть от того, locales-allчтобы убедиться, что все локали установлены / доступны. В Ubuntu такого пакета нет.

Раньше, belocs-locales-*который, казалось, делал то же самое; В качестве альтернативы можно зависеть от различных пакетов локализации (например, просто de+ en+ frдля большей части Западной Европы, которая имеет ограниченное использование; иногда для программного обеспечения действительно требуются все стандартные локали). Эти пакеты исчезли между выносливым и точным, AFAICT.

Итак, в каком пакете Ubuntu я могу Dependsиметь все доступные локали?

Редактировать: это не то же самое, что localesпакет, который просто предоставляет файлы данных, необходимые для генерации локалей; простая установка locales-allпакета в Debian делает эти языки доступными сразу, и все они. (В последних версиях он содержит пакет, который также экономит много места.) Таким образом, у пользователя нет ручки, в которой он может (случайно) отключить необходимые локали.

mirabilos
источник
Я не думаю, что есть эквивалент в Ubuntu. Одна из причин, по которой locales-all не включен в архив Ubuntu, может заключаться в том, что он будет конфликтовать с тем, как система langpack в Ubuntu работает с созданием локали (но это только предположение). Из любопытства: какой программе понадобится мгновенный доступ ко всем поддерживаемым локалям?
Гуннар Хьялмарссон
@GunnarHjalmarsson несколько видов веб-приложений: я знаю тот, который использует системные языковые стандарты для серверной части i18n, и я знаю, что есть необъяснимые сбои, которые просто исчезают при установке locales-all. Мой текущий «триггер для запроса» - это пакет, содержащий материал, который зависит от одной конкретной локали, но об использовании не localesможет быть и речи, потому что другие пакеты или локальный администратор могут отключить локаль позже, если я включу ее, например, с помощью настроек debconf.
Мирабилось
Теперь об этом есть открытая ошибка .
Мирабилось
Заметил. Я добавил задачу для langpack-locales , которая, на мой взгляд, является правильным пакетом Ubuntu.
Гуннар Хьялмарссон

Ответы:

4

Я нашел следующее решение на 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
Возможно, да. Но я не могу сделать это в пакете. (См. Выше: без возможности пользователю отключить это снова (за исключением удаления моего пакета или locales-all).) Может быть ln -sf, тоже нужно ...
mirabilos
1

Если я не читаю вашу ошибку, это только localesсейчас.

Это часть minimal^требований к задаче, а также ubuntu-minimalнапрямую, поэтому ее всегда следует устанавливать. Вам не нужно зависеть от чего-либо, чтобы гарантировать его присутствие, но если вам нужно что-то, выбрать ubuntu-minimalили что-то еще, что вам нужно, это также зависит от вас ubuntu-minimal. Это довольно вменяемое значение по умолчанию.


Глядя на содержимое Debian,locales-all я вижу множество таких файлов, которых нет в стандартном localesпакете Ubuntu (см. 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

Я искал packages.ubuntu.com для похожих файлов и не смог найти ни одного. Это означает, что они либо не упакованы, либо имеют совершенно разные имена, либо извлекаются при установке (редко, но возможно).

Единственное исключение, которое я вижу, это локали, установленные libc-binв /usr/lib/locale/C.UTF-8/.


Ооо, я мог быть на деньгах с добычей. В localesпакет входит locale-genприложение, которое генерирует такие файлы. Смотрите вики для получения дополнительной информации о локалях .

Оли
источник
2
Просто localesпакет не хватает - правда, с locale-genя мог бы генерировать конкретные локали, но это не заменит , locales-allчто делает все из них доступны без (и необходимости запускать дополнительные команды , не раз пользователю возможность вручную отключить эти локали) , Это верно и в Debian.
Мирабилось
0

Я знаю, что это старый вопрос, но вы пытались установить все языковые пакеты через apt-get? Я мог бы решить аналогичную проблему, где мне понадобилось бы много разных локалей на сервере, и я решил, что он работает sudo apt-get install language-pack-*. Он загрузил все файлы (около 2 ГБ после завершения распаковки) и сгенерировал все доступные локали.

Рикардо BRGWeb
источник
Спасибо, но это не последовательное решение, тем более что мне нужно выразить его как зависимость от пакета, а не как интерактивную вещь, а языковой пакет - это гораздо больше, чем просто локали.
Мирабилось