Автор Гілка: Декілька локалей  (Прочитано 1578 раз)

Відсутній Ign1111

  • Письменник
  • *****
  • дописів: 829
  • Карма: +0/-0
  • Linux 4ever!
Декілька локалей
« : 2010-10-07 18:11:39 »
Наскільки я розумію, то переклади програм лежать в /usr/share/locale. Відповідно типова поведінка программ брати переклад з налаштувань локалі LC_MESSAGES. Відповідно, якщо перекладу локалі нема, то він бере переклад з дефолтної локалі англійської. Чи можна додати в цей перелік, ще декілька мов. Наприклад, uk->ru->de->en?
Linux. The future is open.

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: Декілька локалей
« Відповідей #1 : 2010-10-07 19:03:08 »
Наскільки я розумію, то переклади програм лежать в /usr/share/locale.
тільки тих, які локалізовано за допомогою gettext,  наскільки я розумію.
« Змінено: 2010-10-07 19:03:42 від nickat »
Best regards,
nickat

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Re: Декілька локалей
« Відповідей #2 : 2010-10-07 19:10:35 »
Так, можна.
export LANGUAGE='uk_UA:ru_RU:de_DE:en_US'
[Fedora Linux]

Відсутній Ign1111

  • Письменник
  • *****
  • дописів: 829
  • Карма: +0/-0
  • Linux 4ever!
Re: Декілька локалей
« Відповідей #3 : 2010-10-07 20:18:25 »
тільки тих, які локалізовано за допомогою gettext,  наскільки я розумію.

Саме так. Таких дуже багато.

Так, можна.
export LANGUAGE='uk_UA:ru_RU:de_DE:en_US'

Так, а в якому конфігураціонному файлі лежать ті налаштування? Мені трошкі не зрозуміло, чому:
$ locale
LANG=uk_UA.UTF-8
LC_MESSAGES=uk_UA.UTF-8

Чомусь ті LC_MESSAGES лежать в /usr/share/locale/uk /usr/share/locale/ru /usr/share/locale/de. Але англійська лежить в /usr/share/locale/en_GB  :-[

Тоді треба писати export LANGUAGE='uk:ru:de:en_GB' чи що?
« Змінено: 2010-10-07 20:18:43 від Ign1111 »
Linux. The future is open.

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: Декілька локалей
« Відповідей #4 : 2010-10-07 20:32:46 »
У мене LANGUAGE встановлено в /etc/environment.  Назви локалей можна подивитись за допомогою locale -a
Best regards,
nickat

Відсутній Ign1111

  • Письменник
  • *****
  • дописів: 829
  • Карма: +0/-0
  • Linux 4ever!
Re: Декілька локалей
« Відповідей #5 : 2010-10-07 20:54:19 »
У мене LANGUAGE встановлено в /etc/environment.

Він в мене порожній...  :(
« Змінено: 2010-10-07 21:12:50 від Ign1111 »
Linux. The future is open.

Відсутній nickat

  • Письменник
  • *****
  • дописів: 587
  • Карма: +0/-0
  • Debian user
Re: Декілька локалей
« Відповідей #6 : 2010-10-07 21:24:42 »
Ну, то просто впишіть в нього строку
LANGUAGE=...
Best regards,
nickat

Відсутній Ign1111

  • Письменник
  • *****
  • дописів: 829
  • Карма: +0/-0
  • Linux 4ever!
Re: Декілька локалей
« Відповідей #7 : 2010-10-07 22:43:06 »
Знайшов, експеременти проводив в Mandriva. У файлі /etc/sysconfig/i18n є такий рядок LANGUAGE=uk_UA.UTF-8:uk пишемо ті мови які хочимо додати, тобто LANGUAGE=uk_UA.UTF-8:uk:ru:es

Перевірив на kcalc доставивши відповідні мовні пакети ru та es для kde. При відсутності файла /usr/share/locale/uk/kcalc.mo програма завантажує /usr/share/locale/ru/kcalc.mo, якщо і його перейменувати, то завантажує /usr/share/locale/es/kcalc.mo. Якщо й його не находить, то бере дефолтний файл /usr/share/locale/en_GB/kcalc.mo.

Тепер лишилось з’ясувати, де прописується дефолтна локаль en_GB? :)
« Змінено: 2010-10-07 22:44:00 від Ign1111 »
Linux. The future is open.