1

我需要在 wp7 中为我的应用程序提供多语言支持。用户可以在应用程序内设置语言。因此,每当更改语言时,我都需要更改使用的字符串。如何维护资源文件并更好地执行应用本地化?不依赖于设备显示语言。

4

1 回答 1

0

在默认本地化方案中,您有一个具有资源文件属性的 Localized 类。您在 .xaml 中绑定到该属性的属性。也就是说,对于您的 Labels.resx 文件,您拥有:

public class Localized
{
    private static Labels labels = new Labels();

    public Labels Labels { get { return labels; } }
}

保留您的 .xamls 的简单更改将类似于:

public class Localized : INotifyPropertyChanged
{
    public ILabels Labels { ... }
}

// defines all the keys that you use in your .resx files
public interface ILabels
{
    string MainWindowHeader { get; }
    string OkLabel { get; }
    ...
}

EnglishLabels : ILabels;
GermanLabels: ILabels;

ILabels 定义了所有可用的文本。在语言切换时,Localized 为 Labels 属性设置一个新值并引发 PropertyChanged。

但是,我怀疑这样的应用程序能否通过认证。为什么有人甚至需要应用内语言切换默认行为?

于 2013-10-07T08:42:03.937 回答