实际上,主题设置可以通过 CSS 访问,但无法进行主题翻译。
如果能使其可翻译就太好了。
例如,在 DiscoTOC 主题组件中,我们有以下设置:
在 CSS 中使用:
通过 CSS 添加文本是一种不得已的变通方案,因为它不具备可访问性。我认为我们不应通过提供额外功能来支持这种做法,从而变相鼓励它。
不过,通过插件能否实现这样的功能呢?
一个用于在 SCSS 中启用翻译的插件……理论上什么都有可能实现,但会非常混乱。例如,你需要为每种语言环境分别编译不同的 CSS 资源。我强烈建议不要尝试这样做。
一个可能的想法……但绝非推荐(也就是说,如果你尝试这样做,后果自负 :P)
你可以在主题 JavaScript 中这样操作:
document.documentElement.style.setProperty('--my-translation-name', `"${ I18n.t(themePrefix("my-translation-name")) }"`);
然后在 CSS 中:
&:before {
content: var(--my-translation-name);
}
这可能会以多种方式失效——如果你在翻译中放入引号或特殊字符,就会出错。如果你在 IE11 中尝试使用它,也会出错。
我也不支持在主题 CSS 中提供翻译访问权限 ![]()
至于你帖子中的示例 @evantill,该主题组件的下一个更新将移除它。
此主题在 3 小时后自动关闭。不再允许新回复。