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