C#: 如何在不重新构建的情况下更改资源文件?

6
对于一个Asp.Net MVC 3应用程序,我将使用资源文件来存储我的I18N(如何)。
不是我翻译所有语言中的所有字段,我只需要创建一个语言并为另外两种语言创建空语言文件。在实现中,我将使用这三个文件。
因此,在开发中,我没有任何问题,但在创建网站之后,客户将翻译所有这些字段。我找到了一个很棒的应用程序,可以将一个resx翻译成另一个( SimpleResxEditor )。但现在,客户如何在asp.net网站中更改此resx文件而没有Visual Studio?是否有一种方法在Visual Studio中指定我们使用“非嵌入式”资源文件,并且更改此文件将立即生效?
1个回答

5

首先,您需要通过resgen创建资源文件:

resgen InternationalResources.resx

输出文件是 .resources 文件。

在此之后,你需要通过 al.exe 将资源链接到程序集中:

al.exe 
/t:lib 
/culture:de-AT 
/out:"\LocalizeableConsole.resources.dll" 
/embed:InternationalResources.resources,LocalizeableConsole.InternationalResources.de-AT.resources 
/template:"LocalizeableConsole.exe"
/keyf:KeyFile.snk

这实际上是将 .resources 文件放入程序集中了吗? - yas4891
是的,确实如此。但汇编语言不必重新编译,只需集成新的语言字符串即可。 - Chris U
有没有任何方法可以避免这种处理?是通过让那些resx文件不编译来实现的吗? - J4N
我没有找到任何东西。这是我们的做法。我们将命令放入一个批处理文件中,如果需要,客户就会执行它。 - Chris U
1
这两个工具(resgen和al)提供了什么功能? - J4N
1
他们可以使用.NET Framework SDK。 - Chris U

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接