Taskman-утилита для создания словарей нахдится в пакете i18n:
$ php lib/limb/i18n/cli/i18n.php Usage: php lib/limb/i18n/cli/i18n.php [OPTIONS] <task-name1>[,<task-name2>,..] [-D PROP1=value [-D PROP2]] Available options: -c specify PHP script to be included(handy for setting props,config options,etc) -v be verbose(default) -q be quite -b batch mode: be super quite, don't even output any system messages Available tasks: --------------------------------- help @desc Shows this help --------------------------------- scan @desc scanning folder for {{i18n and {{__ tags and write messages into .ts file @param path_to_ts_file folder1 [ folder2 folder3 ... ]
Перед запуском утилиты вам нужно создать пустой файл перевода, например i18n/translations/default.ru_RU.ts
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE TS> <TS version="2.0" language="ru_RU" sourcelanguage="en_US"> <context> <!-- Здесь будут располагаться фразы для перевода --> </context> </TS>
После создания пустого шаблона можно запускать сканирование.
Утилита имеет всего одну таскман-задачу scan
, которая принимает первым параметром путь до файла с переводом, а остальными параметрами пути до каталогов, в которых будет искать файлы для сканирования ( .phtml и .php )
php lib/limb/i18n/cli/i18n.php scan i18n/translations/default.ru_RU.ts template src ************************ Running task 'scan' ************************ ************************* 'scan' done (4.16 sec.)************************* ************************ All done (4.17 sec.)************************
Данный пример запускает сканирование фраз для перевода в каталогах template и src, а затем записывает найденные фразы в файл i18n/translations/default.ru_RU.ts.
Утилиту можно использовать и на непустом TS-файле. В этом случае в файл добавятся лишь те фразы, которые в нем отсутствуют.