Sitecore本身可以很方便的对各类文字类型的数据进行多语言的管理,除了默认的英语以外,只需要在sitecore中增加一个语言,例如中文,那么所有在~/sitecore/content下的项都可以创建中文版本。
这对文字类型的数据进行多语言的管理非常方便。但实际上,对于“数据”类的图片,我们也可以并且也应该进行“多语言”的管理。
这里我对“数据”类的图片是指包含了“数据”的图片,为了和用以做布局的背景图一类的图片做区分。
例如产品的照片里,出现不同的语言文字是很常有的;甚至针对不用语言地区的用户,产品的包装都是不同的。
而sitecore的media library里上传图片,默认的类型是unversioned的,即不分版本的。这样的结果是:
- 对于“同一张”图片的“不同版本”,我们需要上传多张图片,并且这些图片在media library中是多个项。例如同一产品的图片,英文版和中文版,是2个独立的项,互相之间没有联系。
- 在我们编辑“产品”项的英文版时,我们引用了图片A(该产品图的英文版),而仍然是同样这个产品,在我们编辑中文版时,需要引用图片B(该产品图的中文版)。对同一个图片项需要进行多次引用。
- 在产品图片很多的时候,media library中将出现非常多的图片,日渐难以管理。例如:Product_1_en.jpg, Product_1_cn.jpg, Product_2_en.jpg, Product_2_cn.jpg等等。
解决的方法是,我们先在Media library中选择当前语言版本为英文,使用Upload Files(Advanced)上传一个产品的英文版图片,并且勾选"Make Uploaded Media Items Versionable",这样我们上传上的图片则是带有版本区分。成功后点击右上角的语言切换图标切换到中文版,再Attach一张该产品的中文图片即可。这样做的结果是:
- “同一张”图片在Media library中只会出现一项,在多语言环境中极大的减少了项的数目。
- 不同语言版本的图片有统一的关联。
- 更大的好处是,我们只需要在“产品”项中链接一次该图片项,以后在我们切换产品项的语言版本时,图片会自动跟随着一起切换语言版本。