语言的配置文件中 /config/lang.php
中。
<?php
return [
'locale' => 'zh-cn' , // 默认语言
'autoDetectLanguage' => true, //自动检测Session、cookie、浏览器中的语言设置,当只有一种语言时请关闭此项以提高速度。
/**
* 浏览器接受语言到语言文件夹的映射。当'autoDetectLanguage'的值为true时起作用。
* 默认情况下,语言文件夹在'resources/lang'.
* '语言文件夹名称' => ['接受的语言1',...]
*/
'language_mapping' => [
'zh-cn' => ['zh-CN','zh'],
'en' => ['en-US','en']
],
'path' => __DIR__ . "/../resources/lang" //语言存储的目录。
];
使用语言特性您需要:
<?php
use Lang;
修改语言:
<?php
Lang::setLocale("en");
获得语言的内容:
<?php
$val = Lang::get("lang_test.name");
这时会加载 __DIR__ . "/../resources/lang" . "/en/lang_test.php"
中的name字符串下标的内容。
带参数的内容。
<?php
$val = Lang::get("lang_test.hello",['name'=>'yqr']);
echo $val;
这里给出lang_test.php的内容
<?php
return [
"name" => 'yqr',
'hello' => 'hello,{name}',
];
通过Session改变语言。第二个参数是语言文件夹的名称。当autoDetectLanguage
为true
时起作用。
<?php
\Session::set("__language","en");
通过Cookie改变语言。第二个参数是语言文件夹的名称。当autoDetectLanguage
为true
时起作用。
<?php
setcookie('__language','zh-cn',time()+3600*24*365);