En esta lección, aprendamos cómo configurar la función multilingüe e implementar el método de llamada.
uno. multi lenguaje
1.
Si desea habilitar la función de cambio de varios idiomas, el archivo de definición de middleware
middleware.php
está habilitado;
// 多语言加载
\think\middleware\LoadLangPack::class,
2.
El archivo de configuración está en
el archivo config/lang.php
, y la configuración predeterminada es
el idioma chino
zh-cn ;
'zh-hans-cn' => 'zh-cn',
'detect_var'
=> 'lang',
//自动监测的变量为 lang
3.
El directorio de la aplicación predeterminada llamará
a los paquetes de idioma en el directorio
app\lang , creamos tres;
//错误信息,zh-cn.php
return [
'require_name' => '用户名不得为空!',
'email_error'
=> '邮箱地址不正确!',
];
//error message,en-us.php
return [
'require_name' => 'The user name cannot be empty!',
'email_error'
=> 'Incorrect email address!',
];
//エラーメッセージ, ja-jp.php
return [
'require_name' => 'ユーザ名は空ではいけません!',
'email_error'
=> 'メールアドレスが間違っています!',
];
4.
El sistema especificará por defecto:
zh-cn
este paquete de idioma, usamos
::get()
para mostrar el mensaje de error;
Lang::get('require_name');
lang('require_name');
//助手函数
5. Para cambiar el idioma
a través
del
método URL,
?lang=en-us
es suficiente y
la cookie
se genera automáticamente;
6. Incluso si no incluye
?lang=en-us
la próxima vez
, el paquete de idioma de cookies se ejecutará de forma predeterminada;
7.
También puede establecer el paquete de idioma permitido en el archivo de configuración, que está vacío de forma predeterminada, de la siguiente manera:
// 允许的语言列表
'allow_lang_list' => ['zh-cn','en-us','ja-jp'],
8.
Para llamar a la información de idioma en la plantilla, puede usar
{$Think.lang.xxx}
;
{$Think.lang.require_name}
{:lang('email_error')}
9.
Puede habilitar la agrupación multilingüe en el archivo de configuración y usar una matriz bidimensional para implementar la definición del paquete de idioma;
// 是否支持语言分组
'allow_group'
=> true,
'user' => [
'welcome'
=> '欢迎光临!',
'login'
=> '登入成功!',
'logout'
=> '退出成功!',
]
Lang::get('user.login');