2013-10-07 4 views
1

Мне нужно сделать поддержку нескольких языков для моего приложения в wp7. Пользователь может установить язык внутри приложения. Поэтому всякий раз, когда язык изменяется, мне нужно изменить используемые строки. Как я могу поддерживать файлы ресурсов и иметь лучший способ выполнения в локализации приложений? Не существует зависимости от языка отображения устройства.Локализация уровня приложения в wp7

ответ

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 определяет все доступные тексты. После переключения языка Локализованный устанавливает новое значение свойства Ярлыки и вызывает PropertyChanged.

Однако у меня есть сомнения, что такое приложение будет проходить сертификацию. Зачем кому-то даже нужно, чтобы язык приложения в приложении переключался на поведение по умолчанию?

+0

Опишите, как использовать ILabels? Возможно, в некоторых примерах кода. – Shilpa

+0

@Shilpa некоторые изменения. Это решение основано на стандартном способе локализации Windows-телефона. Если вы спрашиваете, как это делается, см., Например, http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff637520(v=vs.105).aspx. Для ChangeLanguageCommand нужно просто получить ссылку на Localized из App ResourceDictionary. – lisp

+0

По умолчанию используется правильная локализация уровня устройства? Мне нужно в локализации приложений. В любом случае спасибо. – Shilpa

Смежные вопросы