Я пытаюсь сделать сайт локализуемым на нескольких языках. Я использую XAMPP для тестирования переводов. Проблема в том, что строка «Текст не переведен» не изменяется, и я уже пробовал несколько решений. Я уже изменил строку в php.ini, который включает / отключает функцию gettext. Вот мой тестовый сайт проекта:
htdocs/Traduzioni/Locale/it-IT/LC_MESSAGES/
Под LC_MESSAGES есть 2 файла с именем:
- messages.po;
- messages.mo
<?php
$language = "it-it";
putenv("LANG=".$language);
setlocale(LC_ALL, $language);
$domain = "messages";
bindtextdomain($domain, "C:\xampp\htdocs\Traduzioni\Locale");
textdomain($domain);
echo gettext("Text not translated");
?>
^ Это содержимое файла index.php, содержащегося в папке Traduzioni.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it_IT\n"
"X-Generator: Poedit 2.0.7\n"
# Test1
msgid "Text not translated"
msgstr "Testo tradotto"
^ А это содержимое файла messages.po в папке it-it.
Я уже пытался перезапустить Apache и попробовал функцию function_exists
, чтобы убедиться, что пакет установлен правильно.
Я использую этот сервер в Windows (10). Заранее спасибо:)