博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
thinkPHP的多语言支持如何配置和部署
阅读量:4342 次
发布时间:2019-06-07

本文共 1081 字,大约阅读时间需要 3 分钟。

框架底层语言包位于: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}

转载于:https://www.cnblogs.com/wyqn/p/6889505.html

你可能感兴趣的文章
阶段3 3.SpringMVC·_07.SSM整合案例_02.ssm整合之搭建环境
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_3、快速创建SpringBoot应用之手工创建web应用...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_5、SpringBoot2.x的依赖默认Maven版本...
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_08.ssm整合之Spring整合MyBatis框架
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_9、SpringBoot基础HTTP其他提交方法请求实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_12、SpringBoot2.x文件上传实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_19、SpringBoot个性化启动banner设置debug日志...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_20、SpringBoot2.x配置全局异常实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第5节 SpringBoot部署war项目到tomcat9和启动原理讲解_23、SpringBoot2.x启动原理概述...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_21、SpringBoot2.x配置全局异常返回自定义页面...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_32..SpringBoot2.x持久化数据方式介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_34、SpringBoot整合Mybatis实操和打印SQL语句...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第8节 数据库操作之整合Mybaties和事务讲解_35、事务介绍和常见的隔离级别,传播行为...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_40、Redis工具类封装讲解和实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_37、分布式缓存Redis介绍...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_42、SpringBoot常用定时任务配置实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_39、SpringBoot2.x整合redis实战讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第14节 高级篇幅之SpringBoot多环境配置_59、SpringBoot多环境配置介绍和项目实战...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_41、SpringBoot定时任务schedule讲解...
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第10节 SpringBoot整合定时任务和异步任务处理_43、SpringBoot2.x异步任务实战(核心知识)...
查看>>