Как переводить sh-сценарии

Материал из ALT Linux Wiki
(перенаправлено с «КакПереводитьСценарииBash»)
Перейти к: навигация, поиск

Пометка локализуемых строк и получение .pot[править]

Правильный способ[править]

gettext "An example"; echo
eval_gettext "An example: \$VAR"; echo

Далее

$ xgettext -o program.pot program.sh

Небезопасный[1] способ, к тому же работающий только в bash[править]

Только для справки!

Предварить локализуемые строки в скрипте символом $:

echo $"An example: $PATH"

Далее

$ bash --dump-po-strings program.sh > program.pot

Установка переводов[править]

Компилируем переведённый файл сообщений

$ msgfmt -o program.mo program-<lang>.po

И копируем его в /usr/share/locale/<lang>/LC_MESSAGES

Использование переводов[править]

В начале скрипта:

. gettext.sh


TEXTDOMAIN=program
export TEXTDOMAIN

Ссылки[править]