Налаштування локалей в ubuntu, gnu

Навігація по публікаціям

Опишу невеликий глюк з Локаль, що виник нещодавно у мене. Точніше це навіть не стільки глюк, скільки, швидше за все, я не до кінця розібралася, однак проблему я вирішила і це може комусь допомогти (та й мені, якщо повториться).
Глюк проявився в такий спосіб - раптово весь інтерфейс став англійською мовою. І сталося це після того, як я замінила екран входу в систему з kdm на slim, хоча в налаштуваннях самого slim нічого навіть близько немає і він використовує ті ж сесії, що і gdm і kdm.
Сам по собі англійський інтерфейс особисто для мене навіть краще, але як з'ясувалося пізніше, проблема виявлялася і більш неприємним чином.
По-перше, в 2gis і, швидше за все, і в інших додатках під wine перестала друкуватися кирилиця - в інтерфейсі вона відображалася як і раніше нормально, а надрукувати в полях пошуку можна було тільки латиницею.
А по-друге, в емуляторах терміналу, замість кириличних символів друкувалися знаки питання. Якщо відкрити пункт меню Terminal. то можна побачити таку картину:

Налаштування локалей в ubuntu, gnu

І тут навіть можна вибрати кодування UTF-8. тоді кирилиця буде друкуватися нормально, але працює це лише в поточному відкритому вікні програми.

На скріншоті ще помітно, що поточної локалі встановлена ​​POSIX. однак при вході через kdm або gdm, все повертається до нормального вигляду без зміни налаштувань. І, здається, навіть якщо зайти через slim в gnome або kde, то можна поміняти локаль через їх gui-інструменти.
Однак, правка файлів ніяк не допомагала, поки я не поставила пакет utils-linux-locale. Не знаю, в чому тут секрет, тим більше у інших користувачів, цей пакет не встановлений і все працює (ну правда в kde з kdm), але допомогло саме це.

Тепер коротко інструкція як взагалі змінювати мову інтерфейсу і додавати відсутні локалі НЕ через gui-утиліти.
По-перше, в папці /var/lib/locales/supported.d/ лежать три файли: en. ru і local. Це у мене їх три, а якщо вам потрібна ще, припустимо, і японська локаль, то додасться ще один файл (правда, доведеться ще встановити необхідні пакети).
У файлах en і ru прописані варіанти даних мов, які будуть сформовані в системі, зокрема:

en_US.UTF-8 UTF-8 en_GB.UTF-8 UTF-8

ru_RU.UTF-8 UTF-8 ru_RU.CP1251 CP1251 ru_RU.KOI8-R KOI8-R

ru_RU.UTF-8 UTF-8 en_US.UTF-8 UTF-8 ru_RU.CP1251 CP1251 ru_RU.KOI8-R KOI8-R

Після ізмненія в цих файлах є сенс перегенеріровать локалі командою

Поточна локаль в системі задається у файлі / etc / default / locale:

Це у мене, так як мені хочеться інтерфейс англійською. А російську мову і кирилиця все одно підтримуються при цьому за рахунок сформованих локалей. Правда, в прикладах, які я бачила в мережі, другий рядок зазвичай виглядає так: LANGUAGE = "en_EN: en: ru_RU: ru». типу щоб російська мова підтримувався, але у мене працює і без цього.
І ще в старих версія системи те ж саме прописувалося в файлі / etc / environment. однак, зараз він начебто не використовується, хоча існує, але про всяк випадок можна і там прописати.

Перевірити, як локаль встановлена ​​основний можна командою locale:

LANG = en_GB.UTF-8 LANGUAGE = en_GB: en LC_CTYPE = "en_GB.UTF-8" LC_NUMERIC = "en_GB.UTF-8" LC_TIME = "en_GB.UTF-8" LC_COLLATE = "en_GB.UTF-8" LC_MONETARY = "en_GB.UTF-8" LC_MESSAGES = "en_GB.UTF-8" LC_PAPER = "en_GB.UTF-8" LC_NAME = "en_GB.UTF-8" LC_ADDRESS = "en_GB.UTF-8" LC_TELEPHONE = "en_GB.UTF- 8 "LC_MEASUREMENT =" en_GB.UTF-8 "LC_IDENTIFICATION =" en_GB.UTF-8 "LC_ALL =

Що означає кожна змінна можна почитати в мане команди, але і так зрозуміло, що якщо, наприклад, хочеться при англійському інтерфейсі мати російський формат відображення грошових одиниць, то в / etc / default / locale потрібно додати рядок LC_MONETARY = »ru_RU.UTF-8 ".
Ну і до речі, всі приклади тут для кодування UTF-8, так як я її використовую. Якщо перевага віддається KOI8-R, то дії ті ж, але з відповідними поправками.

До речі, подивитися, які локалі ще підтримуються можна в файлі / usr / share / i18n / SUPPORTED. зокрема для російської мови ще доступна:

Там же поруч лежать файли локалей в / usr / share / i18n / locales / і файли кодувань в / usr / share / i18n / charmaps /.

У цьому «керівництво», можливо, є помилки, так як готові рецепти з мережі не завжди працюють або не завжди працюють як треба, і, можливо, воно ще буде доповнюватися.

Схожі статті