2025年12月 1 分钟阅读
做三语站点而不抓狂
关于基于 URL 的语言、编译期文案,以及为什么 document 的 lang 属性不可省略。
i18nSvelteKit
i18n 最大的错误是把语言当作运行时状态。把它放进 URL。每种语言都有一个真实、可抓取、可分享的地址,hreflang 也不再靠猜。
编译期的文案目录会把「缺翻译」变成构建错误,而不是线上的空白。一个带类型的文案函数长这样:
import * as m from '$lib/paraglide/messages';
// 在构建时求值——缺 key 会让构建失败,而不是页面空白
const title = m.site_title();
const read = m.min_read({ minutes: 6 });
还有——给每个页面设置 html 的 lang 属性。屏幕阅读器据此选择语音,搜索引擎据此信任你。一个声明为英文的日文页面就是 bug,哪怕每个可见的词都正确。
评论
正在加载评论…