最终用户希望动态地将语言添加到他的网站

Yoe*_*eri 5 c# localization dynamic razor asp.net-mvc-3

我们必须使用C#为我们的ASP.NET客户端构建一个事件注册网站.其中一个要求是客户希望使用en excel文件自己将新的外语添加到他的网站.我知道如何在Visual Studio中使网站多语言,但我不知道如何在代码中基于excel文件生成资源文件.我还注意到VS生成了一个名为Resource.en.designer.cs的第二个文件,但我找不到任何文档如何生成该文件.

顺便说一句,最终用户与IT有关.(显然)他知道自己在excel周围的方式.

任何帮助表示赞赏!

Yoeri

编辑:!Robert Levy提供了一个很好的方法!如何:

第1步:读取excel文件(使用OleDBAdapter对我来说是最好的方法,因为你可以使用列标题等)以这种格式将语言写入txt文件:KEY = TRANSLATION没有空格或其他任何内容

第2步:在您的计算机上找到ResGen.exe(它随Visual Studio一起提供,所以看起来像c:\ program files\visual studio\sdk ...但是我发现它@ C:\ Program Files(x86)\ Microsoft SDKs \的Windows\v7.0A\BIN\ResGen.exe)

第3步:

使用Process.Start("resgen.exe")提示调用exe :使用ProcesStartInfo进行简单的参数和首选项设置

(第4步:)

将文件移动到所需位置(我发现App_GlobalResources工作正常)

第5步:

将用户currentUIculture设置为您想要的文化!

Rob*_*evy 2

ResGen.exe 将为您编译资源文件。您可以让他以该工具使用的格式提供文本文件,也可以编写您自己的代码从 Excel 中提取以生成文本文件。然后只需调用此 EXE 并部署新生成的资源 DLL。我假设您已经知道如何从资源文件中读取内容并根据用户偏好使用适当的文件。

http://msdn.microsoft.com/en-us/library/ccec7sz1.aspx