sharepoint list template导出后会生成一个.stp文件,文件中包含的语言属性会与网站语言一致。
如果你的导入template的网站和template所带的语言不一致,虽然这个template可以导入,但是在Create List中无法使用该template。
通过7zip打开这个文件可以发现一个manifest.xml文件。
打开manifest.xml文件,其中可以看到<Language>标签。其中:1033为英文,2052为中文。
如果想修改template的语言,应该直接修改这个标签就可以了。问题是修改完之后,如果把它放入stp文件中。
=====
stp文件应该是一个压缩文件(不然7zip怎么能打开呢),我们现在需要做的应该是将一个xml文件压缩到stp中去。
那stp到底是一个什么压缩格式?
如果尝试将文件后缀stp改为cab,会发现通过7zip仍然可以打开,所以这应该是一个cab压缩文件。
知道了压缩格式,如果压缩?
找到微软官网(参考2),发现“The original Cabinet SDK download is no longer available”。官方的SDK已经不支持了。但是在命令行尝试输入“makecab /?”,还是可以使用的。
接下来,就是使用makecab命名来压缩文件了(下面是傻瓜式步骤)。
1.首先新建一个文件夹“mylist”,并将修改好的“manifest.xml”放入其中。
2.新建一个文件“definition.ddf”(注意文件后缀名),打开此文件,将下面代码复制到文件中:
; DIAMOND Directive File (.ddf) .OPTION EXPLICIT ; Generate errors on variable typos .Set CabinetNameTemplate=mylist.stp .Set Cabinet=on .Set Compress=on ;The files specified below are stored, compressed, in the cabinet file ;30000000.000 manifest.xml
3.在命令行中,指定到刚刚创建的文件夹,然后输入以下命令:
makecab /f definition.ddf
4.执行完成后,该文件夹会生成如下文件:
5.在disk1文件夹中找到“mylist.stp”文件,这就是你想要的了。
参考:
1.http://blogbaris.blogspot.com/2012/05/copy-sharepoint-lists-between-sites.html
2.https://support.microsoft.com/en-us/kb/310618