我有一个网站,已经完成了,但未来的多语言支持没有实现,
我使用fuelphp框架来生成我的网站。我已经查看了此文档http://docs.fuelphp.com/classes/lang.html对于fuelphp中的语言配置,但我仍然对如何实现该功能感到困惑。
我的问题是:
- 有人知道如何在fuelphp中创建多语言吗
- 你能建议我在网站上创建多语言的逻辑吗
我对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/