私の Laravel アプリケーションでは、(スーパー) ユーザーがフロントエンドから言語翻訳を定義できるようにしたいと考えています。Lang::all()
私の知る限り、言語変数のリストを提供するものはありません。言語の言語キーを解析し、エンド ユーザーが値を定義できるようにする方法を探しています。
2 に答える
私の知る限り、登録されているすべての lang キーを返す Lang:all() っぽい関数はありません。
登録されているすべての変数を一覧表示する機能が必要な場合は、config を使用することをお勧めします。ここでは、キーの完全なリストを取得できます。ただし、私の意見では、lang を config に置き換えるのはやや厄介な解決策です。さらに厄介なことに、lang の行置換メカニズムを利用できます。
echo Lang::get('messages.welcome', array('name' => 'Shakur'));
もちろん、残りのアイデアをその周りに書く必要があります。
代わりに、問題から抜け出す方法を DRY するのが最善だと思います (自分自身を繰り返さないでください) :) 簡単に考えてみると、問題の解決策が既に利用可能であることがわかります。
waavi/translationパッケージはニーズに合うはずです。これは「データベースとキャッシュをサポートする Laravel 4 の翻訳パッケージ」です。
ドキュメントから:
Laravel のローカリゼーション モジュールのアップグレード プロジェクトの翻訳を適切に更新し続けるのは面倒です。通常、翻訳者はコードベースにアクセスすることはできません。アクセスしたとしても、言語ごとにどの翻訳が欠落しているか、または元のテキストを更新するために翻訳の修正が必要になるかを追跡するのは困難です。
このパッケージにより、開発者はデータベースとキャッシュを活用して多言語サイトを管理できますが、開発中に言語ファイルで作業し、複数形化や置換など、Laravel の翻訳バンドルが持つすべての機能を活用できます。