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