2013-08-13 2 views
0

Я пытаюсь gettext и poedit в первый раз после прочтения статьи об этом. Gettext включен - это не проблема. Проблема в том, что я использую poEdit. Я покажу вам свои файлы:Gettext и poEdit не работает

#localization.php 

$locale = "de_DE"; 
if (isSet($_GET["locale"])) $locale = $_GET["locale"]; 
putenv("LC_ALL=$locale"); 
setlocale(LC_ALL, $locale); 
bindtextdomain("messages", "./locale"); 
textdomain("messages"); 

#test.php 

echo _("Welcome to my test page"); 

Я открыл poEdit и сохранил файл messages.po. Теперь poEdit должен сканировать файлы сам по себе и показывать все строки, которые должны быть переведены. Однако ничего не появляется. Это мои дорожки:

C:\Users\HS\SkyDrive\Webkodning\wamp\www\test\ <- Files in this folder 
C:\Users\HS\SkyDrive\Webkodning\wamp\www\test\locale\de_DE\LC_MESSAGES <- messages.po in this folder 

Я думаю, что проблема заключается в пути (при сохранении каталога). Как должен быть путь? Или, может быть, мой путь внутри функции bindtextdomain() - неправильный. Я очень надеюсь, что смогу получить помощь в этой области.

Заранее спасибо.

+0

Я нашел этот учебник полезным [>> Gettext & PoEdit >>] (https://www.youtube.com/watch?v=-RuqVDdC1cI) –

ответ

1

Первая возможность:

  1. Вы должны проверить свойства каталога (Открыть файл .po в программе PoEdit затем выберите меню «Каталог» -> «Свойства» или просто Alt + Enter и проверьте Источники путь
  2. Проверьте базовый путь правильно относятся к C: "" \ Users \ HS \ SkyDrive \ Webkodning \ WAMP \ WWW \ тест \
  3. Убедитесь youu уже добавить (без кавычек) в путях

Вторая возможность :

При тестировании кода используйте нижний параметр строки для локализации (de_de не de_DE), как этот htttp: \ URL \ test.php локаль = de_de

Третья возможность:

Убедитесь Poedit уже генерировать файл .mo и если он уже затем попытаться перезапустить сервер WAMP

Надеюсь, это поможет

1

Ok, так что вы хотите PoEdit сканировать файлы для вас вместо использования Gettext утилита зная искомых?

Ну, начать PoEdit и перейти к Каталогу ->Обновления от источников. Если вы не указали PoEdit, куда посмотреть так, посетите: Каталог ->Свойства и выберите Исходные коды tab. Вы также можете перейти к Источники ключевых слов и добавить ключевое слово (ключевые слова) для перевода.

0

Важно иметь в виду: Не забудьте установить кодировку в файле .po! Например:

"Content-Type: текст/простой; Charset = UTF-8 \ п"

Тогда PHP сможет найти файл .mo созданный вами, используя msgfmt, из .po файл С CHARSET SET.

Из-за этого я потратил много времени отладки мой код, тестирование каждого отдельного мало меняет людей предложил по этому руководству и Интернет:

+0

Большое спасибо! – hskrijelj

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