我正在ASP.NET(2.0),VS2005中编写一个Web应用程序.开发新应用程序(而不是使用现成的现成解决方案)的主要原因是我需要完全支持至少两种语言(即前端和数据).我正在寻找在ASP.NET中处理i18n的
显然.NET提供了自己的i18n机制,我以前一直在使用它们,但并没有给人留下太深刻的印象 – 我认为它不能用于在C和 Java的几个大型开源项目中使用的文本.
我正在寻找满足以下要求的解决方案:
>所有翻译都集中在一个地方
>添加新语言很容易
>翻译不需要VS,可以由相当缺乏经验的用户(翻译)完成
>发现可用的语言
>对原始字符串的更改很容易级联到现有翻译
>支持复数形式(ngettext)
(更多想法?)
我不确定你对常规的 Globalization和 Localization有什么,你已经说过你已经使用过了..Net本地化在我用过它的项目上运行良好,而没有修改核心原则.它到底是怎么回事?
例如,您列出的功能可以使用ASP.Net Globalization Framework完成.
>所有翻译都收集在您的资源(.resx)文件中.哪个可以插入单个或多个程序集中.
>添加语言就像添加具有正确文化前缀的资源文件一样简单.这也可以是单独的文件或嵌入式资源.
>根据您的方案,翻译不需要Visual Studio.资源文件(.resx)是XML文件.如果嵌入资源文件,则只需重新编译.
>支持语言发现,支持“级联”翻译.
>可能必须使用逻辑来处理复数,但这似乎很容易解决.
最后,如果这些都不适合您,那么您可以通过Extend the Resource Provider Model从您选择的任何来源获取本地化文本.