这是我使用 intl 进行翻译的方式(在 php v. 5.3.10 和 5.4.7 上测试):
国际版.php
namespace Example;
class Intl {
private $resource;
public function __construct() {
$bundle_location = "./locales";
$user_locale = \Locale::acceptFromHttp( $_SERVER['HTTP_ACCEPT_LANGUAGE'] );
$this->resource = new \ResourceBundle( $user_locale, $bundle_location );
}
...
显示.php
use Example\Intl;
$intl = new Intl();
$r = $intl->resource;
echo $r['string_to_be_translated'];
...
资源包
在locales
目录中,我有我的资源文件:
root.res - 根语言(英语)
root {
string_to_be_translated {String to be translated }
}
ja.res - 日语
ja {
string_to_be_translated {\u5909\u63DB\u3055\u308C\u308B\u6587\u5B57\u5217 }
}
sp.res - 西班牙语
sp {
string_to_be_translated {Cadena a ser traducido }
}
(ETC)