Я работаю над многоязычным проектом. Содержимое, такое как статьи, описание продукта будет показано из базы данных. Это не проблема. Проблема в том, что есть некоторые «статические» описания, например. Метки формы, сообщения об ошибках и т. Д.PHP Несколько языков
До сих пор я заканчивал этим. Я храню язык в COOKIE, и у меня есть функция для записи сообщений в set lanugeage. У меня есть файл с именем _lang.php с этим контентом:
$['empty_field']['sk'] = "Slovak description of error";
$['empty_field']['en'] = "English description of error";
И так далее. Это хорошее решение или нет? Любые другие решения? Благодаря
Так что я попробовал Gettext() и закончил с этим: (выход приветствуется)
putenv("LANGUAGE=sk_SK");
setlocale(LC_ALL, 'sk_SK');
$dom = "roids";
bindtextdomain($dom, "www/roids/_locale");
textdomain($dom);
echo gettext('welcome');
Я создал папку, доступ к этой папке: _locale/sk_SK/roids.po
Содержание roids.po:
msgid ""
msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "welcome"
msgstr "vitaj"
Я с помощью сервера WAMP, и я не знаю, является ли этот путь: WWW/Roids/_locale хорошо. Здесь установлен Wamp: файлы D: \ wamp и ww находятся в D: \ wamp \ www
Я бы сделал это просто иначе: '$ ['sk'] ['empty_field'] = '...'' –
использовать для этого рамки. Symfony, Zend и т. Д. ... предоставляют множество утилит для решения вопросов интернационализации и локализации. – mpm
Пробовал.Не работает –