TP5国际化分为两种:
1) 对静态文字国际化
2) 对动态输出文字国际化(数据库读出来)
-
1、 对静态文字国际化 1) 在配置文件application/config.php修改内容: // 是否开启多语言 'lang_switch_on' => true, // 默认全局过滤方法 用逗号分隔多个 'default_filter' => '', // 默认语言 'default_lang' => 'zh-cn', //添加语言包 'lang_list' => ['zh-cn','en-us'], //自动侦测语言 'lang_auto_detect' => true, 2) 新建lang文件并且建立语言包如:zh-cn.php和en-us.php,把它放在application下面 zh-ch.php文件: <?php // 核心中文语言包 return [ 'hello' => '你好', ]; en-us.php文件: <?php // 核心英文语言包 return [ 'hello' => 'hello ', ]; 3) 在公用的静态页面html使用 {$Think.lang. hello }或者 {:lang. hello } <div style="display: inline-block;" data-str="zh" class="chagelang roll-nav roll-right">中文</div> <div style="display: inline-block;" data-str="en" class="chagelang roll-nav roll-right">English</div> Js: $('.chagelang').click(function(){ var lang=$(this).attr('data-str'); console.log(lang); var url="{:Url('/admin/index/chagelang')}"; $.ajax({ url:url, type: 'post', // 设置的是请求参数 data: { lang: lang}, // 用于设置响应体的类型 注意 跟 data 参数 dataType: 'json', success: function (res) { location.reload(); } }) }) 4) Php //语音切换 public function chagelang(){ $lang=input('lang'); switch ($lang) { case 'en': cookie('think_var','en-us'); break; case 'zh': cookie('think_var','zh-cn'); break; default: # code... break; } echo json_encode(array('status' =>1, )); } 照以上步骤操作就成功了
2、对动态输出文字国际化(数据库读出来)
链接:https://www.cnblogs.com/cmt/p/14553189.html