thinkPHP的多语言支持如何配置和部署

Posted 编程是个无底洞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkPHP的多语言支持如何配置和部署相关的知识,希望对你有一定的参考价值。

框架底层语言包位于:Thinkphp/Lang/zh-cn.php 可以参考如何编写语言文件

第一步:项目目录下的配置文件中配置多语言支持的相关选项 以我的路径为例是Application\Common\Conf\config.php

配置内容如下:   ‘LANG_SWITCH_ON‘     =>     true,    //开启语言包功能        
          ‘LANG_AUTO_DETECT‘     =>     true, // 自动侦测语言
          ‘DEFAULT_LANG‘         =>     ‘zh-cn‘, // 默认语言        
          ‘LANG_LIST‘            =>    ‘en-us,zh-cn,zh-tw‘, //必须写可允许的语言列表
          ‘VAR_LANGUAGE‘     => ‘l‘, // 默认语言切换变量

第二步:要启用多语言功能,需要配置开启多语言行为,在应用(application)的配置目录(conf)下 (也就是在Application\Common\Conf\文件夹下),手动创建行为定义文件tags.php

内容如下:<?php
      return array(
            // 添加下面一行定义即可
            ‘app_begin‘ => array(‘Behavior\CheckLangBehavior‘),
      );

第三步:具体的语言包文件命名和位置如下     

     以我的项目为例 应用语言包在Application\Common\创建文件夹Lang\创建语言文件.php

    例如中文语言包是:Application/Common/Lang/zh-cn.php 应用公共语言包

第四步:从语言文件中获取相应的语言的值

    在控制器里可以用L(‘key‘)直接取出,例如:  

    语言包文件里内容如下:    <?php
                  return array(
                      ‘lan_define‘=>‘欢迎使用‘,
                      );

    控制器里获取如下:

     $value=L(‘lan_define‘);
       $this->assign(‘value‘,$value);
            $this->display();

    在模板里:{$value}即可

    也可以直接在模板中获取:{$Think.lang.lan_define}














以上是关于thinkPHP的多语言支持如何配置和部署的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP5 打开多语言支持

thinkphp5多语言切换,大神们帮帮忙!

Thinkphp3.2.3多语言翻译以及使用百度翻译

thinkphp多语言设置

thinkphp-多语言

如何在多语言 asp.net MVC 网站的 URL 中支持有语言和无语言的路由