OS: win7 64
环境:wampserver 64位 (php5.4.12 +apache2.4.4)安装运行成功 php_gettext.dll开启
前提:语言文件 *.mo 及 *.po 存在&路径没问题&编码为UTF-8
如图
<?php
$lan = $_REQUEST [ 'lan' ];
if ( $lan == 'zh_CN' ){
putenv('LANG=zh_CN' );
putenv('LC_ALL=zh_CN' );
setlocale(LC_ALL, 'zh_CN' ); //指定要用的语系,如:en_US、zh_CN、zh_TW
}elseif ( $lan == 'zh_TW' ){
putenv('LANG=zh_TW' );
putenv('LC_ALL=zh_TW' );
setlocale(LC_ALL, 'zh_TW' ); //指定要用的语系,如:en_US、zh_CN、zh_TW
}elseif ( $lan == 'en_US' ) {
putenv('LANG=en_US' );
putenv('LC_ALL=en_US' );
setlocale(LC_ALL, 'en_US' ); //指定要用的语系,如:en_US、zh_CN、zh_TW
}
echo getenv('LC_ALL');
$domain = 'frontend';
bindtextdomain($domain, 'locale');
bind_textdomain_codeset($domain, 'UTF-8');
textdomain($domain);
header("content-type: textml; charset=UTF-8");
echo '<br/>';
echo _('Help');
echo '<br/>';
echo ('成功');
?>
浏览器访问:http://localhost/test2.php?lan=zh_CN
输出:
浏览器访问:http://localhost/test2.php?lan=zh_TW
输出:
浏览器访问:http://localhost/test2.php?lan=en_US
输出:
浏览器访问:http://localhost/test2.php?lan=AAA
输出:
最后一个AAA是为了说明不管怎样设置,显示只有中文!!不支持多语言切换