Gettext
Данную инструкция ви можете скачать по ссылке
http://www.imagecms.net/downloads/getText.zip
1. Установка Gettext расширения.
1.1. Linux OS.
Linux пользователи, которые собирают PHP withgettext=shared должны включить
расширение gettext.so в файл /etc/php.ini.
1.2. Windows OS.
Если gettext не установлен пользователи Windows должны добавить php_gettext.dll
до их каталога расширений, и включить его в файле php.ini(добавить или
розкоментировать строчку: extension=php_gettext.dl).
2. Установка Poedit редактора .po файлов.
○ Скачать Poedit windows.
○ Скачать Poedit linux (cкорее всего, пакет уже является частью вашего
дистрибутива.).
○ Скачать Mac OS Poedit.
После установки программа попросит ввести свой email и имя переводчика.
3. Настройка парсеров.
3.1. Настройка PHP парсера.
Выбрать в меню Edit>Preferences. Перейти на вкладку Parsers. Если нет PHP
парсера надо создать(на боковой панели кнопка New) и ввести настройки:
○ Language: PHP;
○ List of extentions: *.php;
○ Parser command: xgettext forcepo o %o %C %K %F L php;
○ An item in keywords list: k%k;
○ An item in input file list: %f;
○ Source code charset: fromcode=%c.
Ниже, на рисунке, представлены настройки парсера:


3.2. Настройка Smarty парсера.
3.2.1. Настройка для Windows ОS.
Выбрать Параметры → Парсеры. Создать Smarty парсер(на боковой панели
кнопка New) и ввести настройки:
○ Язык: Smarty;
○ Расширения: *.tpl;
○ Командная строка:
php.exe f "C:\OpenServer\domains\site.name\application\language\smarty.php" %o %C %K %F
,где "C:\OpenServer\domains\site.name\application\language\smarty.php путь к файлу
smarty.php которий росположен в папке \application\language\, вы должны изменить путь C:\OpenServer\domains\site.name\ на свой.
○ Ключевые: k%k;
○ Входные файлы: %f;
○ Кодировка: fromcode=%c.
3.2.1.1. Настройка файла парсера для Windows ОS.
Откройте файл smarty.php из каталога \application\language\.
● Изменить строку 8 фала на:
define('_DAT', 'C:\\Progra~1\\Poedit\\bin\\_temp.php'), где C:\\Progra~1\\Poedit\\bin\\_temp.php - путь
где создавать временный файл для хранения срок из smarty шаблонов.
● Изменить строку 42 фала на:
exec('C:\Progra~1\Poedit\bin\xgettext.exe --force-po -o "'.$p[1].'" '.$p[2].' '.$p[3].' '._DAT), где
C:\Progra~1\Poedit\bin\xgettext.exe - путь установленный по умолчанию к утилите xgettext.exe.
3.2.2. Настройка для Linux ОS.
Выбрать в меню Edit → Preferences. Перейти на вкладку Parsers. Создать
Smarty парсер(на боковой панели кнопка New) и ввести настройки:
○ Language: Smarty;
○ List of extentions: *.tpl;
○ Parser command: php f "/var/www/site.name/application/language/smarty.php" %o %C %K %F
,где /var/www/site.name/application/language/smarty.php путь к файлу smarty.php которий
росположен в папке /application/language/, вы должны изменить путь /var/www/site.name/ на свой.
○ An item in keywords list: k%k;
○ An item in input file list: %f;
○ Source code charset: fromcode=%c.
3.2.2.1. Настройка файла парсера для Linux ОS.
Откройте файл smarty.php из каталога \application\language\.
● Изменить строку 8 фала на:
define('_DAT', '/var/www/image.loc/_temp.php'), где /var/www/image.loc/_temp.php - путь где
создавать временный файл для хранения срок из smarty шаблонов.
● Изменить строку 42 фала на:
exec('xgettext --force-po -o "'.$p[1].'" '.$p[2].' '.$p[3].' '._DAT);
3.3. Настройка Javascript парсера.
3.3.1. Настройка для Windows ОS.
Выбрать Параметры → Парсеры. Создать Javascript парсер(на боковой
панели кнопка New) и ввести настройки:
○ Язык: Javascript;
○ Расширения: *.js;
○ Командная строка: php.exe f "C:\OpenServer\domains\site.name\application\language\js.php" %o %C %K %F
,где "C:\OpenServer\domains\site.name\application\language\js.php путь к файлу js.php которий
росположен в папке \application\language\, вы должны изменить путь
C:\OpenServer\domains\site.name\на свой.
○ Ключевые: k%k;
○ Входные файлы: %f;
○ Кодировка: fromcode=%c.
3.3.1.1. Настройка файла парсера для Windows ОS.
Откройте файл js.php из каталога \application\language\:
● Изменить строку 8 фала на:
define('_DAT', 'jsLangs.php'), где jsLangs.php - файл которой будет автоматически создаваться при
парсинге js файлов.
● Изменить строку 42 фала на:
exec('C:\Progra~1\Poedit\bin\xgettext.exe --force-po -o "'.$p[1].'" '.$p[2].' '.$p[3].' '._DAT), где
C:\Progra~1\Poedit\bin\xgettext.exe - путь установленный по умолчанию к утилите xgettext.exe.
3.3.2. Настройка для Linux ОS.
Выбрать в меню Edit → Preferences. Перейти на вкладку Parsers. Создать
Javascript парсер(на боковой панели кнопка New) и ввести настройки:
○ Language: Javascript;
○ List of extentions: *.js;
○ Parser command:
php f "/var/www/site.name/application/language/js.php" %o %C %K %F
,где /var/www/site.name/application/language/js.php путь к файлу js.php которий росположен в
папке /application/language/, вы должны изменить путь /var/www/site.name/ на свой.
○ An item in keywords list: k%k;
○ An item in input file list: %f;
○ Source code charset: fromcode=%c.
3.3.2.1. Настройка файла парсера для Linux ОS.
Откройте файл js.php из каталога \application\language\:
● Изменить строку 8 фала на:
define('_DAT', 'jsLangs.php'), где jsLangs.php - файл которой будет автоматически создаваться при
парсинге js файлов (при парсинге js файлов также создается jsLangs.tpl, который нужен для передачи
переведенных строк js объекту).
● Изменить строку 42 фала на:
exec('xgettext --force-po -o "'.$p[1].'" '.$p[2].' '.$p[3].' '._DAT);
4. Настройка каталога Poedit.
Для настройки каталога нужно выбрать в меню Каталог → Настройки.
● Вкладка “Информация о проекте” ввести нужные данные;
● Вкладка “Пути” ввести пути для поиска строк. Например:
Здесь “Базовой путь” выходит на три уровня выше от файла .po. Первый из
путей указывает на поточной каталог из базовой пути, второй выходит на три уровня
выше от базовой пути и указывает на каталог /templates/administrator.
Для взаимодействия c js парсером базовой путь должен бить: “//”.


● Вкладка “Ключевые слова” здесь нужно ввести ключевое слово по котором
будет производится поиск фраз для перевода, введите “lang”.


5. Робота с .po файлами.
5.1. Описание интерфейса Poedit.
Интерфейс программы содержит функции необходимые как для генерации
языковых файлов из конкретно выбранного проекта, так и для последующего их
перевода на другие языки.
Все сгенерированные при этом языковые файлы имеют расширение *.po
(например “admin.po”), и могут в удобной форме быть переведены на любой другой
язык при помощи данной программы группой переводчиков. Полученные локализации
легко и быстро интегрируются в проект.
Внешний вид программы при открытии PO файла:


Poedit: Описание интерфейса приложения (версия 1.0) windows OS.
На картинке описаны следующие элементы программы:
(1) текст, требующий перевода
(2) текст, переведенный в автоматическом режиме и потому требующий
проверки.
Если он является правильным, то нужно подтвердить его правильность
снятием нажатия кнопки "неточно" (вверху, с нарисованными тучами). Либо вручную
подправить.
(3) текст, требующий перевода
(4) собственно, место для вписания перевода.
(5) комментарий к исходному тексту, часто используется в случае, если текст
для перевода является частью более обширного предложения.
(6) у данного текста есть комментарий
(7) данный текст переведен либо исправлен вами и считается верным.
5.2. Работа в программе Poedit.
Откройте нужной .po файл в программе Poedit. Чтобы пропарсить файлы по
указанным в предыдущем пункте путям нужно нажать кнопку “Обновить”, произвести
перевод и сохранить нажав на кнопку “Сохранить”.
5.3. Работа с .po файлом в Google translate toolkit.
Перейдите в Google translate toolkit. Далее по пунктах:
● Нажать кнопку “Upload”;
● Нажать “Add content to translate”, выбрать “Upload file” и загрузить .po файл;
● Выбрать язык оригинала и язык на который надо сделать перевод и нажать кнопку “Next”;
● Нажать кнопку “No, thanks” если вы хотите произвести перевод бесплатными средствами Google
translate toolkit или же выбрать платного партнера;
translate toolkit или же выбрать платного партнера;
● Выбрать ваш файл из списка переведенных, после чего вам будут доступны
все средства для редактирования переведенного файла;
● После редактирования вы можете завершить перевод нажав кнопку “Complete” и загрузить файл выбрав в меню File → Download.