.resx文件相同的密钥与不同的情况

时间:2017-08-24 22:46:47

标签: asp.net asp.net-core localization

我正在根据https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization尝试本地化我的应用。我使用英语短语作为我的键,法语翻译作为我的价值。不幸的是,我有相当多的键,但情况有所不同(即“Hello World”和“HELLO WORLD”)。

.resx设计器不允许您输入两个键,但如果我在文本模式下编辑它,我的应用程序将构建,并且资源将被嵌入。但是,“Hello World”中的一个缺失了。

有没有办法做到这一点,如果没有,是否有解决方法?

1 个答案:

答案 0 :(得分:2)

在教程的“关于标题”示例中提到:

  

或者,您可以使用传统方法并提供密钥   检索默认语言字符串。

因此,选项是使用资源键而不是实际字符串(请参阅Working with resource files部分)。然后,当您将字符串键添加到资源时,如Naming Resources指南中所述,请使用Pascal Casing代替您的资源键。

这意味着:

  • 没有空格
  • 只有大小写不同的密钥

以“Hello World”和“HELLO WORLD”为例,您可以通过添加前缀/后缀标识来区分它们,如下所示:

HelloWorldDnCase
HelloWorldUpCase

但是,如果您仍然希望使用实际字符串作为键(类似于“关于标题”)示例,您可以使用单个键“Hello World”,然后在需要时以编程方式提升措辞它以全大写显示。