У меня есть небольшая проблема с получением файлов локализованных ресурсов для работы с Windows Phone 7. Вот что я делаю:
- Создайте файл ресурсов, скажем, "Strings.resx" (Build Action: Compile)
- Создайте ключ, скажем, "TestKey" со значением по умолчанию пустой строки
- Добавить английский файл ресурсов в той же папке со значением "некоторая английская строка": Strings.en-us.resx(Build Action: Embedded Resource)
- Добавить японский файл ресурсов в той же папке со значением "some Japanese string": Strings.ja-jp.resx(Build Action: Embedded Resource)
В моем приложении Silverlight, WPF Apps, который отлично работает при изменении Thread.CurrentThread.CurrentCulture. Но в телефоне я всегда получаю значение, которое в файле Strings.resx - пустая строка.
Я попытался использовать созданный конструктором код и вручную подключить диспетчер ресурсов, и это, похоже, не имеет значения. Здесь мой код:
Type t = typeof(Strings);
_resourceManager = new ResourceManager(
t.Namespace + "." + t.Name,
t.Assembly);
_resourceManager.GetString("TestKey");
Скажите, что локализованные ресурсы поддерживаются на телефоне...; > Что я делаю неправильно? Спасибо!
Обновление: спасибо Olivier за пересылку ссылки. Я тоже это видел, но пропустил важный шаг. Я не добавил "SupportedCultures" node в свой csproj. Сделал всю разницу - надеясь, что кто-то еще не потеряет два часа, пытаясь понять это, как я.
<SupportedCultures>de-DE;es-ES;</SupportedCultures>