2016-11-28 24 views
0

私はサーバーからデータを受け取りました。ローカライズしてViewModelに配置する必要があります。Xamarin Formsローカリゼーションとmvvm

データをjson形式で.NETオブジェクトにシリアル化します。

たとえば、ブール変数「True」または「False」を英語または別のUI言語に「Free」または「Busy」にローカライズする必要があります。

ローカライゼーションにリソースファイル(* .resx)を使用します。

古典的なMVVMを使用したXamarin.Formsアプリで私にそれを行う最善の方法を教えてください。

答えて

1

Hereは、resxを使用してプロジェクトにローカライズを追加する方法の詳細なドキュメントです。

あなたがTrueを取得した場合、私は "フリー"のローカライズされたキーを要求します。例えば

あなたはステータスと呼ばれるプロパティを持っている場合、あなたはこのようにそれを

public string Status 
     { 
      get 
      { 
       if (_isBusy) 
       { 
        return AppResources.Status_Busy; 
       } 
       else 
       { 
        return AppResources.Status_Free; 
       } 
      } 
      set 
      { 
       _status = value; 
       OnPropertyChanged(); 
      } 
     } 
+0

感謝をローカライズ行います。私は* .resxファイルを取得します。私は静的なデータをどのようにローカライズするのか知っていますが、私はどのように動的なデータでそれを行うのか分かりません – Atlantis

+0

私はスイッチケースまたはIfステートメントを置くでしょう。それはあなたが意味することですか?私が正しく答えていない場合、いくつかのコードを置くことができますか? – BraveHeart

+0

私はサーバーからデータを取得し、MVVMとbindingContextをXAMLに使用します。私はViewModelからXAMLにローカライズされた文字列を入れたいと思う。 – Atlantis