Skip to content

国际化 Provider

@astryxdesign/core v0.7.1 · InternationalizationProvider

属性 ​

属性类型默认值说明
localestring—当前语言,用 BCP 47 标签,例如 "en"、"pt"、"pt-BR"、"zh-Hans"。带地区的标签会先退回它的基础语言,最后退回内置英文。必填。
messagesProviderMessagesByLocale—「语言标签 → 目录」的映射,目录的键就是原版那套 @astryx.*。给了就替换这门语言的内置文案。内置的 "en" 和 "zh-CN" 一直都在,不用列进来。
overridesProviderOverrides—按语言存的稀疏覆盖,盖在 messages 那份目录上;没有目录时就盖在内置文案上。按语言分开存,运行时换语言会自动用上对的那一份。
dir'ltr' | 'rtl'按 locale 推导显式指定书写方向。不传就按语言标签推导。它只决定 Astryx 组件读到的方向,不会去设 DOM 的 dir 属性;<html> 或外层元素的 dir 要自己设,并且和这里保持一致。

插槽 ​

插槽说明
default使用这份语言、目录和方向的子树。

其它导出 ​

导出类型说明
getLocaleDirection(locale: string) => 'ltr' | 'rtl'按语言标签算书写方向。运行时支持 Intl.Locale#getTextInfo 就用它,否则查一张从右往左的语言表。解析不了的标签按 'ltr' 处理。
useLocaleDirection() => ComputedRef<'ltr' | 'rtl'>读最近一层 provider 的方向;没有 provider 时按最近的 locale 推导。
ProviderMessagesByLocaleRecord<string, AstryxUpstreamCatalog>messages 的类型。目录本身是 Record<string, string | { defaultMessage: string }>,键是 @astryx.*。
ProviderOverridesProviderMessagesByLocaleoverrides 的类型。

原生属性 ​

组件本身不渲染元素,class 和 style 不会传下去。