我有一个站点并且完成了,但是没有实现未来的多语言支持,
我正在使用fuelphp 框架来生成我的网站。我已经查看了该文档http://docs.fuelphp.com/classes/lang.html以了解fuelphp 中的语言配置,但我仍然对如何实现该功能感到困惑。
我的问题是:
- 有谁知道如何在fuelphp中创建多语言?
- 您能否向我建议在站点中创建多语言的逻辑?
我有一个站点并且完成了,但是没有实现未来的多语言支持,
我正在使用fuelphp 框架来生成我的网站。我已经查看了该文档http://docs.fuelphp.com/classes/lang.html以了解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要求的位置创建单独的语言文件
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')); // 将返回你好世界
如果您想免费使用谷歌翻译器,请查看http://rupeshpatel.wordpress.com/2012/06/23/usage-of-google-translator-api-for-free/