Как сгенерировать файл .po?
В Windows с использованием WAMPserver (Apache, MySQL, PHP) у меня есть следующее:
//test.php
if (!defined('LC_MESSAGES'))
define('LC_MESSAGES', 6);
$lang = "sv";
putenv("LANG=$lang");
setlocale(LC_ALL, $lang);
$domain = "messages";
bindtextdomain($domain, "./locale");
textdomain($domain);
echo _("This is a string");
Он отлично работает, т.е. выводит "Это строка", что означает, что я правильно настроил gettext
.
Но КАК в мире я создаю файл .po
?
Я загрузил Poedit, но я не вижу, как это сделать с этим программным обеспечением.
Любая помощь очень ценится!
Ответы
Ответ 1
PoEdit - это инструмент для создания файла .po. Вы должны сделать небольшую конфигурацию, и это не самый простой. Способ, которым он должен работать, заключается в том, что он находит весь текст в исходном коде, который завернут в настраиваемую строку маркера. Это станет исходным текстом, который вы передаете своему переводчику. Затем они переводят его на целевой язык (-ы) и сохраняют файлы перевода и возвращают их вам. Затем вы отправляете эти файлы в специальный каталог в вашем php-приложении, и всякий раз, когда расширение gettext видит одну из строк перевода, он извлекает соответствующий перевод.
Возможно, я смогу больше помочь, если вы покажете некоторые подробности о том, где вас повесили poedit.
Ответ 2
FOR php:
У меня есть файл вроде
---- test_1.php ----
<?php
echo _("Test phrase");
echo gettext("Test phrase two");
// NOTE: _ == gettext()
?>
Файл → Новый каталог...
На вкладке "Исходные пути" вы должны щелкнуть "Новая папка", добавить путь к папке, в которой у вас есть файл (в этом примере test_1.php)
...
Они поймали ВСЕ строки, которые вызываются с помощью gettext()
или _()
...
Полезная для этих функций объясняется здесь
http://www.php.net/manual/es/function.gettext.php
И... Если вы используете Apache (например, в Xampp), пожалуйста, Stop и Start (Restart), когда вы хотите проверить новое изменение на определенном языке с помощью gettext()
, иначе измените не будут затронуты
Ответ 3
Существует много инструментов, таких как Poedit. В PHP он обрабатывается расширение Gettext.
См. также:
Если у вас возникли проблемы с Poedit, не стесняйтесь давать какие-то детали.