2012-01-27 3 views
1

Я разрабатываю веб-приложение в Kohana 3.2. Я использую функцию __() в файлах сообщений, представлениях и т. Д., Потому что хочу сделать свое приложение доступным на нескольких языках.Kohana файлы переводов

Есть ли быстрый и простой способ собрать все строки, которые мне нужно перевести? Например, редактор кода, который может сделать это для меня (на окнах)?

Так что я хочу список со всеми строками из всех моих файлов, используемых для вызова функции __(). Как вы справляетесь с этой проблемой или тем, что вы предлагаете?

Спасибо!

+1

У меня была проблема с имитацией времени назад, это было мое решение: http://stackoverflow.com/questions/6245944/translating-kohana-modules-in-a-convenient-way – jannej

ответ

4

Существует простой вставной модуль (kohana-i18nget, kohana-i18nget on github), который позволяет собирать все ваши закрытые строки __() из модуля или папки приложения и выводит соответствующие языковые массивы (укажите все необходимые языки в файл конфигурации) в ваши папки i18n.

Любые существующие ключи перевода сохраняются в силе. Он вызывается из вашего корня проекта с помощью командной строки:

php index.php --uri=i18nget/generate/mymodule/mymodule 
or 
php index.php --uri=i18nget/generate/application/application 

Первая команда создает языковые файлы для строк, найденных в MyModule для MyModule/i18n /, второй генерирует файлы для папки приложения в приложении/i18n/

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

1

Kohana использует собственную систему для обработки переводов, вы можете найти более подробную информацию об этом here. К сожалению, они не предоставляют никакого инструмента для извлечения строк из файлов PHP, поэтому вам придется делать это вручную.

Если вы хотите автоматическое извлечение строки, вы должны рассмотреть более полное решение, такое как gettext, и использовать Poedit для извлечения строк.

0

Вы также можете использовать некоторые оболочки сценариев для извлечения этих строк:

grep -or "__\((.*)\)" .

Из папки приложения.

Смежные вопросы