2

由于缺乏更好的词,我是本地化和资源文件的新手。我正在尝试本地化我正在处理的应用程序,并且我想使用资源文件和附属程序集来完成它,但我无法弄清楚如何正确地完成它。这是我到目前为止所拥有的:

在我的项目目录中:我创建了文件 LanguageText.resx 和 LanguageText.nl.resx

在我的项目/bin 目录中:我创建了文件夹“nl”

在我的 project/bin/nl 目录中:我使用 ResGen.exe 从 LanguageText.nl.resx 文件创建 LanguageText.nl.resources 文件,然后我使用 AL.exe 创建 project.resources.dll 文件。该 .dll 文件位于 bin/nl 文件夹中。它组装好了,现在我的 project/bin/debug 文件夹中也有 nl/project.resources.dll。

我的问题是我的程序中显然没有嵌入中性语言文件或资源,但我找不到任何关于如何做到这一点的信息。我能找到的有关以这种方式嵌入资源的唯一信息与附属程序集有关。如何嵌入中性语言资源?

任何帮助或方向表示赞赏。

谢谢,迈克

4

2 回答 2

2

您可以在 AssemblyInfo 的帮助下完成此操作。转到 AssemblyInfo.cs 并添加属性

[assembly: NeutralResourcesLanguageAttribute("en-US",UltimateResourceFallbackLocation.Satellite)]

确保using System.Resources;在顶部添加 using 语句。上一行表明您的程序集的中性资源语言是“en-US”,这是一个卫星程序集。

于 2010-02-16T11:12:09.817 回答
0

后备资源应放在 bin 文件夹中的 LanguageText.dll 中。或者,您可以将 System.Resources.NeutralResourcesLanguageAttribute 属性添加到 LanguageText.dll 程序集,并指定在文化不变或给定文化不匹配时使用的默认文化。

生成 nl 程序集,将其命名为 LanguageText.resources.dll,放在 bin/nl 文件夹中。

通过在您的线程上设置文化并使用 ResourceManager 来检索资源来验证这是否有效。

于 2009-01-19T22:30:55.383 回答