Как переводить sh-сценарии: различия между версиями
Нет описания правки |
(→Ссылки) |
||
(не показаны 3 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
== Пометка локализуемых строк и получение .pot == | == Пометка локализуемых строк и получение .pot == | ||
Строка 10: | Строка 7: | ||
$ xgettext -o program.pot program.sh | $ xgettext -o program.pot program.sh | ||
=== Небезопасный способ, к тому же работающий только в bash === | === Небезопасный<ref>http://www.gnu.org/software/gettext/manual/html_node/bash.htm</ref> способ, к тому же работающий только в bash === | ||
Только для справки! | Только для справки! | ||
Строка 34: | Строка 31: | ||
== Ссылки == | == Ссылки == | ||
<references/> | |||
* <tt>info gettext</tt> | * <tt>info gettext</tt> | ||
* примеры в <tt>/usr/share/doc/gettext*</tt> | * примеры в <tt>/usr/share/doc/gettext*</tt> | ||
* [http://www.gnu.org/software/gawk/manual/gawk.html#Internationalization локализация gawk-сценариев] | * [http://www.gnu.org/software/gawk/manual/gawk.html#Internationalization локализация gawk-сценариев] | ||
* [http://wiki.puppyrus.org/programming/intern# Интернационализация скриптов (перевод)] | |||
{{Category navigation|title=Localization|category=Localization}} |
Текущая версия от 09:36, 21 июня 2015
Пометка локализуемых строк и получение .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
Ссылки
- info gettext
- примеры в /usr/share/doc/gettext*
- локализация gawk-сценариев
- Интернационализация скриптов (перевод)