Локализация приложения для Windows Phone 7

У меня небольшие проблемы с работой с локализованными файлами ресурсов на Windows Phone 7. Вот что я делаю:

  1. Создайте файл ресурсов, скажите "Strings.resx" (Действие сборки: Compile)
  2. Создайте ключ, скажем «TestKey» со значением по умолчанию, равным пустой строке
  3. Добавьте в ту же папку файл ресурсов на английском языке со значением «some English string»: Strings.en- us.resx (действие сборки: встроенный ресурс)
  4. Добавьте в ту же папку файл ресурсов на японском языке со значением «некоторая японская строка»: Strings.ja-jp.resx (действие сборки: встроенный ресурс)

В мой ПК Silverlight, приложения WPF, которые отлично работают при изменении Thread.CurrentThread.CurrentCulture. Но в телефоне я, кажется, всегда получаю значение из файла Strings.resx - пустую строку.

Я пробовал использовать сгенерированный дизайнером код и вручную подключить диспетчер ресурсов, но это не имеет значения. Вот мой код:

            Type t = typeof(Strings);

            _resourceManager = new ResourceManager(
                t.Namespace + "." + t.Name,
                t.Assembly);

            _resourceManager.GetString("TestKey");

Скажите, что на телефоне поддерживаются локализованные ресурсы ...;> Что я делаю не так? Спасибо!

Обновление : Спасибо, Оливье, за пересылку ссылки. Я тоже это видел, но пропустил важный шаг. Я не добавил узел «SupportedCultures» в свой csproj. Вся разница - надеяться, что кто-то другой не потеряет два часа, пытаясь понять это, как я.

<SupportedCultures>de-DE;es-ES;</SupportedCultures>
10
задан will 27 September 2010 в 20:41
поделиться