WPFLocalizeExtension适当的文件夹结构

时间:2016-02-21 20:04:19

标签: c# wpf translation globalization

我遇到过已经提到的NuGet包的问题。我创建了一个名为 Resources 的文件夹,其中插入了以下文件:

  • 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文件夹下(意味着英文翻译将在Resources / Strings.en.resx下)时,它突然不起作用。

为了使其有效,我需要更改什么?

1 个答案:

答案 0 :(得分:0)

我错过了以下一行:

fo:conditional-page-master-reference

另外在代码隐藏中,我必须手动设置文化,否则我的文化总是不变的

lex:InheritingResxLocalizationProvider.DefaultDictionary="Strings"

这解决了这个问题。