thinkphp5.1 多语言用法

浏览:6574 发布日期:2018/10/07 分类:技术分享 关键字: thinkphp 多语言
第一,配置文件中开启多语言 // 是否开启多语言
 'lang_switch_on'         => true,
  // 默认语言
 'default_lang'           => 'zh-cn',
如果有必要可以使用的Lang下的静态方法setAllowList(['zh-cn','en-us']))设置多语言列表
第二,编写多语言文件
参考官方文档框架语言包: thinkphp\lang\当前语言.php
应用语言包: application\lang\当前语言.php
模块语言包: application\模块\lang\当前语言.php
举例模块语言包,你有一个index模块,那么你的语言包就放在index模块下的lang文件夹,语言文件命名为,zh-cn.php ,en-us.php
其中zh-cn.php内容为<?php
return [
    // 注册页面
    'reg_title' => '注册',
    'reg_small_title'=>'创建一个账户',
    'reg_email'=>'请输入你的邮箱',
    'reg_code'=>'请输入验证码',
    'reg_pwd'=>'请输入密码',
    'reg_submit'=>'创建账户',
    'reg_get_code'=>'获取验证码',
    'reg_opt_too_fast'=>'操作太频繁,请稍后再试',
    'reg_success'=>'注册成功',
    'reg_fail'=>'请求失败,请重试',
    'reg_email_exist'=>'邮箱已被使用',
    'reg_fail_email'=>'邮件发送失败',
    'reg_fail_code'=>'验证码错误',
    'reg_code_send'=>'发送成功,请留意您的邮箱',
    'reg_msg_code'=>'验证码是:',
    'reg_msg_wel'=>'欢迎注册u18会员,',
    'reg_code_time'=>'验证码半个小时后将失效',
    'reg_msg_title'=>'【u18】注册验证码'
];
en-us.php内容为<?php
return [
    // page register 
    'reg_title' => 'Register',
    'reg_small_title'=>'Create your account',
    'reg_email'=>'Please input your email address',
    'reg_code'=>'Please input your verify code',
    'reg_pwd'=>'Please input your password',
    'reg_submit'=>'Create your account',
    'reg_get_code'=>'Get verfiy code',
    'reg_opt_too_fast'=>'Operation too fast ,Please try  again later',
    'reg_success'=>'Register success!',
    'reg_fail'=>'Require unsuccess! Please try again',
    'reg_fail_email'=>'Email send fail',
    'reg_email_exist'=>'Email is exist',
    'reg_fail_code'=>'verify code err',
    'reg_code_send'=>'We have sent you an email.',
    'reg_msg_code'=>'Verfiy code:',
    'reg_msg_wel'=>'Welcome to register on u18,',
    'reg_code_time'=>'Verfiy will be destory after thirty minutes',
    'reg_msg_title'=>'[u18]Register verify code'
];
写好语言文件后就可以用了
在模板文件中可以使用如下方式使用{:lang('reg_title')}// 会输出语言文件中对应的值在控制器中可以使用Lang::get('reg_title');
//或者
lang('reg_title');
另外关于切换语言,默认情况下,会自动切换语言
如果想手动切换,有一下几种方式不等,
1,?lang=zh-cn,可以切换
2,使用cookie('think_var','zh-cn') 切换
这就是多语言的内容了






最佳答案
评论( 相关
后面还有条评论,点击查看>>