Татарская локализация ОС «Альт Образование» (Кирилл Изместьев, OSSDEVCONF-2024)
Материал из 0x1.tv
- Докладчик
- Кирилл Изместьев
В статье рассматривается проблема распространения татарского языка в информационном пространстве. А зачем вообще переводить компьютерные программы?
В первую очередь, компьютер — это важное устройство, которое мы используем повседневно.
Во-вторых, это элемент языковой среды. Язык — основа идентичности народа. Для сохранения языка важно, чтобы он постоянно развивался, адаптировался к новым реалиям, чтобы в языке появлялись современные слова, связанные с компьютерной тематикой.
Описывается опыт по локализации оболочки XFCE 4 операционной системы «Альт Образование» с открытым исходным кодом на татарский язык.
Содержание
Видео
Презентация
Thesis
Введение: для чего это надо?
Локализация программного обеспечения — процесс адаптации программного обеспечения к культуре какой-либо страны. Как частность — перевод пользовательского интерфейса, документации и сопутствующих файлов программного обеспечения с одного языка на другой.
Зачем вообще переводить компьютерные программы? В первую очередь, компьютер — это важное устройство, которое мы используем повседневно. Во-вторых, это элемент языковой среды. Язык — основа идентичности народа. Для сохранения языка важно, чтобы он постоянно развивался, адаптировался к новым реалиям, чтобы в языке появлялись современные слова, связанные с компьютерной тематикой.
С помощью СПО-инструментов можно переводить приложения на родной язык и делиться результатом с мировым сообществом.
Всё начинается с добавления локали — набора параметров, определяющего региональные настройки пользовательского интерфейса, такие как язык, страна, часовой пояс, набор символов, формат вывода даты, времени, используемая денежная единица и пр.
Установка региональных параметров является частью большого процесса локализации. При этом изменение региональных настроек часто доступно конечному пользователю системы без перепрограммирования программного обеспечения (ПО), в отличие от перевода сообщений пользовательского интерфейса, который часто требует изменения программного кода разработчиками ПО. Обычно код языка — это 2 символа.
Что имеется
- Дистрибутив ОС «Альт Образование» 10.2. В библиотеке glibc существует 2 локали:
- tt_RU — для кириллицы, и \\
- tt_RU@iqtelif — для латинского написания.
- Татарская клавиатура. Её можно добавить выбрав из списка «Русская» — «Татарская».
- Стандартная установка «Альт Образование» включает графическую оболочку XFCE. Альтернативную оболочку KDE можно установить при установке системы. Для оболочки KDE была сделана татарская локализация, работа велась с 2005 года. Для XFCE 4 — не было. ОС «Альт Образование» используется в различных учебных заведениях, парк компьютеров в которых не везде самый свежий. Оболочка XFCE 4 из коробки потребляет несколько меньше ресурсов компьютера, и при выборе: что установить на не самое свежее железо? — лучше устанавливать XFCE.
Что было исследовано и добавлено
- [1.] Формат переменной:
LANGUAGE=tt:ru
Смысл в том, что можно в переменной задать не один язык, а два и более. Если нет перевода для первого языка, то выбирается следующий.
В состав операционной системы входит большое количество пакетов, локализация добавляется поэтапно, поэтому компьютерные термины на языке какого-либо народа могут отсутствовать.
Народы России хорошо знают русский язык, а потому если не будет перевода терминов на родной язык, удобнее будет их видеть на русском, чем на английском языке.
Для этого добавляем строку в файле /etc/profile.d/lang.sh
export LANGUAGE=tt:ru
- [2.] В пакете libnatspec татарская локаль уже была, но называлась tt_ru.UTF8, и если прописать иначе, то в Thunar
вместо надписей на татарском языке отображаются не читаемые символы.
Задача: подготовить минимальный комплект для показа визуального ряда на татарском языке в базовой поставке «Альт Образование».
1. В обновлённой системе определяем элементы интерфейса, которые будут показываться:
- XFCE (включая панели, плагины и сеанс)
- Меню (категории и пункты меню)
- NetworkManager-applet-gtk
2. Исходим из того, что берём файлы, переведённые на русский, и декомпилируем .mo в исходный .po. Они лежат в каталоге
/usr/share/locale/ru/LC_MESSAGES/
mkdir /tmp/tt cd /usr/share/locale/ru/LC_MESSAGES/ for i in xfce4-*.mo NetworkManager*.mo; do msgunfmt <m>i -o /tmp/tt/</m>{i/.mo/.po}; done
3. Подготавливаем строки с категориями (поле Name в \\/usr/share/desktop-directories/*.directory) и названиями приложений (GenericName и Comment) в /usr/share/applications (и ниже) в файлах .desktop: {\scriptsize
sed -n 's/^Name=//p' /usr/share/desktop-directories/*.directory > /tmp/tt/DIRECTORY sed -ne 's/^\(GenericName\|Comment\)=//pi' $(find /usr/share/applications -name \*.desktop) > /tmp/tt/DESKTOP
}
Патч в libxfce4uti для отображения надписей в меню на Татарском языке, а в случае отсутствия перевода — на русском (вместо английского)[1]. Результат на рисунках ниже.
- [3.] Неочевидность перевода после локализации пакета lightdm-gtk-greeter: «Password» остаётся на английском, перевод
хранится в пакете Linux-PAM. Он передавался на перевод отдельно после исследования.
- [4.] Трудности, с которыми столкнулись переводчики — это, например, обратный порядок слов.
В результате собран пакет localization-tt, содержащий .po файлы базовых приложений XFCE, которые видны на рабочем столе и в меню.
Тестировался (из сборочного задания) следующим образом:
apt-repo test 355257
в файле /etc/locale.conf меняем строку на:
LANG=tt_RU.UTF8
в файле /etc/sysconfig/i18n меняем строки на:
LANG=tt_RU.UTF8
SUPPORTED=tt_RU.UTF8
Добавляем строку в файле /etc/profile.d/lang.sh
export LANGUAGE=tt:ru
Устанавливаем пакет libxfce4util с патчем для отображения меню на татарском языке.
Скачиваем файлы .desktop и .directories[2].
Заменяем файлы с татарским переводом /usr/share/desktop-directories и /usr/share/applications.
Добавляем раскладку клавиатуры из списка Русская — Татарская.
Планы по развитию проекта
- Дополнение и сопровождение перевода приложений, использующихся в ОС «Альт Образование» на татарский язык;
- Сотрудничество с языковыми активистами и другими заинтересованными людьми, которые желают видеть перевод приложений на родном для себя языке.