З Вікіпедії:
Під час обчислень локаль - це набір параметрів, який визначає мову користувача, країну та будь-які особливі налаштування варіантів, які користувач хоче бачити у своєму користувальницькому інтерфейсі. Зазвичай ідентифікатор локалі складається з щонайменше ідентифікатора мови та ідентифікатора регіону.
locale
Програми будуть виводити набір змінної оболонки і їх значення. Це змінні, які змінюють поведінку деяких команд щодо мови, використання наборів символів тощо. З моєї системи:
benoit@thorgal:~s locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
benoit@thorgal:~$
Це говорить тим командам, які слухають, використовувати американські англійські та кодування UTF8 для спеціальних символів. Якщо я зміню значення LANG і замість нього поставлю fr_FR.UTF-8, тоді команди, які його підтримують, напишуть свій вихід французькою мовою, а не англійською. Звичайно, тільки якщо встановлений французький переклад.
Щодо locale-gen
команди, я вважаю, що перший абзац її довідкової сторінки самоосмислюється:
Скомпільовані файли локалів займають близько 50 Мб дискового простору, і більшості користувачів потрібно лише кілька локалів. З метою економії простору на диску, складені файли локалів не розповсюджуються в пакеті локалів, але вибрані локалі автоматично генеруються при встановленні цього пакета за допомогою запуску програми з мови локалів.
Під час запуску locale-gen
або locale-gen <locale code>
компіляції необхідних файлів локалів, дозволяючи командам використовувати локаль, вказаний у змінних середовища, відображених locale
.
Приклад: locale-gen en_US.UTF8
Ви можете отримати наявні локальні коди, скориставшись командою locale -a
.