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

本文关键字:添加 网站 动态 语言 用户 希望 | 更新日期: 2023-09-27 17:48:56

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

顺便说一句,最终用户与IT无关。不过(显然(他知道自己的方法。

感谢您的帮助!

Yoeri

编辑:!罗伯特·利维提供了一个好方法!如何:

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

步骤2:在您的计算机上找到ResGen.exe(它是Visual Studio附带的,所以看起来像c:''program files''Visual Studio''sdk…但是我在c:''program files(x86(''Microsoft sdk''Windows''v7.0A''Bin''ResGen.exe中找到了它(

第三步:

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

(步骤4:(

将文件移动到您想要的位置(我发现App_GlobalResources工作得很好(

第5步:

将用户currentUIculture设置为您想要的区域性!

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

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

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

这可能是您希望使用数据库资源而不是简单的resx文件的地方。仅用Excel数据填充数据库表比将其转换为标准resx文件更容易(如果MS决定修改文件格式,将来可能会出现问题(。

因此,我建议您编写自己的ResourceReader,它将从数据库加载字符串(它也可以直接从Excel加载,但出于多种原因,我不推荐这种方法(。

您应该询问最终用户是否真的需要"随时"获得另一种语言,以及他们希望添加多少种语言。

否则,通过电子邮件将Excel文件发送给您并手动创建资源文件可能是迄今为止最便宜的解决方案。。。。