2016-12-19 9 views
0

langディレクトリに配列を作成した後、メソッドを使用してアプリケーション内のstringsを基本的にローカライズすることができます。しかし、それは一種のハードコーディングです。たとえば、メッセージを翻訳する場合などです。私たちはこのようなことをします。データベースフェッチされたレコードでlaravelローカリゼーションを使用するには?

/resources 
    /lang 
    /en 
     messages.php 
    /es 
     messages.php 

次に、配列を作成してハードコードします。ただ

<?php 

return [ 
    'welcome' => 'Welcome to our application' 
]; 

しかし、どのような場合のようにデータがdatabaseから来ていますか?私たちは来るレコード数と何がdatabaseであるか分かりません。たとえば、記事があり、titleを他の言語、たとえばFrenchに翻訳したいとします。 packageなしでこれをどのように達成できますか?

答えて

0

barryvdhのLaravel変換マネージャを使用できます。

これはLaravelの翻訳ファイルを管理するためのパッケージです。それは、翻訳システムに取って代わるものではなく、phpファイルをデータベースにインポート/エクスポートし、ウェブインタフェースを通して編集可能にするだけです。ワークフローは次のようになります。

  • インポート翻訳:カスタム翻訳
  • で不足している翻訳を聴く:すべての翻訳ファイルを読み、データベースに保存
  • PHP /小枝ソース内のすべての翻訳
  • オプションで検索します
  • すべてのキーをwebinterfaceで翻訳する
  • エクスポート:すべての翻訳を翻訳ファイルに書き戻します。

https://github.com/barryvdh/laravel-translation-manager

+0

私は一種の混乱しています。それはデータベースから来るデータを翻訳するのだろうか?たとえば、タイトルは '何か来ているのか分かりません。私は 'French link'をクリックしたばかりで、このパッケージはテキストタイトルテキストを'データベースからの何か 'の 'French version'に変更しました –

+0

@QasimAliこれはデフォルトの翻訳を全て(例えば英語)から得て、データベースに格納されます。編集が終わったら、Laravelにデフォルトのファイルにコンサートをさせることができます。 –

関連する問題