Создайте файл POT с помощью Poedit

Я отчаянно пытаюсь создать каталог (.in) для моего нового приложения на php. 1) Создал файл "trans.php" куда поместил все переводимые значения

Например, вот мой файл:

<?php 

echo _e('SORTIR LA NUIT');

?>

2) Открываю Poedit, в "Пути" вот что я ввел (см. фото) Затем сохраняю туда же расположение моего файла "php".

конфигурация путей в Poedit

3) Когда я нажимаю "обновить", у меня возникают следующие ошибки:

12:25:43: No files found in: /Users/aweaoftheworld/Desktop/test
12:25:43: Poedit did not find any files in scanned directories.
12:25:43: Entries in the catalog are probably incorrect.
12:25:43: Updating the catalog failed. Click on 'More>>' for details.

Вы можете помочь мне?

Искренне,


person Raphaël    schedule 01.02.2012    source источник
comment
_() — это псевдоним для gettext() php.net/manual/function.gettext.php   -  person powtac    schedule 01.02.2012


Ответы (3)


вы должны использовать _ вместо _e, например

<?php echo _("hi there i am gettext library") ?>

кстати, функция _e взята из движка Wordpress, она делает то же самое, но это не предопределенная функция PHP.

person noroot    schedule 01.02.2012

Убедитесь, что пути, определенные в POEdit (Catalog > Settings > Paths), указывают на папку, содержащую ваши файлы PHP. Это должно решить проблему, когда POEdit не находит файлы.

Если did not find any files in scanned directories разрешено, POEdit, вероятно, по-прежнему найдет 0 сообщений. Это связано с тем, что по умолчанию POEdit не поддерживает _e в качестве ключевого слова. Чтобы решить эту проблему, просто добавьте «_e» в список ключевых слов (в Catalog > Settings > Keywords).

person barkgj    schedule 16.07.2012
comment
Я использовал _(), и пути были правильными, но POEdit 1.4.6 ничего не мог проанализировать (та же ошибка), в то время как ручное использование xgettext работало нормально. В моем случае обновление до 1.5.4 решило проблему (ОС: Ubuntu 12.04.4). - person Radu Maris; 28.05.2015

Только если я использую _() вместо _e() или вместо __() - poedit может найти мои строки - но в wordpress я получаю эту ошибку:

Предупреждение: _() ожидает ровно 1 параметр, 2 из которых указаны в C:\xampp\htdocs\xxx.php в строке xxx

это было после того, как я попытался добавить это: __() и это: _e() в "Ключевые слова", но это не решило проблему... поэтому для меня решение состоит в том, чтобы изменить его на _() для редактирования po и после того, как он возьмет все слова из кода (тема wp или плагин), я меняю все это на __().

person Erez Lieberman    schedule 23.10.2014
comment
Это просто глупо. Посмотрите ответ прямо над вашим, что вы делаете неправильно — вам нужно добавить это ключевое слово не по умолчанию. - person Václav Slavík; 24.10.2014
comment
в строке 4 я написал: это было после того, как я попытался добавить это: __() и это: _e() к ключевым словам, но это не решило проблему... - person Erez Lieberman; 24.10.2014
comment
Тогда вы либо неправильно используете _e() в своем коде, либо на самом деле случайно не добавили его в ключевые слова (возможно, написали с ошибкой), либо не обновили каталог. Но дело в том, что ключевое слово _e, отличное от значения по умолчанию, прекрасно распознается Poedit и xgettext, и какая бы проблема у вас ни возникла, дело не в неспособности Poedit увидеть _e(). - person Václav Slavík; 24.10.2014