From ef127d12e05f23665a328cfd076d2a4b1310d664 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Tue, 22 Jul 2025 14:45:07 +0800 Subject: [PATCH 01/12] =?UTF-8?q?fix:=20=E8=A1=A8=E5=8D=95=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E6=97=B6=E5=B7=A5=E5=85=B7=E7=AE=B1=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=A4=9A=E8=AF=AD=E8=BE=93=E5=85=A5=E6=A1=86=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/components/types/toolbox/pc-toolbox.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/designer/src/components/types/toolbox/pc-toolbox.json b/packages/designer/src/components/types/toolbox/pc-toolbox.json index fe406f53b40..8eb50499ca9 100644 --- a/packages/designer/src/components/types/toolbox/pc-toolbox.json +++ b/packages/designer/src/components/types/toolbox/pc-toolbox.json @@ -14,7 +14,7 @@ "type": "language-textbox", "name": "多语输入框", "category": "input", - "hideInControlBox": true + "hideInControlBox": false }, { "id": "MultiTextBox", -- Gitee From 185c4144014027a14e47ffa395b237e24167bc82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Wed, 23 Jul 2025 19:35:01 +0800 Subject: [PATCH 02/12] =?UTF-8?q?fix:=20lookup=E4=B8=8B=E6=8B=89=E5=B8=AE?= =?UTF-8?q?=E5=8A=A9=E4=BF=AE=E5=A4=8D=E5=B7=B2=E7=9F=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../button-edit/src/composition/use-popup.ts | 5 +-- .../components/popup-container.component.tsx | 10 ++++-- .../src/components/popup-container.props.ts | 5 ++- .../lookup/src/composition/use-datagrid.tsx | 1 + .../lookup/src/composition/use-dialog.ts | 16 +++++++--- .../lookup/src/composition/use-popup.tsx | 31 ++++++++++++++----- .../lookup/src/composition/use-treegrid.tsx | 1 + .../lookup/src/composition/use-treenode.ts | 2 ++ .../lookup/src/lookup.component.tsx | 14 +++++++-- .../property-config/lookup.property-config.ts | 8 ++--- 10 files changed, 69 insertions(+), 24 deletions(-) diff --git a/packages/ui-vue/components/button-edit/src/composition/use-popup.ts b/packages/ui-vue/components/button-edit/src/composition/use-popup.ts index 5b4b55456cd..65ac09838f7 100644 --- a/packages/ui-vue/components/button-edit/src/composition/use-popup.ts +++ b/packages/ui-vue/components/button-edit/src/composition/use-popup.ts @@ -26,8 +26,9 @@ export function usePopup( if (window[popoverInstancesListKey]) { const popoverInstances = window[popoverInstancesListKey]; document.querySelectorAll('.f-button-edit,.v-popover').forEach((element) => { - if (popoverInstances.get(element) && element !== buttonEditRef.value) { - popoverInstances.get(element).hide(); + const popoverInstance = popoverInstances.get(element); + if (popoverInstance && element !== buttonEditRef.value && !buttonEditRef.value.closest('.popover-fitcontent')) { + popoverInstance.hide(); } }); } diff --git a/packages/ui-vue/components/lookup/src/components/popup-container.component.tsx b/packages/ui-vue/components/lookup/src/components/popup-container.component.tsx index 9c9d5807636..0c27ec26307 100644 --- a/packages/ui-vue/components/lookup/src/components/popup-container.component.tsx +++ b/packages/ui-vue/components/lookup/src/components/popup-container.component.tsx @@ -5,16 +5,19 @@ import { useTreegrid } from "../composition/use-treegrid"; import { useDatagrid } from "../composition/use-datagrid"; import { LookupHttpResult } from "../composition/types"; import { LOOKUP_TREEROW_OPTIONS, useTreeRowOptions } from "../composition/use-treegrid-row-options"; +import { LOOKUP_LOCALES, LookupLocaleData } from "../composition/use-locales"; +import { useSearchbar } from "../composition/use-search-bar"; export default defineComponent({ name: 'FLookupPopupContainer', props: lookupPopupContainerProps, - emits: [], + emits: ['selectItemsChanged'], setup(props: LookupPopupContainerProps, context) { + const lookupLocales = props.locales as LookupLocaleData; const { lookupStates, getIdQueryParams } = props.useHttpComposition; - const { lookupState, navigationState, queryState, lookupOptions} = lookupStates; const { isTreeList } = useCheckProps(props, lookupStates); + const { renderSearchBar } = useSearchbar(props, false, lookupStates, lookupLocales); const popupContainerStyle = computed(() => { return { @@ -83,7 +86,8 @@ export default defineComponent({ return () => { - return
+ return
+ {lookupOptions.multiSelect && renderSearchBar()} {renderDataComponent.value()} {/*
*/}
; diff --git a/packages/ui-vue/components/lookup/src/components/popup-container.props.ts b/packages/ui-vue/components/lookup/src/components/popup-container.props.ts index 965c60f3be2..a79511f6375 100644 --- a/packages/ui-vue/components/lookup/src/components/popup-container.props.ts +++ b/packages/ui-vue/components/lookup/src/components/popup-container.props.ts @@ -39,6 +39,9 @@ export const lookupPopupContainerProps = { disable: true } }, - cascadeStatus: { type: String, default: 'both' } + cascadeStatus: { type: String, default: 'both' }, + enableSearchBar: { type: Boolean, default: true }, + searchAnyField: { type: Boolean, default: true }, + locales: { type: Object, default: {} } }; export type LookupPopupContainerProps = ExtractPropTypes; diff --git a/packages/ui-vue/components/lookup/src/composition/use-datagrid.tsx b/packages/ui-vue/components/lookup/src/composition/use-datagrid.tsx index 53beabb9326..4c68b1ec5ad 100644 --- a/packages/ui-vue/components/lookup/src/composition/use-datagrid.tsx +++ b/packages/ui-vue/components/lookup/src/composition/use-datagrid.tsx @@ -112,6 +112,7 @@ export function useDatagrid(props: LookupProps, context: SetupContext, navigatio } updateSelections(items); + context.emit("selectionsChanged", { items }); } function onUnSelectItem(items: any) { diff --git a/packages/ui-vue/components/lookup/src/composition/use-dialog.ts b/packages/ui-vue/components/lookup/src/composition/use-dialog.ts index 088bb9144e3..17b4ca4c8ff 100644 --- a/packages/ui-vue/components/lookup/src/composition/use-dialog.ts +++ b/packages/ui-vue/components/lookup/src/composition/use-dialog.ts @@ -49,7 +49,7 @@ export function useDialog( const NOTIFY_OPTIONS = { position: 'top-center' as const }; - async function updateModelValue() { + const setModelAndIdValue = () => { const displayText = selectedItems.value.map((item: any) => { return resolveField(item, lookupOptions.textField); }).join(props.separator); @@ -63,12 +63,18 @@ export function useDialog( context.emit('update:modelValue', displayText); context.emit('update:idValue', idValues); + }; + + const runDictPickedAsync = async () => { const mappingInfo = { items: selectedItems.value, mappingFields: lookupOptions.mappingFields }; context.emit('update:dataMapping', mappingInfo); - useContext(props, mappingInfo); - return await dictPicked(mappingInfo); + }; + + async function updateModelValue() { + setModelAndIdValue(); + return await runDictPickedAsync(); } function cancelDialog() { @@ -289,6 +295,8 @@ export function useDialog( updateModelValue, cancelDialog, submitDialog, - destroyed + destroyed, + setModelAndIdValue, + runDictPickedAsync }; } diff --git a/packages/ui-vue/components/lookup/src/composition/use-popup.tsx b/packages/ui-vue/components/lookup/src/composition/use-popup.tsx index eab556efd1c..0de0f25b413 100644 --- a/packages/ui-vue/components/lookup/src/composition/use-popup.tsx +++ b/packages/ui-vue/components/lookup/src/composition/use-popup.tsx @@ -7,7 +7,8 @@ import { LOOKUP_USER_DATA_SERVICE } from "./use-user-data"; import { LOOKUP_TREEROW_OPTIONS, useTreeRowOptions } from "./use-treegrid-row-options"; export function usePopup(props: LookupProps, context, elementRef: Ref, { - useHttpComposition, selectionsManager, userDataService, updateModelValue + useHttpComposition, selectionsManager, userDataService, updateModelValue, lookupLocales, destroyed, + setModelAndIdValue, runDictPickedAsync }) { provide(LOOKUP_USER_DATA_SERVICE, userDataService); @@ -18,6 +19,7 @@ export function usePopup(props: LookupProps, context, elementRef: Ref, { const treeRowOptions = useTreeRowOptions(lookupOptions, false); provide(LOOKUP_TREEROW_OPTIONS, treeRowOptions); + const {idValues} = useHttpComposition; const isPopuped = computed(() => { const popoverInstance = elementRef.value?.popoverRef; @@ -34,10 +36,8 @@ export function usePopup(props: LookupProps, context, elementRef: Ref, { if (props.openType === 'Popup') { watch(() => selectedItems.value, (newValue) => { if (isPopuped.value) { - if (!props.multiSelect){ - hidePopup(); - } else { - updateModelValue(); + if (props.multiSelect){ + setModelAndIdValue(); } } }); @@ -55,10 +55,20 @@ export function usePopup(props: LookupProps, context, elementRef: Ref, { return elementRef.value?.popoverRef; }); - function onHidePopup() { - updateModelValue(); + async function onHidePopup() { + // const selectedIds = selectedItems.value.map((item: any) => { + // return item[lookupOptions.idField]; + // }).join(props.separator); + + if (!lookupOptions.multiSelect) { + await updateModelValue(); + } else { + await runDictPickedAsync(); + } + isPopuped.value && hidePopup(); queryState.value = ''; + destroyed(); } function showPopup() { @@ -67,13 +77,20 @@ export function usePopup(props: LookupProps, context, elementRef: Ref, { } } + function onSelectionsChanged() { + if (!lookupOptions.multiSelect) { + hidePopup(); + } + } function renderPopup() { const { width, height } = getPopupSize(); return ; } diff --git a/packages/ui-vue/components/lookup/src/composition/use-treegrid.tsx b/packages/ui-vue/components/lookup/src/composition/use-treegrid.tsx index 6e4391a2f16..5e0b1d7e883 100644 --- a/packages/ui-vue/components/lookup/src/composition/use-treegrid.tsx +++ b/packages/ui-vue/components/lookup/src/composition/use-treegrid.tsx @@ -80,6 +80,7 @@ export function useTreegrid(props: LookupProps, context: SetupContext) { function onSelectionChange(items: any[]) { selectTreeNodes(items); + context.emit("selectionsChanged", { items }); } function onUnSelectItem(item: VisualData) { diff --git a/packages/ui-vue/components/lookup/src/composition/use-treenode.ts b/packages/ui-vue/components/lookup/src/composition/use-treenode.ts index bd11b484aa5..6afd3024cd2 100644 --- a/packages/ui-vue/components/lookup/src/composition/use-treenode.ts +++ b/packages/ui-vue/components/lookup/src/composition/use-treenode.ts @@ -177,6 +177,7 @@ export function useTreeNode(lookupStates: LookupStates, useCheckPropsComposition gridRef.addChildrenToNode(children, parentId); + /* nextTick(() => { const itemIds = lookupStates.selectionState.value?.map(item => item[lookupOptions.idField]) ?? []; const selectedIds = children @@ -185,6 +186,7 @@ export function useTreeNode(lookupStates: LookupStates, useCheckPropsComposition selectedIds.length && gridRef.selectItemByIds(selectedIds); }); + */ } diff --git a/packages/ui-vue/components/lookup/src/lookup.component.tsx b/packages/ui-vue/components/lookup/src/lookup.component.tsx index 9c351b767e7..2dd3f43f9e8 100644 --- a/packages/ui-vue/components/lookup/src/lookup.component.tsx +++ b/packages/ui-vue/components/lookup/src/lookup.component.tsx @@ -69,6 +69,10 @@ export default defineComponent({ return props.showSelections && lookupOptions.multiSelect; }); + const editable = computed(() => { + return props.editable && (openType.value === 'Modal' || !lookupOptions.multiSelect); + }); + const showIncludeChildNodes = computed(() => { return props.showIncludeChildNodes && props.showNavigation && !lookupOptions.navTreeToList; @@ -77,7 +81,10 @@ export default defineComponent({ const selectionsManager = useSelections(props, useHttpComposition.lookupStates); const { dictPicked } = useLookupCallBack(props); - const { modalOptions, beforeOpenDialog, dialogSize, customData: customQueryData, updateModelValue, cancelDialog, submitDialog, destroyed } = useDialog(props, context as any, selectionState, { + const { modalOptions, beforeOpenDialog, dialogSize, customData: customQueryData, + updateModelValue, cancelDialog, submitDialog, destroyed, + setModelAndIdValue, runDictPickedAsync + } = useDialog(props, context as any, selectionState, { dictPicked, modelValue, buttonEditInstance: elementRef, userDataService, @@ -85,7 +92,8 @@ export default defineComponent({ lookupLocales }); const usePopupComposition = usePopup(props, context, elementRef, { - useHttpComposition, selectionsManager, userDataService, updateModelValue + useHttpComposition, selectionsManager, userDataService, updateModelValue, lookupLocales, destroyed, + setModelAndIdValue, runDictPickedAsync }); const { renderPopup, showPopup, isPopuped } = usePopupComposition; @@ -257,7 +265,7 @@ export default defineComponent({ v-model={modelValue.value} disable={props.disable} readonly={props.readonly} - editable={props.editable} + editable={editable.value} inputType={"text"} enableClear={props.enableClear} buttonContent={buttonIcon.value} diff --git a/packages/ui-vue/components/lookup/src/property-config/lookup.property-config.ts b/packages/ui-vue/components/lookup/src/property-config/lookup.property-config.ts index 84ddc2678ba..d1e03ae3d20 100644 --- a/packages/ui-vue/components/lookup/src/property-config/lookup.property-config.ts +++ b/packages/ui-vue/components/lookup/src/property-config/lookup.property-config.ts @@ -568,7 +568,7 @@ export class LookupPropertyConfig extends InputBaseProperty { textField: 'text', idField: 'value' }, - visible: false + visible: true }, title: { description: "帮助标题", @@ -817,21 +817,21 @@ export class LookupPropertyConfig extends InputBaseProperty { refreshPanelAfterChanged: true, title: "启用级联选择", type: "boolean", - visible: false // this.isTree(editorOptions) && !!editorOptions.multiSelect + visible: this.isTree(editorOptions) && !!editorOptions.multiSelect }, showCascadeControl: { description: "显示级联选择控件", $converter: lookupDefaultConverter, title: "显示级联选择控件", type: "boolean", - visible: false // !!editorOptions.enableCascade && this.isTree(editorOptions) + visible: !!editorOptions.enableCascade && this.isTree(editorOptions) }, cascadeValue: { description: "级联选择默认状态", $converter: lookupDefaultConverter, title: "级联状态", type: "string", - visible: false, // !!editorOptions.enableCascade && this.isTree(editorOptions), + visible: !!editorOptions.enableCascade && this.isTree(editorOptions), editor: { ...this.comboListEditor, data: cascadeItems, -- Gitee From 246a0e633c1a22f91bc35299186f8b54e41c1844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Thu, 24 Jul 2025 16:01:57 +0800 Subject: [PATCH 03/12] =?UTF-8?q?feature:=20=E8=B0=83=E6=95=B4=E5=9B=BD?= =?UTF-8?q?=E9=99=85=E5=8C=96=E8=B5=84=E6=BA=90=E5=8A=A0=E8=BD=BD=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/composition/use-locales.ts | 58 +++++++++++------ .../date-picker/src/locales/designer/en.json | 0 .../src/locales/designer/zh-CHS.json | 0 .../src/locales/designer/zh-CHT.json | 0 .../date-picker/src/locales/ui/en.json | 57 +++++++++++++++++ .../date-picker/src/locales/ui/zh-CHS.json | 57 +++++++++++++++++ .../date-picker/src/locales/ui/zh-CHT.json | 57 +++++++++++++++++ .../src/locales/designer/en.json | 25 ++++++++ .../src/locales/designer/zh-CHS.json | 25 ++++++++ .../src/locales/designer/zh-CHT.json | 25 ++++++++ .../src/locales/designer/en.json | 11 ++++ .../src/locales/designer/zh-CHS.json | 11 ++++ .../src/locales/designer/zh-CHT.json | 11 ++++ .../field-selector/src/locales/ui/en.js | 0 .../field-selector/src/locales/ui/zh-CHS.json | 0 .../field-selector/src/locales/ui/zh-CHT.json | 0 .../src/locales/designer/en.json | 0 .../src/locales/designer/zh-CHS.json | 0 .../src/locales/designer/zh-CHT.json | 0 .../src/locales/ui/en.json | 38 ++++++++++++ .../src/locales/ui/zh-CHS.json | 38 ++++++++++++ .../src/locales/ui/zh-CHT.json | 38 ++++++++++++ .../src/language-textbox.component.tsx | 12 ++-- .../loading/src/loading.component.tsx | 6 ++ .../components/loading/src/loading.props.ts | 4 +- .../components/loading/src/locales/ui/en.json | 5 ++ .../loading/src/locales/ui/zh-CHS.json | 5 ++ .../loading/src/locales/ui/zh-CHT.json | 5 ++ .../cascade/tree-cascade.component.tsx | 8 ++- .../lookup/src/composition/use-locales.ts | 62 ++++++++----------- .../lookup/src/locales/designer/en.json | 0 .../lookup/src/locales/designer/zh-CHS.json | 0 .../lookup/src/locales/designer/zh-CHT.json | 0 .../components/lookup/src/locales/ui/en.json | 57 +++++++++++++++++ .../lookup/src/locales/ui/zh-CHS.json | 57 +++++++++++++++++ .../lookup/src/locales/ui/zh-CHT.json | 57 +++++++++++++++++ .../src/locales/designer/en.json | 22 +++++++ .../src/locales/designer/zh-CHS.json | 22 +++++++ .../src/locales/designer/zh-CHT.json | 22 +++++++ .../src/composition/use-locales.ts | 8 +-- .../message-box/src/locales/designer/en.json | 0 .../src/locales/designer/zh-CHS.json | 0 .../src/locales/designer/zh-CHT.json | 0 .../message-box/src/locales/ui/en.json | 34 ++++++++++ .../message-box/src/locales/ui/zh-CHS.json | 34 ++++++++++ .../message-box/src/locales/ui/zh-CHT.json | 30 +++++++++ .../src/composition/use-locales.ts | 5 +- .../src/locales/designer/en.json | 0 .../src/locales/designer/zh-CHS.json | 0 .../src/locales/designer/zh-CHT.json | 0 .../number-spinner/src/locales/ui/en.json | 9 +++ .../number-spinner/src/locales/ui/zh-CHS.json | 9 +++ .../number-spinner/src/locales/ui/zh-CHT.json | 9 +++ .../src/locales/designer/en.json | 14 +++++ .../src/locales/designer/zh-CHS.json | 14 +++++ .../src/locales/designer/zh-CHT.json | 14 +++++ packages/ui-vue/package.json | 3 +- 57 files changed, 906 insertions(+), 72 deletions(-) create mode 100644 packages/ui-vue/components/date-picker/src/locales/designer/en.json create mode 100644 packages/ui-vue/components/date-picker/src/locales/designer/zh-CHS.json create mode 100644 packages/ui-vue/components/date-picker/src/locales/designer/zh-CHT.json create mode 100644 packages/ui-vue/components/date-picker/src/locales/ui/en.json create mode 100644 packages/ui-vue/components/date-picker/src/locales/ui/zh-CHS.json create mode 100644 packages/ui-vue/components/date-picker/src/locales/ui/zh-CHT.json create mode 100644 packages/ui-vue/components/expression-editor/src/locales/designer/en.json create mode 100644 packages/ui-vue/components/expression-editor/src/locales/designer/zh-CHS.json create mode 100644 packages/ui-vue/components/expression-editor/src/locales/designer/zh-CHT.json create mode 100644 packages/ui-vue/components/field-selector/src/locales/designer/en.json create mode 100644 packages/ui-vue/components/field-selector/src/locales/designer/zh-CHS.json create mode 100644 packages/ui-vue/components/field-selector/src/locales/designer/zh-CHT.json create mode 100644 packages/ui-vue/components/field-selector/src/locales/ui/en.js create mode 100644 packages/ui-vue/components/field-selector/src/locales/ui/zh-CHS.json create mode 100644 packages/ui-vue/components/field-selector/src/locales/ui/zh-CHT.json create mode 100644 packages/ui-vue/components/filter-condition-editor/src/locales/designer/en.json create mode 100644 packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHS.json create mode 100644 packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHT.json create mode 100644 packages/ui-vue/components/filter-condition-editor/src/locales/ui/en.json create mode 100644 packages/ui-vue/components/filter-condition-editor/src/locales/ui/zh-CHS.json create mode 100644 packages/ui-vue/components/filter-condition-editor/src/locales/ui/zh-CHT.json create mode 100644 packages/ui-vue/components/loading/src/locales/ui/en.json create mode 100644 packages/ui-vue/components/loading/src/locales/ui/zh-CHS.json create mode 100644 packages/ui-vue/components/loading/src/locales/ui/zh-CHT.json create mode 100644 packages/ui-vue/components/lookup/src/locales/designer/en.json create mode 100644 packages/ui-vue/components/lookup/src/locales/designer/zh-CHS.json create mode 100644 packages/ui-vue/components/lookup/src/locales/designer/zh-CHT.json create mode 100644 packages/ui-vue/components/lookup/src/locales/ui/en.json create mode 100644 packages/ui-vue/components/lookup/src/locales/ui/zh-CHS.json create mode 100644 packages/ui-vue/components/lookup/src/locales/ui/zh-CHT.json create mode 100644 packages/ui-vue/components/mapping-editor/src/locales/designer/en.json create mode 100644 packages/ui-vue/components/mapping-editor/src/locales/designer/zh-CHS.json create mode 100644 packages/ui-vue/components/mapping-editor/src/locales/designer/zh-CHT.json create mode 100644 packages/ui-vue/components/message-box/src/locales/designer/en.json create mode 100644 packages/ui-vue/components/message-box/src/locales/designer/zh-CHS.json create mode 100644 packages/ui-vue/components/message-box/src/locales/designer/zh-CHT.json create mode 100644 packages/ui-vue/components/message-box/src/locales/ui/en.json create mode 100644 packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json create mode 100644 packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json create mode 100644 packages/ui-vue/components/number-spinner/src/locales/designer/en.json create mode 100644 packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHS.json create mode 100644 packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHT.json create mode 100644 packages/ui-vue/components/number-spinner/src/locales/ui/en.json create mode 100644 packages/ui-vue/components/number-spinner/src/locales/ui/zh-CHS.json create mode 100644 packages/ui-vue/components/number-spinner/src/locales/ui/zh-CHT.json create mode 100644 packages/ui-vue/components/schema-selector/src/locales/designer/en.json create mode 100644 packages/ui-vue/components/schema-selector/src/locales/designer/zh-CHS.json create mode 100644 packages/ui-vue/components/schema-selector/src/locales/designer/zh-CHT.json diff --git a/packages/ui-vue/components/date-picker/src/composition/use-locales.ts b/packages/ui-vue/components/date-picker/src/composition/use-locales.ts index 5fe26fea6d4..18860f85170 100644 --- a/packages/ui-vue/components/date-picker/src/composition/use-locales.ts +++ b/packages/ui-vue/components/date-picker/src/composition/use-locales.ts @@ -1,7 +1,5 @@ import { DatePickerProps } from "../date-picker.props"; -import { LocaleService } from '@farris/ui-vue/components/locale'; -import { WeekDayLabels, } from "../types/common"; -import { defaultNameOfMonths } from "../types/month"; +import { useI18n } from 'vue-i18n'; export interface DatePickerLocale { weekTitle: string; @@ -27,34 +25,56 @@ export interface DatePickerLocale { export function useDatePickerLocale(props: DatePickerProps): DatePickerLocale { - + const { t: getLocaleValue, messages } = useI18n(); function getValue(localeKey, propertyValue?: string, defaultValue?: string): any { - if (!propertyValue || propertyValue === defaultValue) { - return LocaleService.getLocaleValue(localeKey); + if (propertyValue === defaultValue) { + return getLocaleValue(localeKey); } return propertyValue || ''; } - const weekTitle = getValue('datePicker.weekTitle', props.weekTitle, '周'); - const weekDayLabels = getValue('datePicker.dayLabels') || WeekDayLabels; - const monthLabels = getValue('datePicker.monthLabels') || defaultNameOfMonths; + const weekTitle = getValue('datepicker.weekTitle', props.weekTitle, '周'); + const weekDayLabels = { + "Sun": getValue('datepicker.dayLabels.Sun'), + "Mon": getValue('datepicker.dayLabels.Mon'), + "Tue": getValue('datepicker.dayLabels.Tue'), + "Wed": getValue('datepicker.dayLabels.Wed'), + "Thu": getValue('datepicker.dayLabels.Thu'), + "Fri": getValue('datepicker.dayLabels.Fri'), + "Sat": getValue('datepicker.dayLabels.Sat') + }; + const monthLabels = { + "1": getValue('datepicker.monthLabels.1'), + "2": getValue('datepicker.monthLabels.2'), + "3": getValue('datepicker.monthLabels.3'), + "4": getValue('datepicker.monthLabels.4'), + "5": getValue('datepicker.monthLabels.5'), + "6": getValue('datepicker.monthLabels.6'), + "7": getValue('datepicker.monthLabels.7'), + "8": getValue('datepicker.monthLabels.8'), + "9": getValue('datepicker.monthLabels.9'), + "10": getValue('datepicker.monthLabels.10'), + "11": getValue('datepicker.monthLabels.11'), + "12": getValue('datepicker.monthLabels.12') + }; + const placeholder = { - default: getValue('datePicker.placeholder', props.placeholder, '请选择日期'), - begin: getValue('datePicker.range.begin', props.beginPlaceholder, '请选择开始日期'), - end: getValue('datePicker.range.end', props.endPlaceholder, '请选择结束日期') + default: getValue('datepicker.placeholder', props.placeholder, '请选择日期'), + begin: getValue('datepicker.range.begin', props.beginPlaceholder, '请选择开始日期'), + end: getValue('datepicker.range.end', props.endPlaceholder, '请选择结束日期') }; const buttons = { - selectDate: getValue('datePicker.dateBtnText'), - selectTime: getValue('datePicker.timeBtnText'), - commit: getValue('datePicker.commitBtnText'), + selectDate: getValue('datepicker.dateBtnText'), + selectTime: getValue('datepicker.timeBtnText'), + commit: getValue('datepicker.commitBtnText'), current: { - week: getValue('datePicker.current.week') || '本周', - year: getValue('datePicker.current.year') || '今年', - month: getValue('datePicker.current.month') || '本月', - today: getValue('datePicker.current.today') || '今天' + week: getValue('datepicker.current.week') || '本周', + year: getValue('datepicker.current.year') || '今年', + month: getValue('datepicker.current.month') || '本月', + today: getValue('datepicker.current.today') || '今天' } }; diff --git a/packages/ui-vue/components/date-picker/src/locales/designer/en.json b/packages/ui-vue/components/date-picker/src/locales/designer/en.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/date-picker/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/date-picker/src/locales/designer/zh-CHS.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/date-picker/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/date-picker/src/locales/designer/zh-CHT.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/date-picker/src/locales/ui/en.json b/packages/ui-vue/components/date-picker/src/locales/ui/en.json new file mode 100644 index 00000000000..0dbf991f319 --- /dev/null +++ b/packages/ui-vue/components/date-picker/src/locales/ui/en.json @@ -0,0 +1,57 @@ +{ + "datepicker": { + "dayLabels": { + "Sun": "Sun", + "Mon": "Mon", + "Tue": "Tue", + "Wed": "Wed", + "Thu": "Thu", + "Fri": "Fri", + "Sat": "Sat" + }, + "monthLabels": { + "1": "Jan", + "2": "Feb", + "3": "Mar", + "4": "Apr", + "5": "May", + "6": "Jun", + "7": "Jul", + "8": "Aug", + "9": "Sep", + "10": "Oct", + "11": "Nov", + "12": "Dec" + }, + "dateFormat": "MM/dd/yyyy", + "returnFormat": "MM/dd/yyyy", + "firstDayOfWeek": "mo", + "sunHighlight": false, + "yearTxt": "", + "timeBtnText": "Select Time", + "dateBtnText": "Select Date", + "commitBtnText": "OK", + "weekText": "Week", + "placeholder": "Please select a date", + "range": { + "begin": "Please select a begin date", + "end": "Please select an end date" + }, + "message": { + "101": "The end time must not be earlier than the start time.", + "102": "Only ${0} dates are allowed to be selected." + }, + "current": { + "today": "Today", + "week": "Current Week", + "month": "Current Month", + "year": "Current Year" + }, + "multiDatesLocale": { + "backtotoday": "Back to Today", + "clearSelections": "Clear All", + "delete": "Delete", + "selected": "Selected,Days" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/date-picker/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/date-picker/src/locales/ui/zh-CHS.json new file mode 100644 index 00000000000..a4e9c18321d --- /dev/null +++ b/packages/ui-vue/components/date-picker/src/locales/ui/zh-CHS.json @@ -0,0 +1,57 @@ +{ + "datepicker": { + "dayLabels": { + "Sun": "日", + "Mon": "一", + "Tue": "二", + "Wed": "三", + "Thu": "四", + "Fri": "五", + "Sat": "六" + }, + "monthLabels": { + "1": "一月", + "2": "二月", + "3": "三月", + "4": "四月", + "5": "五月", + "6": "六月", + "7": "七月", + "8": "八月", + "9": "九月", + "10": "十月", + "11": "十一月", + "12": "十二月" + }, + "dateFormat": "yyyy-MM-dd", + "returnFormat": "yyyy-MM-dd", + "firstDayOfWeek": "mo", + "sunHighlight": false, + "yearTxt": "年", + "timeBtnText": "选择时间", + "dateBtnText": "选择日期", + "commitBtnText": "确定", + "weekText": "周", + "placeholder": "请选择日期", + "range": { + "begin": "请选择开始日期", + "end": "请选择结束日期" + }, + "message": { + "101": "结束时间不得早于开始时间!", + "102": "仅允许选择 ${0} 个日期" + }, + "current": { + "today": "今天", + "week": "本周", + "month": "本月", + "year": "今年" + }, + "multiDatesLocale": { + "backtotoday": "回到今天", + "clearSelections": "清空", + "delete": "删除", + "selected": "已选,天" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/date-picker/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/date-picker/src/locales/ui/zh-CHT.json new file mode 100644 index 00000000000..8b32bb81641 --- /dev/null +++ b/packages/ui-vue/components/date-picker/src/locales/ui/zh-CHT.json @@ -0,0 +1,57 @@ +{ + "datepicker": { + "dayLabels": { + "Sun": "日", + "Mon": "一", + "Tue": "二", + "Wed": "三", + "Thu": "四", + "Fri": "五", + "Sat": "六" + }, + "monthLabels": { + "1": "一月", + "2": "二月", + "3": "三月", + "4": "四月", + "5": "五月", + "6": "六月", + "7": "七月", + "8": "八月", + "9": "九月", + "10": "十月", + "11": "十一月", + "12": "十二月" + }, + "dateFormat": "yyyy-MM-dd", + "returnFormat": "yyyy-MM-dd", + "firstDayOfWeek": "mo", + "sunHighlight": false, + "yearTxt": "年", + "timeBtnText": "選擇時間", + "dateBtnText": "選擇日期", + "commitBtnText": "確認", + "weekText": "周", + "placeholder": "請選擇日期", + "range": { + "begin": "請選擇開始日期", + "end": "請選擇結束日期" + }, + "message": { + "101": "結束時間不得早于開始時間!", + "102": "僅允許選擇 ${0} 個日期" + }, + "current": { + "today": "今天", + "month": "本月", + "week": "本周", + "year": "今年" + }, + "multiDatesLocale": { + "backtotoday": "回到今天", + "clearSelections": "清空", + "delete": "刪除", + "selected": "已選,天" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/expression-editor/src/locales/designer/en.json b/packages/ui-vue/components/expression-editor/src/locales/designer/en.json new file mode 100644 index 00000000000..ea087988d4f --- /dev/null +++ b/packages/ui-vue/components/expression-editor/src/locales/designer/en.json @@ -0,0 +1,25 @@ +{ + "expressionEditor": { + "title": "Expression Editor", + "buttons": { + "ok": "OK", + "cancel": "Cancel", + "clear": "Clear" + }, + "messagerType": { + "info": "Info", + "warning": "Warning", + "error": "Error" + }, + "tipLabel": "Tip Message:", + "variable": { + "dataEntity": "Data Entity", + "placeholder": "Please enter the name or code, press Enter to query", + "label": "Variable" + }, + "functions": { + "emptyMessage": "No matching items found", + "placeholder": "Please enter the function name, press Enter to query" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/expression-editor/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/expression-editor/src/locales/designer/zh-CHS.json new file mode 100644 index 00000000000..579ec67cdf8 --- /dev/null +++ b/packages/ui-vue/components/expression-editor/src/locales/designer/zh-CHS.json @@ -0,0 +1,25 @@ +{ + "expressionEditor": { + "title": "表达式编辑器", + "buttons": { + "ok": "确定", + "cancel": "取消", + "clear": "清空" + }, + "messagerType": { + "info": "提示", + "warning": "警告", + "error": "错误" + }, + "tipLabel": "提示信息:", + "variable": { + "dataEntity": "数据实体", + "placeholder": "请输入名称或编号,按回车查询", + "label": "变量" + }, + "functions": { + "emptyMessage": "没有与搜索条件匹配的项", + "placeholder": "请输入函数名称,按回车查询" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/expression-editor/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/expression-editor/src/locales/designer/zh-CHT.json new file mode 100644 index 00000000000..1ef72274d6d --- /dev/null +++ b/packages/ui-vue/components/expression-editor/src/locales/designer/zh-CHT.json @@ -0,0 +1,25 @@ +{ + "expressionEditor": { + "title": "表達式編輯器", + "buttons": { + "ok": "確定", + "cancel": "取消", + "clear": "清空" + }, + "messagerType": { + "info": "提示", + "warning": "警告", + "error": "錯誤" + }, + "tipLabel": "提示信息:", + "variable": { + "dataEntity": "資料實體", + "placeholder": "請輸入名稱或編號,按 Enter 查詢", + "label": "變數" + }, + "functions": { + "emptyMessage": "沒有與搜索條件匹配的項", + "placeholder": "請輸入函數名稱,按 Enter 查詢" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/field-selector/src/locales/designer/en.json b/packages/ui-vue/components/field-selector/src/locales/designer/en.json new file mode 100644 index 00000000000..ab123cfd1e6 --- /dev/null +++ b/packages/ui-vue/components/field-selector/src/locales/designer/en.json @@ -0,0 +1,11 @@ +{ + "fieldSelector": { + "message": { + "noSelectItem": "Please select a field!", + "noSetDataSource": "Please set a data source!" + }, + "ok": "Ok", + "cancel": "Cancel", + "title": "Field Selector" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/field-selector/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/field-selector/src/locales/designer/zh-CHS.json new file mode 100644 index 00000000000..98ca9aebb89 --- /dev/null +++ b/packages/ui-vue/components/field-selector/src/locales/designer/zh-CHS.json @@ -0,0 +1,11 @@ +{ + "fieldSelector": { + "message": { + "noSelectItem": "请选择一个字段!", + "noSetDataSource": "请设置数据源!" + }, + "ok": "确定", + "cancel": "取消", + "title": "字段选择器" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/field-selector/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/field-selector/src/locales/designer/zh-CHT.json new file mode 100644 index 00000000000..12bc07daf97 --- /dev/null +++ b/packages/ui-vue/components/field-selector/src/locales/designer/zh-CHT.json @@ -0,0 +1,11 @@ +{ + "fieldSelector": { + "message": { + "noSelectItem": "請選擇壹個字段!", + "noSetDataSource": "請設置數據源!" + }, + "ok": "確定", + "cancel": "取消", + "title": "字段選擇器" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/field-selector/src/locales/ui/en.js b/packages/ui-vue/components/field-selector/src/locales/ui/en.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/field-selector/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/field-selector/src/locales/ui/zh-CHS.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/field-selector/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/field-selector/src/locales/ui/zh-CHT.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/filter-condition-editor/src/locales/designer/en.json b/packages/ui-vue/components/filter-condition-editor/src/locales/designer/en.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHS.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHT.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/filter-condition-editor/src/locales/ui/en.json b/packages/ui-vue/components/filter-condition-editor/src/locales/ui/en.json new file mode 100644 index 00000000000..e26ebd99475 --- /dev/null +++ b/packages/ui-vue/components/filter-condition-editor/src/locales/ui/en.json @@ -0,0 +1,38 @@ +{ + "filterConditionEditor": { + "cancelButton": "Cancel", + "okButton": "OK", + "addWhere": "Add", + "clear": "Clear", + "moveTop": "Top", + "moveUp": "Up", + "moveDown": "Down", + "moveBottom": "Bottom", + "leftBrackets": "Left Brackets", + "field": "Field Name", + "operator": "Operator", + "value": "Value", + "valueType": "Value type", + "expressType": { + "value": "Value", + "express": "Express", + "frontExpress": "Front Express" + }, + "rightBrackets": "Right Brackets", + "relation": "Relation", + "relationValue": { + "and": "And", + "or": "Or" + }, + "designTab": "Design", + "jsonTab": "JSON", + "sqlTab": "Sql", + "title": "Filter Designer", + "message": "Are you sure you want to clear all current data?", + "validate": { + "bracket": "The brackets do not match, please check", + "relation": "The condition relationship is incomplete, please check", + "field": "Condition field is not set, please check" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/filter-condition-editor/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/filter-condition-editor/src/locales/ui/zh-CHS.json new file mode 100644 index 00000000000..47624c20ad0 --- /dev/null +++ b/packages/ui-vue/components/filter-condition-editor/src/locales/ui/zh-CHS.json @@ -0,0 +1,38 @@ +{ + "filterConditionEditor": { + "cancelButton": "取消", + "okButton": "确定", + "addWhere": "添加子句", + "clear": "清空", + "moveTop": "置顶", + "moveUp": "上移", + "moveDown": "下移", + "moveBottom": "置底", + "leftBrackets": "左括号", + "field": "字段", + "operator": "操作符", + "value": "值", + "valueType": "值类型", + "expressType": { + "value": "值", + "express": "表达式", + "frontExpress": "表单表达式" + }, + "rightBrackets": "右括号", + "relation": "关系", + "relationValue": { + "and": "并且", + "or": "或者" + }, + "designTab": "设计器", + "jsonTab": "源代码", + "sqlTab": "Sql预览", + "title": "条件编辑器", + "message": "确认要清空当前所有数据吗?", + "validate": { + "bracket": "左右括号不匹配,请检查", + "relation": "条件关系不完整,请检查", + "field": "条件字段未设置,请检查" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/filter-condition-editor/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/filter-condition-editor/src/locales/ui/zh-CHT.json new file mode 100644 index 00000000000..96f14a76c10 --- /dev/null +++ b/packages/ui-vue/components/filter-condition-editor/src/locales/ui/zh-CHT.json @@ -0,0 +1,38 @@ +{ + "filterConditionEditor": { + "cancelButton": "取消", + "okButton": "確定", + "addWhere": "添加子句", + "clear": "清空", + "moveTop": "置頂", + "moveUp": "上移", + "moveDown": "下移", + "moveBottom": "置底", + "leftBrackets": "左括號", + "field": "字段", + "operator": "操作符", + "value": "值", + "valueType": "值類型", + "expressType": { + "value": "值", + "express": "錶達式", + "frontExpress": "表單表達式" + }, + "rightBrackets": "右括號", + "relation": "關係", + "relationValue": { + "and": "並且", + "or": "或者" + }, + "designTab": "設計器", + "jsonTab": "源代碼", + "sqlTab": "Sql預覽", + "title": "條件編輯器", + "message": "確認要清空當前所有數據嗎?", + "validate": { + "bracket": "左右括號不匹配,請檢查", + "relation": "條件關系不完整,請檢查", + "field": "條件字段未設置,請檢查" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/language-textbox/src/language-textbox.component.tsx b/packages/ui-vue/components/language-textbox/src/language-textbox.component.tsx index 958109b969f..89eeeb6a39f 100644 --- a/packages/ui-vue/components/language-textbox/src/language-textbox.component.tsx +++ b/packages/ui-vue/components/language-textbox/src/language-textbox.component.tsx @@ -4,18 +4,18 @@ import FButtonEdit from '@farris/ui-vue/components/button-edit'; import { languageTextBoxProps } from "./language-textbox.props"; import LanguageContents from "./components/language-contents.component"; -import { LocaleService } from '@farris/ui-vue/components/locale'; import { LanguageItem } from "./types"; +import { useI18n } from 'vue-i18n' export default defineComponent({ name: 'FLanguageTextbox', props: languageTextBoxProps, emits: ['update:modelValue'], setup(props, context) { - const currentLang = LocaleService.getLocale(); + const {locale: currentLang} = useI18n(); const { disabled, readonly, editable, modelValue } = toRefs(props); - const displayText = computed(() => modelValue.value?.[currentLang]); + const displayText = computed(() => modelValue.value?.[currentLang.value]); const buttonEditorRef = ref(); const updateLangOrder = (langValue: LanguageItem[]) => { @@ -25,7 +25,7 @@ export default defineComponent({ let currentLangIndex = -1; const curritem = langValue.find((lang, index) => { - const result = lang.code === currentLang; + const result = lang.code === currentLang.value; if (result) { currentLangIndex = index; } @@ -47,8 +47,8 @@ export default defineComponent({ }); function onDisplayTextChange($event: any) { - if (modelValue.value[currentLang] !== $event) { - modelValue.value[currentLang] = $event; + if (modelValue.value[currentLang.value] !== $event) { + modelValue.value[currentLang.value] = $event; context.emit('update:modelValue', modelValue.value); } } diff --git a/packages/ui-vue/components/loading/src/loading.component.tsx b/packages/ui-vue/components/loading/src/loading.component.tsx index 65a3f07af7f..21e578b93b0 100644 --- a/packages/ui-vue/components/loading/src/loading.component.tsx +++ b/packages/ui-vue/components/loading/src/loading.component.tsx @@ -19,11 +19,14 @@ import { defineComponent, SetupContext, ref, onMounted, watch, computed } from ' import { LoadingProps, loadingProps } from './loading.props'; import { LOADING_STYLES } from './composition/types'; +import { useI18n } from 'vue-i18n' + export default defineComponent({ name: 'FLoading', props: loadingProps, emits: ['closed', 'hidden'] as (string[] & ThisType) | undefined, setup(props: LoadingProps, context: SetupContext) { + const { t } = useI18n(); /** 加载样式 */ const loadingStyleDom = LOADING_STYLES; /** 是否展示加载信息 */ @@ -49,6 +52,9 @@ export default defineComponent({ // watch(()=>props.type,(newType)=>{ // type.value = newType; // }); + if (message.value === '正在加载,请稍候...') { + message.value = t('loading.message'); + } let loadingId = ""; diff --git a/packages/ui-vue/components/loading/src/loading.props.ts b/packages/ui-vue/components/loading/src/loading.props.ts index 889639ba530..3b4c7ed4f8f 100644 --- a/packages/ui-vue/components/loading/src/loading.props.ts +++ b/packages/ui-vue/components/loading/src/loading.props.ts @@ -14,14 +14,12 @@ * limitations under the License. */ import { ExtractPropTypes, PropType } from 'vue'; -import { LocaleService } from "@farris/ui-vue/components/locale"; -export const DEFAULT_LOADING_MESSAGE = LocaleService.getLocaleValue('loading.message'); export const loadingProps = { /** 是否展示文案 */ showMessage: { type: Boolean, default: true }, /** 展示信息 */ - message: { type: String, default: DEFAULT_LOADING_MESSAGE }, + message: { type: String, default: '正在加载,请稍候...' }, /** 默认展示状态,方便通过按钮点击控制loading */ isActive: { type: Boolean, default: false }, /** 图标大小 */ diff --git a/packages/ui-vue/components/loading/src/locales/ui/en.json b/packages/ui-vue/components/loading/src/locales/ui/en.json new file mode 100644 index 00000000000..f132e0a3aef --- /dev/null +++ b/packages/ui-vue/components/loading/src/locales/ui/en.json @@ -0,0 +1,5 @@ +{ + "loading": { + "message": "Loading ..." + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/loading/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/loading/src/locales/ui/zh-CHS.json new file mode 100644 index 00000000000..cf2f2237679 --- /dev/null +++ b/packages/ui-vue/components/loading/src/locales/ui/zh-CHS.json @@ -0,0 +1,5 @@ +{ + "loading": { + "message": "正在加载,请稍候..." + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/loading/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/loading/src/locales/ui/zh-CHT.json new file mode 100644 index 00000000000..17439d1138e --- /dev/null +++ b/packages/ui-vue/components/loading/src/locales/ui/zh-CHT.json @@ -0,0 +1,5 @@ +{ + "loading": { + "message": "正在加載,請稍候..." + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/lookup/src/components/cascade/tree-cascade.component.tsx b/packages/ui-vue/components/lookup/src/components/cascade/tree-cascade.component.tsx index ddd9a76c6bb..f50b852d1bc 100644 --- a/packages/ui-vue/components/lookup/src/components/cascade/tree-cascade.component.tsx +++ b/packages/ui-vue/components/lookup/src/components/cascade/tree-cascade.component.tsx @@ -1,13 +1,15 @@ -import { defineComponent, ref, watch } from "vue"; +import { defineComponent, inject, ref, watch } from "vue"; import { FComboList } from "@farris/ui-vue/components/combo-list"; import { cascadeItems } from "../../composition/types"; +import { LOOKUP_LOCALES, LookupLocaleData } from "../../composition/use-locales"; export default defineComponent({ name: 'FLookupCascadeSelector', props: ['modelValue'], emits: ['update:modelValue'], setup(props, context) { + const locales = inject(LOOKUP_LOCALES) as LookupLocaleData; const cascadeRef = ref(); const modelValue = ref(props.modelValue); @@ -19,6 +21,10 @@ export default defineComponent({ context.emit('update:modelValue', newValue); }); + cascadeItems.forEach((item) => { + item.text = locales.tree[item.value]; + }); + return () => { return
string; + } } export function useLookupLocales(props: LookupProps): LookupLocaleData { - - function replaceX(value: any, ...args: any[]) { - args.forEach((v, i) => { - value = value.replace(`{${i}}`, v); - }); - - return value; - } + const { t: getLocaleValue } = useI18n(); function getValue(propertyValue, defaultValue, localeKey) { - if (!propertyValue || propertyValue === defaultValue) { - return LocaleService.getLocaleValue(localeKey); + if (propertyValue === defaultValue) { + return getLocaleValue(localeKey); } return propertyValue; } @@ -59,41 +51,40 @@ export function useLookupLocales(props: LookupProps): LookupLocaleData { const placeholder = getValue(props.placeholder, '请选择', 'lookup.placeholder'); const tabs = { - datalist: LocaleService.getLocaleValue('lookup.datalist') || '数据列表', - favorite: LocaleService.getLocaleValue('lookup.favorite') || '收藏', + datalist: getLocaleValue('lookup.datalist') || '数据列表', + favorite: getLocaleValue('lookup.favorite') || '收藏', }; const buttons = { - ok: LocaleService.getLocaleValue('lookup.okText') || '确定', - cancel: LocaleService.getLocaleValue('lookup.cancelText') || '取消', - clear: LocaleService.getLocaleValue('lookup.selectedInfo.clear') || '取消已选', - addFav: LocaleService.getLocaleValue('lookup.favoriteInfo.addFavTitle') || '收藏', - removeFav: LocaleService.getLocaleValue('lookup.favoriteInfo.cancelFavTitle') || '取消收藏', + ok: getLocaleValue('lookup.okText') || '确定', + cancel: getLocaleValue('lookup.cancelText') || '取消', + clear: getLocaleValue('lookup.selectedInfo.clear') || '取消已选', + addFav: getLocaleValue('lookup.favoriteInfo.addFavTitle') || '收藏', + removeFav: getLocaleValue('lookup.favoriteInfo.cancelFavTitle') || '取消收藏', selectionTotal: (total) => { - const result = LocaleService.getLocaleValue('lookup.selectedInfo.total') || '已选 {0} 条'; - return replaceX(result, total); + return getLocaleValue('lookup.selectedInfo.total', [total]); } }; const messages ={ - clearSelections: LocaleService.getLocaleValue('lookup.selectedInfo.confirm') || '您确认要取消所有选中记录吗?', - addedFavSuccess: LocaleService.getLocaleValue('lookup.favoriteInfo.addFav') || '已添加到收藏夹。', - cancelFavSuccess: LocaleService.getLocaleValue('lookup.favoriteInfo.cancelFav') || '已从收藏夹中移除。', - mustChoosAdatarow: LocaleService.getLocaleValue('lookup.mustChoosAdatarow') || '请选择一条数据。', - mustWriteSomething: LocaleService.getLocaleValue('lookup.mustWriteSomething') || '请输入关键字后查询。', + clearSelections: getLocaleValue('lookup.selectedInfo.confirm') || '您确认要取消所有选中记录吗?', + addedFavSuccess: getLocaleValue('lookup.favoriteInfo.addFav') || '已添加到收藏夹。', + cancelFavSuccess: getLocaleValue('lookup.favoriteInfo.cancelFav') || '已从收藏夹中移除。', + mustChoosAdatarow: getLocaleValue('lookup.mustChoosAdatarow') || '请选择一条数据。', + mustWriteSomething: getLocaleValue('lookup.mustWriteSomething') || '请输入关键字后查询。', }; const tree = { - includechildren: LocaleService.getLocaleValue('lookup.includechildren') || '包含下级', - both: LocaleService.getLocaleValue('lookup.cascade.enable') || '同步选择', - up: LocaleService.getLocaleValue('lookup.cascade.up') ||'包含上级', - down: LocaleService.getLocaleValue('lookup.cascade.down') ||'包含下级', - disable: LocaleService.getLocaleValue('lookup.cascade.disable') ||'仅选择自身' + includechildren: getLocaleValue('lookup.includechildren') || '包含下级', + both: getLocaleValue('lookup.cascade.enable') || '同步选择', + up: getLocaleValue('lookup.cascade.up') ||'包含上级', + down: getLocaleValue('lookup.cascade.down') ||'包含下级', + disable: getLocaleValue('lookup.cascade.disable') ||'仅选择自身' }; const searchColumns= { - allColumns: LocaleService.getLocaleValue('lookup.allColumns') || '所有列', - anyFields: LocaleService.getLocaleValue('lookup.anyFields') || '全部' + allColumns: getLocaleValue('lookup.allColumns') || '所有列', + anyFields: getLocaleValue('lookup.anyFields') || '全部' }; return { @@ -102,7 +93,6 @@ export function useLookupLocales(props: LookupProps): LookupLocaleData { tree, messages, tabs, - buttons, - replaceX + buttons }; } diff --git a/packages/ui-vue/components/lookup/src/locales/designer/en.json b/packages/ui-vue/components/lookup/src/locales/designer/en.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/lookup/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/lookup/src/locales/designer/zh-CHS.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/lookup/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/lookup/src/locales/designer/zh-CHT.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/lookup/src/locales/ui/en.json b/packages/ui-vue/components/lookup/src/locales/ui/en.json new file mode 100644 index 00000000000..f63993a7fb9 --- /dev/null +++ b/packages/ui-vue/components/lookup/src/locales/ui/en.json @@ -0,0 +1,57 @@ +{ + "lookup": { + "placeholder": "Please select", + "favorites": "Favorites", + "selected": "Selected Items", + "okText": "OK", + "cancelText": "Cancel", + "allColumns": "All Columns", + "datalist": "Data Items", + "mustWriteSomething": "Please enter a keyword to search.", + "mustChoosAdatarow": "Please select a record!", + "tipText": "Are these what you are looking for?", + "cascade": { + "enable": "Bidirectional Cascading", + "disable": "Disable Cascading", + "up": "Upward Cascading", + "down": "Downward Cascading" + }, + "includechildren": "Include Children", + "favoriteInfo": { + "addFav": "Collection Success.", + "cancelFav": "Unfavorite Successfully. ", + "addFavTitle": "Add to Favorite", + "cancelFavTitle": "Cancel Favorite" + }, + "getAllChilds": "Get All Children", + "contextMenu": { + "checkChildNodes": "Check Subordinate Nodes", + "uncheckChildNodes": "Uncheck Subordinate Nodes", + "expandall": "Expand All", + "collapseall": "Collapse All", + "expandByLayer": "Expand by Level", + "expand1": "Expand to Level 1", + "expand2": "Expand to Level 2", + "expand3": "Expand to Level 3", + "expand4": "Expand to Level 4", + "expand5": "Expand to Level 5", + "expand6": "Expand to Level 6", + "expand7": "Expand to Level 7", + "expand8": "Expand to Level 8", + "expand9": "Expand to Level 9" + }, + "quick": { + "notfind": "Search Content Not Found.", + "more": "Show More" + }, + "configError": "The help display column is not configured. Please check whether the help data source is configured correctly.", + "selectedInfo": { + "total": "Selected Items {0}", + "clear": "Cancel Selected", + "remove": "Delete ({0})", + "confirm": "Are you sure you want to cancel all selected records?" + }, + "clearAllConditions": "Clear All Conditions", + "anyFields": "All" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/lookup/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/lookup/src/locales/ui/zh-CHS.json new file mode 100644 index 00000000000..a1a6ee1867d --- /dev/null +++ b/packages/ui-vue/components/lookup/src/locales/ui/zh-CHS.json @@ -0,0 +1,57 @@ +{ + "lookup": { + "placeholder": "请选择", + "favorites": "收藏夹", + "selected": "已选数据", + "okText": "确定", + "cancelText": "取消", + "allColumns": "所有列", + "datalist": "数据列表", + "mustWriteSomething": "请输入关键字后查询。", + "mustChoosAdatarow": "请选择一条记录!", + "tipText": "您要找的是不是这些?", + "cascade": { + "enable": "同步选择", + "disable": "仅选择自身", + "up": "包含上级", + "down": "包含下级" + }, + "includechildren":"包含下级", + "favoriteInfo": { + "addFav": "已添加到收藏夹。", + "cancelFav": "已从收藏夹中移除。", + "addFavTitle": "收藏", + "cancelFavTitle": "取消收藏" + }, + "getAllChilds": "获取所有子级数据", + "contextMenu": { + "checkChildNodes": "勾选下级数据", + "uncheckChildNodes": "取消勾选下级数据", + "expandall": "全部展开", + "collapseall": "全部收起", + "expandByLayer": "按层级展开", + "expand1": "展开 1 级", + "expand2": "展开 2 级", + "expand3": "展开 3 级", + "expand4": "展开 4 级", + "expand5": "展开 5 级", + "expand6": "展开 6 级", + "expand7": "展开 7 级", + "expand8": "展开 8 级", + "expand9": "展开 9 级" + }, + "quick": { + "notfind": "未找到搜索内容", + "more": "显示更多" + }, + "configError": "帮助显示列未配置,请检查是否已正确配置帮助数据源! ", + "selectedInfo": { + "total": "已选 {0} 条", + "clear": "取消已选", + "remove": "移除 ({0})", + "confirm": "您确认要取消所有选中记录吗?" + }, + "clearAllConditions": "清除所有查询条件", + "anyFields": "全部" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/lookup/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/lookup/src/locales/ui/zh-CHT.json new file mode 100644 index 00000000000..04f89889495 --- /dev/null +++ b/packages/ui-vue/components/lookup/src/locales/ui/zh-CHT.json @@ -0,0 +1,57 @@ +{ + "lookup": { + "placeholder": "請選擇", + "favorites": "收藏夾", + "selected": "已選數據", + "okText": "確定", + "cancelText": "取消", + "allColumns": "所有列", + "datalist": "數據列錶", + "mustWriteSomething": "請輸入關鍵字後查詢。", + "mustChoosAdatarow": "請選擇一條記錄!", + "tipText": "您要找的是不是這些?", + "cascade": { + "enable": "同步選擇", + "disable": "僅選擇自身", + "up": "包含上級", + "down": "包含下級" + }, + "includechildren": "包含下級", + "favoriteInfo": { + "addFav": "已添加到收藏夾。", + "cancelFav": "已從收藏夾中移除。", + "addFavTitle": "收藏", + "cancelFavTitle": "取消收藏" + }, + "getAllChilds": "獲取所有子級數據", + "contextMenu": { + "checkChildNodes": "勾選下級數據", + "uncheckChildNodes": "取消勾選下級數據", + "expandall": "全部展開", + "collapseall": "全部收起", + "expandByLayer": "按層級展開", + "expand1": "展開 1 級", + "expand2": "展開 2 級", + "expand3": "展開 3 級", + "expand4": "展開 4 級", + "expand5": "展開 5 級", + "expand6": "展開 6 級", + "expand7": "展開 7 級", + "expand8": "展開 8 級", + "expand9": "展開 9 級" + }, + "quick": { + "notfind": "未找到搜索內容", + "more": "顯示更多" + }, + "configError": "幫助顯示列未配置,請檢查是否已正確配置幫助數據源!", + "selectedInfo": { + "total": "已選 {0} 條", + "clear": "取消已選", + "remove": "移除 ({0})", + "confirm": "您確認要取消所有選中記錄嗎?" + }, + "clearAllConditions": "清除所有查詢條件", + "anyFields": "全部" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/mapping-editor/src/locales/designer/en.json b/packages/ui-vue/components/mapping-editor/src/locales/designer/en.json new file mode 100644 index 00000000000..410ded10c7e --- /dev/null +++ b/packages/ui-vue/components/mapping-editor/src/locales/designer/en.json @@ -0,0 +1,22 @@ +{ + "mappgingEditor": { + "columns": { + "sourceField": "Source Field", + "targetField": "Target Field" + }, + "message": { + "noSelectItem": "Please select a field to delete!", + "confirmClear": "Are you sure you want to clear all mapping fields?", + "required": "Please fill in the mapping fields completely!", + "noDataSource": "Please set the data source!" + }, + "buttons": { + "ok": "OK", + "cancel": "Cancel", + "clear": "Clear", + "add": "Add", + "remove": "Delete" + }, + "title": "Mapping Editor" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/mapping-editor/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/mapping-editor/src/locales/designer/zh-CHS.json new file mode 100644 index 00000000000..181d6af9bc1 --- /dev/null +++ b/packages/ui-vue/components/mapping-editor/src/locales/designer/zh-CHS.json @@ -0,0 +1,22 @@ +{ + "mappgingEditor": { + "columns": { + "sourceField": "源字段", + "targetField": "目标字段" + }, + "message": { + "noSelectItem": "请选择要删除的字段!", + "confirmClear": "确定要清空所有映射字段吗?", + "required": "请将映射字段填写完整!", + "noDataSource": "请设置数据源!" + }, + "buttons": { + "ok": "确定", + "cancel": "取消", + "clear": "清空", + "add": "添加", + "remove": "删除" + }, + "title": "映射编辑器" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/mapping-editor/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/mapping-editor/src/locales/designer/zh-CHT.json new file mode 100644 index 00000000000..fb730b32daa --- /dev/null +++ b/packages/ui-vue/components/mapping-editor/src/locales/designer/zh-CHT.json @@ -0,0 +1,22 @@ +{ + "mappgingEditor": { + "columns": { + "sourceField": "源字段", + "targetField": "目標字段" + }, + "message": { + "noSelectItem": "請選擇要刪除的字段!", + "confirmClear": "確定要清空所有映射字段嗎?", + "required": "請將映射字段填寫完整!", + "noDataSource": "請設置數據源!" + }, + "buttons": { + "ok": "確定", + "cancel": "取消", + "clear": "清空", + "add": "添加", + "remove": "刪除" + }, + "title": "映射編輯器" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/message-box/src/composition/use-locales.ts b/packages/ui-vue/components/message-box/src/composition/use-locales.ts index fae8e7a1ad0..74f71a89188 100644 --- a/packages/ui-vue/components/message-box/src/composition/use-locales.ts +++ b/packages/ui-vue/components/message-box/src/composition/use-locales.ts @@ -1,4 +1,4 @@ -import { LocaleService } from "@farris/ui-vue/components/locale"; +import { useI18n } from "vue-i18n"; import { MessageBoxProps } from "../message-box.props"; export interface MessageBoxLocaleData { @@ -22,10 +22,10 @@ export interface MessageBoxLocaleData { export function useMessagerLocales(props: MessageBoxProps): MessageBoxLocaleData{ - + const { t:getLocaleValue } = useI18n(); function getValue(localeKey, propertyValue?: string, defaultValue?: string) { - if (!propertyValue || propertyValue === defaultValue) { - return LocaleService.getLocaleValue(localeKey); + if (propertyValue === defaultValue) { + return getLocaleValue(localeKey); } return propertyValue; } diff --git a/packages/ui-vue/components/message-box/src/locales/designer/en.json b/packages/ui-vue/components/message-box/src/locales/designer/en.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/message-box/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/message-box/src/locales/designer/zh-CHS.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/message-box/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/message-box/src/locales/designer/zh-CHT.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/message-box/src/locales/ui/en.json b/packages/ui-vue/components/message-box/src/locales/ui/en.json new file mode 100644 index 00000000000..d77d134ca2f --- /dev/null +++ b/packages/ui-vue/components/message-box/src/locales/ui/en.json @@ -0,0 +1,34 @@ +{ + "messageBox": { + "yes": "Yes", + "no": "No", + "ok": "OK", + "cancel": "Cancel", + "title": "System Information", + "errorTitle": "Error Information", + "prompt": { + "fontSize": { + "name": "Font Size", + "small": "Small", + "middle": "Middle", + "big": "Large", + "large": "Extra Large", + "huge": "Huge" + }, + "tips": { + "surplus": "You can also input {0} characters", + "length": "{0} characters have been entered" + } + }, + "exception": { + "expand": "Expand", + "collapse": "Collapse", + "happend": "Happened Time", + "detail": "Detail", + "copy": "Copy Details", + "copySuccess": "Copy Succeeded!", + "copyFailed": "Replication Failed!", + "roger": "Got It." + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json new file mode 100644 index 00000000000..8de228c9e7c --- /dev/null +++ b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json @@ -0,0 +1,34 @@ +{ + "messageBox": { + "yes": "是", + "no": "否", + "ok": "确定", + "cancel": "取消", + "title": "系统提示", + "errorTitle": "错误提示", + "prompt": { + "fontSize": { + "name": "字体大小", + "small": "小", + "middle": "中", + "big": "大", + "large": "特大", + "huge": "超大" + }, + "tips": { + "surplus": "还可以输入 {0} 个字符", + "length": "已输入 {0} 个字符" + } + }, + "exception": { + "expand": "展开", + "collapse": "收起", + "happend": "发生时间", + "detail": "详细信息", + "copy": "复制详细信息", + "copySuccess": "复制成功", + "copyFailed": "复制失败", + "roger": "知道了" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json new file mode 100644 index 00000000000..8126b3ba39b --- /dev/null +++ b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json @@ -0,0 +1,30 @@ +{ + "messageBox": { + "yes": "是", + "no": "否", + "ok": "確定", + "cancel": "取消", + "title": "係統提示", + "errorTitle": "錯誤提示", + "prompt": { + "fontSize": { + "name": "字體大小", + "small": "小", + "middle": "中", + "big": "大", + "large": "特大", + "huge": "超大" + } + }, + "exception": { + "expand": "展開", + "collapse": "收起", + "happend": "發生時間", + "detail": "詳細信息", + "copy": "複制詳細信息", + "copySuccess": "複制成功", + "copyFailed": "複制失敗", + "roger": "知道了" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/number-spinner/src/composition/use-locales.ts b/packages/ui-vue/components/number-spinner/src/composition/use-locales.ts index ef1bf21af96..85281993eaf 100644 --- a/packages/ui-vue/components/number-spinner/src/composition/use-locales.ts +++ b/packages/ui-vue/components/number-spinner/src/composition/use-locales.ts @@ -1,5 +1,5 @@ import { NumberSpinnerProps } from "../number-spinner.props"; -import { LocaleService } from '@farris/ui-vue/components/locale'; +import { useI18n } from 'vue-i18n'; export interface NumberLocaleData { placeholder: string; @@ -10,9 +10,10 @@ export interface NumberLocaleData { } export function useNumberLocales(props: NumberSpinnerProps): NumberLocaleData { + const {t: getLocaleValue} = useI18n(); function getValue(localeKey, propertyValue?: string, defaultValue?: string): any { if (!propertyValue || propertyValue === defaultValue) { - return LocaleService.getLocaleValue(localeKey); + return getLocaleValue(localeKey); } return propertyValue || ''; } diff --git a/packages/ui-vue/components/number-spinner/src/locales/designer/en.json b/packages/ui-vue/components/number-spinner/src/locales/designer/en.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHS.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHT.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/ui-vue/components/number-spinner/src/locales/ui/en.json b/packages/ui-vue/components/number-spinner/src/locales/ui/en.json new file mode 100644 index 00000000000..2c12cbe7459 --- /dev/null +++ b/packages/ui-vue/components/number-spinner/src/locales/ui/en.json @@ -0,0 +1,9 @@ +{ + "numberSpinner": { + "placeholder": "Please enter the number", + "range": { + "begin": "Please enter the begin number", + "end": "Please enter the end number" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/number-spinner/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/number-spinner/src/locales/ui/zh-CHS.json new file mode 100644 index 00000000000..50e0c647e7d --- /dev/null +++ b/packages/ui-vue/components/number-spinner/src/locales/ui/zh-CHS.json @@ -0,0 +1,9 @@ +{ + "numberSpinner": { + "placeholder": "请输入数字", + "range": { + "begin": "请输入开始数字", + "end": "请输入结束数字" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/number-spinner/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/number-spinner/src/locales/ui/zh-CHT.json new file mode 100644 index 00000000000..5713af7825a --- /dev/null +++ b/packages/ui-vue/components/number-spinner/src/locales/ui/zh-CHT.json @@ -0,0 +1,9 @@ +{ + "numberSpinner": { + "placeholder": "請輸入數字", + "range": { + "begin": "請輸入開始數字", + "end": "請輸入結束數字" + } + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/schema-selector/src/locales/designer/en.json b/packages/ui-vue/components/schema-selector/src/locales/designer/en.json new file mode 100644 index 00000000000..05864067e1f --- /dev/null +++ b/packages/ui-vue/components/schema-selector/src/locales/designer/en.json @@ -0,0 +1,14 @@ +{ + "schemaSelector": { + "search": "Please enter the name of the schema to search", + "emptyData": "No data", + "controller": { + "warning": "Please select a controller", + "title": "Controller List" + }, + "ok": "OK", + "cancel": "Cancel", + "required": "Please select a schema", + "title": "Schema List" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/schema-selector/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/schema-selector/src/locales/designer/zh-CHS.json new file mode 100644 index 00000000000..be4a7cd436e --- /dev/null +++ b/packages/ui-vue/components/schema-selector/src/locales/designer/zh-CHS.json @@ -0,0 +1,14 @@ +{ + "schemaSelector": { + "search": "请输入名称/编号搜索", + "emptyData": "暂无数据", + "controller": { + "warning": "请选择控制器", + "title": "控制器列表" + }, + "ok": "确定", + "cancel": "取消", + "required": "请选择数据源", + "title": "数据源列表" + } +} \ No newline at end of file diff --git a/packages/ui-vue/components/schema-selector/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/schema-selector/src/locales/designer/zh-CHT.json new file mode 100644 index 00000000000..f60fd7f5a32 --- /dev/null +++ b/packages/ui-vue/components/schema-selector/src/locales/designer/zh-CHT.json @@ -0,0 +1,14 @@ +{ + "schemaSelector": { + "search": "請輸入名稱/編號搜索", + "emptyData": "暫無數據", + "controller": { + "warning": "請選擇控制器", + "title": "控制器列表" + }, + "ok": "確定", + "cancel": "取消", + "required": "請選擇數據源", + "title": "數據源列表" + } +} \ No newline at end of file diff --git a/packages/ui-vue/package.json b/packages/ui-vue/package.json index a9e9472f39a..d1924cca0e3 100644 --- a/packages/ui-vue/package.json +++ b/packages/ui-vue/package.json @@ -32,7 +32,8 @@ "docs:dev": "vitepress dev docs --host 0.0.0.0", "docs:build": "vitepress build docs && cp -r ./docs/components/list-view/assets ./docs/.vitepress/dist/components/list-view/ && cp ./docs/assets/farris*.png ./docs/.vitepress/dist/assets", "docs:serve": "vitepress serve docs", - "build:system": "farris-cli build-lib -ep" + "build:system": "farris-cli build-lib -ep", + "extract:i18n": "farris-cli extract-i18n" }, "dependencies": { "@docsearch/js": "3.6.0", -- Gitee From 62e0a80b2cfe01e9a48404518595e8dc3ac9bd41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Thu, 24 Jul 2025 16:09:20 +0800 Subject: [PATCH 04/12] =?UTF-8?q?fix:=20=E7=A7=BB=E9=99=A4=E7=A9=BA?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui-vue/components/date-picker/src/locales/designer/en.json | 0 .../components/date-picker/src/locales/designer/zh-CHS.json | 0 .../components/date-picker/src/locales/designer/zh-CHT.json | 0 packages/ui-vue/components/field-selector/src/locales/ui/en.js | 0 .../ui-vue/components/field-selector/src/locales/ui/zh-CHS.json | 0 .../ui-vue/components/field-selector/src/locales/ui/zh-CHT.json | 0 .../filter-condition-editor/src/locales/designer/en.json | 0 .../filter-condition-editor/src/locales/designer/zh-CHS.json | 0 .../filter-condition-editor/src/locales/designer/zh-CHT.json | 0 packages/ui-vue/components/lookup/src/locales/designer/en.json | 0 .../ui-vue/components/lookup/src/locales/designer/zh-CHS.json | 0 .../ui-vue/components/lookup/src/locales/designer/zh-CHT.json | 0 .../ui-vue/components/message-box/src/locales/designer/en.json | 0 .../components/message-box/src/locales/designer/zh-CHS.json | 0 .../components/message-box/src/locales/designer/zh-CHT.json | 0 .../ui-vue/components/number-spinner/src/locales/designer/en.json | 0 .../components/number-spinner/src/locales/designer/zh-CHS.json | 0 .../components/number-spinner/src/locales/designer/zh-CHT.json | 0 18 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 packages/ui-vue/components/date-picker/src/locales/designer/en.json delete mode 100644 packages/ui-vue/components/date-picker/src/locales/designer/zh-CHS.json delete mode 100644 packages/ui-vue/components/date-picker/src/locales/designer/zh-CHT.json delete mode 100644 packages/ui-vue/components/field-selector/src/locales/ui/en.js delete mode 100644 packages/ui-vue/components/field-selector/src/locales/ui/zh-CHS.json delete mode 100644 packages/ui-vue/components/field-selector/src/locales/ui/zh-CHT.json delete mode 100644 packages/ui-vue/components/filter-condition-editor/src/locales/designer/en.json delete mode 100644 packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHS.json delete mode 100644 packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHT.json delete mode 100644 packages/ui-vue/components/lookup/src/locales/designer/en.json delete mode 100644 packages/ui-vue/components/lookup/src/locales/designer/zh-CHS.json delete mode 100644 packages/ui-vue/components/lookup/src/locales/designer/zh-CHT.json delete mode 100644 packages/ui-vue/components/message-box/src/locales/designer/en.json delete mode 100644 packages/ui-vue/components/message-box/src/locales/designer/zh-CHS.json delete mode 100644 packages/ui-vue/components/message-box/src/locales/designer/zh-CHT.json delete mode 100644 packages/ui-vue/components/number-spinner/src/locales/designer/en.json delete mode 100644 packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHS.json delete mode 100644 packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHT.json diff --git a/packages/ui-vue/components/date-picker/src/locales/designer/en.json b/packages/ui-vue/components/date-picker/src/locales/designer/en.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/date-picker/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/date-picker/src/locales/designer/zh-CHS.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/date-picker/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/date-picker/src/locales/designer/zh-CHT.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/field-selector/src/locales/ui/en.js b/packages/ui-vue/components/field-selector/src/locales/ui/en.js deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/field-selector/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/field-selector/src/locales/ui/zh-CHS.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/field-selector/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/field-selector/src/locales/ui/zh-CHT.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/filter-condition-editor/src/locales/designer/en.json b/packages/ui-vue/components/filter-condition-editor/src/locales/designer/en.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHS.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/filter-condition-editor/src/locales/designer/zh-CHT.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/lookup/src/locales/designer/en.json b/packages/ui-vue/components/lookup/src/locales/designer/en.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/lookup/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/lookup/src/locales/designer/zh-CHS.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/lookup/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/lookup/src/locales/designer/zh-CHT.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/message-box/src/locales/designer/en.json b/packages/ui-vue/components/message-box/src/locales/designer/en.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/message-box/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/message-box/src/locales/designer/zh-CHS.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/message-box/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/message-box/src/locales/designer/zh-CHT.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/number-spinner/src/locales/designer/en.json b/packages/ui-vue/components/number-spinner/src/locales/designer/en.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHS.json b/packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHS.json deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHT.json b/packages/ui-vue/components/number-spinner/src/locales/designer/zh-CHT.json deleted file mode 100644 index e69de29bb2d..00000000000 -- Gitee From c08456764e827ea348f25c098eed9415661591d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Mon, 28 Jul 2025 11:12:09 +0800 Subject: [PATCH 05/12] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E7=B1=BB=E5=9E=8B=E7=BB=84=E4=BB=B6=E5=9B=BD=E9=99=85?= =?UTF-8?q?=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/ui-vue/components/loading/src/loading.component.tsx | 2 +- packages/ui-vue/components/loading/src/loading.service.tsx | 2 ++ packages/ui-vue/components/locale/src/lib/locale.service.ts | 2 +- packages/ui-vue/components/message-box/index.ts | 1 + packages/ui-vue/components/message-box/src/locales/ui/en.json | 2 +- .../ui-vue/components/message-box/src/locales/ui/zh-CHS.json | 2 +- .../ui-vue/components/message-box/src/locales/ui/zh-CHT.json | 2 +- .../components/message-box/src/message-box.component.tsx | 2 +- .../ui-vue/components/message-box/src/message-box.service.tsx | 4 +++- packages/ui-vue/components/notify/src/notify.service.tsx | 2 ++ packages/ui-vue/components/popover/src/popover.service.tsx | 2 ++ 11 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/ui-vue/components/loading/src/loading.component.tsx b/packages/ui-vue/components/loading/src/loading.component.tsx index 21e578b93b0..f265142ec59 100644 --- a/packages/ui-vue/components/loading/src/loading.component.tsx +++ b/packages/ui-vue/components/loading/src/loading.component.tsx @@ -19,7 +19,7 @@ import { defineComponent, SetupContext, ref, onMounted, watch, computed } from ' import { LoadingProps, loadingProps } from './loading.props'; import { LOADING_STYLES } from './composition/types'; -import { useI18n } from 'vue-i18n' +import { useI18n } from 'vue-i18n'; export default defineComponent({ name: 'FLoading', diff --git a/packages/ui-vue/components/loading/src/loading.service.tsx b/packages/ui-vue/components/loading/src/loading.service.tsx index 70816310ea9..6040829abee 100644 --- a/packages/ui-vue/components/loading/src/loading.service.tsx +++ b/packages/ui-vue/components/loading/src/loading.service.tsx @@ -2,6 +2,7 @@ import { Ref, createApp, onMounted, onUnmounted, ref } from 'vue'; import FLoading from './loading.component'; import { LoadingProps } from './loading.props'; +import { LocaleService } from '@farris/ui-vue/components/locale'; let currentLoadingInstanceID = -1; const loadingInstances: { [key: number]: Ref } = {}; @@ -49,6 +50,7 @@ function initInstance(props?: any): Ref> { parentContainer.style = parentContainer.style ? parentContainer.style : {}; parentContainer.appendChild(container); + appInstance.use(LocaleService.i18n); appInstance.mount(container); return loadingInstances[newInstanceId]; } diff --git a/packages/ui-vue/components/locale/src/lib/locale.service.ts b/packages/ui-vue/components/locale/src/lib/locale.service.ts index c39d963e96a..1a26aaaacb6 100644 --- a/packages/ui-vue/components/locale/src/lib/locale.service.ts +++ b/packages/ui-vue/components/locale/src/lib/locale.service.ts @@ -18,7 +18,7 @@ import { DEFAULT_LOCALE_CONFIG, LocaleConfig, LocaleResources } from './types'; import { App } from 'vue'; import { useResourceLoader } from './composition'; export class LocaleService { - private static i18n: I18n; + public static i18n: I18n; private static config: LocaleConfig; public static async setup(app: App, config: Partial = {}) { LocaleService.config = { ...DEFAULT_LOCALE_CONFIG, ...config }; diff --git a/packages/ui-vue/components/message-box/index.ts b/packages/ui-vue/components/message-box/index.ts index 5ffa28ccc25..7eadcdd9417 100644 --- a/packages/ui-vue/components/message-box/index.ts +++ b/packages/ui-vue/components/message-box/index.ts @@ -24,6 +24,7 @@ export { FMessageBox, FMessageBoxService }; FMessageBox.install = (app: App) => { app.component(FMessageBox.name as string, FMessageBox); + FMessageBoxService.app = app; app.provide('FMessageBoxService', FMessageBoxService); }; diff --git a/packages/ui-vue/components/message-box/src/locales/ui/en.json b/packages/ui-vue/components/message-box/src/locales/ui/en.json index d77d134ca2f..5cb47e73fe3 100644 --- a/packages/ui-vue/components/message-box/src/locales/ui/en.json +++ b/packages/ui-vue/components/message-box/src/locales/ui/en.json @@ -1,5 +1,5 @@ { - "messageBox": { + "messager": { "yes": "Yes", "no": "No", "ok": "OK", diff --git a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json index 8de228c9e7c..7e4b8b39416 100644 --- a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json +++ b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json @@ -1,5 +1,5 @@ { - "messageBox": { + "messager": { "yes": "是", "no": "否", "ok": "确定", diff --git a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json index 8126b3ba39b..08248252395 100644 --- a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json +++ b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json @@ -1,5 +1,5 @@ { - "messageBox": { + "messager": { "yes": "是", "no": "否", "ok": "確定", diff --git a/packages/ui-vue/components/message-box/src/message-box.component.tsx b/packages/ui-vue/components/message-box/src/message-box.component.tsx index 05e931c84f1..8d1f2b6d195 100644 --- a/packages/ui-vue/components/message-box/src/message-box.component.tsx +++ b/packages/ui-vue/components/message-box/src/message-box.component.tsx @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { computed, defineComponent, provide, ref, SetupContext } from 'vue'; +import { computed, defineComponent, ref, SetupContext } from 'vue'; import { MessageBoxProps, messageBoxProps } from './message-box.props'; import { useCopy } from './composition/use-copy'; import { useEditor } from './composition/use-editor'; diff --git a/packages/ui-vue/components/message-box/src/message-box.service.tsx b/packages/ui-vue/components/message-box/src/message-box.service.tsx index c30afdf3b34..92410333570 100644 --- a/packages/ui-vue/components/message-box/src/message-box.service.tsx +++ b/packages/ui-vue/components/message-box/src/message-box.service.tsx @@ -32,6 +32,8 @@ export interface MessageBoxOption { } export default class MessageBoxService { + public static app: any = null; + static show(options: MessageBoxOption) { const props: MessageBoxOption = reactive({ @@ -44,7 +46,7 @@ export default class MessageBoxService { const rejectCallback = props.rejectCallback || (() => { }); let modalApp: any = null; - let modalService: FModalService | null = new FModalService(modalApp); + let modalService: FModalService | null = new FModalService(MessageBoxService.app); const onClose = () => { if (modalApp) { modalApp?.destroy(); diff --git a/packages/ui-vue/components/notify/src/notify.service.tsx b/packages/ui-vue/components/notify/src/notify.service.tsx index 9b23449aed1..4e2300e0cab 100644 --- a/packages/ui-vue/components/notify/src/notify.service.tsx +++ b/packages/ui-vue/components/notify/src/notify.service.tsx @@ -1,6 +1,7 @@ import { createApp, inject, onMounted, onUnmounted, reactive, ref, Transition, type App } from "vue"; import { NotifyGlobalConfig, NotifyProps, ShowNotifyParams } from "./notify.props"; import Notify from './notify.component'; +import { LocaleService } from '@farris/ui-vue/components/locale'; export default class NotifyService { @@ -82,6 +83,7 @@ export default class NotifyService { }); app.provide('NotifyService', this); document.body.appendChild(container); + app.use(LocaleService.i18n); app.mount(container); return app; }; diff --git a/packages/ui-vue/components/popover/src/popover.service.tsx b/packages/ui-vue/components/popover/src/popover.service.tsx index acbe0eafedb..9a50fafd24e 100644 --- a/packages/ui-vue/components/popover/src/popover.service.tsx +++ b/packages/ui-vue/components/popover/src/popover.service.tsx @@ -1,6 +1,7 @@ import { App, createApp, onUnmounted } from 'vue'; import FPopover from './popover.component'; import { JSX } from 'vue/jsx-runtime'; +import { LocaleService } from '@farris/ui-vue/components/locale'; export interface PopoverServiceOptions { reference: any; @@ -52,6 +53,7 @@ function createPopoverInstance(options: PopoverServiceOptions): App { } }); document.body.appendChild(container); + popoverApp.use(LocaleService.i18n); popoverApp.mount(container); return popoverApp; } -- Gitee From 84a8763257621d3212957e1aac41d14f8a404ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Mon, 28 Jul 2025 15:03:38 +0800 Subject: [PATCH 06/12] =?UTF-8?q?fix:=20=E8=AE=BE=E8=AE=A1=E6=97=B6?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E7=BB=84=E4=BB=B6=E5=8A=A0=E8=BD=BD=E5=9B=BD?= =?UTF-8?q?=E9=99=85=E5=8C=96=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/designer/src/app-providers.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/designer/src/app-providers.ts b/packages/designer/src/app-providers.ts index 38380e1df11..45104700aad 100644 --- a/packages/designer/src/app-providers.ts +++ b/packages/designer/src/app-providers.ts @@ -22,7 +22,8 @@ export default { const metadataPath = metadataService.getMetadataPath(); app.provide(MetadataPathToken, metadataPath); - + + FMessageBoxService.app = app; app.provide('FMessageBoxService', FMessageBoxService); app.provide(LookupSchemaRepositoryToken, new LookupSchemaService(metadataService)); -- Gitee From 0dda8543d01b0282759ee978b4be7387a3108776 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Tue, 29 Jul 2025 08:28:38 +0800 Subject: [PATCH 07/12] =?UTF-8?q?fix:=20=E6=B6=88=E5=A4=84=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E7=BB=84=E4=BB=B6=E5=9B=BD=E9=99=85=E5=8C=96=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E9=94=AE=E5=80=BC=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/composition/use-locales.ts | 28 +++++++++---------- .../message-box/src/locales/ui/en.json | 2 +- .../message-box/src/locales/ui/zh-CHS.json | 2 +- .../message-box/src/locales/ui/zh-CHT.json | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/ui-vue/components/message-box/src/composition/use-locales.ts b/packages/ui-vue/components/message-box/src/composition/use-locales.ts index 74f71a89188..5f52c2400e0 100644 --- a/packages/ui-vue/components/message-box/src/composition/use-locales.ts +++ b/packages/ui-vue/components/message-box/src/composition/use-locales.ts @@ -31,21 +31,21 @@ export function useMessagerLocales(props: MessageBoxProps): MessageBoxLocaleData } return { - yes: getValue('messager.yes') || '是', - no: getValue('messager.no') ||'否', - ok: getValue('messager.ok', props.okButtonText, '确定') ||'确定', - cancel: getValue('messager.cancel', props.cancelButtonText, '取消') || '取消', - title: getValue('messager.title') || '系统提示', - errorTitle: getValue('messager.errorTitle') || '错误提示', + yes: getValue('messagerBox.yes') || '是', + no: getValue('messagerBox.no') ||'否', + ok: getValue('messagerBox.ok', props.okButtonText, '确定') ||'确定', + cancel: getValue('messagerBox.cancel', props.cancelButtonText, '取消') || '取消', + title: getValue('messagerBox.title') || '系统提示', + errorTitle: getValue('messagerBox.errorTitle') || '错误提示', exception: { - expand: getValue('messager.exception.expand') || '展开', - collapse: getValue('messager.exception.collapse') || '收起', - happend: getValue('messager.exception.happend') || '发生时间', - detail: getValue('messager.exception.detail') || '详细信息', - copy: getValue('messager.exception.copy') || '复制详细信息', - copySuccess: getValue('messager.exception.copySuccess') || '复制成功', - copyFailed: getValue('messager.exception.copyFailed') || '复制失败', - roger: getValue('messager.exception.roger') || '知道了' + expand: getValue('messagerBox.exception.expand') || '展开', + collapse: getValue('messagerBox.exception.collapse') || '收起', + happend: getValue('messagerBox.exception.happend') || '发生时间', + detail: getValue('messagerBox.exception.detail') || '详细信息', + copy: getValue('messagerBox.exception.copy') || '复制详细信息', + copySuccess: getValue('messagerBox.exception.copySuccess') || '复制成功', + copyFailed: getValue('messagerBox.exception.copyFailed') || '复制失败', + roger: getValue('messagerBox.exception.roger') || '知道了' } }; } diff --git a/packages/ui-vue/components/message-box/src/locales/ui/en.json b/packages/ui-vue/components/message-box/src/locales/ui/en.json index 5cb47e73fe3..377868bc45a 100644 --- a/packages/ui-vue/components/message-box/src/locales/ui/en.json +++ b/packages/ui-vue/components/message-box/src/locales/ui/en.json @@ -1,5 +1,5 @@ { - "messager": { + "messagerBox": { "yes": "Yes", "no": "No", "ok": "OK", diff --git a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json index 7e4b8b39416..190f27eec7e 100644 --- a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json +++ b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json @@ -1,5 +1,5 @@ { - "messager": { + "messagerBox": { "yes": "是", "no": "否", "ok": "确定", diff --git a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json index 08248252395..a75088adf5f 100644 --- a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json +++ b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json @@ -1,5 +1,5 @@ { - "messager": { + "messagerBox": { "yes": "是", "no": "否", "ok": "確定", -- Gitee From 70be56408694483f56ecfa992da2431e764cc2e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Tue, 29 Jul 2025 08:34:52 +0800 Subject: [PATCH 08/12] =?UTF-8?q?fix:=20=E6=B6=88=E5=A4=84=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E7=BB=84=E4=BB=B6=E5=9B=BD=E9=99=85=E5=8C=96=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E9=94=AE=E5=80=BC=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/composition/use-locales.ts | 28 +++++++++---------- .../message-box/src/locales/ui/en.json | 2 +- .../message-box/src/locales/ui/zh-CHS.json | 2 +- .../message-box/src/locales/ui/zh-CHT.json | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/packages/ui-vue/components/message-box/src/composition/use-locales.ts b/packages/ui-vue/components/message-box/src/composition/use-locales.ts index 5f52c2400e0..99128dc23a4 100644 --- a/packages/ui-vue/components/message-box/src/composition/use-locales.ts +++ b/packages/ui-vue/components/message-box/src/composition/use-locales.ts @@ -31,21 +31,21 @@ export function useMessagerLocales(props: MessageBoxProps): MessageBoxLocaleData } return { - yes: getValue('messagerBox.yes') || '是', - no: getValue('messagerBox.no') ||'否', - ok: getValue('messagerBox.ok', props.okButtonText, '确定') ||'确定', - cancel: getValue('messagerBox.cancel', props.cancelButtonText, '取消') || '取消', - title: getValue('messagerBox.title') || '系统提示', - errorTitle: getValue('messagerBox.errorTitle') || '错误提示', + yes: getValue('messageBox.yes') || '是', + no: getValue('messageBox.no') ||'否', + ok: getValue('messageBox.ok', props.okButtonText, '确定') ||'确定', + cancel: getValue('messageBox.cancel', props.cancelButtonText, '取消') || '取消', + title: getValue('messageBox.title') || '系统提示', + errorTitle: getValue('messageBox.errorTitle') || '错误提示', exception: { - expand: getValue('messagerBox.exception.expand') || '展开', - collapse: getValue('messagerBox.exception.collapse') || '收起', - happend: getValue('messagerBox.exception.happend') || '发生时间', - detail: getValue('messagerBox.exception.detail') || '详细信息', - copy: getValue('messagerBox.exception.copy') || '复制详细信息', - copySuccess: getValue('messagerBox.exception.copySuccess') || '复制成功', - copyFailed: getValue('messagerBox.exception.copyFailed') || '复制失败', - roger: getValue('messagerBox.exception.roger') || '知道了' + expand: getValue('messageBox.exception.expand') || '展开', + collapse: getValue('messageBox.exception.collapse') || '收起', + happend: getValue('messageBox.exception.happend') || '发生时间', + detail: getValue('messageBox.exception.detail') || '详细信息', + copy: getValue('messageBox.exception.copy') || '复制详细信息', + copySuccess: getValue('messageBox.exception.copySuccess') || '复制成功', + copyFailed: getValue('messageBox.exception.copyFailed') || '复制失败', + roger: getValue('messageBox.exception.roger') || '知道了' } }; } diff --git a/packages/ui-vue/components/message-box/src/locales/ui/en.json b/packages/ui-vue/components/message-box/src/locales/ui/en.json index 377868bc45a..d77d134ca2f 100644 --- a/packages/ui-vue/components/message-box/src/locales/ui/en.json +++ b/packages/ui-vue/components/message-box/src/locales/ui/en.json @@ -1,5 +1,5 @@ { - "messagerBox": { + "messageBox": { "yes": "Yes", "no": "No", "ok": "OK", diff --git a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json index 190f27eec7e..8de228c9e7c 100644 --- a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json +++ b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHS.json @@ -1,5 +1,5 @@ { - "messagerBox": { + "messageBox": { "yes": "是", "no": "否", "ok": "确定", diff --git a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json index a75088adf5f..8126b3ba39b 100644 --- a/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json +++ b/packages/ui-vue/components/message-box/src/locales/ui/zh-CHT.json @@ -1,5 +1,5 @@ { - "messagerBox": { + "messageBox": { "yes": "是", "no": "否", "ok": "確定", -- Gitee From 252a526d450df8360138e7b02324f1b01bbe9eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Tue, 29 Jul 2025 08:48:04 +0800 Subject: [PATCH 09/12] =?UTF-8?q?fix:=20=E8=A1=A8=E8=BE=BE=E5=BC=8F?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=99=A8=E5=B7=B2=E7=9F=A5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../property-panel/src/composition/entity/expression-property.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/ui-vue/components/property-panel/src/composition/entity/expression-property.ts b/packages/ui-vue/components/property-panel/src/composition/entity/expression-property.ts index c8640051d2e..442ad4bf870 100644 --- a/packages/ui-vue/components/property-panel/src/composition/entity/expression-property.ts +++ b/packages/ui-vue/components/property-panel/src/composition/entity/expression-property.ts @@ -332,6 +332,7 @@ export class ExpressionProperty { title: this.expressionNames[name], type: "string", $converter: this.getExpressionConverter(expressionId), + refreshPanelAfterChanged: true, editor: { type: "expression-editor", singleExpand: false, -- Gitee From 4530e4c5ce402ed4c79c3977820eeea9701e4e8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Tue, 29 Jul 2025 11:09:16 +0800 Subject: [PATCH 10/12] =?UTF-8?q?fix:=20=E6=97=A5=E6=9C=9F=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E5=9B=BD=E9=99=85=E5=8C=96=E9=97=AE=E9=A2=98=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../date-picker-container/date-picker-container.component.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui-vue/components/date-picker/src/components/date-picker-container/date-picker-container.component.tsx b/packages/ui-vue/components/date-picker/src/components/date-picker-container/date-picker-container.component.tsx index be9d3644951..2c304ce53b8 100644 --- a/packages/ui-vue/components/date-picker/src/components/date-picker-container/date-picker-container.component.tsx +++ b/packages/ui-vue/components/date-picker/src/components/date-picker-container/date-picker-container.component.tsx @@ -1262,7 +1262,7 @@ export default defineComponent({ {enablePeriod.value && selectMode.value === 'day' &&
} - 确定 + {props.locales.buttons.commit}
} -- Gitee From c858612aa820c2d65cc5d1dc00af9309209221c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Tue, 29 Jul 2025 14:30:03 +0800 Subject: [PATCH 11/12] =?UTF-8?q?fix:=20=E6=97=B6=E9=97=B4=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E8=AE=BE=E8=AE=A1=E6=97=B6=E5=B1=9E=E6=80=A7=E9=9D=A2?= =?UTF-8?q?=E6=9D=BF=E6=98=93=E7=94=A8=E6=80=A7=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../time-picker.property-config.ts | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/packages/ui-vue/components/time-picker/src/property-config/time-picker.property-config.ts b/packages/ui-vue/components/time-picker/src/property-config/time-picker.property-config.ts index d9f3a937b47..9712f9aa723 100644 --- a/packages/ui-vue/components/time-picker/src/property-config/time-picker.property-config.ts +++ b/packages/ui-vue/components/time-picker/src/property-config/time-picker.property-config.ts @@ -13,6 +13,12 @@ export class TimePickerProperty extends InputBaseProperty { title: "允许编辑", type: "boolean" }, + use12Hours: { + description: "", + title: "是否使用12小时制", + type: "boolean", + refreshPanelAfterChanged: true + }, format: { description: "", title: "格式", @@ -21,7 +27,10 @@ export class TimePickerProperty extends InputBaseProperty { type: "combo-list", textField: "name", valueField: "value", - data: [ + data: propertyData.editor.use12Hours? [ + { value: "hh:mm:ss", name: "hh:mm:ss" }, + { value: "hh:mm", name: "hh:mm" } + ]: [ { value: "HH:mm:ss", name: "HH:mm:ss" }, { value: "HH:mm", name: "HH:mm" } ] @@ -32,11 +41,6 @@ export class TimePickerProperty extends InputBaseProperty { title: "是否显示时分秒标题", type: "boolean" }, - use12Hours: { - description: "", - title: "是否使用12小时制", - type: "boolean" - }, hourStep: { description: "", title: "时步长", @@ -67,6 +71,11 @@ export class TimePickerProperty extends InputBaseProperty { useThousands: false } } + }, (changeObject, propertyData) => { + if (changeObject.propertyID === "use12Hours") { + propertyData.editor.format = propertyData.editor.format || "hh:mm:ss"; + propertyData.editor.format = changeObject.propertyValue? propertyData.editor.format.replace("HH", "hh"): propertyData.editor.format.replace("hh", "HH"); + } }); } }; -- Gitee From 1501e0f5e1e944992c7bdb6bb69bf2bb6c8b15ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=A7=80=E6=89=8D?= Date: Tue, 29 Jul 2025 16:55:03 +0800 Subject: [PATCH 12/12] =?UTF-8?q?fix:=20code-editor=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=BC=B9=E7=AA=97=E5=90=AF=E7=94=A8=E6=9C=80=E5=A4=A7=E5=8C=96?= =?UTF-8?q?=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/code-editor/src/code-textbox.component.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/ui-vue/components/code-editor/src/code-textbox.component.tsx b/packages/ui-vue/components/code-editor/src/code-textbox.component.tsx index a4c4011e73a..ebb26d72de6 100644 --- a/packages/ui-vue/components/code-editor/src/code-textbox.component.tsx +++ b/packages/ui-vue/components/code-editor/src/code-textbox.component.tsx @@ -74,8 +74,8 @@ export default defineComponent({ fitContent: false, showHeader: true, showCloseButton: true, - showMaxButton: false, - resizeable: false, + showMaxButton: true, + resizeable: true, draggable: true, buttons: [ { -- Gitee