ИНСТРУКЦИЯ по интернационализации приложений


Интернационализация приложений и скриптов в Puppy Linux в стадии разработки.


Приложения написанные на BaCon

BaCon это компилятор BASIC, один из наших официально поддерживаемых языков для разработки Puppy. Интернационализация поддерживается компилятором, как объяснено здесь:

http://bkhome.org/bacon/international.htm

Существует по крайней мере два приложения, которые можно найти во всех последних Puppy, которые написаны на Bacon и имеют поддержку интернационализации:
/usr/sbin/welcome1stboot
/usr/local/simple_network_setup/proxy-setup
Если вы подключили 'devx' SFS, тогда также будут присутствовать:
/usr/sbin/welcome1stboot.bac
/usr/sbin/welcome1stboot.pot /usr/sbin/welcome1stboot.pupdev /usr/local/simple_network_setup/proxy-setup.bac /usr/local/simple_network_setup/proxy-setup.pot
/usr/local/simple_network_setup/proxy-setup.pupdev
Файл .bac - это исходный код BaCon. Файл .pot это файл перевода. Файл .pupdev это просто текстовый файл, который содержит инструкции по сборке созданию переводов на другие языки. Файлы .pot и .pupdev не обязательно всегда включены в 'devx' -- но если вы прочтёте один из .pupdev файлов, вам должно быть ясно, как создать перевод на другой язык для любого другого BaCon-приложения.

Интернационализация скриптов с 'gettext'

В Puppy есть много скриптов, которые используют 'gettext' для перевода. Вот некоторые из /usr/sbin:
alsaconf
connectwizard
hostname-set
keymap-set
mousecheck
quicksetup
shutdownconfig
Если у вас подключен 'devx' SFS, вы также найдёте в /usr/sbin:
mousecheck.pupdev
quicksetup.pupdev
shutdownconfig.pupdev
...это текстовые файлы, которые объясняют как делать интернационализацию. Вы можете следовать этим инструкциям чтобы перевести скрипт на ваш язык. Инструкции также могут быть применены к другим скриптам, которые используют 'gettext'.

Интернационализация скриптов с 't12s'

Это очень быстрая технология открытая technosaurus и реализованная в Puppy L18L. См. обсуждение на форуме Puppy:

http://murga-linux.com/puppy/viewtopic.php?t=73440

Вот пример скрипта, который вы найдёте в последних Puppy:
/usr/sbin/xdelta_gui
Вот онлайн инструкции по использованию этой технологии для создания переводов на ваш язык:

http://extra-inter.net/puppy/t12s_DOC/t12s.html

...она зависит от приложения /usr/sbin/t12s, которое было создано L18L. Для его работы требуется пакет 'yad' , который скорее всего будет присутствовать в последних Puppy.

Менеджер переводов MoManager

MoManager - это GUI приложение, написанное мной (Барри Каулером) с помощью которого очень легко создать не-английские переводы приложений в Puppy. У вас должен быть Puppy, построенный в Woof версии более поздней, чем 14 февраля, 2012 г.

MoManager нужен для создания и обновления файлов перевода для скриптов, XML файлов, файлов меню и любых других текстовых файлов с данными.

Скрипты - это приложения, которые являются текстовыми файлами и обычно написаны на Bash или Ash (или Perl, Python, Tcl, и т.д.). Примечание, если вы не знакомы со 'скриптами', не волнуйтесь, это просто приложения.

Для использования MoManager лучше всего просто взять и использовать его. Вы найдёте его в меню 'Утилиты'. После запуска вы увидите меню из двух колонок с выпадающими списками, один список файлов, которых уже имеют перевод на ваш язык (слева), другой список для файлов, которые ещё не имеют файла перевода. Если вы выберете файл из первого списка, вы сможете обновить перевод, а во втором случае вы сможете создать новый файл перевода.

Вот снимок главного окна, Puppy запущен с локалью de_DE:
MoManager 

Скрипты

В случае обновления существующего файла, MoManager автоматически синхронизируется с последним скриптом, и определит любые изменённые строки -- если вы увидите текст "fuzzy" где-нибудь в файле перевода, скорее всего оригинальный английский текст был изменён и нам нужно обновить перевод.

Файл перевода для скрипта означает, что когда приложение запущено, оно будет выводить весь текст на вашем языке. Создав файлы переводов для всех скриптов, вы можете помочь создать Puppy, который хорошо работает на вашем языке -- и отправив файлы перевода мне, я смогу добавить их в Woof для всех будущих сборок Puppy.

Хотя, наверное, возможно понять, как редактировать файл перевода, известный как 'po'-файл в редактируемом виде и как 'mo'-файл в скомпилированном виде. Я предлагаю:
http://translate.sourceforge.net/wiki/guide/project/howto
http://www.gnu.org/software/gettext/manual/html_node/gettext_9.html#PO-Files

...хотя чтение всего этого может сбить с толку! Можно использовать MoManager без понимания всех этих подробностей. MoManager использует обычный текстовый редактор для редактирования po файлов вместо специализированного редактора po-файлов (такого, как poedit) и это довольно легко сделать, вам нужно только очень общее представление о формате po-файлов.

С уважением,
Барри Каулер