【问题标题】:Resource Files how to name them?资源文件如何命名?
【发布时间】:2011-09-26 21:49:43
【问题描述】:

我在玩资源文件时遇到了问题。

我有一个名为 Languages 的文件夹。当我创建一个资源文件并说它叫“R.resx”时,我可以在我的类中调用这个资源文件。

如果我重命名此文件(或删除并创建一个新资源文件)并将其命名为 R.en.resx,我无法在我的班级中再调用此资源文件。

第一种语言是否需要在 R.resx 中,而其他语言是 R.language.resx?

【问题讨论】:

  • 重命名资源文件时,是否重命名(或删除)随附的设计器文件和生成的类?也许旧的设计器文件会导致新设计器的命名冲突。
  • 我只是做了资源文件而不是设计器。但是,我通过删除整个资源文件(这样将包括设计器)覆盖了该基础,然后添加了一个名为 R.en.resx 的新文件。

标签: c# .net resource-files


【解决方案1】:

Step 6

要为其他语言创建资源文件,请在解决方案资源管理器或 Windows 资源管理器中复制该文件,然后使用以下模式之一对其进行重命名:

For global resource files:

name.language.resx

name.language-culture.resx

For local resource files:

pageOrControlName.extension.language.resx

pageOrControlName.extension.language-culture.resx

所以是的,你的假设是正确的,基础资源文件将是第一语言。

编辑:

var temp = Properties.Resources.ResourceManager.BaseName.Replace("YourNamespace.Properties.",""); 

您可能还必须这样做(除去名称块之后的语言部分):

 temp = temp.Replace(".thelanguagechunk","");

这段代码会单独为您提供您所追求的“名称”块。

【讨论】:

  • 那么这将是后备的吗?(如果它找不到最适合用户的资源文件,那么它会正确使用那个)。因此,从某种意义上说,任何访问我网站的英语用户总是会退回到默认用户(除非我开始使用美国英语和其他所有用户)。这是一个附带问题,但是否可以在资源文件的“名称”列中获取名称?
  • 您是正确的,基本资源文件可能最适合您的大多数用户,然后会为人口较少的用户制作额外的资源文件。 Properties.Resources.ResourceManager.BaseName 为您获取当前正在使用的 .resx 文件的名称。授予在其中附加了 namespace.properties,但您可以轻松地从那里提取您需要的内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-01
  • 1970-01-01
相关资源
最近更新 更多