• 注册
  • thinkphp6 关注:2 内容:16

    thinkphp5.1 多语言用法

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 第一,配置文件中开启多语言

       // 是否开启多语言

       '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') 切换

      这就是多语言的内容了

      你需要登录,才能进行发帖操作
    • 单栏布局 帖子间隔 侧栏位置: