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

From KDE Community Wiki
< RU
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 3: Line 3:
Для этого перед запуском программы нужно скомпилировать и установить ваш новый (или нестандартный) файл перевода:
Для этого перед запуском программы нужно скомпилировать и установить ваш новый (или нестандартный) файл перевода:
# Для компиляции используется программа msgfmt: она преобразует файл .po в двоичный файл .mo, подходящий для чтения большинством программ от KDE.
# Для компиляции используется программа msgfmt: она преобразует файл .po в двоичный файл .mo, подходящий для чтения большинством программ от KDE.
# Установить файл .mo можно в пользовательском каталоге ''~/.local/share/locale/ru/LC_MESSAGES/''. Этот каталог имеет приоритет над общесистемным каталогом ''/usr/share/locale/ru/LC_MESSAGES/''.
# Установить файл .mo можно в пользовательском каталоге <tt>~/.local/share/locale/ru/LC_MESSAGES/</tt>. Этот каталог имеет приоритет над общесистемным каталогом <tt>/usr/share/locale/ru/LC_MESSAGES/</tt>.


=== Установка перевода при помощи Lokalize ===
=== Установка перевода при помощи Lokalize ===
Line 11: Line 11:
=== Установка перевода из командной строки ===
=== Установка перевода из командной строки ===


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


#!/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-функцию, как описано [https://mail.kde.org/pipermail/kdevelop-devel/2016-December/056014.html здесь].


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


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

Latest revision as of 21:19, 10 March 2019

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

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

  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

Как вариант, вместо файла-сценария можно использовать bash-функцию, как описано здесь.

Для каких файлов .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. Строки затем применяются для текстового описания программы в магазинах приложений типа Plasma Discover.
  5. Файлы из trunk/l10n-kf5/ru/messages/www/ предназначены для перевода на русский различных веб-сайтов: https://kde.org/ , https://docs.krita.org/ , https://gcompris.net/ и других. Для этих сайтов используются различные инструменты развёртывания переводов из файлов .po, msgfmt опять же неприменим.