CodeIgniter的多语言实现的详细方案

CodeIgniter的多语言实现的详细方案
In this paper, the CodeIgniter multi language implementation method is analyzed.Share for you for your reference, the following:

在CI应用程序目录中,有一个用于配置多种语言的语言包目录:

复制代码如下:{ } = 'language美元配置;

定义语言文件

有一个空的英文目录下的语言,即上述定义的系统默认语言目录,并且系统会从目录中加载语言包文件。如果你想定义一个不同的语言包,如zh_cn,你创造的zh_cn目录并配置相应的语言包文件。注意语言文件后缀必须_lang.php语言翻译通过按键实现数组,为了防止重复键,可以增加关键统一前缀。

该配置可参考如下:
{ } =美元'menu_system_title郎系统设置
{ } = 'menu_system_user_admin郎美元的用户管理
{ } = 'menu_system_user_list郎美元的用户列表;
{ } =美元'menu_system_user_detail郎用户信息;
{ } = 'menu_system_setting郎美元配置管理;
文件结束user_menu_lang.php / * * /
位置: /系统/语言/ zh_tw / / / * user_menu_lang.php
语言包的使用

在使用语言包之前,您需要加载语言包,加载和使用该语言的方式如下:
加载 / /加载,不需要_lang
美元->荷载->语言(阵列('user_menu ','user_message '));
加载模式2
美元->朗->负荷('user_menu);
使用 /
echo $这->朗->线('language_key);
使用两个(需要加载语言帮助函数
美元->荷载->帮手('language);
Echo Lang('menu_system_title);

可以说,语言包的使用是相当简单的,而且台湾版的系统早就已经制作好了。顺便说一下,CI语言包的使用及需要注意的问题。

1、什么配置'language'} {美元被配置为zh_cn直接

在系统/语言/英语目录默认语言包,这将加载相应的语言包时,有些类是用于报告错误。此时,系统会去语言/ zh_cn目录第一,然后看它,然后去系统/语言/ zh_cn目录找到它。如果找不到它,就找不到语言包错误。因此,如果您更改了语言配置,最好将系统下的文件复制到相应的语言目录中。

这里看起来有点奇怪。为什么不是这种思维方式呢第一次去语言/ zh_cn目录找到它,然后你不能在系统/语言/英文目录找到它,它可能不适合电话英语,它应该被称为系统的默认语言包。

2。你需要使用语言包吗

这种情况在一个系统中,在语言包的一些错误,有的直接用中文原因可能是因为许多人的发展,关键的命名也不规范,往往需要比较相应的语言文件,导致程序读中文比较麻烦,是不是系统的问题,对语言包,个人也觉得有点麻烦。因此,不需要考虑语言程序尽可能不使用语言包。

三.如何自动检测语言包

通常,它可以根据浏览器的语言类型来判断。_server美元'http_accept_language'} {在PHP中可以得到的价值,然后获取客户端浏览器的默认语言类型根据字符串分离或正则匹配的方式得到它后,把代码复制如下:美元->配置-> set_item('language ','zh_cn ');设置。

是否使用语言包,可以^ _ ^推翻郎函数是使用语言包,请参考以下:
函数的郎(合线阵列参数=(美元))
{
CI = get_instance(美元);
$行=行(行);
如果(is_array(美元的)计数($参数)> 0){
array_unshift($参数,$线);
$线= call_user_func_array('sprintf ',为参数);
}
返回的^ _ ^美元线;
}

在许多情况下,多语言实现是以数组的形式实现的。也有。莫格式,l18n的多语言实现,PHP需要php_gettext扩展支持详情可咨询。

更多的读者感兴趣的CodeIgniter相关内容可以看看网站:的CodeIgniter入门教程和CI(CI)框架。

希望本文有助于基于CodeIgniter框架PHP程序设计人。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部