-1

我有一个站点并且完成了,但是没有实现未来的多语言支持,

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

我的问题是:

  1. 有谁知道如何在fuelphp中创建多语言?
  2. 您能否向我建议在站点中创建多语言的逻辑?
4

3 回答 3

4

我对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"); 根据会话数据设置语言环境后。

于 2012-08-30T09:15:17.123 回答
3

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

于 2012-08-30T09:10:44.457 回答
2

您提供的文档链接清楚地描述了它,您将不得不在包含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/

于 2012-08-30T09:18:28.200 回答