我使用 poedit 创建了一个 messages.po 和 messages.mo 文件,其中包含我想用西班牙语显示的字符串。
为了显示我的翻译,我正在使用
<?php echo _("My text"); ?>
但我面临加载这些文件以翻译我的网站文本的问题。
这是我用来加载翻译的代码:
$locale = "en_US";
if (isset($_GET["lang"])) $locale = $_GET["lang"];
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
bindtextdomain("messages", "./languages");
textdomain("messages");
语言文件夹放在根目录下,目录结构是
languages/es_ES/LC_MESSAGES/messages.po
我在 url 中使用http://mydomain?lang=es_ES以西班牙语运行该站点。
请告诉我我错在哪里。