SVG文件可以使用systemLanguage
元素内的<switch>
属性来包含多种语言的文本(待显示)。参见例如:
这对于在多语言网站上显示图表非常方便:我只需要使用<img>
标签将图像包括在内,浏览器就会根据浏览器中选择的语言自动以正确的语言显示文本设置。
但是,通常仅依靠浏览器设置是不好的,因为用户可能希望以其他语言查看网站,并且要求他们摸索设置是不切实际的。因此,大多数站点都提供了一种切换显示语言的方法。例如:
如果要提供这种类型的语言切换,如何切换多语言SVG文件的显示语言?我没有找到允许更改浏览器选择的显示语言的HTML标记,DOM API或类似标记。
或者我必须在服务器端执行此操作?显然这是可能的,但是相当不雅。
该问题也被Wikimedia项目注意到-参见T60920 - lang support for SVG images using SystemLanguageAttribute ill-defined and not properly supported in browsers。
tl; dr:
在浏览器中显示多语言SVG(使用systemLanguage
)时,我可以在不弄乱SVG文件本身的情况下影响SVG的显示语言吗?SVG文件可以使用
[如果您不想依靠浏览器(如您所说),则无论如何都要将图像渲染为png(针对每种语言),并将其嵌入为PNG,就像Wikipedia / Wikimedia那样。特别是多语言文件不受浏览器的完全支持,并且呈现方式可能有所不同(在Chrome和Firefox和Internet Explorer之间,...)
但是,如果要以特定语言嵌入SVG,则将其作为多语言文件嵌入没有任何意义。