2011-05-24 97 views
12

我需要设置的CodeIgniter是一个真正的多语言网站。我已经搜索,但我找不到解决方案。如何为一个真正的多语言网站设置CodeIgniter?

我测试过这种方法,但它无法正常工作。 (http://codeigniter.com/wiki/Category%3AInternationalization%3A%3AInternationalization_Views_i18n /)

有人可以给我一个关于使用什么设置,以获得CI中一个真正的多语言环境的线索?

最好的问候,

+2

**一个真正的多语言网站?**你是什么意思是什么呢? – 2011-05-24 14:40:07

+0

对不起,我英语不好。我需要这样的URI:www.mysite.com/en/controller,www.mysite.com/pt/controller,www.mysite.com/de/controller – 2011-05-24 14:41:45

+0

他真的意味着国际化(i18n)。这个问题是否有帮助:http://stackoverflow.com/questions/1328420/the-best-way-to-make-codeigniter-website-multi-language-calling-from-lang-arrays/1328437#1328437 – 2011-05-24 14:54:54

回答

11

https://github.com/EllisLab/CodeIgniter/wiki/CodeIgniter-2.1-internationalization-i18n

如果实现了这一点,您的网址将包含语言代码。您可以将语言部分保存在语言目录中。使用函数lang();

加载语言文件和处理这些问题是在这里解释: http://ellislab.com/codeigniter/user-guide/libraries/language.html

助手: http://ellislab.com/codeigniter/user-guide/helpers/language_helper.html

最简单的方法是有一些全球性的语言文件,你自动加载。我建议为每个控制器创建一个语言文件。所以你只加载你需要的部分,而不是加载所有的语言文件。

0

从我学到的东西。建立你自己的库和模块来处理它们是一个关键。本地支持方面我还没有取得太大的成功,因为有时候它有点棘手。但基本的是,你有你的默认网站加载的选项,选择你选择的语言,在站点内回声变量,而不是静态文本。然后将这些变量存储在可称为语言包的内容中。每种语言包有相同的变量,但是每种语言包含翻译后的版本。随着代码点火器可能更困难,然后只是附加了一下您的网址的识别任何给定的其他语言,即:mydomain.com/en/ mydomain.com/it/ mydomain.com/fr/并具有基于语言负荷关闭这样的URL,但是您可以使用CI的内置会话支持来存储应显示哪种语言。而基于关闭该显示器的我知道已选定的语言,那不是一对答案如何做到这一点的超级死了,但是这是我将如何处理它,我应该永远得到一个项目,我想多语言支持。

+0

请勿使用语言cookie(会话)处理多种语言并扣留sme URL。在搜索引擎优化的手段,这将是重复的内容 – 2014-05-16 13:36:10