SharePoint中,单个站点实现多语言一直是一个难点,没有见过什么解决方案,最近稍微有点时间做个这么个东西。

实现原理:

利用HttpModule动态切换当前线程语言。
利用HttpModule拦截所有Html输出,利用正则表达式进行替换,在站点中所有需要切换语言的地方,都采用 $$ 进行标识,然后在一个网站列表中配置语言翻译,每个栏作为一种语言。

利用这个项目的支持,可以实现网站动态内容(列表名,栏名,导航菜单)和静态内容的语言切换。

代码已经全部迁入到codeplex上,需要的朋友可以去下载:

http://spml.codeplex.com/SourceControl/ListDownloadableCommits.aspx

若只是试用功能,这儿可以下载dll和文档:

http://spml.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35117

配置方法见Readme文件。

--------------------

看一下效果:

这是一个中文的站点:

image

切换成英文:

image

翻译配置:

image

去掉用户翻译的MultiLanSupportModule后,看看站点原貌:‘

image

除了采用站点右上角的语言切换控件,还可以通过IE设置切换:

image

posted on 2009-10-29 21:01  jianyi  阅读(1914)  评论(10编辑  收藏  举报