0

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;
    }
}
?>

これはバグですか、それとも何か間違っていますか?

4

2 に答える 2

0

Lang::load('signup'); を実行してみてください。\Lang::load('signup'); の代わりに

私が経験したことから、 \Lang::load('signup'); Lang::load('signup'); は app 内のグローバル lang を参照しています。モジュール内のものを参照する必要があります。

于 2013-05-12T14:56:05.600 に答える
0

echo \Lang::get('signup.key'); を呼び出してみてください。私は同じ問題を抱えていましたが、これで解決しました。

于 2013-01-19T00:50:22.643 に答える