2

複数の言語をサポートするためにWPFアプリケーションをローカライズした方法と、その中で役立つリソースに関する経験を共有してください。

フィードバックをありがとうございます。

4

3 に答える 3

3

この WPF アプリケーションでは、すべての文字列がリソースとしてローカライズされResourceDictionary、言語にちなんで名付けられた .xaml ファイル (en-US.xaml、ja-JP.xaml など) に配置されます。

たとえば、アプリケーションのどこかで、ボタンは次のようになります。

<Button Content="{StaticResource Strings.FooDialog.BarButtonText}"/>

ResourceDictionary異なる言語のそれぞれには、そのバージョンが含まれます。

<sys:String x:Key="Strings.FooDialog.BarButtonText">Bar!</sys:String>

は、実行時に次のようResourceDictionaryに動的に接続さApplication.Resourcesれます。

private static void LoadLocalizedStrings(CultureInfo uiCulture)
{
   ResourceDictionary stringsResourceDictionary = new ResourceDictionary();
   stringsResourceDictionary.Source = new Uri(@"pack://application:,,,/Resources/Strings/" + uiCulture.Name + ".xaml");
   Application.Current.Resources.MergedDictionaries.Add(stringsResourceDictionary);
}
于 2009-03-12T20:11:03.273 に答える
0

あいまいな場合は申し訳ありませんが(上記の質問)、基本的には、アプリケーションにどのように実装し、何が最善の方法であると感じたかについてです。基本的には、シナリオを理解することです。

于 2008-10-08T05:25:18.637 に答える
0

ResourceDictionary を使用して、WPF アプリケーションを正常にローカライズしました。私が使用した方法では、言語の動的な変更、簡単な翻訳、設計時のサポート、さらには部分的な翻訳も可能です。私は自分の仕事をhttp://www.geektieguy.com/2006/12/12/localizing-an-xbap-application-without-using-locbaml/に基づいています

私の取り組みの一部は、ResourceDictionary Source Binding to Module (for Localization)で確認できます。

于 2011-04-11T18:49:54.870 に答える