Локализация Windows Phone: возможно ли изменить локализованный ресурс во время разработки?

Я создал несколько файлов ресурсов для разных языков. (например, resource.resx, resource.nl-NL.resx и т. д.)

На данный момент я вижу результат только с эмулятором телефона. (Изменив настройку языка в эмуляторе телефона)

На этапе проектирования я хочу увидеть результат на разных языках во время разработки. Например голландский. (Или еще лучше, какой-то псевдоязык)

Похоже, что Visual Studio (2012) и Blend используют файл ресурсов по умолчанию. (ресурс.resx)

Есть ли способ использовать другой файл ресурсов?


person Tim    schedule 03.04.2013    source источник


Ответы (2)


Я не мог найти хорошего решения для этого, поэтому я сделал очень уродливую вещь. Работает, но совсем не весело.

Я переименовал файлы ресурсов, чтобы язык, который я хотел видеть, не имел языкового суффикса (а у исходного языка был суффикс, который, как я знаю, я не буду использовать).

Некоторые предостережения:

  • Исходный файл ресурсов, не зависящий от языка, имеет свойство «настраиваемый инструмент» «PublicResXFileCodeGenerator» (или эквивалентное). Файл ресурсов, который является новым нейтральным языком, нуждается в этом свойстве. Это должно быть удалено позже, когда мы вернемся к исходной ситуации после тестирования.
  • Если язык, который вы хотите протестировать, не переопределил все строки, вы можете получить некоторые ошибки времени компиляции, и вам нужно будет скопировать отсутствующие строки из исходного нейтрального файла ресурсов.

Единственным преимуществом является то, что нет необходимости перезагружать эмулятор, чтобы увидеть этот язык в действии.

person Timores    schedule 12.02.2014

Вы можете установить свойство CultureInfo, вставив следующий код в InitializePhoneApplication внутри app.xaml.cs.

private void InitializePhoneApplication()
{
    Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
    Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;

Это переопределит культуру, поэтому вам не нужно менять ее внутри эмулятора.

person Deani Hansen    schedule 04.04.2013
comment
Привет, спасибо за ваш ответ. Однако с этим ответом культура/язык не будут изменены во время разработки. Вы видите результат только во время выполнения. - person Tim; 05.04.2013