@qin-ui/antd-vue-pro 2.2.3 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AI-CONTEXT.md +89 -251
- package/README.md +27 -26
- package/api.json +7 -1
- package/bin/init-ai.mjs +133 -41
- package/es/antd-vue-pro.css +13 -13
- package/es/components/component-provider/components/index.vue.d.ts +8 -0
- package/es/components/component-provider/components/index.vue.d.ts.map +1 -1
- package/es/components/component-provider/constants/index.d.ts.map +1 -1
- package/es/components/form/components/BaseField/index.vue.d.ts.map +1 -1
- package/es/components/form/components/BaseField/utils/index.d.ts +3 -1
- package/es/components/form/components/BaseField/utils/index.d.ts.map +1 -1
- package/es/components/table/components/ColumnControl.vue.d.ts +2 -1
- package/es/components/table/components/ColumnControl.vue.d.ts.map +1 -1
- package/es/components/table/components/ProTable.vue.d.ts +3 -2
- package/es/components/table/components/ProTable.vue.d.ts.map +1 -1
- package/es/components/table/components/SearchForm.vue.d.ts.map +1 -1
- package/es/components/table/components/SizeControl.vue.d.ts.map +1 -1
- package/es/components/table/types/index.d.ts +25 -0
- package/es/components/table/types/index.d.ts.map +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.d.ts.map +1 -1
- package/es/index.js +200 -103
- package/es/index.js.map +1 -1
- package/es/locale/index.d.ts +28 -0
- package/es/locale/index.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/components/component-provider/components/index.vue +16 -1
- package/src/components/component-provider/constants/index.ts +4 -7
- package/src/components/form/components/BaseField/index.vue +10 -4
- package/src/components/form/components/BaseField/utils/index.ts +33 -3
- package/src/components/table/components/ColumnControl.vue +91 -38
- package/src/components/table/components/ProTable.vue +47 -13
- package/src/components/table/components/SearchForm.vue +6 -3
- package/src/components/table/components/SizeControl.vue +9 -5
- package/src/components/table/types/index.ts +26 -0
- package/src/index.ts +1 -0
- package/src/locale/index.ts +71 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* antd-vue-pro locale 模块
|
|
3
|
+
*
|
|
4
|
+
* @description 提供 useLocale 组合式函数与语言包。
|
|
5
|
+
* 语言自动跟随宿主应用的 ant-design-vue `a-config-provider` locale 切换,
|
|
6
|
+
* 也可通过 ProComponentProvider 的 `locale` prop 覆盖任意文案。
|
|
7
|
+
*/
|
|
8
|
+
import {
|
|
9
|
+
computed,
|
|
10
|
+
inject,
|
|
11
|
+
toValue,
|
|
12
|
+
type InjectionKey,
|
|
13
|
+
type MaybeRef,
|
|
14
|
+
} from 'vue';
|
|
15
|
+
import {
|
|
16
|
+
zhCN,
|
|
17
|
+
zhTW,
|
|
18
|
+
enUS,
|
|
19
|
+
format,
|
|
20
|
+
resolveLocaleName,
|
|
21
|
+
type ProLocale,
|
|
22
|
+
type ProLocaleName,
|
|
23
|
+
} from '@qin-ui/pro-components-core';
|
|
24
|
+
import { useConfigContextInject } from '../shared/ui';
|
|
25
|
+
|
|
26
|
+
export { zhCN, zhTW, enUS };
|
|
27
|
+
|
|
28
|
+
export type { ProLocale };
|
|
29
|
+
|
|
30
|
+
/** ProComponentProvider 通过该 key 注入局部覆盖文案 */
|
|
31
|
+
export const LOCALE_INJECT_KEY: InjectionKey<
|
|
32
|
+
MaybeRef<Partial<ProLocale> | undefined>
|
|
33
|
+
> = Symbol('pro-locale');
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* 获取响应式 locale 文案
|
|
37
|
+
*
|
|
38
|
+
* @description 返回 `t` 翻译函数与当前语言名。
|
|
39
|
+
* `t` 在 computed / 模板中调用时会随宿主语言切换自动更新。
|
|
40
|
+
*
|
|
41
|
+
* @returns
|
|
42
|
+
* - `t(key, params?)` - 翻译函数,支持 `{placeholder}` 参数
|
|
43
|
+
* - `lang` - 当前解析出的语言名('zh-CN' | 'zh-TW' | 'en-US')
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* const { t } = useLocale();
|
|
48
|
+
* t('table.query') // '查询' / '查詢' / 'Search'
|
|
49
|
+
* t('pagination.total', { total: 100 }) // '共 100 条'
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export const useLocale = () => {
|
|
53
|
+
const config = useConfigContextInject();
|
|
54
|
+
const override = inject(LOCALE_INJECT_KEY, undefined);
|
|
55
|
+
|
|
56
|
+
const lang = computed<ProLocaleName>(() =>
|
|
57
|
+
resolveLocaleName(config.locale?.value?.locale)
|
|
58
|
+
);
|
|
59
|
+
const pack = computed<Record<string, string>>(() =>
|
|
60
|
+
lang.value === 'zh-TW' ? zhTW : lang.value === 'en-US' ? enUS : zhCN
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
const t = (key: string, params?: Record<string, string | number>): string => {
|
|
64
|
+
const overrides = toValue(override) as Record<string, string> | undefined;
|
|
65
|
+
const text =
|
|
66
|
+
overrides?.[key] ?? (pack.value as Record<string, string>)[key] ?? key;
|
|
67
|
+
return format(text, params);
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
return { t, lang };
|
|
71
|
+
};
|