Русификация программ написанных на Питоне 0



AndreyKrot » 16:57 5 авг 2009 » Для новичков

Русификация программ написанных на Питоне

Статья посвящена переводу программ написанных на Python, поскольку русификация таких приложений немного отличается от перевода прочих ресурсов.

Для удобства работы необходимо иметь полный доступ на смартфоне, т.е. иметь доступ к системным папкам и установленные следующие приложения:

Программа для распаковки и упаковки sis пакетов - SmartSIS 2.2.6

Файловый менеджер - X-plore 1.22

Редактора pyc, py, rsc и class-файлов - ZntxHan 1.73

и соответственно: Python 1.4.5 Final, MegaPyModulePack

Выбираем нужную нам программу, которую мы решаем перевести, распаковываем ее для перевода с помощью приложения SmartSIS. В разобранном виде можем посмотреть ее содержимое с помощью файл-менеджера. Выбираем файл, который нам нужен для перевода (по умолчанию чаще используются файлы с таким именем как - default.py).

Открываем файл default.py (в этом файле на самом деле алгоритмы, так вот среди них в скобках есть те надписи которые употребляются в программе, мы и будем переводить эти слова на русский язык) встроенным текстовым редактором в X-plore, предварительно выставив в настройках файл-менеджера кодировку (UTF-8 ). В открытом для редактирования файле под строкой import appuifw вставляем новую строку (вообще возможно и в самом верху нашего файла):

def ru(x):return x.decode('utf-8')

Далее ищем строки типа:

appuifw.app.menu = [(u"Back",start),(u"About",abt),(u"Exit",quit)]

и меняем их, пока не переводя никакие слова на русский язык, на такие:

appuifw.app.menu = [(ru("Back"),start),(ru("About"),abt),(ru("Exit"),quit)]

Сохраняем, отключив галочку "Сохранить в Юникоде". Редактируемую программу не запускаем.

Открываем файл теперь в программе ZntxHan 1.73 (редактора pyc, py, rsc и class-файлов) редактируем необходимые нам строки, т.е. переводим слова - выбираем строку нажимаем на нее (джойстиком по центру) и переводим жмем ОК и получаем уже переведенную строку и сохраняемся.

Когда перевод будет закончен мы можем перенести отредактированный нами файл в системную папку на смартфоне при уже установленной программе, посмотрев путь в SmartSIS, или запаковать его с программой (копируем наш уже переведенный файл default.py в SmartSIS, заменяя прежний и запаковываем программу). Перед перепаковкой убедитесь, что программа работает правильно, а русский текст отображается без ошибок.

Теперь нужно удалить установленную ранее переводимую нами программу и установить только что собранную вами, что бы проверить правильность ее установки и качество перевода.

Помимо вышеупомянутых программ для перевода файла default.py на смарте можно пользоваться программой Twotowers - редактор скриптов.

Перевод также возможно проделать и на ПК. Для перевода на компьютере нам понадобится такой блокнот как Notepad++ , найти его не сложно. Открываем в нем файл default.py, и под строкой import appuifw, как было нами описано выше, вставляем новую строку (либо вообще в самом верху файла):

def ru(x):return x.decode('utf-8') .

Далее ищем строки типа:

appuifw.app.menu = [(u"Back",start),(u"About",abt),(u"Exit",quit)]

и меняем их на такие:

appuifw.app.menu = [(ru("Назад"),start),(ru("О программе"),abt),(ru("Выход"),quit)] , здесь уже возможно попутно переводить необходимые нам слова на русский язык.

Выбираем в меню пункт Кодировки - Преобразовать в UTF-8 без BOM и сохраняем переведенный файл. Все готово.

Автор статьи Я, т.е AndreyKrot
Статья для конкурса