1
我需要在wp7中爲我的應用做多語言支持。用戶可以在應用程序中設置語言。所以每當語言改變時,我需要改變使用的字符串。如何維護資源文件並有更好的應用本地化表現方式?與設備顯示語言無關。wp7中的應用級本地化
我需要在wp7中爲我的應用做多語言支持。用戶可以在應用程序中設置語言。所以每當語言改變時,我需要改變使用的字符串。如何維護資源文件並有更好的應用本地化表現方式?與設備顯示語言無關。wp7中的應用級本地化
在默認的本地化方案中,您有一個具有資源文件屬性的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定義了所有可用的文本。語言切換時,本地化將爲標籤屬性設置一個新值,並引發PropertyChanged。
但是,我懷疑這樣的應用程序會通過認證。爲什麼有人甚至需要應用程序內語言切換默認行爲?
您會詳細說明如何使用ILabels?可能在一些示例代碼中。 – Shilpa
@Shilpa一些編輯。該解決方案基於Windows Phone本地化的默認方式。如果你問,這是如何完成的,請參閱http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff637520(v=vs.105).aspx。 ChangeLanguageCommand只需要從App ResourceDictionary獲取Localized的引用即可。 – lisp
默認方式是設備級本地化是否正確?我需要在應用本地化中。不管怎麼說,多謝拉。 – Shilpa