RU/Локальная установка переводов

From KDE Community Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Чтобы убедиться в правильности вашего перевода интерфейса, рекомендуется проверять переводы в действии — на реально запущенной программе.

Для этого перед запуском программы нужно скомпилировать и установить ваш новый (или нестандартный) файл перевода:

  1. Для компиляции используется программа msgfmt: она преобразует файл .po в двоичный файл .mo, подходящий для чтения большинством программ от KDE.
  2. Установить файл .mo можно в пользовательском каталоге ~/.local/share/locale/ru/LC_MESSAGES/. Этот каталог имеет приоритет над общесистемным каталогом /usr/share/locale/ru/LC_MESSAGES/.

Установка перевода при помощи Lokalize

TBD

Установка перевода из командной строки

Можно вручную запускать команду msgfmt, а можно немного упростить себе жизнь, используя bash-сценарий (назовём его tru5):

#!/bin/sh
PO_FILE="$1"
DEST=$HOME/.local/share/locale/ru/LC_MESSAGES/$(basename -s .po "$PO_FILE").mo
mkdir -p $HOME/.local/share/locale/ru/LC_MESSAGES/
msgfmt -v "$PO_FILE" -o "$DEST"

Пример запуска (будет создан или заменён файл ~/.local/share/locale/ru/LC_MESSAGES/dolphin.mo):

tru5 messages/applications/dolphin.po

Для каких файлов .po нужны другие подходы

  1. Некоторые компоненты KF5 (например, KCoreAddons) вместо двоичных файлов .mo требуют другой формат — .qm. Соответствующие файлы переводов имеют имена, заканчивающиеся на _qt.po, например kcoreaddons5_qt.po.
  2. Файлы *._desktop_.po хранят переводы строк, которые периодически переносятся в файлы .desktop в репозиториях исходного кода. Зачем именно файлы .desktop оказываются в программных пакетах для установки большинством пользователей. Таким образом, инструмент msgfmt здесь не подойдёт.
  3. Аналогично, файлы *._json_.po хранят переводы строк для файлов .json (чаще всего это файлы описания загружаемых модулей, например purpose/src/plugins/youtube/youtubeplugin.json — параметры модуля Purpose для публикации на YouTube). Инструмент msgfmt тоже не подойдёт, вместо этого можно каким-либо образом отредактировать файлы .json либо дождаться автоматического их обновления, после чего пересобрать программу из новых исходников.
  4. Аналогично, файлы *.appdata.po хранят переводы строк для файлов *.appdata.xml. Строки затем применяются для текстового описания программы в магазинах приложений типа Discover.
  5. Файлы из trunk/l10n-kf5/ru/messages/www/ предназначены для перевода на русский различных веб-сайтов: https://kde.org/ , https://docs.krita.org/en/ , https://gcompris.net/ и других. Для этих сайтов используются различные инструменты развёртывания переводов из файлов .po, msgfmt опять же неприменим.