Как создать файл.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, но я не вижу, как это сделать с помощью этого программного обеспечения.
Мы будем очень признательны за любую помощь!
3 answers
POEDIT - это инструмент для создания файла .po. Вам нужно немного настроить его, и это не самое простое. Способ, которым он должен работать, заключается в том, что он находит весь текст в вашем исходном коде, заключенный в строку маркера, которую вы настраиваете. Это становится исходным текстом, который вы передаете своему переводчику. Затем они переводят его на целевой язык (языки), сохраняют файлы перевода и возвращают их вам. Затем вы сбрасываете эти файлы в специальный каталог в своем php приложение и всякий раз, когда расширение gettext видит одну из строк перевода, оно выбирает соответствующий перевод.
Я, вероятно, смогу помочь больше, если вы покажете некоторые подробности о том, где вы зависли с poedit.
ДЛЯ 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), пожалуйста, остановите и запустите (перезапустите) его, когда вы хотите протестировать новое изменение на определенном языке с помощью gettext()
, иначе изменение не будет затронуто
Существует множество инструментов, таких как Редактирование. В PHP это обрабатывается расширением Gettext.
См. также:
Если у вас возникли какие-либо проблемы с Poedit, не стесняйтесь сообщать некоторые подробности.