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