Locale Guide — различия между версиями
Manticora (обсуждение | вклад) м |
Manticora (обсуждение | вклад) м |
||
Строка 24: | Строка 24: | ||
=== Poedit === | === Poedit === | ||
− | Создать локализацию интерфейса можно самостоятельно с помощью программы [http://poedit.net Poedit], которую следует скачать и установить. Чтобы не начинать локализацию OpenKore с нуля, стоит скачать оставшийся от DeniZka файл [http://rofan.ru/download/file.php?id=710 ru.zip] [93.8 Кб], распаковать и положить файлы '''ru.po''' и '''ru.mo''' в папку '''openkore\src\po\'''. | + | Создать локализацию интерфейса можно самостоятельно с помощью программы [http://poedit.net Poedit], которую следует скачать и установить. Также следует иметь самую свежую svn-версию исходников OpenKore, которую лучше всего скачать в отдельную папку с этого адреса |
+ | <br>https://openkore.svn.sourceforge.net/svnroot/openkore/openkore/trunk | ||
+ | |||
+ | Чтобы не начинать локализацию OpenKore с нуля, стоит скачать оставшийся от DeniZka файл [http://rofan.ru/download/file.php?id=710 ru.zip] [93.8 Кб], распаковать и положить файлы '''ru.po''' и '''ru.mo''' в папку '''openkore\src\po\'''. | ||
+ | |||
'''1.''' Открываем существующий файл openkore\src\po\'''ru.po'''. | '''1.''' Открываем существующий файл openkore\src\po\'''ru.po'''. | ||
Строка 80: | Строка 84: | ||
− | + | ===update.sh=== | |
− | + | В OpenKore предусмотрен специальный скрипт openkore\src\po\'''update.sh''', отвечающий за обновление файлов с локализацией. Порядок его действий следующий: | |
+ | |||
+ | #Извлечение подлежащих локализации сообщений из исходного кода. Для этого используется утилита '''xgettext'''. В конце её работы создаётся файл-шаблон - '''openkore.pot'''. | ||
+ | #Настройка заголовочной информации в файле '''openkore.pot''', например - кодировка utf-8. | ||
+ | #Слияние '''.pot'''-файла с существующими уже файлами локализации - '''.po'''. Если для указанного языка ещё нет '''.po'''-файла, то он создаётся с нуля. | ||
+ | #Компиляция '''.po'''-файла в понятный OpenKore файл с расширением '''.mo'''. Именно '''.mo'''-файл используется при локализации интерфейса. |
Версия 23:21, 9 апреля 2010
Обычно у OpenKore английский интерфейс. Однако предусмотрена возможность локализации, то есть перевода интерфейса на любой язык. Например - русский. В файле sys.txt есть параметр locale, который как раз и отвечает за то, какой интерфейс OpenKore будет использовать. В случае с русским языком интерфейса в файле sys.txt следует прописать
locale ru
Темой русификации интерфеса уже занимались. Например DeniZka в июле 2007 создал тему Первая РусЕфикация бота.
DeniZka: "OpenKore предусматривает возможность локализации бота на любой язык. Для этого в папке src\po\ распологаются файлы *.po и *.mo, которые являются стандартом для локализации Perl - приложений."
Таким образом, для локализации OpenKore нужно:
- В файле sys.txt прописать параметр locale ru.
- Иметь два файла с собственно переводом интерфейса: src\po\ru.po и src\po\ru.mo.
В ноябре 2007 года DeniZka из-за нехватки времени прекратил переводить интерфейс. В процессе перевода возник ряд интересных вопросов. Так, например, было высказано предположение, что должно быть два перевода - от первого и от третьего лица. При создании файлов с переводом, DeniZka пользовался сайтом poedit.net. В наследие остался файл ru.zip [93.8 Кб], содержащий файлы ru.po и ru.mo.
О том, как делается локализация всяческих программ, можно прочитать в следующей статье: Русификация Wordpress или зачем нужны файлы .mo и po.
В ноябре 2007 года barmagloth решил создать свой вариант перевода интерфейса OpenKore на русский язык: Русификатор OpenKore. В наследство остался файл: OpenKoreRUS-005-alpha.rar [116.37 Кб]. Как выяснилось, OpenKore не везде была подготовлена к локализации.
barmagloth: "Потихоньку, полегоньку, правлю недоделки разработчиков, которые заключаются в том, что им лениво написать TF("<сакраментальная фраза>") и они пишут просто "<сакраментальная фраза>"."
Ни один из этих вариантов перевода так и не вошел в официальную SVN-версию OpenKore. Первого апреля 2010 года, то есть спустя аж три года, проект OpenKore так и остаётся без русского варианта интерфейса.
Poedit
Создать локализацию интерфейса можно самостоятельно с помощью программы Poedit, которую следует скачать и установить. Также следует иметь самую свежую svn-версию исходников OpenKore, которую лучше всего скачать в отдельную папку с этого адреса
https://openkore.svn.sourceforge.net/svnroot/openkore/openkore/trunk
Чтобы не начинать локализацию OpenKore с нуля, стоит скачать оставшийся от DeniZka файл ru.zip [93.8 Кб], распаковать и положить файлы ru.po и ru.mo в папку openkore\src\po\.
1. Открываем существующий файл openkore\src\po\ru.po.
2. Проверяем основные настройки:
- Файл => Установки... => Парсеры
- Удаляем всё, кроме Perl.
- Выделяем Perl и жмём кнопку Править
- В список расширений пишем: *.pm;*.pl
- Каталог => Настройки...=> Информация о проекте
- язык Russian
- страна Russian Federation
- кодировка utf-8
- кодировка исходного кода utf-8
- Каталог => Настройки... => Пути
- путь к базе: .
- пути: .. и ../..
- Каталог => Настройки... => Ключевые слова
- Ключевые слова: T и TF.
3. Теперь, когда нажимаем кнопку "Обновить каталог" - мы получаем актуальный .po-файл. К старым, уже переведённым фразам добавились теперь все новые фразы, появившиеся со времени последнего перевода интерфейса. При сохранении файла .po программа POedit автоматически генерирует двоичный файл .mo, который и будет использоваться OpenKore для локализации интерфейса.
- Сводка об обновлении
- Таким образом, добавилось 550 новых строк, и 196 строк устарели со времени последнего перевода.
- Обновлённый каталог
- Как видно из скриншота, после обновления каталога
- 1457 - общее количество строк
- 220 - строки с неточностями в переводе
- 330 - абсолютно новые строки, ни разу не переведённые
update.sh
В OpenKore предусмотрен специальный скрипт openkore\src\po\update.sh, отвечающий за обновление файлов с локализацией. Порядок его действий следующий:
- Извлечение подлежащих локализации сообщений из исходного кода. Для этого используется утилита xgettext. В конце её работы создаётся файл-шаблон - openkore.pot.
- Настройка заголовочной информации в файле openkore.pot, например - кодировка utf-8.
- Слияние .pot-файла с существующими уже файлами локализации - .po. Если для указанного языка ещё нет .po-файла, то он создаётся с нуля.
- Компиляция .po-файла в понятный OpenKore файл с расширением .mo. Именно .mo-файл используется при локализации интерфейса.