У меня возникли проблемы с уже упомянутым пакетом NuGet. Я создал папку с именем Resources, где я вставил следующие файлы:WPFLocalizeExtension правильно Структура папки
- Strings.en.resx
- Strings.sk.resx (мой язык по умолчанию)
Я используя Prism, где мой MainWindow (обычный контейнер) находится под корневым окном, а все остальные страницы находятся под папкой Views
.
Я добавил следующее к моей MainPage
зрения:
xmlns:lex="http://wpflocalizeextension.codeplex.com"
lex:LocalizeDictionary.DesignCulture="en"
lex:LocalizeDictionary.OutputMissingKeys="True"
lex:ResxLocalizationProvider.DefaultAssembly="eManagement"
lex:ResxLocalizationProvider.DefaultDictionary="Strings"
и вот пример TextBlock:
<TextBlock Text="{lex:Loc Key=Greetings}"/>
Проблема заключается в том, что если поместить файл Strings.resx в root folder
, управление переводится без проблем. Но когда я хочу сохранить свои переводы под папкой Resources
(это означает, что перевод на английский язык будет находиться в разделе Ресурсы/Strings.en.resx), это внезапно не сработает.
Что мне нужно изменить, чтобы заставить его работать?
Это не совсем ясно из вашего вопроса: у вас также есть файл 'Strings.resx', так что всего три файла? Вы пытались помещать _all_ resx-файлы в папку «Ресурсы», не так ли? –
Да, я тоже пытался это сделать. Однако дело в том, что учитывается только основной (Strings.resx), и все остальные модификации (другие мутации языка) игнорируются. –
Две вещи, которые вы можете попробовать. Во-первых: проверьте, установлено ли действие сборки для ресурсов «Встроенный ресурс». Второй: как вы в настоящее время устанавливаете, какой язык использовать? Вы можете попробовать (для целей тестирования) явно задать язык в коде. См. Http://stackoverflow.com/a/35292059/1384848, как это сделать. –