Я пытаюсь добавить переводы на свою веб-страницу. К сожалению, мой перевод не читается.
Тем не менее, один перевод читается (хотя я прошу другого).
Мой PHP-код выглядит так:
$language = "en_US"; //Hardcoded for debugging purposes define("FOLDER_SPECIFICATION", "./locale/"); define("DOMAIN", "messages"); define("CODE_SET", "UTF-8"); putenv("LANG=" . $language); setlocale(LC_ALL, $language); bindtextdomain(DOMAIN, FOLDER_SPECIFICATION); bind_textdomain_codeset(DOMAIN, CODE_SET); textdomain(DOMAIN);
Структура моей папки выглядит так:
root > locale > en_US > LC_MESSAGES > messages.mo messages.po nl_NL > LC_MESSAGES > messages.mo messages.po
Если я изменю переменную $language
на en_US
или nl_NL
она по-прежнему захватывает перевод из nl_NL
, если я nl_NL
папку nl_NL
он nl_NL
не переводит, это вместе означает одно: перевод en_US не читается.
Оба messages.po содержат заголовки и такие и оба действительны (я загрузил их в poedit ).
Мой вопрос: почему он захватывает nl_NL, хотя я никогда не говорил код, чтобы его схватить, и почему не читается другой перевод (en_US)?
Оба файла .po выглядят так (тег «Язык» в заголовках явно отличается):
msgid "" msgstr "" "Project-Id-Version: My Project\n" "POT-Creation-Date: 2014-08-05 13:32+0100\n" "PO-Revision-Date: 2016-04-19 10:43+0200\n" "Last-Translator: \n" "Language-Team: someone <s.omeone@something.com> \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.7\n" "X-Poedit-Basepath: .\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Language: nl_UL\n" "X-Poedit-SourceCharset: UTF-8\n" msgid "Banaan" msgstr "Banana" msgid "Appel" msgstr "Apple"