本地化的System.Windows.Media.Color名称

时间:2010-02-10 20:59:23

标签: c# wpf localization

标准颜色名称是英文名称,好的。但我的应用程序是德语,所以我希望我的ComboBox中的颜色名称为德语名称。而不是“蓝色”,“黄色”等,我想要“Blau”,“Gelb”等。

是否有返回所有本地化名称的函数?或者我在这次电话会议中改变文化是否那么容易?

<ObjectDataProvider MethodName="GetType"
                    ObjectType="{x:Type sys:Type}"
                    x:Key="colorsTypeOdp">
    <ObjectDataProvider.MethodParameters>
        <sys:String>System.Windows.Media.Colors, PresentationCore,
    Version=3.0.0.0, Culture=neutral, 
    PublicKeyToken=31bf3856ad364e35</sys:String>
    </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>

4 个答案:

答案 0 :(得分:2)

我找到了一个有用的表格,它给了我一些翻译(英文名称和德语名称)The table can be found here

我将使用文本和转换器来显示德语颜色名称。

答案 1 :(得分:1)

作为对peetee的问题的跟进和this German page about Netscape color names的链接,我构建了a small C# wrapper class,您可以将其放入项目中。

要使用,只需将其称为类似于:

string germanName = ColorNameGermanTranslator.GetGermanName(Color.Green);

你得到了德国名字。它使用英文名称作为后备。

答案 2 :(得分:0)

抱歉,代码段消失了......所以这里是:

<ObjectDataProvider MethodName="GetType"
                    ObjectType="{x:Type sys:Type}"
                    x:Key="colorsTypeOdp">
    <ObjectDataProvider.MethodParameters>
        <sys:String>System.Windows.Media.Colors, PresentationCore,
    Version=3.0.0.0, Culture=neutral, 
    PublicKeyToken=31bf3856ad364e35</sys:String>
    </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>

答案 3 :(得分:0)

不,这些是属性名称 - 作为String.Length属性的代码/类定义的一部分 - 而不是资源。属性名称未本地化。