2017-09-11 18 views
0

を使用している多言語アプリケーションがあります。 HTTPヘッダーのajaxレスポンスを翻訳する必要があります。Laravel translate json HTTP応答メッセージ

عفواولكنهناكالخطأالتالي:422処理不能エンティティمعرسالةخاصةتقول:私はアラビア語セクションで、次のメッセージ持つ

このアラビア語コンテンツを、私は言葉を翻訳したい」処理不能エンティティ422 "

Iは次のようjson方法の$headersアレイパラメータを変更しようとした:

return response()->json([__('The status selected is not Equipment related status')], 422,['Status Code' => __('Any translable message')], JSON_UNESCAPED_UNICODE); 

しかし、['Status Code' => __('Any translable message')]ようなヘッダパラメータを設定すると、内部サーバーエラーが発生します。

どのようにしてそのHTTP応答を正しく変換できますか?

答えて

0

私が行った唯一の解決策は、クライアント側の解決策です。私はそのアラビア語翻訳statusText = xhr.statusText.replace('Unprocessable Entity','{{__('Unprocessable Entity')}}')と英語の単語を置き換えるためにJavascriptの文字列オブジェクトのメソッドreplaceを使用してメッセージを交換

error: function(xhr, status, response){ 

        if (status == "error") { 
        var msg = "{{__("Sorry but there was an error: ")}}"; 
        statusText = xhr.statusText.replace('Unprocessable Entity','{{__('Unprocessable Entity')}}') 
        $("#modal-body").html(msg + xhr.status + " " + statusText+ " {{__("With custom message")}}:<br> "+ xhr.responseText); 
        //console.log(xhr) 
        } 
       } 

このところで:AJAX(jQueryの)私はビューbladeファイルに次の方法のようstr.replaceを使用Withing

上記のコードのHTML出力は次のようである:

error: function(xhr, status, response){ 

        if (status == "error") { 
        var msg = "عفوا قد حدث خطأ: "; 
        statusText = xhr.statusText.replace('Unprocessable Entity','بيان غير قابل للمعالجة') 
        $("#modal-body").html(msg + xhr.status + " " + statusText+ " With custom message:<br> "+ xhr.responseText); 
        //console.log(xhr) 
        } 
       }