MSDN 在线文档库是如何实现站点内容数据多语言版本的?
如题,大家一定注意到自从 ASP.NET 2.0 以来,MSDN (http://msdn.microsoft.com) 已经很弓虽了,特别是本地化与站点导航
标准 URL 包含区域码,将直接进入特定语言区域,
http://msdn.microsoft.com (默认浏览器设置语言)
http://msdn.microsoft.com/en-us
http://msdn.microsoft.com/zh-cn
http://msdn.microsoft.com/zh-tw
这个更强,如果你熟悉 .NET BCL 你将很容易导航到目标类:
http://msdn.microsoft.com/zh-cn/library/system.web.ui.page.aspx (默认对应最新版本,就是 .NET 3.5)
http://msdn.microsoft.com/zh-cn/library/system.web.ui.page(VS.90).aspx (.NET 3.5)
http://msdn.microsoft.com/zh-cn/library/system.web.ui.page(VS.85).aspx (.NET 3.0)
http://msdn.microsoft.com/zh-cn/library/system.web.ui.page(VS.80).aspx (.NET 2.0)
http://msdn.microsoft.com/zh-cn/library/system.web.ui.page(VS.71).aspx (.NET 1.1)
我猜测以上已经归功于 ASP.NET 2.0 内置支持的全球化与本地化支持,在加上 URL 重写
我不清楚的是,对于 library 这部分,其文档内容本身(注意,不是那些 Title, Text, Caption, Button 等资源,而是内容本身)后台数据源到底是如何存储的?
总不能还是直接 .resx 来存储吧?那样就太难维护了,要知道每个版本的 MSDN 文档库都有几个G。
再说,MSDN 有脱机安装的版本,在线版本与脱机安装版本应该从同一个存储源提取的。
如果是这样,在线版本是否根据 UICulture 属性自动提取?至于是否使用 System.Resources 接口就不见得有必要了
如果是这样,那里面的交叉引用链接是如何维护的?因为所有的链接,在线版本对应在线的,本地安装会对应本地的。
大家都来说说,让你设计这样一同文档库系统,会采取什么解决方案?