在 localhost 上,西班牙语、俄语和罗马尼亚语语言正确显示,但是当我们将站点移动到 AWS 上的生产服务器时,我们的文本显示不正确。
我们正在使用获取文本和 .po 文件来显示我们的语言。直接来自我们数据库的文本显示正常,只有 .po 文件中的文本被破坏。
破碎的例子: http ://ru.artzoco.com/seller/102/YallooArt
它应该是什么样子: http ://en.artzoco.com/seller/102/YallooArt
我们的 GetText 代码:
//language sudomain process http://stackoverflow.com/q/18996503/1744357
$host = explode(".",$_SERVER['HTTP_HOST']);
switch ($host[0]) {
case 'en':
$locale = 'en_US';
break;
case 'es':
$locale = 'es_ES';
break;
case 'ru':
$locale = 'ru_RU';
break;
case 'ro':
$locale = 'ro_RO';
break;
default:
$locale = 'en_US';
break;
}
putenv("LANG=$locale");
$loc_es = setlocale(LC_ALL, $locale);
bindtextdomain("translations", "../../locale/");
textdomain("translations");