如何本地化和显示不同语言的数据列表?

时间:2013-06-26 16:08:12

标签: c# visual-studio windows-phone-8 windows-phone

我有一个包含国家/地区名称的XML文件,另一个文件包含另一种语言的相同内容。

我想在这里做绑定,为法语显示法语文件,为其他语言显示自己的文件等等...在长列表控件中

  1. 如何添加这些文件以及where(资源文件夹?)

  2. 如何命名文件,我应该遵循特定模式(例如countries.en.xmlcountries.fr.xml

  3. 并且是在AppResources中使用键/值的概念,它会自动使用正确的文化吗?
  4. 抱歉,我知道这个问题非常基本,但我无法忍受!

1 个答案:

答案 0 :(得分:1)

我建议选择两个选项之一。第一种是简单地将xml的内容放在AppResources文件中。这可能是最好的选择。这将允许您像任何其他字符串

一样绑定到值
Text="{Binding Path=LocalizedResources.America, Source={StaticResource LocalizedStrings}}"/>

第二个选项是将内容放在xml中并通过代码加载它们。您可以通过提供的LocalizedStrings类来完成此操作。您可以公开基于CultureInfo加载一次的Countries属性。

private static IDictionary<string, Country> _countries;

public IDictionary<string, Country> Countries
{
    get
    {
        if (_countries == null)
        {
            var culture = System.Globalization.CultureInfo.CurrentCulture;
            var name = culture.Name;
            if (name == "en-us")
            {
                // load
            }
            else
            {
                // load
            }
        }
        return _countries;
    }
}

这将允许你这样绑定

Text="{Binding Path=Countries[America], Source={StaticResource LocalizedStrings}}"/>