我正在尝试编写支持多种语言的FuelPHP
(v1.4)模块。
我有以下目录结构:
fuelphp/
app/
modules/
mymodule/
lang/
en/
signup.php
te/
signup.php
...
...
...
在全局config.php
文件中,我将language和language_fallback参数设置为en
:
'language' => 'en', // Default language
'language_fallback' => 'en', // Fallback language when the file isn't available
当我尝试通过
更改模块控制器中的语言时\Config::set('language', 'te');
echo \Lang::get('key');
始终返回空字符串
如果我直接在te
文件中将语言参数更改为config.php
,它会按预期工作。
我模块的控制器如下:
<?php
namespace mymodule;
class Controller_Mymodule extends \Controller {
/**
* Show signup form
*/
public function get_signup() {
\Config::set('language', 'te');
\Lang::load('signup');
$view = \View::forge('mymodule/signup');
return $view;
}
}
?>
这是一个错误,还是我做错了什么?
答案 0 :(得分:0)
尝试调用echo \ Lang :: get('signup.key'); 我有同样的问题,这为我解决了。
答案 1 :(得分:0)
尝试执行Lang :: load('signup');而不是\ Lang :: load('signup');
根据我的经验,\ Lang :: load('signup');是指Lang :: load('signup')中应用程序中的全局lang;应参考模块中的那个。