创建多语言网站的逻辑


Logic to create a multilingual site

我有一个网站,已经完成了,但未来的多语言支持没有实现,

我使用fuelphp框架来生成我的网站。我已经查看了此文档http://docs.fuelphp.com/classes/lang.html对于fuelphp中的语言配置,但我仍然对如何实现该功能感到困惑。

我的问题是:

  1. 有人知道如何在fuelphp中创建多语言吗
  2. 你能建议我在网站上创建多语言的逻辑吗

我对fuelphp没有那么丰富的经验,但文档告诉了您需要知道的一切。

您需要创建PHP文件,将所有不同的翻译作为一个数组,按语言代码排序,如下所示:

en.php

return array(
    "Text_Hello" => "Hello",
    "Text_Bye" => "Good bye"
);

de.php

return array(
    "Text_Hello" => "Hallo",
    "Text_Bye" => "Auf Wiedersehen"
);

接下来,您需要实现一个会话管理,它存储您当前正在处理的用户的当前语言信息,如:

session_start();
Lang::load($_SESSION['lang']);

每次,你需要输出一些东西,你需要调用"get"-函数。

echo Lang::get("Text_Hello");

举个例子。

不过,如果我可以提出一个替代方案的话,PHP中通常内置了一个gettext库。函数调用简单地为_("Text_Hello");根据会话数据设置区域设置之后。

我对fuelphp一无所知,但在PHP中处理多种语言的方法是:http://php.net/manual/en/book.gettext.php

您提供的文档链接对其进行了自我描述,并且很清楚,您必须根据fuelphp的要求在包含的位置创建saperate语言文件

return array(
    'hello' => 'Hello :name',
    'something'=> 'something :name!',
    'test'=> array('hello' => 'Hello', 'something' => 'Plop') // Group
);

在任何要求下与联系

Config::set('language', 'THE_LANGUAGE_IDENTIFIERR_YOU_RECIEVE_OR STORE_IN_SESSION');

除了你必须使用像这样的lang类的函数调用之外

Lang::get('hello',array('name'=>'world'));//将返回hello world

如果你想免费使用谷歌翻译,请查看http://rupeshpatel.wordpress.com/2012/06/23/usage-of-google-translator-api-for-free/