我在一个网站上实现了一个语言插件,你知道排序点击它会将所有内容更改为阿拉伯语、俄语……等等(我知道现代浏览器已经为此内置了功能,但我们选择了这种方式。 )
我在徘徊的是我们如何处理字体,如果我们的正常网站正在使用
font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
如果它无法以上述字体呈现新文本,它会退回到浏览器默认值吗?
或者有没有办法在翻译完成后指定字体?
我在一个网站上实现了一个语言插件,你知道排序点击它会将所有内容更改为阿拉伯语、俄语……等等(我知道现代浏览器已经为此内置了功能,但我们选择了这种方式。 )
我在徘徊的是我们如何处理字体,如果我们的正常网站正在使用
font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
如果它无法以上述字体呈现新文本,它会退回到浏览器默认值吗?
或者有没有办法在翻译完成后指定字体?
当页面上的字符无法在适用font-family
列表中首先列出的字体中找到时,浏览器应进一步扫描列表,并最终在需要时以与浏览器相关的方式回退到扫描系统中的其他字体。但是,众所周知,浏览器(尤其是 IE)在这里会失败,此外,该过程可能会导致混合字体,甚至是单个单词中来自不同字体的字符。
因此,您应该做出合理的努力,以确保font-family
列表中列出的任何字体对于页面文本来说都是足够的,至少对于字母来说(特殊符号通常可以从不同的字体中挑选出来,而不会造成风格混乱)。对于翻译成“任何”语言的小部件来说,这几乎是不可能的。
我想你指的是使用像谷歌网站翻译这样的服务。除了出于商业目的产生通常不好的翻译外,它还可能会弄乱页面的标记,也可能会影响字体问题。例如,它似乎插入了相当无意义font
的标记,这可能会阻止您的字体设置正常工作。此外,它没有正确设置lang
翻译结果中的属性(但保留了原始lang
属性!),因此您甚至不能期望浏览器正确使用其特定于语言的默认字体。
当您说“我知道现代浏览器为此内置了功能,但我们选择这样做”时,我不确定您指的是什么——浏览器并没有真正提供语言选择。
然而,我的团队开发了一个可重用的 JavaScript 库,它可以做到这一点,它也处理字体:
您可以使用它,也可以从中汲取灵感来实施。