指南
国际化(i18n)
One UI 内置 zh-CN 与 en 两套消息字典,覆盖占位符、aria 标签、校验消息、分页文本和空状态等组件默认文案。全局单例 oneI18n 默认使用 zh-CN。
import { oneI18n } from '@geektech/one';
oneI18n.setLocale('en');切换语言后,已挂载组件的默认文案会自动重渲染为英文;显式传入的 props 始终优先于翻译后的默认值。
翻译组件默认文案
import { OneEmpty, oneI18n } from '@geektech/one';
const empty = new OneEmpty(); // 内置中文默认 / built-in zh-CN default
const custom = new OneEmpty({ description: 'No results' }); // prop 优先 / prop wins
oneI18n.setLocale('en');自定义消息
通过 mergeMessages 合并进内置字典,或使用 createOneI18n 创建完全隔离的实例。
import { createOneI18n, oneI18n } from '@geektech/one';
oneI18n.mergeMessages({
'zh-CN': { 'app.greeting': '你好,{name}!' },
en: { 'app.greeting': 'Hello, {name}!' },
});
console.log(oneI18n.t('app.greeting', { name: 'One' }));
const custom = createOneI18n({ locale: 'en' }); // 隔离实例 / isolated instance