Как переводить sh-сценарии: различия между версиями
Нет описания правки |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
[[Категория:Devel]] | [[Категория:Devel]] | ||
[[Категория:Локализация]] | [[Категория:Локализация]] | ||
== | == Пометка локализуемых строк и получение .pot == | ||
=== Правильный способ === | |||
gettext "An example"; echo | |||
eval_gettext "An example: \$VAR"; echo | |||
Далее | |||
$ xgettext -o program.pot program.sh | |||
=== Небезопасный способ, к тому же работающий только в bash === | |||
Только для справки! | |||
< | Предварить локализуемые строки в скрипте символом <tt>$</tt>: | ||
echo $"An example: $PATH" | |||
Далее | |||
$ bash --dump-po-strings program.sh > program.pot | |||
Далее | |||
== Установка переводов == | |||
Компилируем переведённый файл сообщений | Компилируем переведённый файл сообщений | ||
$ msgfmt -o program.mo program-<lang>.po | |||
И копируем его в <tt>/usr/share/locale/<lang>/LC_MESSAGES</tt> | |||
== Использование переводов == | |||
TEXTDOMAIN=program | В начале скрипта: | ||
. gettext.sh | |||
export | |||
TEXTDOMAIN=program | |||
export TEXTDOMAIN | |||
== | == Ссылки == | ||
* info gettext | * <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-сценариев] |
Версия от 13:32, 5 августа 2008
Пометка локализуемых строк и получение .pot
Правильный способ
gettext "An example"; echo eval_gettext "An example: \$VAR"; echo
Далее
$ xgettext -o program.pot program.sh
Небезопасный способ, к тому же работающий только в 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-сценариев