【问题标题】:Internalization i18n codeigniter 2内部化 i18n codeigniter 2
【发布时间】:2011-10-26 10:12:22
【问题描述】:

我使用内化 i18n ci。

翻译很好,但主页始终保持导航器的默认语言。

例如,我点击一个链接来翻译(例如西班牙语)很好,但如果我点击主页链接,我的西班牙语翻译会被英语取代(firefox 默认为英语)

你能帮帮我吗?


感谢苏库纳尔, 当我使用内部化 i18ci 时,它会自动使用子域重定向。 例如: Firefox 的默认语言为英语,我的主页将自动显示为:“http://localhost:8888/mysite/en/home” 如果我选择翻译例如法语,它将变为:“http://localhost:8888/mysite/fr/home” 如果我点击一个链接,语言将被存储。 例如:订阅页面的链接将是:“http://localhost:8888/mysite/fr/translate” 如果我带着一个链接回到我的主页,它将成为浏览器的默认语言,我选择的语言就会消失。

这是我的文件:Applications/config/routes:

$route['default_controller'] = "site";
$route['404_override'] = '';
//URI like '/en/about' -> use controller 'about'
$route['^(en|fr)/(.+)$'] = "$2";
$route['^(en|fr)$'] = $route['default_controller'];

我可以更改另一个文件中的内容吗?如果是这种情况怎么办?

【问题讨论】:

    标签: php codeigniter internationalization


    【解决方案1】:

    您需要使用会话来存储用户的语言。在加载页面之前,从会话中获取用户的语言并显示相关内容。

    或者,您可以为不同的语言使用不同的 URL 结构或子域。在这种情况下,您需要确保所有链接都反映语言的变化。从 SEO 角度也建议这样做,因为网络爬虫将能够访问这些数据。

    例如,

    site.com - 默认,英文

    es.site.com - 特定语言,西班牙语 site.com/es

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多