1

複数の言語をサポートする必要がある WPF アプリケーションを開発しています。開発チームの誰も知らないいくつかの言語をサポートする必要があるため、ユーザー (管理者) がそれらの言語のテキストを入力できるようにすることに同意しました。そうするための最良の方法は何ですか?

4

2 に答える 2

3

あなたはこれらのステップに従うことができます

1リソースファイルの作成

このファイルStringResources.xamlをRessourcesディレクトリに追加します。サンプルはこちら:

<ResourceDictionary 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:system="clr-namespace:System;assembly=mscorlib">

     <system:String x:Key="close">Close</system:String>
</ResourceDictionary>

言語ごとに1つずつ、複数のファイルを作成できます。

2リソースの追加(アプリケーションの起動時にこれを呼び出します)

private void SetLanguageDictionary()
{
     ResourceDictionary dict = new ResourceDictionary();
     switch (Thread.CurrentThread.CurrentCulture.ToString())
     { 
       case "en-US":
         dict.Source = new Uri("..\\Resources\\StringResources.xaml", UriKind.Relative);
         break;
       case "fr-CA":
         dict.Source = new Uri("..\\Resources\\StringResources.fr-CA.xaml", UriKind.Relative);
         break;
       default :
         dict.Source = new Uri("..\\Resources\\StringResources.xaml",UriKind.Relative);
         break;
     }
     this.Resources.MergedDictionaries.Add(dict);
}

3このようにリソースを使用する-

<Button      
   x:Name="btnLogin"
   Click="btnLogin_Click"
   Content="{DynamicResource login}"
   Grid.Row="3"
   Grid.Column="0" 
   Padding="10" />
于 2012-09-25T14:14:18.097 に答える
2

私はWPFLocalizationExtensionで非常に良い経験をしました

たくさんの機能 (言語に応じてローカライズされた画像リソースへのバインドなど) が付属しており、最も優れているのは無料です。resx ローカリゼーション ファイルを読み込んで編集できるいくつかの resx 編集ツールもあります。

于 2012-09-25T14:23:28.447 に答える