2017-09-28 11 views
0

ように私は簡単にノープラグイン・ソリューションを探してきました。laravelのVUEの多言語サイト:文字列のキー

私は翻訳ファイルのキーフォーマットとしてlaravelの文字列を使用しています。私はfr.jsonファイルを持っていて、このファイルの中に私はすべてのテキストとそれを翻訳しています。 ブレードには問題ありませんが、.vueファイルでは使用できません。

私は私の.vueファイルのすべてにこのfr.jsonファイルを使用することができますどのように私を助けてください。 ありがとうございます。

+0

期待通りに動作していないかについて、より具体的にしてください。そしてあなたのコードを教えてください。 – thanksd

答えて

1

あなたはVueの中にあなたの翻訳ファイルを取得したい場合、あなたはあなたのJavaScriptでそれらをインポートする必要があると思います。

最初。現在の言語EITHあなたの頭の中でmetaタグを設定します。

この例 resources/assets/js/app.jsのためのあなたのJavaScriptで

<meta name='locale' content='{{app()->getLocale()}}' />

そして:

var locale = document.head.querySelector('meta[name="csrf-token"]').content; 
var lang = { 
    locale: require('../../lang/' + locale + '.json') 
} 

たぶん、あなたはデフォルト/フォールバック言語のために同じことを行うことができます。翻訳機能は次のようになります。

function trans(key, replace) { 
    var message; 
    if (lang[locale][key] != undefined) { 
     message = lang[locale][key]; 
    } else if (lang[defaultLocale][key] != undefined) { 
     message = lang[defaultLocale][key]; 
    } 
    if (message) { 
     // Loop through each item of replace and string replace the message. 

     return message; 
    } 

    return key; 
} 

このようなものは私の思うように動作します。テストしていないし、微調整が必​​要ですが、この問題を解決するにはこれがアイデアであるべきだと思います。