国际化 Provider
@astryxdesign/core v0.7.1 · InternationalizationProvider
属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
locale | string | — | 当前语言,用 BCP 47 标签,例如 "en"、"pt"、"pt-BR"、"zh-Hans"。带地区的标签会先退回它的基础语言,最后退回内置英文。必填。 |
messages | ProviderMessagesByLocale | — | 「语言标签 → 目录」的映射,目录的键就是原版那套 @astryx.*。给了就替换这门语言的内置文案。内置的 "en" 和 "zh-CN" 一直都在,不用列进来。 |
overrides | ProviderOverrides | — | 按语言存的稀疏覆盖,盖在 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 推导。 |
ProviderMessagesByLocale | Record<string, AstryxUpstreamCatalog> | messages 的类型。目录本身是 Record<string, string | { defaultMessage: string }>,键是 @astryx.*。 |
ProviderOverrides | ProviderMessagesByLocale | overrides 的类型。 |
原生属性
组件本身不渲染元素,class 和 style 不会传下去。