【问题标题】:How to setup CodeIgniter for a truly multi language website?如何为真正的多语言网站设置 CodeIgniter?
【发布时间】:2011-09-01 00:18:01
【问题描述】:

我需要将 CodeIgniter 设置为真正的多语言网站。我已经搜索过,但找不到解决方案。

我已经测试过这种方法,但它不起作用。 (http://codeigniter.com/wiki/Category%3AInternationalization%3A%3AInternationalization_Views_i18n/)

有人可以告诉我在 CodeIgniter 中使用什么设置来获得真正的多语言环境吗?

最好的问候,

【问题讨论】:

  • 一个真正的多语言网站?你到底是什么意思?
  • 抱歉我的英语不好。我需要这样的 URI:www.mysite.com/en/controller、www.mysite.com/pt/controller、www.mysite.com/de/controller
  • 他真正的意思是国际化(i18n)。这个问题有帮助吗:stackoverflow.com/questions/1328420/…
  • @JustinEthier:这将会话方法用于语言文件。看起来 André 想要使用一个 url 段来确定语言,并加载完全不同的视图文件,而不是只是在这里和那里翻译一些小片段。我确定这里也已经回答了,但我懒得在 atm 上查找。

标签: codeigniter internationalization multilingual


【解决方案1】:

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

如果您执行此操作,您的 URL 将包含语言代码。您可以将语言部分保存在语言目录中。使用函数 lang();

这里解释了加载语言文件和处理它们: https://www.codeigniter.com/user_guide/libraries/language.html

帮手: https://www.codeigniter.com/user_guide/helpers/language_helper.html

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

【讨论】:

    【解决方案2】:

    从我所学到的。构建自己的库和模块来处理它们是关键。我在原生支持方面没有取得多大成功,因为它有时有点棘手。但它的基础是您可以使用默认站点加载选项来选择您选择的语言,在站点内您可以回显变量而不是静态文本。然后将这些变量存储在您可以称为语言包的内容中。每个语言包都有相同的变量,但每个包语言都有翻译版本。使用代码点火器可能会有点困难,然后只是将任何给定其他语言的标识附加到您的 url,即:mydomain.com/en/mydomain.com/it/mydomain.com/fr/ 然后基于语言负载像这样关闭 URL,但是您可以使用 CI 的内置会话支持来存储应显示的语言。根据该显示选择的语言,我知道这不是一个超级死的答案,但如果我得到一个需要多语言支持的项目,这就是我将如何处理它。

    【讨论】:

    • 不要使用语言cookie(会话)处理多种语言并保留sme URL。在 SEO 中,这将是重复的内容
    猜你喜欢
    • 2013-01-17
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多