From b2b423dae8a8ce0877068ac3fb6c168b12f04d98 Mon Sep 17 00:00:00 2001 From: RAHEEL Date: Fri, 1 Dec 2023 15:43:50 +0500 Subject: [PATCH 1/7] fix: make table rows interactive when fixed header --- .../comps/comps/tableComp/tableCompView.tsx | 224 +++++++++--------- .../src/comps/hooks/screenInfoComp.tsx | 4 +- 2 files changed, 118 insertions(+), 110 deletions(-) diff --git a/client/packages/lowcoder/src/comps/comps/tableComp/tableCompView.tsx b/client/packages/lowcoder/src/comps/comps/tableComp/tableCompView.tsx index f8319e2b0..f7ee81688 100644 --- a/client/packages/lowcoder/src/comps/comps/tableComp/tableCompView.tsx +++ b/client/packages/lowcoder/src/comps/comps/tableComp/tableCompView.tsx @@ -63,91 +63,64 @@ const getStyle = ( const alternateBackground = genLinerGradient(rowStyle.alternateBackground); return css` - border-color: ${style.border}; - border-radius: ${style.radius}; - - & > div > div > div > .ant-table > .ant-table-container > .ant-table-content > table { - > thead > tr > th, - > tbody > tr > td { - border-color: ${style.border}; - } - - > .ant-table-thead > tr > th::before { - background-color: ${style.border}; + .ant-table-body { + background: white; + } + .ant-table-tbody { + > tr:nth-of-type(2n + 1) { + &, + > td { + background: ${genLinerGradient(rowStyle.background)}; + } } - > .ant-table-thead { - > tr > th { - background-color: ${style.headerBackground}; - border-color: ${style.border}; - color: ${style.headerText}; - - &.ant-table-column-has-sorters:hover { - background-color: ${darkenColor(style.headerBackground, 0.05)}; - } - - > .ant-table-column-sorters > .ant-table-column-sorter { - color: ${style.headerText === defaultTheme.textDark ? "#bfbfbf" : style.headerText}; - } + > tr:nth-of-type(2n) { + &, + > td { + background: ${alternateBackground}; } } - > .ant-table-tbody { - > tr:nth-of-type(2n + 1) { - &, - > td { - background: ${genLinerGradient(rowStyle.background)}; - } + // selected row + > tr:nth-of-type(2n + 1).ant-table-row-selected { + > td { + background: ${selectedRowBackground}, ${rowStyle.background} !important; } - > tr:nth-of-type(2n) { - &, - > td { - background: ${alternateBackground}; - } + > td.ant-table-cell-row-hover, + &:hover > td { + background: ${hoverRowBackground}, ${selectedRowBackground}, ${rowStyle.background} !important; } + } - // selected row - > tr:nth-of-type(2n + 1).ant-table-row-selected { - > td { - background: ${selectedRowBackground}, ${rowStyle.background} !important; - } - - > td.ant-table-cell-row-hover, - &:hover > td { - background: ${hoverRowBackground}, ${selectedRowBackground}, ${rowStyle.background} !important; - } + > tr:nth-of-type(2n).ant-table-row-selected { + > td { + background: ${selectedRowBackground}, ${alternateBackground} !important; } - > tr:nth-of-type(2n).ant-table-row-selected { - > td { - background: ${selectedRowBackground}, ${alternateBackground} !important; - } - - > td.ant-table-cell-row-hover, - &:hover > td { - background: ${hoverRowBackground}, ${selectedRowBackground}, ${alternateBackground} !important; - } + > td.ant-table-cell-row-hover, + &:hover > td { + background: ${hoverRowBackground}, ${selectedRowBackground}, ${alternateBackground} !important; } + } - // hover row - > tr:nth-of-type(2n + 1) > td.ant-table-cell-row-hover { - &, - > div:nth-of-type(2) { - background: ${hoverRowBackground}, ${rowStyle.background} !important; - } + // hover row + > tr:nth-of-type(2n + 1) > td.ant-table-cell-row-hover { + &, + > div:nth-of-type(2) { + background: ${hoverRowBackground}, ${rowStyle.background} !important; } + } - > tr:nth-of-type(2n) > td.ant-table-cell-row-hover { - &, - > div:nth-of-type(2) { - background: ${hoverRowBackground}, ${alternateBackground} !important; - } + > tr:nth-of-type(2n) > td.ant-table-cell-row-hover { + &, + > div:nth-of-type(2) { + background: ${hoverRowBackground}, ${alternateBackground} !important; } + } - > tr.ant-table-expanded-row > td { - background: ${background}; - } + > tr.ant-table-expanded-row > td { + background: ${background}; } } `; @@ -157,11 +130,13 @@ const TableWrapper = styled.div<{ $style: TableStyleType; $rowStyle: TableRowStyleType; toolbarPosition: "above" | "below" | "close"; + fixedHeader: boolean; }>` max-height: 100%; - overflow-y: auto; + overflow-y: ${(props) => (props.fixedHeader ? "hidden" : "auto")}; background: white; - border: 1px solid #d7d9e0; + border: ${(props) => `1px solid ${props.$style.border}`}; + border-radius: ${(props) => props.$style.radius}; .ant-table-wrapper { border-top: ${(props) => (props.toolbarPosition === "above" ? "1px solid" : "unset")}; @@ -193,64 +168,91 @@ const TableWrapper = styled.div<{ border-top: none !important; border-inline-start: none !important; - .ant-table-content { - // A table expand row contains table - .ant-table-tbody .ant-table-wrapper:only-child .ant-table { - margin: 0; - } - - table { - border-top: unset; + // A table expand row contains table + .ant-table-tbody .ant-table-wrapper:only-child .ant-table { + margin: 0; + } - td { - padding: 0px 0px; - } + table { + border-top: unset; + + > .ant-table-thead { + > tr > th { + background-color: ${(props) => props.$style.headerBackground}; + border-color: ${(props) => props.$style.border}; + color: ${(props) => props.$style.headerText}; + border-inline-end: ${(props) => `1px solid ${props.$style.border}`} !important; + + &:last-child { + border-inline-end: none !important; + } + &.ant-table-column-has-sorters:hover { + background-color: ${(props) => darkenColor(props.$style.headerBackground, 0.05)}; + } + + > .ant-table-column-sorters > .ant-table-column-sorter { + color: ${(props) => props.$style.headerText === defaultTheme.textDark ? "#bfbfbf" : props.$style.headerText}; + } - thead > tr:first-child { - th:last-child { - border-right: unset; + &::before { + background-color: ${(props) => props.$style.border}; } } + } - tbody > tr > td:last-child { + > thead > tr > th, + > tbody > tr > td { + border-color: ${(props) => props.$style.border}; + } + + td { + padding: 0px 0px; + } + + thead > tr:first-child { + th:last-child { border-right: unset; } + } - .ant-empty-img-simple-g { - fill: #fff; - } + tbody > tr > td:last-child { + border-right: unset; + } - > thead > tr:first-child { - th:first-child { - border-top-left-radius: 0px; - } + .ant-empty-img-simple-g { + fill: #fff; + } - th:last-child { - border-top-right-radius: 0px; - } + > thead > tr:first-child { + th:first-child { + border-top-left-radius: 0px; } - // hide the bottom border of the last row - ${(props) => - props.toolbarPosition !== "below" && - ` - tbody > tr:last-child > td { - border-bottom: unset; - } - `} + th:last-child { + border-top-right-radius: 0px; + } } - .ant-table-expanded-row-fixed:after { - border-right: unset !important; - } + // hide the bottom border of the last row + ${(props) => + props.toolbarPosition !== "below" && + ` + tbody > tr:last-child > td { + border-bottom: unset; + } + `} + } + + .ant-table-expanded-row-fixed:after { + border-right: unset !important; } } } - + ${(props) => props.$style && getStyle(props.$style, props.$rowStyle)} `; - + const TableTh = styled.th<{ width?: number }>` overflow: hidden; @@ -272,6 +274,11 @@ const TableTd = styled.td<{ .ant-table-row-indent { display: ${(props) => (props.$isEditing ? "none" : "initial")}; } + &.ant-table-row-expand-icon-cell { + background: ${(props) => props.background}; + border-color: ${(props) => props.$style.border}; + } + background: ${(props) => props.background} !important; border-color: ${(props) => props.$style.border} !important; border-width: ${(props) => props.$style.borderWidth} !important; @@ -681,6 +688,7 @@ export function TableCompView(props: { $style={style} $rowStyle={rowStyle} toolbarPosition={toolbar.position} + fixedHeader={compChildren.fixedHeader.getView()} > {toolbar.position === "above" && toolbarView} diff --git a/client/packages/lowcoder/src/comps/hooks/screenInfoComp.tsx b/client/packages/lowcoder/src/comps/hooks/screenInfoComp.tsx index 00d0fceec..a41ae99a3 100644 --- a/client/packages/lowcoder/src/comps/hooks/screenInfoComp.tsx +++ b/client/packages/lowcoder/src/comps/hooks/screenInfoComp.tsx @@ -20,8 +20,8 @@ type ScreenInfo = { function useScreenInfo() { const getDeviceType = () => { - if (window.screen.width < 768) return ScreenTypes.Mobile; - if (window.screen.width < 889) return ScreenTypes.Tablet; + if (window.innerWidth < 768) return ScreenTypes.Mobile; + if (window.innerWidth < 889) return ScreenTypes.Tablet; return ScreenTypes.Desktop; } const getFlagsByDeviceType = (deviceType: ScreenType) => { From e959fd1f1b92a2531a872969e43a70c65017f41f Mon Sep 17 00:00:00 2001 From: RAHEEL Date: Fri, 1 Dec 2023 19:29:00 +0500 Subject: [PATCH 2/7] fix: separate options to fix header and toolbar --- .../comps/comps/tableComp/tableCompView.tsx | 33 +++++++++++-------- .../comps/tableComp/tableToolbarComp.tsx | 32 +++++++++++++++--- .../packages/lowcoder/src/i18n/locales/en.ts | 2 ++ .../packages/lowcoder/src/i18n/locales/zh.ts | 2 ++ 4 files changed, 50 insertions(+), 19 deletions(-) diff --git a/client/packages/lowcoder/src/comps/comps/tableComp/tableCompView.tsx b/client/packages/lowcoder/src/comps/comps/tableComp/tableCompView.tsx index f7ee81688..1c6891208 100644 --- a/client/packages/lowcoder/src/comps/comps/tableComp/tableCompView.tsx +++ b/client/packages/lowcoder/src/comps/comps/tableComp/tableCompView.tsx @@ -131,9 +131,10 @@ const TableWrapper = styled.div<{ $rowStyle: TableRowStyleType; toolbarPosition: "above" | "below" | "close"; fixedHeader: boolean; + fixedToolbar: boolean; }>` max-height: 100%; - overflow-y: ${(props) => (props.fixedHeader ? "hidden" : "auto")}; + overflow-y: auto; background: white; border: ${(props) => `1px solid ${props.$style.border}`}; border-radius: ${(props) => props.$style.radius}; @@ -168,6 +169,10 @@ const TableWrapper = styled.div<{ border-top: none !important; border-inline-start: none !important; + .ant-table-content { + overflow: unset !important; + } + // A table expand row contains table .ant-table-tbody .ant-table-wrapper:only-child .ant-table { margin: 0; @@ -182,7 +187,15 @@ const TableWrapper = styled.div<{ border-color: ${(props) => props.$style.border}; color: ${(props) => props.$style.headerText}; border-inline-end: ${(props) => `1px solid ${props.$style.border}`} !important; - + ${(props) => + props.fixedHeader && ` + position: sticky; + position: -webkit-sticky; + top: ${props.fixedToolbar ? '47px' : '0'}; + z-index: 99; + ` + } + &:last-child { border-inline-end: none !important; } @@ -371,9 +384,6 @@ type CustomTableProps = Omit, "components" | viewModeResizable: boolean; rowColorFn: RowColorViewType; columnsStyle: TableColumnStyleType; - fixedHeader: boolean; - height?: number; - autoHeight?: boolean; }; function TableCellView(props: { @@ -547,9 +557,7 @@ function ResizeableTable(props: CustomTableProps ); @@ -563,10 +571,10 @@ export function TableCompView(props: { onDownload: (fileName: string) => void; }) { const editorState = useContext(EditorContext); - const { width, height, ref } = useResizeDetector({ + const { width, ref } = useResizeDetector({ refreshMode: "debounce", refreshRate: 600, - handleHeight: true, + handleHeight: false, }); const viewMode = useUserViewMode(); const compName = useContext(CompNameContext); @@ -591,7 +599,6 @@ export function TableCompView(props: { () => compChildren.dynamicColumnConfig.getView(), [compChildren.dynamicColumnConfig] ); - const autoHeight = compChildren.autoHeight.getView(); const columnsAggrData = comp.columnAggrData; const expansion = useMemo(() => compChildren.expansion.getView(), [compChildren.expansion]); const antdColumns = useMemo( @@ -689,6 +696,7 @@ export function TableCompView(props: { $rowStyle={rowStyle} toolbarPosition={toolbar.position} fixedHeader={compChildren.fixedHeader.getView()} + fixedToolbar={toolbar.fixedToolbar && toolbar.position === 'above'} > {toolbar.position === "above" && toolbarView} @@ -709,15 +717,12 @@ export function TableCompView(props: { onTableChange(pagination, filters, sorter, extra, comp.dispatch, onEvent); }} showHeader={!compChildren.hideHeader.getView()} - fixedHeader={compChildren.fixedHeader.getView()} columns={antdColumns} columnsStyle={columnsStyle} viewModeResizable={compChildren.viewModeResizable.getView()} dataSource={pageDataInfo.data} size={compChildren.size.getView()} tableLayout="fixed" - height={height} - autoHeight={autoHeight} loading={ loading || // fixme isLoading type diff --git a/client/packages/lowcoder/src/comps/comps/tableComp/tableToolbarComp.tsx b/client/packages/lowcoder/src/comps/comps/tableComp/tableToolbarComp.tsx index cff63a784..ca60434e3 100644 --- a/client/packages/lowcoder/src/comps/comps/tableComp/tableToolbarComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/tableComp/tableToolbarComp.tsx @@ -48,13 +48,22 @@ const getStyle = ( style: TableStyleType, filtered: boolean, theme: ThemeDetail, - position: ToolbarRowType["position"] + position: ToolbarRowType["position"], + fixedToolbar: boolean, ) => { return css` background-color: ${style.toolbarBackground}; // Implement horizontal scrollbar and vertical page number selection is not blocked - padding: ${position === "above" ? "13px 16px 313px 16px" : "313px 16px 13px 16px"}; - margin: ${position === "above" ? "0 0 -300px 0" : "-300px 0 0 0"}; + // padding: ${position === "above" ? "13px 16px 313px 16px" : "313px 16px 13px 16px"}; + // margin: ${position === "above" ? "0 0 -300px 0" : "-300px 0 0 0"}; + padding: 13px 12px; + ${fixedToolbar && ` + position: sticky; + postion: -webkit-sticky; + z-index: 99; + `}; + ${fixedToolbar && position === 'below' && `bottom: 0;`}; + ${fixedToolbar && position === 'above' && `top: 0;` }; .toolbar-icons { .refresh, @@ -147,9 +156,16 @@ const ToolbarWrapper = styled.div<{ $filtered: boolean; theme: ThemeDetail; position: ToolbarRowType["position"]; + fixedToolbar: boolean; }>` - overflow: auto; - ${(props) => props.$style && getStyle(props.$style, props.$filtered, props.theme, props.position)} + // overflow: auto; + ${(props) => props.$style && getStyle( + props.$style, + props.$filtered, + props.theme, + props.position, + props.fixedToolbar, + )} `; const ToolbarWrapper2 = styled.div` @@ -539,6 +555,7 @@ export const TableToolbarComp = (function () { showDownload: BoolControl, showFilter: BoolControl, columnSetting: BoolControl, + fixedToolbar: BoolControl, // searchText: StringControl, filter: stateComp({ stackType: "and", filters: [] }), position: dropdownControl(positionOptions, "below"), @@ -563,6 +580,10 @@ export const TableToolbarComp = (function () { }) .setPropertyViewFn((children) => [ children.position.propertyView({ label: trans("table.position"), radioButton: true }), + children.fixedToolbar.propertyView({ + label: trans("table.fixedToolbar"), + tooltip: trans("table.fixedToolbarTooltip") + }), children.showFilter.propertyView({ label: trans("table.showFilter") }), children.showRefresh.propertyView({ label: trans("table.showRefresh") }), children.showDownload.propertyView({ label: trans("table.showDownload") }), @@ -728,6 +749,7 @@ export function TableToolbar(props: { theme={theme} $filtered={toolbar.filter.filters.length > 0} position={toolbar.position} + fixedToolbar={toolbar.fixedToolbar} > diff --git a/client/packages/lowcoder/src/i18n/locales/en.ts b/client/packages/lowcoder/src/i18n/locales/en.ts index a06f7cdf0..e27a915fb 100644 --- a/client/packages/lowcoder/src/i18n/locales/en.ts +++ b/client/packages/lowcoder/src/i18n/locales/en.ts @@ -1253,6 +1253,8 @@ export const en = { hideHeader: "Hide table header", fixedHeader: "Fixed table header", fixedHeaderTooltip: "Header will be fixed for vertically scrollable table", + fixedToolbar: "Fixed toolbar", + fixedToolbarTooltip: "Toolbaar will be fixed for vertically scrollable table based on position", hideBordered: "Hide column border", deleteColumn: "Delete column", confirmDeleteColumn: "Confirm delete column: ", diff --git a/client/packages/lowcoder/src/i18n/locales/zh.ts b/client/packages/lowcoder/src/i18n/locales/zh.ts index 60f66ccec..4cfa6474a 100644 --- a/client/packages/lowcoder/src/i18n/locales/zh.ts +++ b/client/packages/lowcoder/src/i18n/locales/zh.ts @@ -1176,6 +1176,8 @@ table: { hideHeader: "隐藏表头", fixedHeader: "固定表头", fixedHeaderTooltip: "垂直滚动表格的标题将被固定", + fixedToolbar: "固定工具栏", + fixedToolbarTooltip: "工具栏将根据所选位置固定为垂直滚动表格", hideBordered: "隐藏列边框", deleteColumn: "删除列", confirmDeleteColumn: "确认删除列:", From 4d0a3bb581c48bec1fc30b308c81da9fc943a1d9 Mon Sep 17 00:00:00 2001 From: FalkWolsky Date: Fri, 1 Dec 2023 16:33:56 +0100 Subject: [PATCH 3/7] Small translation fixes --- client/packages/lowcoder/src/i18n/locales/en.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/client/packages/lowcoder/src/i18n/locales/en.ts b/client/packages/lowcoder/src/i18n/locales/en.ts index e27a915fb..bcc8285e7 100644 --- a/client/packages/lowcoder/src/i18n/locales/en.ts +++ b/client/packages/lowcoder/src/i18n/locales/en.ts @@ -47,7 +47,7 @@ export const en = { copyError: "Copy error", api: { publishSuccess: "Published", - recoverFailed: "Recover failed", + recoverFailed: "Recovery failed", needUpdate: "Your current version is too old, please upgrade to the latest version.", }, @@ -56,9 +56,9 @@ export const en = { fold: "Fold", }, exportMethod: { - setDesc: "Set property: {property}", - clearDesc: "Clear property: {property}", - resetDesc: "Reset property: {property} to default value", + setDesc: "Set Property: {property}", + clearDesc: "Clear Property: {property}", + resetDesc: "Reset Property: {property} to default value", }, method: { focus: "Set focus", @@ -79,16 +79,16 @@ export const en = { }, errorBoundary: { encounterError: - "Loading component failed. Please check your configuration. ", + "Component loading failed. Please check your configuration. ", clickToReload: "Click to reload", errorMsg: "Error: ", }, imgUpload: { - notSupportError: "Only support upload {types} image", - exceedSizeError: "Image size should not exceeds {size}", + notSupportError: "Only supports uploading {types} image", + exceedSizeError: "Image size should not exceed {size}", }, gridCompOperator: { - notSupport: "Not support", + notSupport: "Not supported", selectAtLeastOneComponent: "Please select at least one component", selectCompFirst: "Please select components before copy", noContainerSelected: "[bug] No selected container", From 80abd4bbbf3e493b069bae29d98fb61b0d264874 Mon Sep 17 00:00:00 2001 From: FalkWolsky Date: Fri, 1 Dec 2023 20:45:28 +0100 Subject: [PATCH 4/7] Translation file fixes and deleted console Logs --- client/package.json | 3 +- client/packages/lowcoder/.eslintrc | 4 +- .../lowcoder/src/comps/comps/imageComp.tsx | 2 +- .../videoMeetingControllerComp.tsx | 2 +- .../meetingComp/videoMeetingStreamComp.tsx | 4 +- .../meetingComp/videoSharingStreamComp.tsx | 2 +- .../lowcoder/src/comps/editorState.tsx | 2 - .../comps/generators/withMethodExposing.tsx | 2 +- .../src/comps/hooks/agoraFunctions.tsx | 2 +- .../comps/queries/httpQuery/streamQuery.tsx | 6 +- .../packages/lowcoder/src/i18n/locales/en.ts | 606 ++-- .../i18n/locales/translation_files/en.json | 2568 +++++++++++++++++ .../translation_files/en_corrected.json | 2568 +++++++++++++++++ .../src/pages/ApplicationV2/HomeTableView.tsx | 2 +- .../pages/setting/idSource/createModal.tsx | 2 +- 15 files changed, 5418 insertions(+), 357 deletions(-) create mode 100644 client/packages/lowcoder/src/i18n/locales/translation_files/en.json create mode 100644 client/packages/lowcoder/src/i18n/locales/translation_files/en_corrected.json diff --git a/client/package.json b/client/package.json index f10da6f8c..6e4f7236c 100644 --- a/client/package.json +++ b/client/package.json @@ -17,7 +17,8 @@ "test": "jest && yarn workspace lowcoder-comps test", "prepare": "yarn workspace lowcoder prepare", "build:core": "yarn workspace lowcoder-core build", - "test:core": "yarn workspace lowcoder-core test" + "test:core": "yarn workspace lowcoder-core test", + "lint": "eslint . --fix" }, "devDependencies": { "@babel/preset-env": "^7.20.2", diff --git a/client/packages/lowcoder/.eslintrc b/client/packages/lowcoder/.eslintrc index 53c7f2826..0cdf4f940 100644 --- a/client/packages/lowcoder/.eslintrc +++ b/client/packages/lowcoder/.eslintrc @@ -4,5 +4,7 @@ "rules": { // "react-hooks/exhaustive-deps": "off" //"only-ascii/only-ascii": "error" + "no-unused-vars": "warn", + "import/no-unused-modules": [1, {"unusedExports": true}] } -} +} \ No newline at end of file diff --git a/client/packages/lowcoder/src/comps/comps/imageComp.tsx b/client/packages/lowcoder/src/comps/comps/imageComp.tsx index b281ed9a3..3c9da34e1 100644 --- a/client/packages/lowcoder/src/comps/comps/imageComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/imageComp.tsx @@ -102,7 +102,7 @@ const ContainerImg = (props: RecordConstructorToView) => { // on safari const setStyle = (height: string, width: string) => { - console.log(width, height); + // console.log(width, height); const img = imgRef.current; const imgDiv = img?.getElementsByTagName("div")[0]; diff --git a/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingControllerComp.tsx b/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingControllerComp.tsx index 612f6f090..3419b4f16 100644 --- a/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingControllerComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingControllerComp.tsx @@ -339,7 +339,7 @@ let MTComp = (function () { } }, [userLeft]); - console.log("sharing", props.sharing); + // console.log("sharing", props.sharing); useEffect(() => { if (updateVolume.userid) { diff --git a/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingStreamComp.tsx b/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingStreamComp.tsx index 1510d66e2..6c133ab6b 100644 --- a/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingStreamComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/meetingComp/videoMeetingStreamComp.tsx @@ -107,7 +107,7 @@ let VideoCompBuilder = (function (props) { client.on( "user-unpublished", (user: IAgoraRTCRemoteUser, mediaType: "video" | "audio") => { - console.log("user-unpublished"); + // console.log("user-unpublished"); if (mediaType === "audio") { if ( @@ -140,7 +140,7 @@ let VideoCompBuilder = (function (props) { } }, [props.userId.value]); - console.log(props.userId); + // console.log(props.userId); return ( diff --git a/client/packages/lowcoder/src/comps/comps/meetingComp/videoSharingStreamComp.tsx b/client/packages/lowcoder/src/comps/comps/meetingComp/videoSharingStreamComp.tsx index acd4f95f6..b7663327e 100644 --- a/client/packages/lowcoder/src/comps/comps/meetingComp/videoSharingStreamComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/meetingComp/videoSharingStreamComp.tsx @@ -104,7 +104,7 @@ let SharingCompBuilder = (function (props) { client.on( "user-unpublished", (user: IAgoraRTCRemoteUser, mediaType: "video" | "audio") => { - console.log("user-unpublished"); + // console.log("user-unpublished"); if (mediaType === "audio") { if ( diff --git a/client/packages/lowcoder/src/comps/editorState.tsx b/client/packages/lowcoder/src/comps/editorState.tsx index 603f68e95..35732c075 100644 --- a/client/packages/lowcoder/src/comps/editorState.tsx +++ b/client/packages/lowcoder/src/comps/editorState.tsx @@ -62,8 +62,6 @@ export class EditorState { this.rootComp = rootComp; this.setEditorState = setEditorState; this.editorModeStatus = initialEditorModeStatus; - - console.log("initialEditorModeStatus,", initialEditorModeStatus); } /** diff --git a/client/packages/lowcoder/src/comps/generators/withMethodExposing.tsx b/client/packages/lowcoder/src/comps/generators/withMethodExposing.tsx index 93fd85d6d..ba8de2a0f 100644 --- a/client/packages/lowcoder/src/comps/generators/withMethodExposing.tsx +++ b/client/packages/lowcoder/src/comps/generators/withMethodExposing.tsx @@ -44,7 +44,7 @@ export function withMethodExposingBase, action.value.params); } catch (e) { - console.log(e); + // console.log(e); result = Promise.reject(e); } handlePromiseAfterResult(action, result); diff --git a/client/packages/lowcoder/src/comps/hooks/agoraFunctions.tsx b/client/packages/lowcoder/src/comps/hooks/agoraFunctions.tsx index c82de1180..155b9b739 100644 --- a/client/packages/lowcoder/src/comps/hooks/agoraFunctions.tsx +++ b/client/packages/lowcoder/src/comps/hooks/agoraFunctions.tsx @@ -103,7 +103,7 @@ const useAgora = () => { const videoHeight = videoSettings.height; setWidth(videoWidth!); setHeight(videoHeight!); - console.log(`Video width: ${videoWidth}px, height: ${videoHeight}px`); + // console.log(`Video width: ${videoWidth}px, height: ${videoHeight}px`); } else { console.error("Media stream track not found"); } diff --git a/client/packages/lowcoder/src/comps/queries/httpQuery/streamQuery.tsx b/client/packages/lowcoder/src/comps/queries/httpQuery/streamQuery.tsx index 29737b0b1..62d4ef533 100644 --- a/client/packages/lowcoder/src/comps/queries/httpQuery/streamQuery.tsx +++ b/client/packages/lowcoder/src/comps/queries/httpQuery/streamQuery.tsx @@ -97,11 +97,11 @@ export class StreamQuery extends StreamTmpQuery { this.socket = new WebSocket(socketUrl); this.socket.onopen = () => { - console.log("[WebSocket] Connection established"); + // console.log("[WebSocket] Connection established"); } this.socket.onmessage = (event) => { - console.log(`[WebSocket] Data received from server`); + // console.log(`[WebSocket] Data received from server`); if(typeof JSON.parse(event.data) === 'object') { const result = createSuccessResponse(JSON.parse(event.data)) p?.callback?.(result); @@ -109,7 +109,7 @@ export class StreamQuery extends StreamTmpQuery { } this.socket.onclose = () => { - console.log(`[WebSocket] Connection closed`); + // console.log(`[WebSocket] Connection closed`); } this.socket.onerror = (error) => { diff --git a/client/packages/lowcoder/src/i18n/locales/en.ts b/client/packages/lowcoder/src/i18n/locales/en.ts index bcc8285e7..69e1df1b2 100644 --- a/client/packages/lowcoder/src/i18n/locales/en.ts +++ b/client/packages/lowcoder/src/i18n/locales/en.ts @@ -2,10 +2,8 @@ import table from "./componentDocExtra/table.md?url"; export const en = { productName: "Lowcoder", - productDesc: - "Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", - notSupportedBrowser: - "Your current browser may have compatibility issues. For a better user experience, it is recommended to use the latest version of the Chrome browser.", + productDesc: "Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + notSupportedBrowser: "Your current browser may have compatibility issues. For a better user experience, it is recommended to use the latest version of the Chrome browser.", create: "Create", move: "Move", addItem: "Add", @@ -48,8 +46,7 @@ export const en = { api: { publishSuccess: "Published", recoverFailed: "Recovery failed", - needUpdate: - "Your current version is too old, please upgrade to the latest version.", + needUpdate: "Your current version is too old, please upgrade to the latest version.", }, codeEditor: { notSupportAutoFormat: "Current code editor not supports auto formatting", @@ -66,20 +63,16 @@ export const en = { blur: "Remove focus", click: "Click", select: "Select all the text", - setSelectionRange: - "Set the start and end positions of the current text selection", + setSelectionRange: "Set the start and end positions of the current text selection", selectionStart: "The 0-based index of the first selected character.", - selectionEnd: - "The 0-based index of the character after the last selected character.", + selectionEnd: "The 0-based index of the character after the last selected character.", setRangeText: "Replace a range of text", replacement: "The string to insert.", replaceStart: "The 0-based index of the first character to replace.", - replaceEnd: - "The 0-based index of the character after the last character to replace.", + replaceEnd: "The 0-based index of the character after the last character to replace.", }, errorBoundary: { - encounterError: - "Component loading failed. Please check your configuration. ", + encounterError: "Component loading failed. Please check your configuration. ", clickToReload: "Click to reload", errorMsg: "Error: ", }, @@ -94,10 +87,8 @@ export const en = { noContainerSelected: "[bug] No selected container", deleteCompsSuccess: "Delete success. You can use {undoKey} to undo.", deleteCompsTitle: "Delete components", - deleteCompsBody: - "Are you sure you want to delete {compNum} selected components?", - cutCompsSuccess: - "Cut success. You can use {pasteKey} to paste, or use {undoKey} to undo.", + deleteCompsBody: "Are you sure you want to delete {compNum} selected components?", + cutCompsSuccess: "Cut success. You can use {pasteKey} to paste, or use {undoKey} to undo.", }, leftPanel: { queries: "Queries", @@ -115,6 +106,9 @@ export const en = { expandTip: "Click to expand {component}'s data", collapseTip: "Click to collapse {component}'s data", }, + + // second part + bottomPanel: { title: "Queries", run: "Run", @@ -161,8 +155,7 @@ export const en = { defaultValue: "Default value", required: "Required field", readOnly: "Read only", - readOnlyTooltip: - "Read only component looks same as normal component, it is focusable and selectable but cannot be modified", + readOnlyTooltip: "Read only component looks same as normal component, it is focusable and selectable but cannot be modified", minimum: "Minimum", maximum: "Maximum", regex: "Regex", @@ -174,8 +167,7 @@ export const en = { showCount: "Show count", textType: "Text type", customRule: "Custom rule", - customRuleTooltip: - "If the result is non-empty string, it is an error message. If empty or null, the validation passes. Example: ", + customRuleTooltip: "If the result is non-empty string, it is an error message. If empty or null, the validation passes. Example: ", manual: "Manual", map: "Mapped", json: "JSON", @@ -207,9 +199,11 @@ export const en = { top: "Top", align: "Alignment", width: "Width", - widthTooltip: - "Width of the label. It supports percentage of the component width (%), pixels (px)", + widthTooltip: "Width of the label. It supports percentage of the component width (%), pixels (px)", }, + + // third part + eventHandler: { eventHandlers: "Event handlers", emptyEventHandlers: "No event handlers", @@ -236,8 +230,7 @@ export const en = { text: "Text", level: "Level", duration: "Duration", - notifyDurationTooltip: - "Time unit can be s(second, default), ms (millisecond). Max duration is {max} seconds", + notifyDurationTooltip: "Time unit can be s(second, default), ms (millisecond). Max duration is {max} seconds", goToURL: "Go to URL", openInNewTab: "Open in a new tab", copyToClipboard: "Copy to clipboard", @@ -245,16 +238,13 @@ export const en = { export: "Export data", exportNoFileType: "No select (optional)", fileName: "File name", - fileNameTooltip: - "Support extension to specify the file type, like image.png.", + fileNameTooltip: "Support extension to specify the file type, like image.png.", fileType: "File type", condition: "Only run when", - conditionTooltip: - "Only run the event handler when this condition evaluates to 'true'", + conditionTooltip: "Only run the event handler when this condition evaluates to 'true'", debounce: "Debounce", throttle: "Throttle", - slowdownTooltip: - "Use debounce or throttle to control how often the action is triggered. Time unit can be ms (millisecond, default), s (second).", + slowdownTooltip: "Use debounce or throttle to control how often the action is triggered. Time unit can be ms (millisecond, default), s (second).", notHandledError: "Not handled", currentApp: "Current", }, @@ -290,8 +280,7 @@ export const en = { canvas: "Canvas color", canvasDesc: "The default background color of the app", primarySurface: "Container color", - primarySurfaceDesc: - "The default background color for components such as tables", + primarySurfaceDesc: "The default background color for components such as tables", borderRadius: "Border radius", borderRadiusDesc: "Most components use the default border radius", chart: "Chart style", @@ -302,16 +291,15 @@ export const en = { padding: "Padding", paddingDesc: "The default padding is typically used for most components", containerheaderpadding: "Header Padding", - containerheaderpaddingDesc: - "The default headerpadding is typically used for most components", - //Added By Aqib Mirza + containerheaderpaddingDesc: "The default headerpadding is typically used for most components", gridColumns: "Grid Columns", - gridColumnsDesc: - "The default number of columns is typically used for most containers", + gridColumnsDesc: "The default number of columns is typically used for most containers", }, + + // fourth part + style: { - resetTooltip: - "Reset styles. Delete the input's value to reset an individual field.", + resetTooltip: "Reset styles. Delete the input's value to reset an individual field.", textColor: "Text color", contrastText: "Contrast text color", generated: "Generated", @@ -368,8 +356,7 @@ export const en = { }, export: { hiddenDesc: "If true, the component is hidden", - disabledDesc: - "If true, the component will be greyed out and non-interactive", + disabledDesc: "If true, the component will be greyed out and non-interactive", visibleDesc: "If true, the component is visible", inputValueDesc: "Current value of the input", invalidDesc: "Whether the value is invalid", @@ -388,52 +375,40 @@ export const en = { ratingValueDesc: "The currently selected score", ratingMaxDesc: "The maximum score currently set", datePickerValueDesc: "Currently selected date", - datePickerFormattedValueDesc: - "Formatted selected date according to the specified format", + datePickerFormattedValueDesc: "Formatted selected date according to the specified format", datePickerTimestampDesc: "The currently selected timestamp of the date (s)", dateRangeStartDesc: "Currently selected start date", dateRangeEndDesc: "Currently selected end date", - dateRangeStartTimestampDesc: - "The currently selected timestamp of the start date (s)", - dateRangeEndTimestampDesc: - "The currently selected timestamp of the end date (s)", - dateRangeFormattedValueDesc: - "Formatted selected date according to the specified format", - dateRangeFormattedStartValueDesc: - "Formatted start date according to the specified format", - dateRangeFormattedEndValueDesc: - "Formatted end date according to the specified format", + dateRangeStartTimestampDesc: "The currently selected timestamp of the start date (s)", + dateRangeEndTimestampDesc: "The currently selected timestamp of the end date (s)", + dateRangeFormattedValueDesc: "Formatted selected date according to the specified format", + dateRangeFormattedStartValueDesc: "Formatted start date according to the specified format", + dateRangeFormattedEndValueDesc: "Formatted end date according to the specified format", timePickerValueDesc: "Currently selected time", - timePickerFormattedValueDesc: - "Formatted selected time according to the specified format", + timePickerFormattedValueDesc: "Formatted selected time according to the specified format", timeRangeStartDesc: "Currently selected start time", timeRangeEndDesc: "Currently selected end time", - timeRangeFormattedValueDesc: - "Formatted selected time according to the specified format", - timeRangeFormattedStartValueDesc: - "Formatted start time according to the specified format", - timeRangeFormattedEndValueDesc: - "Formatted end time according to the specified format", + timeRangeFormattedValueDesc: "Formatted selected time according to the specified format", + timeRangeFormattedStartValueDesc: "Formatted start time according to the specified format", + timeRangeFormattedEndValueDesc: "Formatted end time according to the specified format", }, validationDesc: { email: "Please enter a valid email address", url: "Please enter a valid URL", regex: "Please enter the content that matches the regex", - maxLength: - "Excessive number of characters, current length {length}, maximum length {maxLength}", - minLength: - "Insufficient number of characters, current length {length}, minimum length {minLength}", + maxLength: "Excessive number of characters, current length {length}, maximum length {maxLength}", + minLength: "Insufficient number of characters, current length {length}, minimum length {minLength}", maxValue: "Greater than the maximum, current {value}, maximum {max}", minValue: "Less than the minimum, current {value}, minimum {min}", - maxTime: - "Greater than the maximum time, current time {time}, the maximum time {maxTime}", - minTime: - "Less than the minimum time, current time {time}, the minimum time {minTime}", - maxDate: - "Greater than maximum date, current time {date}, maximum date {maxDate}", - minDate: - "Less than minimum date, current time {date}, minimum date {minDate}", + maxTime: "Greater than the maximum time, current time {time}, the maximum time {maxTime}", + minTime: "Less than the minimum time, current time {time}, the minimum time {minTime}", + maxDate: "Greater than maximum date, current time {date}, maximum date {maxDate}", + minDate: "Less than minimum date, current time {date}, minimum date {minDate}", }, + + + // fifth part + query: { noQueries: "No queries available. ", queryTutorialButton: "View {value} documents", @@ -444,16 +419,13 @@ export const en = { advancedTab: "Advanced", showFailNotification: "Show notification on failure", failCondition: "Failure conditions", - failConditionTooltip1: - "Customizes failure condition and corresponding notification.", - failConditionTooltip2: - "If any condition returns true, the query will be marked as failure and triggers corresponding notification.", + failConditionTooltip1: "Customizes failure condition and corresponding notification.", + failConditionTooltip2: "If any condition returns true, the query will be marked as failure and triggers corresponding notification.", showSuccessNotification: "Show notification on success", successMessageLabel: "Success message", successMessage: "Run success", notifyDuration: "Duration", - notifyDurationTooltip: - "Notification duration. Time unit can be s(second, default), ms(millisecond). Default value is {default}s. Maximum is {max}s.", + notifyDurationTooltip: "Notification duration. Time unit can be s(second, default), ms(millisecond). Default value is {default}s. Maximum is {max}s.", successMessageWithName: "{name} run success", failMessageWithName: "{name} run failed: {result}", showConfirmationModal: "Show a confirmation modal before running", @@ -481,32 +453,18 @@ export const en = { chooseDataSource: "Data source", method: "Method", updateExceptionDataSourceTitle: "Update failing data source", - updateExceptionDataSourceContent: - "Update the following query with the same failing data source:", + updateExceptionDataSourceContent: "Update the following query with the same failing data source:", update: "Update", disablePreparedStatement: "Disable prepared statements", - disablePreparedStatementTooltip: - "Disabling prepared statements can generate SQL dynamically, but risks SQL injection", + disablePreparedStatementTooltip: "Disabling prepared statements can generate SQL dynamically, but risks SQL injection", timeout: "Timeout after", - timeoutTooltip: - "Default unit: ms, supported input units: ms, s.\n" + - "Default value: {defaultSeconds} seconds\n" + - "Maximum value: {maxSeconds} seconds.\n" + - "\n" + - "E.g. 300 (i.e. 300ms), 800ms, 5s.", + timeoutTooltip: "Default unit: ms, supported input units: ms, s.\n Default value: {defaultSeconds} seconds\n Maximum value: {maxSeconds} seconds.\n\n E.g. 300 (i.e. 300ms), 800ms, 5s.", periodic: "Run this query periodically", periodicTime: "Period", - periodicTimeTooltip: - "Period between successive executions. \n" + - "Default unit: ms, supported input units: ms, s.\n" + - "Minimum value: 100ms, periodical execution will be disabled for values below that.\n" + - "\n" + - "E.g. 300 (i.e. 300ms), 800ms, 5s.", + periodicTimeTooltip: "Period between successive executions. \n Default unit: ms, supported input units: ms, s.\n Minimum value: 100ms, periodical execution will be disabled for values below that.\n\n E.g. 300 (i.e. 300ms), 800ms, 5s.", cancelPrevious: "Ignore the results of previous uncompleted executions.", cancelPreviousTooltip: "", - - dataSourceStatusError: - "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if the previous executions did not complete, and the ignored executions will not trigger the event list of the query.", + dataSourceStatusError: "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if the previous executions did not complete, and the ignored executions will not trigger the event list of the query.", success: "Success", fail: "Failure", successDesc: "Triggered when the execution success", @@ -515,8 +473,7 @@ export const en = { execSuccess: "run success", execFail: "run failed", execIgnored: "The results of this query was ignored.", - deleteSuccessMessage: - "Successfully deleted. You can use {undoKey} to undo.", + deleteSuccessMessage: "Successfully deleted. You can use {undoKey} to undo.", dataExportDesc: "Data obtained by the current query", codeExportDesc: "Current query status code", successExportDesc: "Whether the current query was executed successfully", @@ -561,20 +518,16 @@ export const en = { sslCertVerificationTypeDisabled: "Disabled", selfSignedCert: "Self-signed Cert", selfSignedCertRequireMsg: "Please enter your Certificate", - enableTurnOffPreparedStatement: - "Enable toggling prepared statements for queries", - enableTurnOffPreparedStatementTooltip: - "You can enable or disable prepared statements in query Advanced tab", + enableTurnOffPreparedStatement: "Enable toggling prepared statements for queries", + enableTurnOffPreparedStatementTooltip: "You can enable or disable prepared statements in query Advanced tab", serviceName: "Service name", serviceNameRequiredMessage: "Please enter your service name", useSID: "Use SID", connectSuccessfully: "Connection successful", saveSuccessfully: "Saved", database: "Database", - cloudHosting: - "Cloud-hosted Lowcoder cannot access your local services with 127.0.0.1 or localhost. Try to connect public network data sources or use a reverse proxy fronting your private services.", - notCloudHosting: - "For docker hosted deployment, Lowcoder uses bridge networks, so 127.0.0.1 and localhost are invalid for host addresses. To visit data sources on your local machine, please refer to this", + cloudHosting: "Cloud-hosted Lowcoder cannot access your local services with 127.0.0.1 or localhost. Try to connect public network data sources or use a reverse proxy fronting your private services.", + notCloudHosting: "For docker hosted deployment, Lowcoder uses bridge networks, so 127.0.0.1 and localhost are invalid for host addresses. To visit data sources on your local machine, please refer to this", howToAccessHostDocLink: "How do I access the host API/DB", returnList: "Return", chooseDatasourceType: "Choose data source type", @@ -582,8 +535,7 @@ export const en = { testConnection: "Test connection", save: "Save", whitelist: "Allowlist", - whitelistTooltip: - "Add the following IP addresses of Lowcoder to your data source allowlist when needed.", + whitelistTooltip: "Add the following IP addresses of Lowcoder to your data source allowlist when needed.", address: "Address: ", nameExists: "Name {name} already exist", jsQueryDocLink: "About JavaScript query", @@ -591,19 +543,21 @@ export const en = { dynamicDataSourceConfigErrText: "Fail to load extra datasource config.", retry: "Retry", }, + + + // sixth part + sqlQuery: { keyValuePairs: "Key-value pairs", object: "Object", allowMultiModify: "Allow modify multi-row", - allowMultiModifyTooltip: - "If this parameter is selected, all rows that meet the conditions are operated. Otherwise, only the first row that meets the conditions is operated", + allowMultiModifyTooltip: "If this parameter is selected, all rows that meet the conditions are operated. Otherwise, only the first row that meets the conditions is operated", array: "Array", insertList: "Insert list", insertListTooltip: "Value inserted when it does not exist", filterRule: "Filter rule", updateList: "Update list", - updateListTooltip: - "Values updated as they exist can be overridden by the same insertion list values", + updateListTooltip: "Values updated as they exist can be overridden by the same insertion list values", sqlMode: "SQL mode", guiMode: "GUI mode", operation: "Operation", @@ -650,13 +604,11 @@ export const en = { publish: "Publish", historyVersion: "History version", deleteQueryLabel: "Delete query", - deleteQueryContent: - "The query can't be recovered after being deleted. Delete the query?", + deleteQueryContent: "The query can't be recovered after being deleted. Delete the query?", run: "Run", readOnly: "Read only", exit: "Exit", - recoverAppSnapshotContent: - "Restore the current query to the version {version}", + recoverAppSnapshotContent: "Restore the current query to the version {version}", searchPlaceholder: "Search query", allQuery: "All queries", deleteQueryTitle: "Delete query", @@ -679,21 +631,17 @@ export const en = { queryTutorial: "View Redis Commands documents", }, httpQuery: { - bodyFormDataTooltip: - "If you select {type}, the format of value should be {object}. Example: {example}", + bodyFormDataTooltip: "If you select {type}, the format of value should be {object}. Example: {example}", text: "Text", file: "File", - extraBodyTooltip: - "Key values in Extra body will be appended in body with JSON or Form Data types", + extraBodyTooltip: "Key values in Extra body will be appended in body with JSON or Form Data types", forwardCookies: "Forward cookies", forwardAllCookies: "Forward all cookies", }, smtpQuery: { attachment: "Attachment", - attachmentTooltip: - "Can use with file upload component, need convert data to: ", - MIMETypeUrl: - "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", + attachmentTooltip: "Can use with file upload component, need convert data to: ", + MIMETypeUrl: "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", sender: "Sender", recipient: "Recipient", carbonCopy: "Carbon copy", @@ -702,6 +650,9 @@ export const en = { content: "Content", contentTooltip: "Support for input text or HTML", }, + + // seventh part + uiCompCategory: { dashboards: "Dashboards & Reporting", layout: "Layout & Navigation", @@ -892,11 +843,9 @@ export const en = { signatureCompName: "Signature", signatureCompDesc: "Signature component", signatureCompKeywords: "", - //Added By Aqib Mirza jsonLottieCompName: "Lottie Animation", jsonLottieCompDesc: "Lottie Animation", jsonLottieCompKeywords: "", - ///////////////////// timelineCompName: "Time Line", timelineCompDesc: "Time Line", timelineCompKeywords: "", @@ -911,21 +860,23 @@ export const en = { responsiveLayoutCompDesc: "Responsive Layout", responsiveLayoutCompKeywords: "", }, + + + // eighth part + + comp: { menuViewDocs: "View documentation", menuViewPlayground: "View playground", menuUpgradeToLatest: "Upgrade to latest version", nameNotEmpty: "Can not be empty", - nameRegex: - "Must start with a letter and contain only letters, digits, and underscores (_)", + nameRegex: "Must start with a letter and contain only letters, digits, and underscores (_)", nameJSKeyword: "Can not be a Javascript keyword", nameGlobalVariable: "Can not be global variable name", nameExists: "Name {name} already exist", - getLatestVersionMetaError: - "Failed to fetch latest version, please try later.", + getLatestVersionMetaError: "Failed to fetch latest version, please try later.", needNotUpgrade: "Current version is already latest.", - compNotFoundInLatestVersion: - "Current component not found in the latest version.", + compNotFoundInLatestVersion: "Current component not found in the latest version.", upgradeSuccess: "Successfully upgraded to latest version.", searchProp: "Search", }, @@ -970,8 +921,7 @@ export const en = { showChild: "Only child nodes", autoExpandParent: "Auto expand parent", checkStrictly: "Check strictly", - checkStrictlyTooltip: - "Check treeNode precisely; parent treeNode and children treeNodes are not associated", + checkStrictlyTooltip: "Check treeNode precisely; parent treeNode and children treeNodes are not associated", treeData: "Tree data", treeDataDesc: "Current tree data", value: "Default values", @@ -1020,6 +970,11 @@ export const en = { edit: "Edit", remove: "Remove", }, + + + // ninth part + + numberInput: { formatter: "Format", precision: "Precision", @@ -1048,27 +1003,22 @@ export const en = { radio: { options: "Options", horizontal: "Horizontal", - horizontalTooltip: - "The horizontal layout wraps itself when it runs out of space", + horizontalTooltip: "The horizontal layout wraps itself when it runs out of space", vertical: "Vertical", - verticalTooltip: - "The vertical layout will always be displayed in a single column", + verticalTooltip: "The vertical layout will always be displayed in a single column", autoColumns: "Auto column", - autoColumnsTooltip: - "The auto column layout automatically rearranges the order as space permits and displays as multiple columns", + autoColumnsTooltip: "The auto column layout automatically rearranges the order as space permits and displays as multiple columns", }, cascader: { options: "Data", }, selectInput: { valueDesc: "Currently selected value", - selectedIndexDesc: - "The index of the currently selected value, or -1 if no value is selected", + selectedIndexDesc: "The index of the currently selected value, or -1 if no value is selected", selectedLabelDesc: "The label of the currently selected value", }, file: { - typeErrorMsg: - "Must be a number with a valid file size unit, or a unitless number of bytes.", + typeErrorMsg: "Must be a number with a valid file size unit, or a unitless number of bytes.", fileEmptyErrorMsg: "upload failed. The file size is empty.", fileSizeExceedErrorMsg: "upload failed. The file size exceeds the limit.", minSize: "Min size", @@ -1081,21 +1031,17 @@ export const en = { upload: "Browse", fileType: "File types", reference: "Please refer to", - fileTypeTooltipUrl: - "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", + fileTypeTooltipUrl: "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", fileTypeTooltip: "unique file type specifiers", uploadType: "Upload type", showUploadList: "Show upload list", maxFiles: "Max files", - filesValueDesc: - "The contents of the currently uploaded file are Base64 encoded", + filesValueDesc: "The contents of the currently uploaded file are Base64 encoded", filesDesc: "List of the current uploaded files. For details, refer to", clearValueDesc: "Clear all files", parseFiles: "Parse files", - parsedValueTooltip1: - "If parseFiles is true, upload files will parse to object, array, or string. Parsed data can be accessed via the parsedValue array.", - parsedValueTooltip2: - "Supports Excel, JSON, CSV, and text files. Other formats will return null.", + parsedValueTooltip1: "If parseFiles is true, upload files will parse to object, array, or string. Parsed data can be accessed via the parsedValue array.", + parsedValueTooltip2: "Supports Excel, JSON, CSV, and text files. Other formats will return null.", }, date: { format: "Format", @@ -1136,15 +1082,13 @@ export const en = { default: "Default", submit: "Submit", textDesc: "Text currently displayed on button", - loadingDesc: - "Is the button in loading state? If true the current button is loading", + loadingDesc: "Is the button in loading state? If true the current button is loading", formButtonEvent: "event", }, link: { link: "Link", textDesc: "Text currently displayed on link", - loadingDesc: - "Is the link in loading state? If true the current link is loading", + loadingDesc: "Is the link in loading state? If true the current link is loading", }, scanner: { text: "Click scan", @@ -1162,12 +1106,16 @@ export const en = { textShow: { // eslint-disable-next-line only-ascii/only-ascii text: "### 👋 hello, {name}", - valueTooltip: - "Markdown supports most HTML tags and attributes. iframe, script, and other tags are disabled for security reasons.", + valueTooltip: "Markdown supports most HTML tags and attributes. iframe, script, and other tags are disabled for security reasons.", verticalAlignment: "Vertical alignment", horizontalAlignment: "Horizontal alignment", textDesc: "Text displayed in the current text box", }, + + + // tenth part + + table: { editable: "Editable", columnNum: "Columns", @@ -1185,8 +1133,7 @@ export const en = { pageSizeOptions: "Page size options", pageSize: "Page size", total: "Total row count", - totalTooltip: - "The default value is the number of current data items, which can be obtained from the query, for example: '{{query1.data[0].count}}'", + totalTooltip: "The default value is the number of current data items, which can be obtained from the query, for example: '{{query1.data[0].count}}'", filter: "Filter", filterRule: "Filter rule", chooseColumnName: "Choose column", @@ -1208,17 +1155,13 @@ export const en = { lessThanOrEquals: "less than or equals", action: "Action", columnValue: "Column value", - columnValueTooltip: - "'{{currentCell}}': current cell data\n" + - "'{{currentRow}}': current row data\n" + - "'{{currentIndex}}': current data index(starting from 0)\n" + - "Example: '{{currentCell * 5}}' show 5 times the original value data.", + columnValueTooltip: "'{{currentCell}}': current cell data\n '{{currentRow}}': current row data\n '{{currentIndex}}': current data index(starting from 0)\n Example: '{{currentCell * 5}}' show 5 times the original value data.", imageSrc: "Image source", imageSize: "Image size", columnTitle: "Title", sortable: "Sortable", align: "Alignment", - fixedColumn: "Fixed column", // draft + fixedColumn: "Fixed column", autoWidth: "Auto width", customColumn: "Custom column", auto: "Auto", @@ -1244,8 +1187,7 @@ export const en = { optionList: "Operation list", option1: "Operation 1", status: "Status", - statusTooltip: - "Optional values: success, error, default, warning, processing", + statusTooltip: "Optional values: success, error, default, warning, processing", primaryButton: "Primary", defaultButton: "Default", type: "Type", @@ -1261,19 +1203,15 @@ export const en = { small: "S", middle: "M", large: "L", - refreshButtonTooltip: - "The current data changes, click to regenerate the column.", - changeSetDesc: - "An object representing changes to an editable table, only contains the changed cell. Rows go first and columns go second.", - selectedRowDesc: - "Provides data for the currently selected row, indicating the row that triggers a click event if the user clicks a button/link on the row", + refreshButtonTooltip: "The current data changes, click to regenerate the column.", + changeSetDesc: "An object representing changes to an editable table, only contains the changed cell. Rows go first and columns go second.", + selectedRowDesc: "Provides data for the currently selected row, indicating the row that triggers a click event if the user clicks a button/link on the row", selectedRowsDesc: "Useful in multiple selection mode, same as selectedRow", pageNoDesc: "Current display page, starting from 1", pageSizeDesc: "How many rows per page", sortColumnDesc: "The name of the currently selected sorted column", sortDesc: "Whether the current row is in descending order", - pageOffsetDesc: - "The current start of paging, used for paging to get data. Example: select * from users limit '{{table1.pageSize}}' offset '{{table1.pageOffset}}'", + pageOffsetDesc: "The current start of paging, used for paging to get data. Example: select * from users limit '{{table1.pageSize}}' offset '{{table1.pageOffset}}'", displayDataDesc: "Data displayed in the current table", selectedIndexDesc: "Selected index in display data", filterDesc: "Table Filtering Parameters", @@ -1288,36 +1226,30 @@ export const en = { pageChange: "Page change", refresh: "Refresh", rowColor: "Conditional row color", - rowColorDesc: - "Conditionally set the row color based on the optional variables:\n" + - "currentRow, currentOriginalIndex, currentIndex, columnTitle. \n" + - "For example:\n" + - `'{{ currentRow.id > 3 ? "green" : "red" }}'`, + rowColorDesc: "Conditionally set the row color based on the optional variables:\n currentRow, currentOriginalIndex, currentIndex, columnTitle.\n For example:\n" + `'{{ currentRow.id > 3 ? "green" : "red" }}'`, cellColor: "Conditional cell color", - cellColorDesc: - "Conditionally set the cell color based on the cell value using currentCell:\n" + - "For example:\n" + - `'{{ currentCell == 3 ? "green" : "red" }}'`, - saveChangesNotBind: - "No event handler configured for saving changes. Please bind at least one event handler before click.", + cellColorDesc: "Conditionally set the cell color based on the cell value using currentCell:\n For example:\n" + `'{{ currentCell == 3 ? "green" : "red" }}'`, + saveChangesNotBind: "No event handler configured for saving changes. Please bind at least one event handler before click.", dynamicColumn: "Use dynamic column setting", dynamicColumnConfig: "Column Setting", - dynamicColumnConfigDesc: - "Dynamic column settings. Accepts an array of column names. All columns are visible by default.\n" + - `Example: ["id", "name"]`, + dynamicColumnConfigDesc: "Dynamic column settings. Accepts an array of column names. All columns are visible by default.\n" + `Example: ["id", "name"]`, position: "Position", showDataLoadSpinner: "Show spinner during data loading", showValue: "Show Value", expandable: "Expandable", configExpandedView: "Configure expanded view", - toUpdateRowsDesc: - "An array of objects for rows to be updated in editable tables.", + toUpdateRowsDesc: "An array of objects for rows to be updated in editable tables.", empty: "Empty", falseValues: "Text when false", allColumn: "All", visibleColumn: "Visible", emptyColumns: "No columns are currently visible", }, + + + // eleventh part + + image: { src: "Image source", srcDesc: "The image source", @@ -1334,8 +1266,7 @@ export const en = { fileViewer: { invalidURL: "A valid URL was not provided", src: "File URI", - srcTooltip: - "Preview provided link content by embedding HTML, base64 encoded data can also be supported, for example: data:application/pdf; base64,AAA... CCC", + srcTooltip: "Preview provided link content by embedding HTML, base64 encoded data can also be supported, for example: data:application/pdf; base64,AAA... CCC", srcDesc: "The file URI", }, divider: { @@ -1350,8 +1281,7 @@ export const en = { value: "Value", valueTooltip: "The value contains a maximum of 2953 characters", level: "Fault tolerance level", - levelTooltip: - "Refers to the QR code is blocked part, can still be scanned out. The higher the level, the more complex the code, and the more blocked it is, the more it can be scanned", + levelTooltip: "Refers to the QR code is blocked part, can still be scanned out. The higher the level, the more complex the code, and the more blocked it is, the more it can be scanned", includeMargin: "Show margin", image: "Image", valueDesc: "The qrCode value", @@ -1359,8 +1289,7 @@ export const en = { M: "M (Medium)", Q: "Q (Quartile)", H: "H (High)", - maxLength: - "The content is too long. Set the length to less than 2953 characters", + maxLength: "The content is too long. Set the length to less than 2953 characters", }, jsonExplorer: { indent: "Indent", @@ -1398,10 +1327,8 @@ export const en = { volume: "Volume", playbackRate: "Playback rate", posterTooltip: "The default value is the first frame of the video", - autoPlayTooltip: - "After the video is loaded, it will play automatically. Changing this value from true to false will pause the video. (If a poster is set, it will be played by the poster button)", - controlsTooltip: - "Hide video playback controls. May not be fully supported by every video source.", + autoPlayTooltip: "After the video is loaded, it will play automatically. Changing this value from true to false will pause the video. (If a poster is set, it will be played by the poster button)", + controlsTooltip: "Hide video playback controls. May not be fully supported by every video source.", volumeTooltip: "Set the volume of the player, between 0 and 1", playbackRateTooltip: "Set the rate of the player, between 1 and 2", srcDesc: "Current video URL", @@ -1419,10 +1346,8 @@ export const en = { media: { playDesc: "Begins playback of the media.", pauseDesc: "Pauses the media playback.", - loadDesc: - "Resets the media to the beginning and restart selecting the media resource.", - seekTo: - "Seek to the given number of seconds, or fraction if amount is between 0 and 1", + loadDesc: "Resets the media to the beginning and restart selecting the media resource.", + seekTo: "Seek to the given number of seconds, or fraction if amount is between 0 and 1", seekToAmount: "Number of seconds, or fraction if it is between 0 and 1", showPreview: "Show preview", }, @@ -1430,19 +1355,21 @@ export const en = { start: "Start value", end: "End value", step: "Step size", - stepTooltip: - "The slider's granularity, the value must be greater than 0 and divisible by (max-min)", + stepTooltip: "The slider's granularity, the value must be greater than 0 and divisible by (max-min)", }, iconControl: { selectIcon: "Select an icon", insertIcon: "insert an icon", insertImage: "Insert an image or ", }, + + + // twelfth part + + millisecondsControl: { - timeoutTypeError: - "Please enter the correct timeout period, the current input is: {value}", - timeoutLessThanMinError: - "Input must greater than {left}, the current input is: {value}", + timeoutTypeError: "Please enter the correct timeout period, the current input is: {value}", + timeoutLessThanMinError: "Input must greater than {left}, the current input is: {value}", }, selectionControl: { single: "Single", @@ -1468,7 +1395,6 @@ export const en = { height: "Drawer height", }, meeting: { - logLevel: "Agora SDK Log Level", placement: "Meeting placement", meeting: "Meeting Settings", @@ -1508,7 +1434,6 @@ export const en = { actionBtnDesc: "Action Button", broadCast: "BroadCast Messages", title: "Meeting Title", - //ADDED BY FRED meetingCompName: "Agora Meeting Controller", sharingCompName: "Screen share Stream", videoCompName: "Camera Stream", @@ -1517,7 +1442,6 @@ export const en = { meetingCompDesc: "Meeting Component", meetingCompControls: "Meeting Control", meetingCompKeywords: "Agora Meeting, Web Meeting, Collaboration", - //END iconSize: "Icon Size", userId: "userId", roomId: "roomId", @@ -1539,6 +1463,11 @@ export const en = { environments: "Environments", premium: "Premium", }, + + + // thirteenth part + + memberSettings: { admin: "Admin", adminGroupRoleInfo: "Admin can manage group members and resources", @@ -1551,8 +1480,7 @@ export const en = { newGroupPrefix: "New group ", allMembers: "All members", deleteModalTitle: "Delete this group", - deleteModalContent: - "The deleted group cannot be restored. Are you sure to delete the group?", + deleteModalContent: "The deleted group cannot be restored. Are you sure to delete the group?", addMember: "Add members", nameColumn: "User name", joinTimeColumn: "Joining time", @@ -1564,38 +1492,31 @@ export const en = { exitOrg: "Leave", exitOrgDesc: "Are you sure you want to leave this workspace.", moveOutOrg: "Remove", - moveOutOrgDescSaasMode: - "Are you sure you want to remove user {name} from this workspace?", - moveOutOrgDesc: - "Are you sure you want to remove user {name}? This action cannot be recovered.", - devGroupTip: - "Members of the developer group have privileges to create apps and data sources.", + moveOutOrgDescSaasMode: "Are you sure you want to remove user {name} from this workspace?", + moveOutOrgDesc: "Are you sure you want to remove user {name}? This action cannot be recovered.", + devGroupTip: "Members of the developer group have privileges to create apps and data sources.", lastAdminQuit: "The last administrator cannot exit.", organizationNotExist: "The current workspace does not exist", inviteUserHelp: "You can copy the invitation link to send to the user", inviteUserLabel: "Invitation link:", inviteCopyLink: "Copy Link", - inviteText: - '{userName} invites you to join the workspace "{organization}", Click on the link to join: {inviteLink}', + inviteText: '{userName} invites you to join the workspace "{organization}", Click on the link to join: {inviteLink}', groupName: "Group name", createTime: "Create time", manageBtn: "Manage", userDetail: "Detail", syncDeleteTip: "This group has been deleted from the address book source", - syncGroupTip: - "This group is an address book synchronization group and cannot be edited", + syncGroupTip: "This group is an address book synchronization group and cannot be edited", }, orgSettings: { newOrg: "New workspace", title: "Workspace", createOrg: "Create workspace", deleteModalTitle: "Are you sure to delete this workspace?", - deleteModalContent: - "You are about to delete this workspace {permanentlyDelete}. Once deleted, the workspace {notRestored}.", + deleteModalContent: "You are about to delete this workspace {permanentlyDelete}. Once deleted, the workspace {notRestored}.", permanentlyDelete: "permanently", notRestored: "cannot be restored", - deleteModalLabel: - "Please enter workspace name{name}to confirm the operation:", + deleteModalLabel: "Please enter workspace name{name}to confirm the operation:", deleteModalTip: "Please enter workspace name", deleteModalErr: "Workspace name is incorrect", deleteModalBtn: "Delete", @@ -1641,16 +1562,12 @@ export const en = { noTableSelected: "No table selected", noColumn: "No column", noColumnSelected: "No column selected", - noDataSourceFound: - "No supported data source found. Create a new data source", - noTableFound: - "No tables were found in this data source, please select another data source", - noColumnFound: - "No supported column was found in this table. Please select another table", + noDataSourceFound: "No supported data source found. Create a new data source", + noTableFound: "No tables were found in this data source, please select another data source", + noColumnFound: "No supported column was found in this table. Please select another table", formTitle: "Form title", name: "Name", - nameTooltip: - "The attribute name in the data of the form, when left blank, defaults to the component name", + nameTooltip: "The attribute name in the data of the form, when left blank, defaults to the component name", notSupportMethod: " Not supported methods: ", notValidForm: "The form is not valid", resetDesc: "Reset form data to default value", @@ -1661,6 +1578,11 @@ export const en = { dataDesc: "Current form data", loadingDesc: "Whether the form is loading?", }, + + + // fourteenth part + + modalComp: { close: "Close", closeDesc: "Triggered when the dialog box is closed", @@ -1674,19 +1596,15 @@ export const en = { }, listView: { noOfRows: "Row count", - noOfRowsTooltip: - "Number of rows in the list - This is usually set to a variable (for example, '{{query1.data.length}}') if you need to present the results of a query.", + noOfRowsTooltip: "Number of rows in the list - This is usually set to a variable (for example, '{{query1.data.length}}') if you need to present the results of a query.", noOfColumns: "Column count", itemIndexName: "Item index name", - itemIndexNameDesc: - "the variable name refer to the item's index, default as {default}", + itemIndexNameDesc: "the variable name refer to the item's index, default as {default}", itemDataName: "Item data name", - itemDataNameDesc: - "the variable name refer to the item's data object, default as {default}", + itemDataNameDesc: "the variable name refer to the item's data object, default as {default}", itemsDesc: "Exposing data of Comps in list", dataDesc: "The raw data used in the current list", - dataTooltip: - "If evaluated as Number, this field will be regarded as row count, and the data will be regarded as empty.", + dataTooltip: "If evaluated as Number, this field will be regarded as row count, and the data will be regarded as empty.", }, navigation: { addText: "Add submenu item", @@ -1752,24 +1670,25 @@ export const en = { }, temporaryState: { value: "Init value", - valueTooltip: - "The initial Value stored in the temporary state can be any valid JSON Value.", + valueTooltip: "The initial Value stored in the temporary state can be any valid JSON Value.", docLink: "About temporary state", pathTypeError: "Path must be either a string or an array of values", unStructuredError: "Unstructured data {prev} can't be updated by {path}", valueDesc: "Temporary state value", - deleteMessage: - "The temporary state is deleted successfully. You can use {undoKey} to undo.", + deleteMessage: "The temporary state is deleted successfully. You can use {undoKey} to undo.", }, dataResponder: { data: "Data", dataDesc: "Data of current data responder", - dataTooltip: - "When this data is changed, it will trigger subsequent actions.", + dataTooltip: "When this data is changed, it will trigger subsequent actions.", docLink: "About the Data responder", - deleteMessage: - "The data responder is deleted successfully. You can use {undoKey} to undo.", + deleteMessage: "The data responder is deleted successfully. You can use {undoKey} to undo.", }, + + + // fifteenth part + + theme: { title: "Themes", createTheme: "Create theme", @@ -1806,8 +1725,7 @@ export const en = { defaultTheme: "Default", yellow: "Yellow", green: "Green", - previewTitle: - "Theme preview\nExample components that use your theme colors", + previewTitle: "Theme preview\nExample components that use your theme colors", dateColumn: "Date", emailColumn: "Email", phoneColumn: "Phone", @@ -1845,8 +1763,7 @@ export const en = { pluginSetting: { title: "Plugins", npmPluginTitle: "npm plugins", - npmPluginDesc: - "Set up npm plugins for all applications in the current workspace.", + npmPluginDesc: "Set up npm plugins for all applications in the current workspace.", npmPluginEmpty: "No npm plugins were added.", npmPluginAddButton: "Add a npm plugin", saveSuccess: "Saved successfully", @@ -1854,26 +1771,27 @@ export const en = { advanced: { title: "Advanced", defaultHomeTitle: "Default homepage", - defaultHomeHelp: - "The homepage is the app all non-developers will see by default when they log in. Note: Make sure the selected app is accessible to non-developers.", + defaultHomeHelp: "The homepage is the app all non-developers will see by default when they log in. Note: Make sure the selected app is accessible to non-developers.", defaultHomePlaceholder: "Select the default homepage", saveBtn: "Save", preloadJSTitle: "Preload JavaScript", - preloadJSHelp: - "Set up preloaded JavaScript code for all apps in the current workspace.", + preloadJSHelp: "Set up preloaded JavaScript code for all apps in the current workspace.", preloadCSSTitle: "Preload CSS", - preloadCSSHelp: - " Set up preloaded CSS code for all apps in the current workspace.", + preloadCSSHelp: "Set up preloaded CSS code for all apps in the current workspace.", preloadCSSApply: "Apply to the homepage of the workspace", preloadLibsTitle: "JavaScript library", - preloadLibsHelp: - "Set up preloaded JavaScript libraries for all applications in the current workspace, and the system has built-in lodash, day.js, uuid, numbro for direct use. JavaScript libraries are loaded before the app is initialized, so there is a certain impact on app performance.", + preloadLibsHelp: "Set up preloaded JavaScript libraries for all applications in the current workspace, and the system has built-in lodash, day.js, uuid, numbro for direct use. JavaScript libraries are loaded before the app is initialized, so there is a certain impact on app performance.", preloadLibsEmpty: "No JavaScript libraries were added", preloadLibsAddBtn: "Add a library", saveSuccess: "Saved successfully", AuthOrgTitle: "Workspace welcome Screen", AuthOrgDescrition: "The URL for your users to Sign in to the current workspace.", }, + + + // sixteenth part + + branding: { title: "Branding", logoTitle: "Logo", @@ -1907,8 +1825,7 @@ export const en = { }, module: { emptyText: "No data", - circularReference: - "Circular reference, current module/application cannot be used!", + circularReference: "Circular reference, current module/application cannot be used!", emptyTestInput: "The current module has no input to test", emptyTestMethod: "The current module has no method to test", name: "Name", @@ -1931,8 +1848,7 @@ export const en = { output: "Output", nameExists: "Name {name} already exist", eventTriggered: "Event {name} is triggered", - globalPromptWhenEventTriggered: - "Displays a global prompt when an event is triggered", + globalPromptWhenEventTriggered: "Displays a global prompt when an event is triggered", emptyEventTest: "The current module has no events to test", emptyEvent: "No event has been added", event: "Event", @@ -1949,8 +1865,7 @@ export const en = { apiMessage: { authenticationFail: "User authentication failed, please sign in again", verifyAccount: "Need to verify account", - functionNotSupported: - "The current version does not support this function. Please contact the Lowcoder business team to upgrade your account", + functionNotSupported: "The current version does not support this function. Please contact the Lowcoder business team to upgrade your account", }, globalErrorMessage: { createCompFail: "Create component {comp} failed", @@ -1966,6 +1881,11 @@ export const en = { tabBar: "Tab bar", emptyTabTooltip: "Configure this page on the right pane", }, + + + // seventeenth part + + appSetting: { title: "App settings", 450: "450px (Phone)", @@ -2064,14 +1984,17 @@ export const en = { formatting: "Format", openInLeftPanel: "Open in left pane", }, + + + // eighteenth part + + help: { videoText: "Overview", onBtnText: "OK", // eslint-disable-next-line only-ascii/only-ascii - permissionDenyTitle: - "💡 Unable to create a new application or data source?", - permissionDenyContent: - "You don't have permission to create the application and data source. Please contact the administrator to join the developer group.", + permissionDenyTitle: "💡 Unable to create a new application or data source?", + permissionDenyContent: "You don't have permission to create the application and data source. Please contact the administrator to join the developer group.", appName: "Tutorial application", chat: "Chat with us", docs: "View documentation", @@ -2085,8 +2008,7 @@ export const en = { nameCheckMessage: "The name cannot be empty", viewOnly: "View only", recoverAppSnapshotTitle: "Restore this version?", - recoverAppSnapshotContent: - "Restore current app to the version created at {time}.", + recoverAppSnapshotContent: "Restore current app to the version created at {time}.", recoverAppSnapshotMessage: "Restore this version", returnEdit: "Return to editor", deploy: "Publish", @@ -2130,20 +2052,16 @@ export const en = { inputAccount: "Please enter your account", ldapLogin: "LDAP Sign in", resetPassword: "Reset Password", - resetPasswordDesc: - "Reset user {name}'s password. A new password will be generated after reset.", + resetPasswordDesc: "Reset user {name}'s password. A new password will be generated after reset.", resetSuccess: "Reset succeeded", - resetSuccessDesc: - "Password reset succeeded. The new password is: {password}", + resetSuccessDesc: "Password reset succeeded. The new password is: {password}", copyPassword: "Copy password", poweredByLowcoder: "Powered by Lowcoder.cloud", }, preLoad: { - jsLibraryHelpText: - "Add JavaScript libraries to your current application via URL addresses. lodash, day.js, uuid, numbro are built into the system for immediate use. JavaScript libraries are loaded before the application is initialized, which can have an impact on application performance.", + jsLibraryHelpText: "Add JavaScript libraries to your current application via URL addresses. lodash, day.js, uuid, numbro are built into the system for immediate use. JavaScript libraries are loaded before the application is initialized, which can have an impact on application performance.", exportedAs: "Exported as", - urlTooltip: - "URL address of the JavaScript library, [unpkg.com](https://unpkg.com/) or [jsdelivr.net](https://www.jsdelivr.com/) is recommended", + urlTooltip: "URL address of the JavaScript library, [unpkg.com](https://unpkg.com/) or [jsdelivr.net](https://www.jsdelivr.com/) is recommended", recommended: "Recommended", viewJSLibraryDocument: "Document", jsLibraryURLError: "Invalid URL", @@ -2152,23 +2070,19 @@ export const en = { jsLibraryDownloadError: "JavaScript library download error", jsLibraryInstallSuccess: "JavaScript library installed successfully", jsLibraryInstallFailed: "JavaScript library installation failed", - jsLibraryInstallFailedCloud: - "Perhaps the library is not available in the sandbox, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{message}", + jsLibraryInstallFailedCloud: "Perhaps the library is not available in the sandbox, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{message}", jsLibraryInstallFailedHost: "{message}", add: "Add New", jsHelpText: "Add a global method or variable to the current application.", - cssHelpText: - "Add styles to the current application. The DOM structure may change as the system iterates. Try to modify styles through component properties.", + cssHelpText: "Add styles to the current application. The DOM structure may change as the system iterates. Try to modify styles through component properties.", scriptsAndStyles: "Scripts and styles", jsLibrary: "JavaScript library", }, editorTutorials: { component: "Component", - componentContent: - "The right component area has tables, buttons, input boxes, selectors, and other components that can be dragged onto the canvas for use.", + componentContent: "The right component area has tables, buttons, input boxes, selectors, and other components that can be dragged onto the canvas for use.", canvas: "Canvas", - canvasContent: - "What you see on the canvas is what you get, and you can adjust component layout and size by dragging and dropping, and delete/copy/paste components with keyboard shortcuts.", + canvasContent: "What you see on the canvas is what you get, and you can adjust component layout and size by dragging and dropping, and delete/copy/paste components with keyboard shortcuts.", queryData: "Query data", queryDataContent: `Create a new query here and connect to your MySQL, MongoDB, Redis, Airtable, and other data sources. After configuring the query, click "Run" to obtain the data.`, compProperties: "Component properties", @@ -2178,6 +2092,11 @@ export const en = { createAppContent: `🎉 Welcome to {productName}, click "App" and start to create your first application.`, createAppTitle: "Create app", }, + + + // nineteenth part + + history: { layout: "'{0}' layout adjustment", upgrade: "Upgrade '{0}'", @@ -2228,8 +2147,7 @@ export const en = { resCardSubTitle: "{time} by {creator}", trashEmpty: "Trash is empty.", projectEmpty: "Nothing here.", - projectEmptyCanAdd: - "You don't have any apps yet. Click New to get started.", + projectEmptyCanAdd: "You don't have any apps yet. Click New to get started.", name: "Name", type: "Type", creator: "Created by", @@ -2241,8 +2159,7 @@ export const en = { nameCheckMessage: "The name cannot be empty", deleteElementTitle: "Delete permanently", moveToTrashSubTitle: "{type} {name} will be moved to trash.", - deleteElementSubTitle: - "Delete {type} {name} permanently, it cannot be recovered.", + deleteElementSubTitle: "Delete {type} {name} permanently, it cannot be recovered.", deleteSuccessMsg: "Deleted successfully", deleteErrorMsg: "Deleted error", recoverSuccessMsg: "Recovered successfully", @@ -2281,6 +2198,11 @@ export const en = { autoPlay: "AutoPlay", showDots: "Show dots", }, + + + // twentieth part + + npm: { invalidNpmPackageName: "Invalid npm package name or url.", pluginExisted: "This npm plugin already existed", @@ -2315,15 +2237,11 @@ export const en = { aboutUs: "https://lowcoder.cloud/about", changeLog: "https://github.com/lowcoder-org/lowcoder/releases", introVideo: "", - devNpmPlugin: - "https://docs.lowcoder.cloud/lowcoder-extension/develop-data-source-plugins", + devNpmPlugin: "https://docs.lowcoder.cloud/lowcoder-extension/develop-data-source-plugins", devNpmPluginText: "How to develop npm plugin", - useHost: - "https://docs.lowcoder.cloud/setup-and-run/self-hosting/access-local-database-or-api", - eventHandlerSlowdown: - "https://docs.lowcoder.cloud/build-applications/app-interaction/event-handlers", - thirdLib: - "https://docs.lowcoder.cloud/lowcoder-extension/use-third-party-libraries-in-apps", + useHost: "https://docs.lowcoder.cloud/setup-and-run/self-hosting/access-local-database-or-api", + eventHandlerSlowdown: "https://docs.lowcoder.cloud/build-applications/app-interaction/event-handlers", + thirdLib: "https://docs.lowcoder.cloud/lowcoder-extension/use-third-party-libraries-in-apps", thirdLibUrlText: "Use third-party libraries", }, datasourceTutorial: { @@ -2337,10 +2255,8 @@ export const en = { }, queryTutorial: { js: "", - transformer: - "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/transformers", - tempState: - "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/temporary-state", + transformer: "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/transformers", + tempState: "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/temporary-state", }, customComponent: { entryUrl: "https://sdk.lowcoder.cloud/custom_component.html", @@ -2352,11 +2268,14 @@ export const en = { createIssue: "https://github.com/lowcoder-org/lowcoder/issues", discord: "https://discord.com/invite/qMG9uTmAx2", }, + + + // twenty-first part + + componentDoc: { - markdownDemoText: - "**Lowcoder** | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", - demoText: - "Lowcoder | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + markdownDemoText: "**Lowcoder** | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + demoText: "Lowcoder | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", submit: "Submit", style: "style", danger: "Danger", @@ -2377,8 +2296,7 @@ export const en = { componentNotFound: "Component does not exist", example: "Examples", defaultMethodDesc: "Set the value of property {name}", - propertyUsage: - "You can read component-related information by accessing component properties by component name anywhere you can write JavaScript.", + propertyUsage: "You can read component-related information by accessing component properties by component name anywhere you can write JavaScript.", property: "Properties", propertyName: "Property Name", propertyType: "Type", @@ -2387,8 +2305,7 @@ export const en = { eventName: "event name", eventDesc: "Description", mehtod: "Methods", - methodUsage: - "You can interact with components through their methods, and you can call them by their name anywhere you can write JavaScript. Or you can call them through the 'Control component' action of an event.", + methodUsage: "You can interact with components through their methods, and you can call them by their name anywhere you can write JavaScript. Or you can call them through the 'Control component' action of an event.", methodName: "Method Name", methodDesc: "Description", showBorder: "Show Border", @@ -2410,8 +2327,7 @@ export const en = { defaultStartDateValue: "Default Start Date", defaultEndDateValue: "Default End Date", basicUsage: "Basic Usage", - basicDemoDescription: - "The following examples show the basic usage of the component.", + basicDemoDescription: "The following examples show the basic usage of the component.", noDefaultValue: "No Default Value", forbid: "Forbidden", placeholder: "Placeholder", @@ -2483,8 +2399,7 @@ export const en = { styleColor: "Font color", selectionMode: "Row selection mode", paginationSetting: "Pagination setting", - paginationShowSizeChanger: - "Support users to modify the number of entries per page", + paginationShowSizeChanger: "Support users to modify the number of entries per page", paginationShowSizeChangerButton: "Show size changer button", paginationShowQuickJumper: "Show quick jumper", paginationHideOnSinglePage: "Hide when there is only one page", @@ -2569,6 +2484,11 @@ export const en = { bottom: "Bottom", justify: "Justify both ends", }, + + + // twenty-second part + + playground: { url: "https://app.lowcoder.cloud/playground/{compType}/1", data: "Data", @@ -2578,8 +2498,7 @@ export const en = { executeMethods: "Execute methods", noMethods: "No methods.", methodParams: "Method params", - methodParamsHelp: - "Input method params use JSON, for example, you can set setValue's params with: [1] or 1", + methodParamsHelp: "Input method params use JSON, for example, you can set setValue's params with: [1] or 1", }, calendar: { headerBtnBackground: "Button background", @@ -2610,25 +2529,20 @@ export const en = { formSelectPlaceholder: "Please select the {label}", saveSuccess: "Saved successfully", dangerLabel: "Danger Zone", - dangerTip: - "Disabling this ID provider may result in some users being unable to log in. Proceed with caution.", + dangerTip: "Disabling this ID provider may result in some users being unable to log in. Proceed with caution.", disable: "Disable", disableSuccess: "Disabled successfully", encryptedServer: "-------- Encrypted on the server side --------", disableTip: "Tips", - disableContent: - "Disabling this ID provider may result in some users being unable to log in. Are you sure to proceed?", + disableContent: "Disabling this ID provider may result in some users being unable to log in. Are you sure to proceed?", manualTip: "", - lockTip: - "The content is locked. To make changes, please click the{icon}to unlock.", - lockModalContent: - "Changing the 'ID attribute' field can have significant impacts on user identification. Please confirm that you understand the implications of this change before proceeding.", + lockTip: "The content is locked. To make changes, please click the{icon}to unlock.", + lockModalContent: "Changing the 'ID attribute' field can have significant impacts on user identification. Please confirm that you understand the implications of this change before proceeding.", payUserTag: "Premium", }, slotControl: { configSlotView: "Configure slot view", }, - //Added By Aqib Mirza jsonLottie: { lottieJson: "Lottie JSON", speed: "Speed", @@ -2644,7 +2558,6 @@ export const en = { endlessLoop: "Endless Loop", keepLastFrame: "Keep Last Frame", }, - ///////////////////// timeLine: { titleColor: "Title color", subTitleColor: "Subtitle color", @@ -2654,8 +2567,7 @@ export const en = { left: "Content right", right: "Content left", alternate: "Alternate content order", - modeTooltip: - "Set the content to appear left/right or alternately on both sides of the timeline", + modeTooltip: "Set the content to appear left/right or alternately on both sides of the timeline", reverse: "Newest events first", pending: "Pending node text", pendingDescription: "When set, then an last node with the text and a waiting indicator will be displayed.", @@ -2675,6 +2587,11 @@ export const en = { clickedObjectDesc: "clicked item data", clickedIndexDesc: "clicked item index", }, + + + // twenty-third part + + comment: { value: "comment list data", showSendButton: "Allowing Comments", @@ -2757,3 +2674,10 @@ export const en = { navItemStyle: "Menu Item Style", } }; + +// const jsonString = JSON.stringify(en, null, 2); +// console.log(jsonString); + +// If you want to write this to a file, you can use the fs module +// const fs = require('fs'); +// fs.writeFileSync('output.json', jsonString, 'utf8'); \ No newline at end of file diff --git a/client/packages/lowcoder/src/i18n/locales/translation_files/en.json b/client/packages/lowcoder/src/i18n/locales/translation_files/en.json new file mode 100644 index 000000000..1156b76dd --- /dev/null +++ b/client/packages/lowcoder/src/i18n/locales/translation_files/en.json @@ -0,0 +1,2568 @@ +{ + "productName": "Lowcoder", + "productDesc": "Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + "notSupportedBrowser": "Your current browser may have compatibility issues. For a better user experience, it is recommended to use the latest version of the Chrome browser.", + "create": "Create", + "move": "Move", + "addItem": "Add", + "newItem": "New", + "copy": "Copy", + "rename": "Rename", + "delete": "Delete", + "deletePermanently": "Delete", + "remove": "Remove", + "recover": "Recover", + "edit": "Edit", + "view": "View", + "value": "Value", + "data": "Data", + "information": "Information", + "success": "Success", + "warning": "Warning", + "error": "Error", + "reference": "Reference", + "text": "Text", + "label": "Label", + "color": "Color", + "form": "Form", + "menu": "Menu", + "menuItem": "Menu item", + "ok": "OK", + "cancel": "Cancel", + "finish": "Finish", + "reset": "Reset", + "icon": "Icon", + "code": "Code", + "title": "Title", + "emptyContent": "Empty content", + "more": "More", + "search": "Search", + "back": "Back", + "accessControl": " Access Control", + "copySuccess": "Copied", + "copyError": "Copy error", + "api": { + "publishSuccess": "Published", + "recoverFailed": "Recovery failed", + "needUpdate": "Your current version is too old, please upgrade to the latest version." + }, + "codeEditor": { + "notSupportAutoFormat": "Current code editor not supports auto formatting", + "fold": "Fold" + }, + "exportMethod": { + "setDesc": "Set Property: {property}", + "clearDesc": "Clear Property: {property}", + "resetDesc": "Reset Property: {property} to default value" + }, + "method": { + "focus": "Set focus", + "focusOptions": "Focus options. See HTMLElement.focus()", + "blur": "Remove focus", + "click": "Click", + "select": "Select all the text", + "setSelectionRange": "Set the start and end positions of the current text selection", + "selectionStart": "The 0-based index of the first selected character.", + "selectionEnd": "The 0-based index of the character after the last selected character.", + "setRangeText": "Replace a range of text", + "replacement": "The string to insert.", + "replaceStart": "The 0-based index of the first character to replace.", + "replaceEnd": "The 0-based index of the character after the last character to replace." + }, + "errorBoundary": { + "encounterError": "Component loading failed. Please check your configuration. ", + "clickToReload": "Click to reload", + "errorMsg": "Error: " + }, + "imgUpload": { + "notSupportError": "Only supports uploading {types} image", + "exceedSizeError": "Image size should not exceed {size}" + }, + "gridCompOperator": { + "notSupport": "Not supported", + "selectAtLeastOneComponent": "Please select at least one component", + "selectCompFirst": "Please select components before copy", + "noContainerSelected": "[bug] No selected container", + "deleteCompsSuccess": "Delete success. You can use {undoKey} to undo.", + "deleteCompsTitle": "Delete components", + "deleteCompsBody": "Are you sure you want to delete {compNum} selected components?", + "cutCompsSuccess": "Cut success. You can use {pasteKey} to paste, or use {undoKey} to undo." + }, + "leftPanel": { + "queries": "Queries", + "globals": "Globals", + "propTipsArr": "{num} items", + "propTips": "{num} keys", + "propTipArr": "{num} item", + "propTip": "{num} key", + "stateTab": "State", + "settingsTab": "Settings", + "toolbarTitle": "Other", + "toolbarPreload": "Scripts and style", + "components": "Components", + "modals": "Modals", + "expandTip": "Click to expand {component}'s data", + "collapseTip": "Click to collapse {component}'s data" + }, + "bottomPanel": { + "title": "Queries", + "run": "Run", + "noSelectedQuery": "No selected query", + "metaData": "Metadata", + "noMetadata": "No metadata", + "metaSearchPlaceholder": "Search metadata", + "allData": "All tables" + }, + "rightPanel": { + "propertyTab": "Properties", + "noSelectedComps": "No components selected. Click to select one.", + "createTab": "Insert", + "searchPlaceHolder": "Search components or modules", + "uiComponentTab": "Components", + "extensionTab": "Extensions", + "modulesTab": "Modules", + "moduleListTitle": "Modules", + "pluginListTitle": "Plugins", + "emptyModules": "Modules are reusable groups of components and queries.", + "searchNotFound": "Can't find a suitable component? Submit an issue", + "emptyPlugins": "No plugins added.", + "contactUs": "Contact us", + "issueHere": " here." + }, + "prop": { + "expand": "Expand", + "columns": "Columns", + "videokey": "video key", + "rowSelection": "Row selection", + "toolbar": "Toolbar", + "pagination": "Pagination", + "logo": "Logo", + "style": "Style", + "inputs": "Inputs", + "meta": "Meta data", + "data": "Data", + "hide": "Hidden", + "loading": "Loading", + "disabled": "Disabled", + "placeholder": "Placeholder", + "showClear": "Show clear button", + "showSearch": "Searchable", + "defaultValue": "Default value", + "required": "Required field", + "readOnly": "Read only", + "readOnlyTooltip": "Read only component looks same as normal component, it is focusable and selectable but cannot be modified", + "minimum": "Minimum", + "maximum": "Maximum", + "regex": "Regex", + "minLength": "Min length", + "maxLength": "Max length", + "height": "Height", + "width": "Width", + "selectApp": "App", + "showCount": "Show count", + "textType": "Text type", + "customRule": "Custom rule", + "customRuleTooltip": "If the result is non-empty string, it is an error message. If empty or null, the validation passes. Example: ", + "manual": "Manual", + "map": "Mapped", + "json": "JSON", + "use12Hours": "Use 12-hours for Time Selector", + "hourStep": "Hour step", + "minuteStep": "Minute step", + "secondStep": "Second step", + "minDate": "Min date", + "maxDate": "Max date", + "minTime": "Min time", + "maxTime": "Max time", + "type": "Type", + "showLabel": "Show label", + "showHeader": "Show header", + "showBody": "Show body", + "showFooter": "Show footer", + "maskClosable": "Click the mask to close", + "showMask": "Show mask" + }, + "autoHeightProp": { + "auto": "Auto", + "fixed": "Fixed" + }, + "labelProp": { + "text": "Label", + "tooltip": "Tooltip", + "position": "Position", + "left": "Left", + "top": "Top", + "align": "Alignment", + "width": "Width", + "widthTooltip": "Width of the label. It supports percentage of the component width (%), pixels (px)" + }, + "eventHandler": { + "eventHandlers": "Event handlers", + "emptyEventHandlers": "No event handlers", + "incomplete": "Incomplete selection", + "inlineEventTitle": "On {eventName}", + "event": "Event", + "action": "Action", + "noSelect": "No select", + "runQuery": "Run query", + "selectQuery": "Select query", + "controlComp": "Control component", + "runScript": "Run JavaScript", + "runScriptPlaceHolder": "Write code here", + "component": "Component", + "method": "Method", + "setTempState": "Set temporary state", + "state": "State", + "triggerModuleEvent": "Trigger module event", + "moduleEvent": "Module event", + "goToApp": "Go to app", + "queryParams": "Query params", + "hashParams": "Hash params", + "showNotification": "Show notification", + "text": "Text", + "level": "Level", + "duration": "Duration", + "notifyDurationTooltip": "Time unit can be s(second, default), ms (millisecond). Max duration is {max} seconds", + "goToURL": "Go to URL", + "openInNewTab": "Open in a new tab", + "copyToClipboard": "Copy to clipboard", + "copyToClipboardValue": "Value", + "export": "Export data", + "exportNoFileType": "No select (optional)", + "fileName": "File name", + "fileNameTooltip": "Support extension to specify the file type, like image.png.", + "fileType": "File type", + "condition": "Only run when", + "conditionTooltip": "Only run the event handler when this condition evaluates to 'true'", + "debounce": "Debounce", + "throttle": "Throttle", + "slowdownTooltip": "Use debounce or throttle to control how often the action is triggered. Time unit can be ms (millisecond, default), s (second).", + "notHandledError": "Not handled", + "currentApp": "Current" + }, + "event": { + "submit": "Submit", + "submitDesc": "Triggers on submit", + "change": "Change", + "changeDesc": "Triggers on value changes", + "focus": "Focus", + "focusDesc": "Triggers on focus", + "blur": "Blur", + "blurDesc": "Triggers on blur", + "click": "Click", + "clickDesc": "Triggers on click", + "close": "Close", + "closeDesc": "Triggers on close", + "parse": "Parse", + "parseDesc": "Triggers on parse", + "success": "Success", + "successDesc": "Triggers on success", + "delete": "Delete", + "deleteDesc": "Triggers on delete", + "mention": "mention", + "mentionDesc": "Triggers on mention" + }, + "themeDetail": { + "primary": "Brand color", + "primaryDesc": "Most components use the default primary color", + "textDark": "Text dark color", + "textDarkDesc": "Apply when the background color is light", + "textLight": "Text light color", + "textLightDesc": "Apply when the background color is dark", + "canvas": "Canvas color", + "canvasDesc": "The default background color of the app", + "primarySurface": "Container color", + "primarySurfaceDesc": "The default background color for components such as tables", + "borderRadius": "Border radius", + "borderRadiusDesc": "Most components use the default border radius", + "chart": "Chart style", + "chartDesc": "Input Echarts", + "echartsJson": "Theme JSON", + "margin": "Margin", + "marginDesc": "The default margin is typically used for most components", + "padding": "Padding", + "paddingDesc": "The default padding is typically used for most components", + "containerheaderpadding": "Header Padding", + "containerheaderpaddingDesc": "The default headerpadding is typically used for most components", + "gridColumns": "Grid Columns", + "gridColumnsDesc": "The default number of columns is typically used for most containers" + }, + "style": { + "resetTooltip": "Reset styles. Delete the input's value to reset an individual field.", + "textColor": "Text color", + "contrastText": "Contrast text color", + "generated": "Generated", + "customize": "Customize", + "staticText": "Static text", + "accent": "Accent", + "validate": "Validation message", + "border": "Border color", + "borderRadius": "Border radius", + "borderWidth": "Border width", + "background": "Background", + "headerBackground": "Header background", + "footerBackground": "Footer background", + "fill": "Fill", + "track": "Track", + "links": "Links", + "thumb": "Thumb", + "thumbBorder": "Thumb border", + "checked": "Checked", + "unchecked": "Unchecked", + "handle": "Handle", + "tags": "Tags", + "tagsText": "Tags text", + "multiIcon": "Multiselect icon", + "tabText": "Tab text", + "tabAccent": "Tab accent", + "checkedBackground": "Checked background", + "uncheckedBackground": "Unchecked background", + "uncheckedBorder": "Unchecked border", + "indicatorBackground": "Indicator background", + "tableCellText": "Cell text", + "selectedRowBackground": "Selected row background", + "hoverRowBackground": "Hover row background", + "alternateRowBackground": "Alternate row background", + "tableHeaderBackground": "Header background", + "tableHeaderText": "Header text", + "toolbarBackground": "Toolbar background", + "toolbarText": "Toolbar text", + "pen": "Pen", + "footerIcon": "Footer icon", + "tips": "Tips", + "margin": "Margin", + "padding": "Padding", + "marginLeft": "Margin Left", + "marginRight": "Margin Right", + "marginTop": "Margin Top", + "marginBottom": "Margin Bottom", + "containerheaderpadding": "Header Padding", + "containerfooterpadding": "Footer Padding", + "containerbodypadding": "Body Padding", + "minWidth": "Minimum Width", + "aspectRatio": "Aspect Ratio", + "textSize": "Text size" + }, + "export": { + "hiddenDesc": "If true, the component is hidden", + "disabledDesc": "If true, the component will be greyed out and non-interactive", + "visibleDesc": "If true, the component is visible", + "inputValueDesc": "Current value of the input", + "invalidDesc": "Whether the value is invalid", + "placeholderDesc": "Text to display when no value is set", + "requiredDesc": "If true, a valid value must be provided", + "submitDesc": "Submit Form", + "richTextEditorValueDesc": "Current value of the Editor", + "richTextEditorReadOnlyDesc": "If true, the Editor is read-only", + "richTextEditorHideToolBarDesc": "If true, thr toolbar is hidden", + "jsonEditorDesc": "Current json data", + "sliderValueDesc": "Currently selected value", + "sliderMaxValueDesc": "The maximum value of the current interval", + "sliderMinValueDesc": "The minimum value of the current interval", + "sliderStartDesc": "The value of the currently selected starting point", + "sliderEndDesc": "The value of the currently selected end point", + "ratingValueDesc": "The currently selected score", + "ratingMaxDesc": "The maximum score currently set", + "datePickerValueDesc": "Currently selected date", + "datePickerFormattedValueDesc": "Formatted selected date according to the specified format", + "datePickerTimestampDesc": "The currently selected timestamp of the date (s)", + "dateRangeStartDesc": "Currently selected start date", + "dateRangeEndDesc": "Currently selected end date", + "dateRangeStartTimestampDesc": "The currently selected timestamp of the start date (s)", + "dateRangeEndTimestampDesc": "The currently selected timestamp of the end date (s)", + "dateRangeFormattedValueDesc": "Formatted selected date according to the specified format", + "dateRangeFormattedStartValueDesc": "Formatted start date according to the specified format", + "dateRangeFormattedEndValueDesc": "Formatted end date according to the specified format", + "timePickerValueDesc": "Currently selected time", + "timePickerFormattedValueDesc": "Formatted selected time according to the specified format", + "timeRangeStartDesc": "Currently selected start time", + "timeRangeEndDesc": "Currently selected end time", + "timeRangeFormattedValueDesc": "Formatted selected time according to the specified format", + "timeRangeFormattedStartValueDesc": "Formatted start time according to the specified format", + "timeRangeFormattedEndValueDesc": "Formatted end time according to the specified format" + }, + "validationDesc": { + "email": "Please enter a valid email address", + "url": "Please enter a valid URL", + "regex": "Please enter the content that matches the regex", + "maxLength": "Excessive number of characters, current length {length}, maximum length {maxLength}", + "minLength": "Insufficient number of characters, current length {length}, minimum length {minLength}", + "maxValue": "Greater than the maximum, current {value}, maximum {max}", + "minValue": "Less than the minimum, current {value}, minimum {min}", + "maxTime": "Greater than the maximum time, current time {time}, the maximum time {maxTime}", + "minTime": "Less than the minimum time, current time {time}, the minimum time {minTime}", + "maxDate": "Greater than maximum date, current time {date}, maximum date {maxDate}", + "minDate": "Less than minimum date, current time {date}, minimum date {minDate}" + }, + "query": { + "noQueries": "No queries available. ", + "queryTutorialButton": "View {value} documents", + "datasource": "Data sources", + "newDatasource": "New data source", + "generalTab": "General", + "notificationTab": "Notification", + "advancedTab": "Advanced", + "showFailNotification": "Show notification on failure", + "failCondition": "Failure conditions", + "failConditionTooltip1": "Customizes failure condition and corresponding notification.", + "failConditionTooltip2": "If any condition returns true, the query will be marked as failure and triggers corresponding notification.", + "showSuccessNotification": "Show notification on success", + "successMessageLabel": "Success message", + "successMessage": "Run success", + "notifyDuration": "Duration", + "notifyDurationTooltip": "Notification duration. Time unit can be s(second, default), ms(millisecond). Default value is {default}s. Maximum is {max}s.", + "successMessageWithName": "{name} run success", + "failMessageWithName": "{name} run failed: {result}", + "showConfirmationModal": "Show a confirmation modal before running", + "confirmationMessageLabel": "Confirmation message", + "confirmationMessage": "Are you sure you want to run this query?", + "newQuery": "New query", + "newFolder": "New Folder", + "recentlyUsed": "Recently used", + "folder": "Folder", + "folderNotEmpty": "Folder is not empty", + "dataResponder": "Data responder", + "tempState": "Temporary state", + "transformer": "Transformer", + "quickRestAPI": "REST Query", + "quickStreamAPI": "Stream Query", + "quickGraphql": "GraphQL Query", + "lowcoderAPI": "Lowcoder API", + "executeJSCode": "Run JavaScript Code", + "importFromQueryLibrary": "Import from Query Library", + "importFromFile": "Import from File", + "triggerType": "Triggered when", + "triggerTypeAuto": "Inputs change or on page load", + "triggerTypePageLoad": "On page load", + "triggerTypeManual": "Manually invoked", + "chooseDataSource": "Data source", + "method": "Method", + "updateExceptionDataSourceTitle": "Update failing data source", + "updateExceptionDataSourceContent": "Update the following query with the same failing data source:", + "update": "Update", + "disablePreparedStatement": "Disable prepared statements", + "disablePreparedStatementTooltip": "Disabling prepared statements can generate SQL dynamically, but risks SQL injection", + "timeout": "Timeout after", + "timeoutTooltip": "Default unit: ms, supported input units: ms, s.\nDefault value: {defaultSeconds} seconds\nMaximum value: {maxSeconds} seconds.\n\nE.g. 300 (i.e. 300ms), 800ms, 5s.", + "periodic": "Run this query periodically", + "periodicTime": "Period", + "periodicTimeTooltip": "Period between successive executions. \nDefault unit: ms, supported input units: ms, s.\nMinimum value: 100ms, periodical execution will be disabled for values below that.\n\nE.g. 300 (i.e. 300ms), 800ms, 5s.", + "cancelPrevious": "Ignore the results of previous uncompleted executions.", + "cancelPreviousTooltip": "", + "dataSourceStatusError": "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if the previous executions did not complete, and the ignored executions will not trigger the event list of the query.", + "success": "Success", + "fail": "Failure", + "successDesc": "Triggered when the execution success", + "failDesc": "Triggered when the execution failed", + "fixedDelayError": "Query not run", + "execSuccess": "run success", + "execFail": "run failed", + "execIgnored": "The results of this query was ignored.", + "deleteSuccessMessage": "Successfully deleted. You can use {undoKey} to undo.", + "dataExportDesc": "Data obtained by the current query", + "codeExportDesc": "Current query status code", + "successExportDesc": "Whether the current query was executed successfully", + "messageExportDesc": "Information returned by the current query", + "extraExportDesc": "Other data in the current query", + "isFetchingExportDesc": "Is the current query in the request", + "runTimeExportDesc": "Current query execution time (ms)", + "latestEndTimeExportDesc": "Last run time", + "triggerTypeExportDesc": "Trigger type", + "chooseResource": "Choose a resource", + "createDataSource": "Create a new data source", + "editDataSource": "Edit", + "datasourceName": "Name", + "datasourceNameRuleMessage": "Please enter a data source name", + "generalSetting": "General settings", + "advancedSetting": "Advanced settings", + "port": "Port", + "portRequiredMessage": "Please enter a port", + "portErrorMessage": "Please enter a correct port", + "connectionType": "Connection Type", + "regular": "Regular", + "host": "Host", + "hostRequiredMessage": "Please enter a host domain name or IP address", + "userName": "User name", + "password": "Password", + "encryptedServer": "-------- Encrypted on the server side --------", + "uriRequiredMessage": "Please enter a URI", + "urlRequiredMessage": "Please enter a URL", + "uriErrorMessage": "Please enter a correct URI", + "urlErrorMessage": "Please enter a correct URL", + "httpRequiredMessage": "Please enter http:// or https://", + "databaseName": "Database name", + "databaseNameRequiredMessage": "Please enter a database name", + "useSSL": "Use SSL", + "userNameRequiredMessage": "Please enter your name", + "passwordRequiredMessage": "Please enter your password", + "authentication": "Authentication", + "authenticationType": "Authentication Type", + "sslCertVerificationType": "SSL Cert Verification", + "sslCertVerificationTypeDefault": "Verify CA Cert", + "sslCertVerificationTypeSelf": "Verify Self Signed Cert", + "sslCertVerificationTypeDisabled": "Disabled", + "selfSignedCert": "Self-signed Cert", + "selfSignedCertRequireMsg": "Please enter your Certificate", + "enableTurnOffPreparedStatement": "Enable toggling prepared statements for queries", + "enableTurnOffPreparedStatementTooltip": "You can enable or disable prepared statements in query Advanced tab", + "serviceName": "Service name", + "serviceNameRequiredMessage": "Please enter your service name", + "useSID": "Use SID", + "connectSuccessfully": "Connection successful", + "saveSuccessfully": "Saved", + "database": "Database", + "cloudHosting": "Cloud-hosted Lowcoder cannot access your local services with 127.0.0.1 or localhost. Try to connect public network data sources or use a reverse proxy fronting your private services.", + "notCloudHosting": "For docker hosted deployment, Lowcoder uses bridge networks, so 127.0.0.1 and localhost are invalid for host addresses. To visit data sources on your local machine, please refer to this", + "howToAccessHostDocLink": "How do I access the host API/DB", + "returnList": "Return", + "chooseDatasourceType": "Choose data source type", + "viewDocuments": "Documents", + "testConnection": "Test connection", + "save": "Save", + "whitelist": "Allowlist", + "whitelistTooltip": "Add the following IP addresses of Lowcoder to your data source allowlist when needed.", + "address": "Address: ", + "nameExists": "Name {name} already exist", + "jsQueryDocLink": "About JavaScript query", + "dynamicDataSourceConfigLoadingText": "Extra datasource config loading...", + "dynamicDataSourceConfigErrText": "Fail to load extra datasource config.", + "retry": "Retry" + }, + "sqlQuery": { + "keyValuePairs": "Key-value pairs", + "object": "Object", + "allowMultiModify": "Allow modify multi-row", + "allowMultiModifyTooltip": "If this parameter is selected, all rows that meet the conditions are operated. Otherwise, only the first row that meets the conditions is operated", + "array": "Array", + "insertList": "Insert list", + "insertListTooltip": "Value inserted when it does not exist", + "filterRule": "Filter rule", + "updateList": "Update list", + "updateListTooltip": "Values updated as they exist can be overridden by the same insertion list values", + "sqlMode": "SQL mode", + "guiMode": "GUI mode", + "operation": "Operation", + "insert": "Insert", + "upsert": "Insert, update if conflict", + "update": "Update", + "delete": "Delete", + "bulkInsert": "Bulk insert", + "bulkUpdate": "Bulk update", + "table": "Table", + "primaryKeyColumn": "Primary key column" + }, + "EsQuery": { + "rawCommand": "Raw command", + "queryTutorialButton": "View Elasticsearch API documents", + "request": "Request" + }, + "googleSheets": { + "rowIndex": "Row Index", + "spreadsheetId": "Spreadsheet", + "sheetName": "Sheet Name", + "readData": "Read Data", + "appendData": "Append Row", + "updateData": "Update Row", + "deleteData": "Delete Row", + "clearData": "Clear Row", + "serviceAccountRequireMessage": "Please enter your Service Account", + "ASC": "ASC", + "DESC": "DESC", + "sort": "Sort", + "sortPlaceholder": "Name" + }, + "queryLibrary": { + "export": "Export to JSON", + "noInput": "The current query has no input", + "inputName": "Name", + "inputDesc": "Description", + "emptyInputs": "No inputs", + "clickToAdd": "Add", + "chooseQuery": "Choose query", + "viewQuery": "View query", + "chooseVersion": "Choose version", + "latest": "Latest", + "publish": "Publish", + "historyVersion": "History version", + "deleteQueryLabel": "Delete query", + "deleteQueryContent": "The query can't be recovered after being deleted. Delete the query?", + "run": "Run", + "readOnly": "Read only", + "exit": "Exit", + "recoverAppSnapshotContent": "Restore the current query to the version {version}", + "searchPlaceholder": "Search query", + "allQuery": "All queries", + "deleteQueryTitle": "Delete query", + "unnamed": "Unnamed", + "publishNewVersion": "Publish new version", + "publishSuccess": "Published", + "version": "Version", + "desc": "Description" + }, + "snowflake": { + "accountIdentifierTooltip": "See ", + "extParamsTooltip": "Configure more connection parameters" + }, + "lowcoderQuery": { + "queryOrgUsers": "Query workspace users" + }, + "redisQuery": { + "rawCommand": "Raw command", + "command": "Command", + "queryTutorial": "View Redis Commands documents" + }, + "httpQuery": { + "bodyFormDataTooltip": "If you select {type}, the format of value should be {object}. Example: {example}", + "text": "Text", + "file": "File", + "extraBodyTooltip": "Key values in Extra body will be appended in body with JSON or Form Data types", + "forwardCookies": "Forward cookies", + "forwardAllCookies": "Forward all cookies" + }, + "smtpQuery": { + "attachment": "Attachment", + "attachmentTooltip": "Can use with file upload component, need convert data to: ", + "MIMETypeUrl": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", + "sender": "Sender", + "recipient": "Recipient", + "carbonCopy": "Carbon copy", + "blindCarbonCopy": "Blind carbon copy", + "subject": "Subject", + "content": "Content", + "contentTooltip": "Support for input text or HTML" + }, + "uiCompCategory": { + "dashboards": "Dashboards & Reporting", + "layout": "Layout & Navigation", + "forms": "Data Collection and Forms", + "collaboration": "Meeting & Collaboration", + "projectmanagement": "Project Management", + "scheduling": "Calendar and Scheduling", + "documents": "Document and File Management", + "itemHandling": "Item & Signature handling", + "multimedia": "Multimedia & Animation", + "integration": "Integration & Extension" + }, + "uiComp": { + "autoCompleteCompName": "Auto Complete", + "autoCompleteCompDesc": "Auto Complete input field", + "inputCompName": "Input", + "inputCompDesc": "Text Input field", + "inputCompKeywords": "text, textinput, input", + "textAreaCompName": "Text Area", + "textAreaCompDesc": "Text Area", + "textAreaCompKeywords": "", + "passwordCompName": "Password", + "passwordCompDesc": "Password field", + "passwordCompKeywords": "", + "richTextEditorCompName": "Rich Text Editor", + "richTextEditorCompDesc": "Embeded Rich Text Editor", + "richTextEditorCompKeywords": "Text editing, rich text, editor", + "numberInputCompName": "Number Input", + "numberInputCompDesc": "Number Input field", + "numberInputCompKeywords": "", + "sliderCompName": "Slider", + "sliderCompDesc": "Slider component", + "sliderCompKeywords": "", + "rangeSliderCompName": "Range Slider", + "rangeSliderCompDesc": "Range Slider input", + "rangeSliderCompKeywords": "", + "ratingCompName": "Rating", + "ratingCompDesc": "Rating display and input", + "ratingCompKeywords": "", + "switchCompName": "Switch", + "switchCompDesc": "Switch display and input", + "switchCompKeywords": "", + "selectCompName": "Select", + "selectCompDesc": "Select component", + "selectCompKeywords": "", + "multiSelectCompName": "Multiselect", + "multiSelectCompDesc": "Multiselect component", + "multiSelectCompKeywords": "", + "cascaderCompName": "Cascader", + "cascaderCompDesc": "Cascader component", + "cascaderCompKeywords": "", + "checkboxCompName": "Checkbox", + "checkboxCompDesc": "Checkbox component", + "checkboxCompKeywords": "", + "radioCompName": "Radio", + "radioCompDesc": "Radio component", + "radioCompKeywords": "", + "segmentedControlCompName": "Segmented Control", + "segmentedControlCompDesc": "Segmented Control component", + "segmentedControlCompKeywords": "", + "fileUploadCompName": "File Upload", + "fileUploadCompDesc": "File Upload component", + "fileUploadCompKeywords": "", + "dateCompName": "Date", + "dateCompDesc": "Date component", + "dateCompKeywords": "", + "dateRangeCompName": "Date Range", + "dateRangeCompDesc": "Date Range component", + "dateRangeCompKeywords": "", + "timeCompName": "Time", + "timeCompDesc": "Time component", + "timeCompKeywords": "", + "timeRangeCompName": "Time Range", + "timeRangeCompDesc": "Time Range component", + "timeRangeCompKeywords": "", + "buttonCompName": "Form Button", + "buttonCompDesc": "Button component", + "buttonCompKeywords": "", + "linkCompName": "Link", + "linkCompDesc": "Link component", + "linkCompKeywords": "", + "scannerCompName": "Scanner", + "scannerCompDesc": "Scanner component", + "scannerCompKeywords": "", + "dropdownCompName": "Dropdown", + "dropdownCompDesc": "Dropdown component", + "dropdownCompKeywords": "", + "toggleButtonCompName": "Toggle Button", + "toggleButtonCompDesc": "Toggle Button component", + "toggleButtonCompKeywords": "", + "textCompName": "Text Display", + "textCompDesc": "Text component", + "textCompKeywords": "", + "tableCompName": "Table", + "tableCompDesc": "Table component", + "tableCompKeywords": "", + "imageCompName": "Image", + "imageCompDesc": "Image component", + "imageCompKeywords": "", + "progressCompName": "Progress", + "progressCompDesc": "Progress component", + "progressCompKeywords": "", + "progressCircleCompName": "Process Circle", + "progressCircleCompDesc": "Process Circle component", + "progressCircleCompKeywords": "", + "fileViewerCompName": "File Viewer", + "fileViewerCompDesc": "File Viewer component", + "fileViewerCompKeywords": "", + "dividerCompName": "Divider", + "dividerCompDesc": "Divider component", + "dividerCompKeywords": "", + "qrCodeCompName": "QR Code", + "qrCodeCompDesc": "QR Code component", + "qrCodeCompKeywords": "", + "formCompName": "Form", + "formCompDesc": "Form component", + "formCompKeywords": "", + "jsonSchemaFormCompName": "JSON Schema Form", + "jsonSchemaFormCompDesc": "JSON Schema Form component", + "jsonSchemaFormCompKeywords": "", + "containerCompName": "Container", + "containerCompDesc": "Container component", + "containerCompKeywords": "", + "collapsibleContainerCompName": "Collapsible Container", + "collapsibleContainerCompDesc": "Collapsible Container component", + "collapsibleContainerCompKeywords": "", + "tabbedContainerCompName": "Tabbed Container", + "tabbedContainerCompDesc": "Tabbed Container component", + "tabbedContainerCompKeywords": "", + "modalCompName": "Modal", + "modalCompDesc": "Modal component", + "modalCompKeywords": "", + "listViewCompName": "List View", + "listViewCompDesc": "List View component", + "listViewCompKeywords": "", + "gridCompName": "Grid", + "gridCompDesc": "Grid component", + "gridCompKeywords": "", + "navigationCompName": "Navigation", + "navigationCompDesc": "Navigation component", + "navigationCompKeywords": "", + "iframeCompName": "IFrame", + "iframeCompDesc": "IFrame component", + "iframeCompKeywords": "", + "customCompName": "Custom Component", + "customCompDesc": "Custom Component", + "customCompKeywords": "", + "moduleCompName": "Module", + "moduleCompDesc": "Module component", + "moduleCompKeywords": "", + "jsonExplorerCompName": "JSON Explorer", + "jsonExplorerCompDesc": "JSON Explorer component", + "jsonExplorerCompKeywords": "", + "jsonEditorCompName": "JSON Editor", + "jsonEditorCompDesc": "JSON Editor component", + "jsonEditorCompKeywords": "", + "treeCompName": "Tree", + "treeCompDesc": "Tree component", + "treeCompKeywords": "", + "treeSelectCompName": "Tree Select", + "treeSelectCompDesc": "Tree Select component", + "treeSelectCompKeywords": "", + "audioCompName": "Audio", + "audioCompDesc": "Audio component", + "audioCompKeywords": "", + "videoCompName": "Video", + "sharingCompName": "Sharing", + "videoCompDesc": "Video component", + "videoCompKeywords": "", + "drawerCompName": "Drawer", + "drawerCompDesc": "Drawer component", + "drawerCompKeywords": "", + "chartCompName": "Chart", + "chartCompDesc": "Chart component", + "chartCompKeywords": "", + "carouselCompName": "Image Carousel", + "carouselCompDesc": "Image Carousel component", + "carouselCompKeywords": "", + "imageEditorCompName": "Image Editor", + "imageEditorCompDesc": "Image Editor component", + "imageEditorCompKeywords": "", + "mermaidCompName": "Mermaid Charts", + "mermaidCompDesc": "Render Mermaid Charts based on text", + "mermaidCompKeywords": "", + "calendarCompName": "Calendar", + "calendarCompDesc": "Calendar component", + "calendarCompKeywords": "", + "signatureCompName": "Signature", + "signatureCompDesc": "Signature component", + "signatureCompKeywords": "", + "jsonLottieCompName": "Lottie Animation", + "jsonLottieCompDesc": "Lottie Animation", + "jsonLottieCompKeywords": "", + "timelineCompName": "Time Line", + "timelineCompDesc": "Time Line", + "timelineCompKeywords": "", + "commentCompName": "Comment", + "commentCompDesc": "Comment", + "commentCompKeywords": "", + "mentionCompName": "mention", + "mentionCompDesc": "mention", + "mentionCompKeywords": "", + "autoCompleteCompKeywords": "", + "responsiveLayoutCompName": "Responsive Layout", + "responsiveLayoutCompDesc": "Responsive Layout", + "responsiveLayoutCompKeywords": "" + }, + "comp": { + "menuViewDocs": "View documentation", + "menuViewPlayground": "View playground", + "menuUpgradeToLatest": "Upgrade to latest version", + "nameNotEmpty": "Can not be empty", + "nameRegex": "Must start with a letter and contain only letters, digits, and underscores (_)", + "nameJSKeyword": "Can not be a Javascript keyword", + "nameGlobalVariable": "Can not be global variable name", + "nameExists": "Name {name} already exist", + "getLatestVersionMetaError": "Failed to fetch latest version, please try later.", + "needNotUpgrade": "Current version is already latest.", + "compNotFoundInLatestVersion": "Current component not found in the latest version.", + "upgradeSuccess": "Successfully upgraded to latest version.", + "searchProp": "Search" + }, + "jsonSchemaForm": { + "retry": "Retry", + "resetAfterSubmit": "Reset after successful submit", + "jsonSchema": "JSON schema", + "uiSchema": "UI schema", + "schemaTooltip": "See", + "defaultData": "Default data", + "dataDesc": "Current form data", + "required": "Required", + "maximum": "The maximum value is {value}", + "minimum": "The minimum value is {value}", + "exclusiveMaximum": "Should be less than {value}", + "exclusiveMinimum": "Should be greater than {value}", + "multipleOf": "Should be a multiple of {value}", + "minLength": "At least {value} characters", + "maxLength": "At most {value} characters", + "pattern": "Should match the pattern {value}", + "format": "Should match the format {value}" + }, + "select": { + "inputValueDesc": "Input search value" + }, + "customComp": { + "text": "It's a good day.", + "triggerQuery": "Trigger query", + "updateData": "Update data", + "updateText": "I'm also in a good mood!", + "sdkGlobalVarName": "Lowcoder" + }, + "tree": { + "selectType": "Select type", + "noSelect": "No select", + "singleSelect": "Single select", + "multiSelect": "Multi select", + "checkbox": "Checkbox", + "checkedStrategy": "Checked strategy", + "showAll": "All nodes", + "showParent": "Only parent nodes", + "showChild": "Only child nodes", + "autoExpandParent": "Auto expand parent", + "checkStrictly": "Check strictly", + "checkStrictlyTooltip": "Check treeNode precisely; parent treeNode and children treeNodes are not associated", + "treeData": "Tree data", + "treeDataDesc": "Current tree data", + "value": "Default values", + "valueDesc": "Current values", + "expanded": "Expanded values", + "expandedDesc": "Current expanded values", + "defaultExpandAll": "Default expand all nodes", + "showLine": "Show line", + "showLeafIcon": "Show leaf icon", + "treeDataAsia": "Asia", + "treeDataChina": "China", + "treeDataBeijing": "Beijing", + "treeDataShanghai": "Shanghai", + "treeDataJapan": "Japan", + "treeDataEurope": "Europe", + "treeDataEngland": "England", + "treeDataFrance": "France", + "treeDataGermany": "Germany", + "treeDataNorthAmerica": "North America", + "helpLabel": "Node label", + "helpValue": "Unique node value in tree", + "helpChildren": "Children nodes", + "helpDisabled": "Disables the node", + "helpSelectable": "Whether node is selectable (single/multi select type)", + "helpCheckable": "Whether display Checkbox (Checkbox type)", + "helpDisableCheckbox": "Disables the Checkbox (Checkbox type)" + }, + "moduleContainer": { + "eventTest": "Event Test", + "methodTest": "Method Test", + "inputTest": "Input Test" + }, + "password": { + "label": "Password", + "visibilityToggle": "Show visibility toggle" + }, + "richTextEditor": { + "toolbar": "Customine Toolbar", + "toolbarDescription": "you can customize the toolbar. Plase refer to: https://quilljs.com/docs/modules/toolbar/ for more details.", + "placeholder": "Please input...", + "hideToolbar": "Hide toolbar", + "content": "Content", + "title": "Title", + "save": "Save", + "link": "Link: ", + "edit": "Edit", + "remove": "Remove" + }, + "numberInput": { + "formatter": "Format", + "precision": "Precision", + "allowNull": "Allow null value", + "thousandsSeparator": "Show thousands separator", + "controls": "Show increment/decrement buttons", + "step": "Step", + "standard": "Standard", + "percent": "Percent" + }, + "slider": { + "step": "Step", + "stepTooltip": "The value must be greater than 0 and divisible by (max-min)" + }, + "rating": { + "max": "Max rating", + "allowHalf": "Allow half rating points" + }, + "optionsControl": { + "optionList": "Options", + "option": "Option", + "optionI": "Option {i}", + "viewDocs": "View docs", + "tip": "The \"item\" and \"i\" variables represent the value and index of each item in the data array" + }, + "radio": { + "options": "Options", + "horizontal": "Horizontal", + "horizontalTooltip": "The horizontal layout wraps itself when it runs out of space", + "vertical": "Vertical", + "verticalTooltip": "The vertical layout will always be displayed in a single column", + "autoColumns": "Auto column", + "autoColumnsTooltip": "The auto column layout automatically rearranges the order as space permits and displays as multiple columns" + }, + "cascader": { + "options": "Data" + }, + "selectInput": { + "valueDesc": "Currently selected value", + "selectedIndexDesc": "The index of the currently selected value, or -1 if no value is selected", + "selectedLabelDesc": "The label of the currently selected value" + }, + "file": { + "typeErrorMsg": "Must be a number with a valid file size unit, or a unitless number of bytes.", + "fileEmptyErrorMsg": "upload failed. The file size is empty.", + "fileSizeExceedErrorMsg": "upload failed. The file size exceeds the limit.", + "minSize": "Min size", + "minSizeTooltip": "The minimum size of uploaded files with optional file size units (e.g., \"5kb\", \"10 MB\"). If no unit is provided, the value will be considered a number of bytes.", + "maxSize": "Max size", + "maxSizeTooltip": "The maximum size of uploaded files with optional file size units (e.g., \"5kb\", \"10 MB\"). If no unit is provided, the value will be considered a number of bytes.", + "single": "Single", + "multiple": "Multiple", + "directory": "Directory", + "upload": "Browse", + "fileType": "File types", + "reference": "Please refer to", + "fileTypeTooltipUrl": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", + "fileTypeTooltip": "unique file type specifiers", + "uploadType": "Upload type", + "showUploadList": "Show upload list", + "maxFiles": "Max files", + "filesValueDesc": "The contents of the currently uploaded file are Base64 encoded", + "filesDesc": "List of the current uploaded files. For details, refer to", + "clearValueDesc": "Clear all files", + "parseFiles": "Parse files", + "parsedValueTooltip1": "If parseFiles is true, upload files will parse to object, array, or string. Parsed data can be accessed via the parsedValue array.", + "parsedValueTooltip2": "Supports Excel, JSON, CSV, and text files. Other formats will return null." + }, + "date": { + "format": "Format", + "formatTip": "Support:\nYYYY-MM-DD HH:mm:ss\nYYYY-MM-DD\nTimestamp", + "reference": "Please refer to", + "showTime": "Show time", + "start": "Start date", + "end": "End date", + "year": "Year", + "quarter": "Quarter", + "month": "Month", + "week": "Week", + "date": "Date", + "clearAllDesc": "Clear all", + "resetAllDesc": "Reset all", + "placeholder": "Select date", + "placeholderText": "Placeholder", + "startDate": "Start date", + "endDate": "End date" + }, + "time": { + "start": "Start time", + "end": "End time", + "formatTip": "Support:\nHH:mm:ss\nTimestamp", + "format": "Format", + "placeholder": "Select Time", + "placeholderText": "Placeholder", + "startTime": "Start time", + "endTime": "End time" + }, + "button": { + "prefixIcon": "Prefix icon", + "suffixIcon": "Suffix icon", + "icon": "Icon", + "iconSize": "Icon size", + "button": "Form Button", + "formToSubmit": "Form to submit", + "default": "Default", + "submit": "Submit", + "textDesc": "Text currently displayed on button", + "loadingDesc": "Is the button in loading state? If true the current button is loading", + "formButtonEvent": "event" + }, + "link": { + "link": "Link", + "textDesc": "Text currently displayed on link", + "loadingDesc": "Is the link in loading state? If true the current link is loading" + }, + "scanner": { + "text": "Click scan", + "camera": "Camera {index}", + "changeCamera": "Switch camera", + "continuous": "Continuous scanning", + "uniqueData": "Ignore duplicate data", + "maskClosable": "Click the mask to close", + "errTip": "Please use this component under https or localhost" + }, + "dropdown": { + "onlyMenu": "Display with Label only", + "textDesc": "Text currently displayed on button" + }, + "textShow": { + "text": "### 👋 hello, {name}", + "valueTooltip": "Markdown supports most HTML tags and attributes. iframe, script, and other tags are disabled for security reasons.", + "verticalAlignment": "Vertical alignment", + "horizontalAlignment": "Horizontal alignment", + "textDesc": "Text displayed in the current text box" + }, + "table": { + "editable": "Editable", + "columnNum": "Columns", + "viewModeResizable": "Column width adjusted by user", + "viewModeResizableTooltip": "Whether can adjust column width.", + "showFilter": "Show filter button", + "showRefresh": "Show refresh button", + "showDownload": "Show download button", + "columnSetting": "Show column setting button", + "searchText": "Search text", + "searchTextTooltip": "Search and filter the data presented in the table", + "showQuickJumper": "Show quick jumper", + "hideOnSinglePage": "Hide on single page", + "showSizeChanger": "Show size changer button", + "pageSizeOptions": "Page size options", + "pageSize": "Page size", + "total": "Total row count", + "totalTooltip": "The default value is the number of current data items, which can be obtained from the query, for example: '{{query1.data[0].count}}'", + "filter": "Filter", + "filterRule": "Filter rule", + "chooseColumnName": "Choose column", + "chooseCondition": "Choose condition", + "clear": "Clear", + "columnShows": "Column shows", + "selectAll": "Select all", + "and": "And", + "or": "Or", + "contains": "contains", + "notContain": "does not contain", + "equals": "equals", + "isNotEqual": "is not equal", + "isEmpty": "is empty", + "isNotEmpty": "is not empty", + "greater": "greater than", + "greaterThanOrEquals": "greater than or equals", + "lessThan": "less than", + "lessThanOrEquals": "less than or equals", + "action": "Action", + "columnValue": "Column value", + "columnValueTooltip": "'{{currentCell}}': current cell data\n'{{currentRow}}': current row data\n'{{currentIndex}}': current data index(starting from 0)\nExample: '{{currentCell * 5}}' show 5 times the original value data.", + "imageSrc": "Image source", + "imageSize": "Image size", + "columnTitle": "Title", + "sortable": "Sortable", + "align": "Alignment", + "fixedColumn": "Fixed column", + "autoWidth": "Auto width", + "customColumn": "Custom column", + "auto": "Auto", + "fixed": "Fixed", + "columnType": "Column type", + "float": "Float", + "prefix": "Prefix", + "suffix": "Suffix", + "text": "Text", + "number": "Number", + "link": "Link", + "links": "Links", + "tag": "Tag", + "date": "Date", + "dateTime": "Date Time", + "badgeStatus": "Status", + "button": "Button", + "image": "Image", + "boolean": "Boolean", + "rating": "Rating", + "progress": "Progress", + "option": "Operation ", + "optionList": "Operation list", + "option1": "Operation 1", + "status": "Status", + "statusTooltip": "Optional values: success, error, default, warning, processing", + "primaryButton": "Primary", + "defaultButton": "Default", + "type": "Type", + "tableSize": "Table size", + "hideHeader": "Hide table header", + "fixedHeader": "Fixed table header", + "fixedHeaderTooltip": "Header will be fixed for vertically scrollable table", + "fixedToolbar": "Fixed toolbar", + "fixedToolbarTooltip": "Toolbaar will be fixed for vertically scrollable table based on position", + "hideBordered": "Hide column border", + "deleteColumn": "Delete column", + "confirmDeleteColumn": "Confirm delete column: ", + "small": "S", + "middle": "M", + "large": "L", + "refreshButtonTooltip": "The current data changes, click to regenerate the column.", + "changeSetDesc": "An object representing changes to an editable table, only contains the changed cell. Rows go first and columns go second.", + "selectedRowDesc": "Provides data for the currently selected row, indicating the row that triggers a click event if the user clicks a button/link on the row", + "selectedRowsDesc": "Useful in multiple selection mode, same as selectedRow", + "pageNoDesc": "Current display page, starting from 1", + "pageSizeDesc": "How many rows per page", + "sortColumnDesc": "The name of the currently selected sorted column", + "sortDesc": "Whether the current row is in descending order", + "pageOffsetDesc": "The current start of paging, used for paging to get data. Example: select * from users limit '{{table1.pageSize}}' offset '{{table1.pageOffset}}'", + "displayDataDesc": "Data displayed in the current table", + "selectedIndexDesc": "Selected index in display data", + "filterDesc": "Table Filtering Parameters", + "dataDesc": "The raw data used in the current table", + "saveChanges": "Save changes", + "cancelChanges": "Cancel changes", + "rowSelectChange": "Row select change", + "rowClick": "Row click", + "rowExpand": "Row expand", + "filterChange": "Filter change", + "sortChange": "Sort change", + "pageChange": "Page change", + "refresh": "Refresh", + "rowColor": "Conditional row color", + "rowColorDesc": "Conditionally set the row color based on the optional variables:\ncurrentRow, currentOriginalIndex, currentIndex, columnTitle. \nFor example:\n'{{ currentRow.id > 3 ? \"green\" : \"red\" }}'", + "cellColor": "Conditional cell color", + "cellColorDesc": "Conditionally set the cell color based on the cell value using currentCell:\nFor example:\n'{{ currentCell == 3 ? \"green\" : \"red\" }}'", + "saveChangesNotBind": "No event handler configured for saving changes. Please bind at least one event handler before click.", + "dynamicColumn": "Use dynamic column setting", + "dynamicColumnConfig": "Column Setting", + "dynamicColumnConfigDesc": "Dynamic column settings. Accepts an array of column names. All columns are visible by default.\nExample: [\"id\", \"name\"]", + "position": "Position", + "showDataLoadSpinner": "Show spinner during data loading", + "showValue": "Show Value", + "expandable": "Expandable", + "configExpandedView": "Configure expanded view", + "toUpdateRowsDesc": "An array of objects for rows to be updated in editable tables.", + "empty": "Empty", + "falseValues": "Text when false", + "allColumn": "All", + "visibleColumn": "Visible", + "emptyColumns": "No columns are currently visible" + }, + "image": { + "src": "Image source", + "srcDesc": "The image source", + "supportPreview": "Support click preview", + "supportPreviewTip": "Effective when the image source is valid" + }, + "progress": { + "value": "Value", + "valueTooltip": "The percentage complete as a value between 0 and 100", + "showInfo": "Show Value", + "valueDesc": "Current progress value, ranging from 0 to 100", + "showInfoDesc": "Whether to display the current progress value" + }, + "fileViewer": { + "invalidURL": "A valid URL was not provided", + "src": "File URI", + "srcTooltip": "Preview provided link content by embedding HTML, base64 encoded data can also be supported, for example: data:application/pdf; base64,AAA... CCC", + "srcDesc": "The file URI" + }, + "divider": { + "title": "Title", + "align": "Alignment", + "dashed": "Dashed", + "dashedDesc": "Whether to use dashed line", + "titleDesc": "Divider title", + "alignDesc": "Divider title alignment" + }, + "QRCode": { + "value": "Value", + "valueTooltip": "The value contains a maximum of 2953 characters", + "level": "Fault tolerance level", + "levelTooltip": "Refers to the QR code is blocked part, can still be scanned out. The higher the level, the more complex the code, and the more blocked it is, the more it can be scanned", + "includeMargin": "Show margin", + "image": "Image", + "valueDesc": "The qrCode value", + "L": "L (Low)", + "M": "M (Medium)", + "Q": "Q (Quartile)", + "H": "H (High)", + "maxLength": "The content is too long. Set the length to less than 2953 characters" + }, + "jsonExplorer": { + "indent": "Indent", + "expandToggle": "Expand JSON Tree", + "theme": "Theme", + "valueDesc": "Current JSON Data", + "default": "Default", + "defaultDark": "Default dark", + "neutralLight": "Neutral light", + "neutralDark": "Neutral dark", + "azure": "Azure", + "darkBlue": "Dark blue" + }, + "audio": { + "src": "Audio URL", + "defaultSrcUrl": "https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3", + "autoPlay": "Autoplay", + "loop": "Loop", + "srcDesc": "Current audio URL", + "play": "Play", + "playDesc": "Triggered when audio is played", + "pause": "Pause", + "pauseDesc": "Triggered when audio is paused", + "ended": "Ended", + "endedDesc": "Triggered when the audio ends playing" + }, + "video": { + "src": "Video URL", + "defaultSrcUrl": "https://www.youtube.com/watch?v=pRpeEdMmmQ0", + "poster": "Poster URL", + "defaultPosterUrl": "", + "autoPlay": "Autoplay", + "loop": "Loop", + "controls": "Hide controls", + "volume": "Volume", + "playbackRate": "Playback rate", + "posterTooltip": "The default value is the first frame of the video", + "autoPlayTooltip": "After the video is loaded, it will play automatically. Changing this value from true to false will pause the video. (If a poster is set, it will be played by the poster button)", + "controlsTooltip": "Hide video playback controls. May not be fully supported by every video source.", + "volumeTooltip": "Set the volume of the player, between 0 and 1", + "playbackRateTooltip": "Set the rate of the player, between 1 and 2", + "srcDesc": "Current video URL", + "play": "Play", + "playDesc": "Triggered when video is played", + "pause": "Pause", + "pauseDesc": "Triggered when video is paused", + "load": "Load", + "loadDesc": "Triggered when the video resource has finished loading", + "ended": "Ended", + "endedDesc": "Triggered when the video ends playing", + "currentTimeStamp": "The current playback position of the video in seconds", + "duration": "The total duration of the video in seconds" + }, + "media": { + "playDesc": "Begins playback of the media.", + "pauseDesc": "Pauses the media playback.", + "loadDesc": "Resets the media to the beginning and restart selecting the media resource.", + "seekTo": "Seek to the given number of seconds, or fraction if amount is between 0 and 1", + "seekToAmount": "Number of seconds, or fraction if it is between 0 and 1", + "showPreview": "Show preview" + }, + "rangeSlider": { + "start": "Start value", + "end": "End value", + "step": "Step size", + "stepTooltip": "The slider's granularity, the value must be greater than 0 and divisible by (max-min)" + }, + "iconControl": { + "selectIcon": "Select an icon", + "insertIcon": "insert an icon", + "insertImage": "Insert an image or " + }, + "millisecondsControl": { + "timeoutTypeError": "Please enter the correct timeout period, the current input is: {value}", + "timeoutLessThanMinError": "Input must greater than {left}, the current input is: {value}" + }, + "selectionControl": { + "single": "Single", + "multiple": "Multiple", + "close": "Close", + "mode": "Select mode" + }, + "container": { + "title": "Container title" + }, + "drawer": { + "placement": "Drawer placement", + "size": "Size", + "top": "Top", + "right": "Right", + "bottom": "Bottom", + "left": "Left", + "widthTooltip": "Number or percentage, e.g. 520, 60%", + "heightTooltip": "Number, e.g. 378", + "openDrawerDesc": "Open Drawer", + "closeDrawerDesc": "Close Drawer", + "width": "Drawer width", + "height": "Drawer height" + }, + "meeting": { + "logLevel": "Agora SDK Log Level", + "placement": "Meeting placement", + "meeting": "Meeting Settings", + "cameraView": "Camera View", + "cameraViewDesc": "Camera View", + "screenShared": "Screen Shared", + "screenSharedDesc": "Screen Shared", + "audioUnmuted": "Audio Unmuted", + "audioMuted": "Audio Muted", + "videoClicked": "Video Clicked", + "videoOff": "Video Off", + "videoOn": "Video On", + "size": "Size", + "top": "Top", + "host": "Host of the Meetingroom", + "participants": "Participants of the Meetingroom", + "shareScreen": "Local Screenshare", + "appid": "Agora Application Id", + "meetingName": "Meeting Name", + "localUserID": "Host User Id", + "userName": "Host User Name", + "rtmToken": "Agora RTM Token", + "rtcToken": "Agora RTC Token", + "noVideo": "No video", + "profileImageUrl": "Profile Image Url", + "right": "Right", + "bottom": "Bottom", + "videoId": "Video Stream Id", + "audioStatus": "Audio status", + "left": "Left", + "widthTooltip": "Number or percentage, e.g. 520, 60%", + "heightTooltip": "Number, e.g. 378", + "openDrawerDesc": "Open Drawer", + "closeDrawerDesc": "Close Drawer", + "width": "Drawer width", + "height": "Drawer height", + "actionBtnDesc": "Action Button", + "broadCast": "BroadCast Messages", + "title": "Meeting Title", + "meetingCompName": "Agora Meeting Controller", + "sharingCompName": "Screen share Stream", + "videoCompName": "Camera Stream", + "videoSharingCompName": "Screen share Stream", + "meetingControlCompName": "Control Button", + "meetingCompDesc": "Meeting Component", + "meetingCompControls": "Meeting Control", + "meetingCompKeywords": "Agora Meeting, Web Meeting, Collaboration", + "iconSize": "Icon Size", + "userId": "userId", + "roomId": "roomId", + "meetingActive": "Ongoing Meeting", + "messages": "Broadcasted Messages" + }, + "settings": { + "title": "Settings", + "userGroups": "User Groups", + "organization": "Workspaces", + "audit": "Audit Logs", + "theme": "Themes", + "plugin": "Plugins", + "advanced": "Advanced", + "lab": "Lab", + "branding": "Branding", + "oauthProviders": "OAuth Providers", + "appUsage": "App Usage Logs", + "environments": "Environments", + "premium": "Premium" + }, + "memberSettings": { + "admin": "Admin", + "adminGroupRoleInfo": "Admin can manage group members and resources", + "adminOrgRoleInfo": "Own all resources and can manage groups.", + "member": "Member", + "memberGroupRoleInfo": "Member can view group members", + "memberOrgRoleInfo": "Can only use or visit resources they have access to.", + "title": "Members", + "createGroup": "Create group", + "newGroupPrefix": "New group ", + "allMembers": "All members", + "deleteModalTitle": "Delete this group", + "deleteModalContent": "The deleted group cannot be restored. Are you sure to delete the group?", + "addMember": "Add members", + "nameColumn": "User name", + "joinTimeColumn": "Joining time", + "actionColumn": "Operation", + "roleColumn": "Role", + "exitGroup": "Exit Group", + "moveOutGroup": "Remove from group", + "inviteUser": "Invite members", + "exitOrg": "Leave", + "exitOrgDesc": "Are you sure you want to leave this workspace.", + "moveOutOrg": "Remove", + "moveOutOrgDescSaasMode": "Are you sure you want to remove user {name} from this workspace?", + "moveOutOrgDesc": "Are you sure you want to remove user {name}? This action cannot be recovered.", + "devGroupTip": "Members of the developer group have privileges to create apps and data sources.", + "lastAdminQuit": "The last administrator cannot exit.", + "organizationNotExist": "The current workspace does not exist", + "inviteUserHelp": "You can copy the invitation link to send to the user", + "inviteUserLabel": "Invitation link:", + "inviteCopyLink": "Copy Link", + "inviteText": "{userName} invites you to join the workspace \"{organization}\", Click on the link to join: {inviteLink}", + "groupName": "Group name", + "createTime": "Create time", + "manageBtn": "Manage", + "userDetail": "Detail", + "syncDeleteTip": "This group has been deleted from the address book source", + "syncGroupTip": "This group is an address book synchronization group and cannot be edited" + }, + "orgSettings": { + "newOrg": "New workspace", + "title": "Workspace", + "createOrg": "Create workspace", + "deleteModalTitle": "Are you sure to delete this workspace?", + "deleteModalContent": "You are about to delete this workspace {permanentlyDelete}. Once deleted, the workspace {notRestored}.", + "permanentlyDelete": "permanently", + "notRestored": "cannot be restored", + "deleteModalLabel": "Please enter workspace name{name}to confirm the operation:", + "deleteModalTip": "Please enter workspace name", + "deleteModalErr": "Workspace name is incorrect", + "deleteModalBtn": "Delete", + "editOrgTitle": "Edit workspace information", + "orgNameLabel": "Workspace name:", + "orgNameCheckMsg": "Workspace name cannot be empty", + "orgLogo": "Workspace logo:", + "logoModify": "Modify picture", + "inviteSuccessMessage": "Join the workspace successfully", + "inviteFailMessage": "Failed to join workspace", + "uploadErrorMessage": "Upload error", + "orgName": "Workspace name" + }, + "freeLimit": "Free trial", + "tabbedContainer": { + "switchTab": "Switch tab", + "switchTabDesc": "Triggered when switching tabs", + "tab": "Tabs", + "atLeastOneTabError": "The Tab container keeps at least one Tab", + "selectedTabKeyDesc": "Currently selected TAB", + "iconPosition": "Icon position" + }, + "formComp": { + "containerPlaceholder": "Drag components from the right pane or", + "openDialogButton": "Generate a Form from your data source", + "resetAfterSubmit": "Reset after successful submit", + "initialData": "Initial data", + "disableSubmit": "Disable submit", + "success": "Form generated successfully", + "selectCompType": "Select component type", + "dataSource": "Data source: ", + "selectSource": "Select source", + "table": "Table: ", + "selectTable": "Select table", + "columnName": "Column name", + "dataType": "Data type", + "compType": "Component type", + "required": "Required", + "generateForm": "Generate form", + "compSelectionError": "Unconfigured column type", + "compTypeNameError": "Could not get the component type name", + "noDataSourceSelected": "No data source selected", + "noTableSelected": "No table selected", + "noColumn": "No column", + "noColumnSelected": "No column selected", + "noDataSourceFound": "No supported data source found. Create a new data source", + "noTableFound": "No tables were found in this data source, please select another data source", + "noColumnFound": "No supported column was found in this table. Please select another table", + "formTitle": "Form title", + "name": "Name", + "nameTooltip": "The attribute name in the data of the form, when left blank, defaults to the component name", + "notSupportMethod": " Not supported methods: ", + "notValidForm": "The form is not valid", + "resetDesc": "Reset form data to default value", + "clearDesc": "Clear form data", + "setDataDesc": "Set form data", + "valuesLengthError": "Parameter number error", + "valueTypeError": "Parameter type error", + "dataDesc": "Current form data", + "loadingDesc": "Whether the form is loading?" + }, + "modalComp": { + "close": "Close", + "closeDesc": "Triggered when the dialog box is closed", + "openModalDesc": "Open the dialog box", + "closeModalDesc": "Close the dialog box", + "visibleDesc": "Is it visible? If true, the current dialog box will pop up", + "modalHeight": "Modal height", + "modalHeightTooltip": "Number, example: 222", + "modalWidth": "Modal width", + "modalWidthTooltip": "Number or percentage, example: 520, 60%" + }, + "listView": { + "noOfRows": "Row count", + "noOfRowsTooltip": "Number of rows in the list - This is usually set to a variable (for example, '{{query1.data.length}}') if you need to present the results of a query.", + "noOfColumns": "Column count", + "itemIndexName": "Item index name", + "itemIndexNameDesc": "the variable name refer to the item's index, default as {default}", + "itemDataName": "Item data name", + "itemDataNameDesc": "the variable name refer to the item's data object, default as {default}", + "itemsDesc": "Exposing data of Comps in list", + "dataDesc": "The raw data used in the current list", + "dataTooltip": "If evaluated as Number, this field will be regarded as row count, and the data will be regarded as empty." + }, + "navigation": { + "addText": "Add submenu item", + "logoURL": "Logo URL", + "horizontalAlignment": "Horizontal alignment", + "logoURLDesc": "Logo URL value", + "itemsDesc": "Navigation menu items" + }, + "iframe": { + "URLDesc": "The source URL", + "allowDownload": "Downloads", + "allowSubmitForm": "Submit form", + "allowMicrophone": "Microphone", + "allowCamera": "Camera", + "allowPopup": "Popups" + }, + "droppadbleMenuItem": { + "subMenu": "Submenu {number}" + }, + "navItemComp": { + "active": "Active" + }, + "switchComp": { + "open": "Open", + "close": "Close", + "openDesc": "Triggered when the switch is turned on", + "closeDesc": "Triggered when the switch is turned off", + "valueDesc": "Current switch status" + }, + "signature": { + "tips": "Hint Text", + "signHere": "Sign here", + "showUndo": "Show undo", + "showClear": "Show clear" + }, + "localStorageComp": { + "valueDesc": "All data items currently stored", + "setItemDesc": "Add an item", + "removeItemDesc": "Remove an item", + "clearItemDesc": "Clear all items" + }, + "utilsComp": { + "openUrl": "Open URL", + "openApp": "Open App", + "copyToClipboard": "Copy to clipboard", + "downloadFile": "Download file" + }, + "messageComp": { + "info": "Send a notification", + "success": "Send a success notification", + "warn": "Send a warning notification", + "error": "Send a error notification" + }, + "themeComp": { + "switchTo": "Switch theme" + }, + "transformer": { + "preview": "Preview", + "docLink": "About transformer", + "previewSuccess": "Preview success", + "previewFail": "Preview fail", + "deleteMessage": "Delete transformer success. You can use {undoKey} to undo." + }, + "temporaryState": { + "value": "Init value", + "valueTooltip": "The initial Value stored in the temporary state can be any valid JSON Value.", + "docLink": "About temporary state", + "pathTypeError": "Path must be either a string or an array of values", + "unStructuredError": "Unstructured data {prev} can't be updated by {path}", + "valueDesc": "Temporary state value", + "deleteMessage": "The temporary state is deleted successfully. You can use {undoKey} to undo." + }, + "dataResponder": { + "data": "Data", + "dataDesc": "Data of current data responder", + "dataTooltip": "When this data is changed, it will trigger subsequent actions.", + "docLink": "About the Data responder", + "deleteMessage": "The data responder is deleted successfully. You can use {undoKey} to undo." + }, + "theme": { + "title": "Themes", + "createTheme": "Create theme", + "themeName": "Theme name:", + "themeNamePlaceholder": "Please enter a theme name", + "defaultThemeTip": "Default theme:", + "createdThemeTip": "The theme that you have created:", + "option": "Option{index}", + "input": "Input", + "confirm": "Ok", + "emptyTheme": "No themes available", + "click": "", + "toCreate": "", + "nameColumn": "Name", + "defaultTip": "Default", + "updateTimeColumn": "Update time", + "edit": "Edit", + "cancelDefaultTheme": "Unset default theme", + "setDefaultTheme": "Set as default theme", + "copyTheme": "Duplicate theme", + "setSuccessMsg": "Setting succeeded", + "cancelSuccessMsg": "Unsetting succeeded", + "deleteSuccessMsg": "Deletion succeeded", + "checkDuplicateNames": "The theme name already exists, please re-enter it", + "copySuffix": " Copy", + "saveSuccessMsg": "Saved successfully", + "leaveTipTitle": "Tips", + "leaveTipContent": "You haven't saved yet, confirm leaving?", + "leaveTipOkText": "Leave", + "goList": "Back to the list", + "saveBtn": "Save", + "mainColor": "Main colors", + "text": "Text colors", + "defaultTheme": "Default", + "yellow": "Yellow", + "green": "Green", + "previewTitle": "Theme preview\nExample components that use your theme colors", + "dateColumn": "Date", + "emailColumn": "Email", + "phoneColumn": "Phone", + "subTitle": "Title", + "linkLabel": "Link", + "linkUrl": "app.lowcoder.cloud", + "progressLabel": "Progress", + "sliderLabel": "Slider", + "radioLabel": "Radio", + "checkboxLabel": "Checkbox", + "buttonLabel": "Form Button", + "switch": "Switch", + "previewDate": "16/10/2022", + "previewEmail1": "ted.com", + "previewEmail2": "skype.com", + "previewEmail3": "imgur.com", + "previewEmail4": "globo.com", + "previewPhone1": "+63-317-333-0093", + "previewPhone2": "+30-668-580-6521", + "previewPhone3": "+86-369-925-2071", + "previewPhone4": "+7-883-227-8093", + "chartPreviewTitle": "Chart style preview", + "chartSpending": "Spending", + "chartBudget": "Budget", + "chartAdmin": "Administration", + "chartFinance": "Finance", + "chartSales": "Sales", + "chartFunnel": "Funnel Chart", + "chartShow": "Show", + "chartClick": "Click", + "chartVisit": "Visit", + "chartQuery": "Query", + "chartBuy": "Buy" + }, + "pluginSetting": { + "title": "Plugins", + "npmPluginTitle": "npm plugins", + "npmPluginDesc": "Set up npm plugins for all applications in the current workspace.", + "npmPluginEmpty": "No npm plugins were added.", + "npmPluginAddButton": "Add a npm plugin", + "saveSuccess": "Saved successfully" + }, + "advanced": { + "title": "Advanced", + "defaultHomeTitle": "Default homepage", + "defaultHomeHelp": "The homepage is the app all non-developers will see by default when they log in. Note: Make sure the selected app is accessible to non-developers.", + "defaultHomePlaceholder": "Select the default homepage", + "saveBtn": "Save", + "preloadJSTitle": "Preload JavaScript", + "preloadJSHelp": "Set up preloaded JavaScript code for all apps in the current workspace.", + "preloadCSSTitle": "Preload CSS", + "preloadCSSHelp": " Set up preloaded CSS code for all apps in the current workspace.", + "preloadCSSApply": "Apply to the homepage of the workspace", + "preloadLibsTitle": "JavaScript library", + "preloadLibsHelp": "Set up preloaded JavaScript libraries for all applications in the current workspace, and the system has built-in lodash, day.js, uuid, numbro for direct use. JavaScript libraries are loaded before the app is initialized, so there is a certain impact on app performance.", + "preloadLibsEmpty": "No JavaScript libraries were added", + "preloadLibsAddBtn": "Add a library", + "saveSuccess": "Saved successfully", + "AuthOrgTitle": "Workspace welcome Screen", + "AuthOrgDescrition": "The URL for your users to Sign in to the current workspace." + }, + "branding": { + "title": "Branding", + "logoTitle": "Logo", + "logoHelp": ".JPG, .SVG or .PNG only", + "faviconTitle": "Favicon", + "faviconHelp": ".JPG, .SVG or .PNG only", + "brandNameTitle": "Brand Name", + "headColorTitle": "Head Color", + "save": "Save", + "saveSuccessMsg": "Saved successfully", + "upload": "Click to upload" + }, + "networkMessage": { + "0": "Failed to connect to server, please check your network", + "401": "Authentication failed, please log on again", + "403": "No permission, please contact the administrator for authorization", + "500": "Busy service, please try again later", + "timeout": "Request timeout" + }, + "share": { + "title": "Share", + "viewer": "Viewer", + "editor": "Editor", + "owner": "Owner", + "datasourceViewer": "Can use", + "datasourceOwner": "Can manage" + }, + "debug": { + "title": "Title", + "switch": "Switch component: " + }, + "module": { + "emptyText": "No data", + "circularReference": "Circular reference, current module/application cannot be used!", + "emptyTestInput": "The current module has no input to test", + "emptyTestMethod": "The current module has no method to test", + "name": "Name", + "input": "Input", + "params": "Params", + "emptyParams": "No params has been added", + "emptyInput": "No input has been added", + "emptyMethod": "No method has been added", + "emptyOutput": "No output has been added", + "data": "Data", + "string": "String", + "number": "Number", + "array": "Array", + "boolean": "Boolean", + "query": "Query", + "autoScaleCompHeight": "Component height scales with container", + "excuteMethod": "Execute method {name}", + "method": "Method", + "action": "Action", + "output": "Output", + "nameExists": "Name {name} already exist", + "eventTriggered": "Event {name} is triggered", + "globalPromptWhenEventTriggered": "Displays a global prompt when an event is triggered", + "emptyEventTest": "The current module has no events to test", + "emptyEvent": "No event has been added", + "event": "Event" + }, + "resultPanel": { + "returnFunction": "The return value is a function.", + "consume": "{time}", + "JSON": "Show JSON" + }, + "createAppButton": { + "creating": "Creating...", + "created": "Create {name}" + }, + "apiMessage": { + "authenticationFail": "User authentication failed, please sign in again", + "verifyAccount": "Need to verify account", + "functionNotSupported": "The current version does not support this function. Please contact the Lowcoder business team to upgrade your account" + }, + "globalErrorMessage": { + "createCompFail": "Create component {comp} failed", + "notHandledError": "{method} method not executed" + }, + "aggregation": { + "navLayout": " Navigation bar", + "chooseApp": "Choose app", + "iconTooltip": "Support image link or Base64", + "hideWhenNoPermission": "Hidden for unauthorized users", + "queryParam": "URL Query params", + "hashParam": "URL Hash params", + "tabBar": "Tab bar", + "emptyTabTooltip": "Configure this page on the right pane" + }, + "appSetting": { + "450": "450px (Phone)", + "800": "800px (Tablet)", + "1440": "1440px (Laptop)", + "1920": "1920px (Wide screen)", + "3200": "3200px (Super large screen)", + "title": "App settings", + "autofill": "Autofill", + "userDefined": "Custom", + "default": "Default", + "tooltip": "Close the popover after setting", + "canvasMaxWidth": "Maximum canvas width", + "userDefinedMaxWidth": "Custom maximum width", + "inputUserDefinedPxValue": "Please enter a custom pixel value", + "maxWidthTip": "Max width should be greater than or equal to 350", + "themeSetting": "Theme setting", + "themeSettingDefault": "Default", + "themeCreate": "Create theme" + }, + "customShortcut": { + "title": "Custom shortcuts", + "shortcut": "Shortcut", + "action": "Action", + "empty": "No shortcuts", + "placeholder": "Press shortcut", + "otherPlatform": "Other", + "space": "Space" + }, + "profile": { + "orgSettings": "Workspace settings", + "switchOrg": "Switch workspace", + "joinedOrg": "My workspaces", + "createOrg": "Create workspace", + "logout": "Log out", + "personalInfo": "My profile", + "bindingSuccess": "Binding {sourceName} success", + "uploadError": "Upload error", + "editProfilePicture": "Modify", + "nameCheck": "Name cannot be empty", + "name": "Name: ", + "namePlaceholder": "Please enter your name", + "toBind": "To bind", + "binding": "Is binding", + "bindError": "Parameter error, currently not supported binding.", + "bindName": "Bind {name}", + "loginAfterBind": "After binding, you can use {name} to log in", + "bindEmail": "Bind email:", + "email": "email", + "emailCheck": "Please enter a valid email", + "emailPlaceholder": "Please enter your email", + "submit": "Submit", + "bindEmailSuccess": "Email binding success", + "passwordModifiedSuccess": "Password changed successfully", + "passwordSetSuccess": "Password set successfully", + "oldPassword": "Old password:", + "inputCurrentPassword": "Please enter your current password", + "newPassword": "New password:", + "inputNewPassword": "Please enter your new password", + "confirmNewPassword": "Confirm new password:", + "inputNewPasswordAgain": "Please enter your new password again", + "password": "Password:", + "modifyPassword": "Modify password", + "setPassword": "Set password", + "alreadySetPassword": "Password set", + "setPassPlaceholder": "You can login with password", + "setPassAfterBind": "You can set password After Account bind", + "socialConnections": "Social Connections" + }, + "shortcut": { + "shortcutList": "Keyboard shortcuts", + "click": "Click", + "global": "Global", + "toggleShortcutList": "Toggle keyboard shortcuts", + "editor": "Editor", + "toggleLeftPanel": "Toggle left pane", + "toggleBottomPanel": "Toggle bottom pane", + "toggleRightPanel": "Toggle right pane", + "toggleAllPanels": "Toggle all panes", + "preview": "Preview", + "undo": "Undo", + "redo": "Redo", + "showGrid": "Show grid", + "component": "Component", + "multiSelect": "Select multiple", + "selectAll": "Select all", + "copy": "Copy", + "cut": "Cut", + "paste": "Paste", + "move": "Move", + "zoom": "Resize", + "delete": "Delete", + "deSelect": "Deselect", + "queryEditor": "Query editor", + "excuteQuery": "Run current query", + "editBox": "Text editor", + "formatting": "Format", + "openInLeftPanel": "Open in left pane" + }, + "help": { + "videoText": "Overview", + "onBtnText": "OK", + "permissionDenyTitle": "💡 Unable to create a new application or data source?", + "permissionDenyContent": "You don't have permission to create the application and data source. Please contact the administrator to join the developer group.", + "appName": "Tutorial application", + "chat": "Chat with us", + "docs": "View documentation", + "editorTutorial": "Editor tutorial", + "update": "What's new?", + "version": "Version", + "versionWithColon": "Version: ", + "submitIssue": "Submit an issue" + }, + "header": { + "nameCheckMessage": "The name cannot be empty", + "viewOnly": "View only", + "recoverAppSnapshotTitle": "Restore this version?", + "recoverAppSnapshotContent": "Restore current app to the version created at {time}.", + "recoverAppSnapshotMessage": "Restore this version", + "returnEdit": "Return to editor", + "deploy": "Publish", + "export": "Export to JSON", + "editName": "Edit name", + "duplicate": "Duplicate {type}", + "snapshot": "History", + "scriptsAndStyles": "Scripts and style", + "appSettings": "App settings", + "preview": "Preview", + "editError": "History preview mode, no operation is supported.", + "clone": "Clone", + "editorMode_layout": "Layout", + "editorMode_logic": "Logic", + "editorMode_both": "Both" + }, + "userAuth": { + "registerByEmail": "Sign up", + "email": "Email:", + "inputEmail": "Please enter your email", + "inputValidEmail": "Please enter a valid email", + "register": "Sign up", + "userLogin": "Sign in", + "login": "Sign in", + "bind": "Bind", + "passwordCheckLength": "At least {min} characters", + "passwordCheckContainsNumberAndLetter": "Must contain letters and numbers", + "passwordCheckSpace": "Cannot contain whitespace characters", + "welcomeTitle": "🎉 Welcome to {productName} 🎉", + "inviteWelcomeTitle": "{username} invite you to login {productName}", + "terms": "Terms", + "privacy": "Privacy Policy", + "registerHint": "I have read and agree to the", + "chooseAccount": "Choose your Account", + "signInLabel": "Sign in with {name}", + "bindAccount": "Bind Account", + "scanQrCode": "Scan the QR code with {name}", + "invalidThirdPartyParam": "Invalid third-party param", + "account": "Account", + "inputAccount": "Please enter your account", + "ldapLogin": "LDAP Sign in", + "resetPassword": "Reset Password", + "resetPasswordDesc": "Reset user {name}'s password. A new password will be generated after reset.", + "resetSuccess": "Reset succeeded", + "resetSuccessDesc": "Password reset succeeded. The new password is: {password}", + "copyPassword": "Copy password", + "poweredByLowcoder": "Powered by Lowcoder.cloud" + }, + "preLoad": { + "jsLibraryHelpText": "Add JavaScript libraries to your current application via URL addresses. lodash, day.js, uuid, numbro are built into the system for immediate use. JavaScript libraries are loaded before the application is initialized, which can have an impact on application performance.", + "exportedAs": "Exported as", + "urlTooltip": "URL address of the JavaScript library, [unpkg.com](https://unpkg.com/) or [jsdelivr.net](https://www.jsdelivr.com/) is recommended", + "recommended": "Recommended", + "viewJSLibraryDocument": "Document", + "jsLibraryURLError": "Invalid URL", + "jsLibraryExist": "JavaScript library already exists", + "jsLibraryEmptyContent": "No JavaScript libraries added", + "jsLibraryDownloadError": "JavaScript library download error", + "jsLibraryInstallSuccess": "JavaScript library installed successfully", + "jsLibraryInstallFailed": "JavaScript library installation failed", + "jsLibraryInstallFailedCloud": "Perhaps the library is not available in the sandbox, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{message}", + "jsLibraryInstallFailedHost": "{message}", + "add": "Add New", + "jsHelpText": "Add a global method or variable to the current application.", + "cssHelpText": "Add styles to the current application. The DOM structure may change as the system iterates. Try to modify styles through component properties.", + "scriptsAndStyles": "Scripts and styles", + "jsLibrary": "JavaScript library" + }, + "editorTutorials": { + "component": "Component", + "componentContent": "The right component area has tables, buttons, input boxes, selectors, and other components that can be dragged onto the canvas for use.", + "canvas": "Canvas", + "canvasContent": "What you see on the canvas is what you get, and you can adjust component layout and size by dragging and dropping, and delete/copy/paste components with keyboard shortcuts.", + "queryData": "Query data", + "queryDataContent": "Create a new query here and connect to your MySQL, MongoDB, Redis, Airtable, and other data sources. After configuring the query, click \"Run\" to obtain the data.", + "compProperties": "Component properties" + }, + "homeTutorials": { + "createAppContent": "🎉 Welcome to {productName}, click \"App\" and start to create your first application.", + "createAppTitle": "Create app" + }, + "history": { + "layout": "'{0}' layout adjustment", + "upgrade": "Upgrade '{0}'", + "delete": "Delete '{0}'", + "add": "Add '{0}'", + "modify": "Modify '{0}'", + "rename": "Rename '{1}' to '{0}'", + "recover": "Recover '{2}''s version", + "recoverVersion": "Recover version", + "andSoOn": "and so on", + "timeFormat": "MM DD at hh:mm A", + "emptyHistory": "No history", + "currentVersionWithBracket": " (Current)", + "currentVersion": "Current version", + "justNow": "Just now", + "history": "History" + }, + "home": { + "allApplications": "All Apps", + "allModules": "All Modules", + "allFolders": "All Folders", + "modules": "Modules", + "module": "Module", + "trash": "Trash", + "queryLibrary": "Query Library", + "datasource": "Data Sources", + "selectDatasourceType": "Select data source type", + "home": "Home", + "all": "All", + "app": "App", + "navigation": "Navigation", + "navLayout": "PC Navigation", + "navLayoutDesc": "Left-side menu for easy desktop navigation.", + "mobileTabLayout": "Mobile Navigation", + "mobileTabLayoutDesc": "Bottom navigation bar for smooth mobile browsing.", + "folders": "Folders", + "folder": "Folder", + "rootFolder": "Root", + "import": "Import", + "export": "Export to JSON", + "inviteUser": "Invite members", + "createFolder": "Create Folder", + "createFolderSubTitle": "Folder name:", + "moveToFolder": "Move to folder", + "moveToTrash": "Move to trash", + "moveToFolderSubTitle": "Move \"{name}\" to:", + "folderName": "Folder name:", + "resCardSubTitle": "{time} by {creator}", + "trashEmpty": "Trash is empty.", + "projectEmpty": "Nothing here.", + "projectEmptyCanAdd": "You don't have any apps yet. Click New to get started.", + "name": "Name", + "type": "Type", + "creator": "Created by", + "lastModified": "Last modified", + "deleteTime": "Delete time", + "createTime": "Create time", + "datasourceName": "Data source name", + "databaseName": "Database name", + "nameCheckMessage": "The name cannot be empty", + "deleteElementTitle": "Delete permanently", + "moveToTrashSubTitle": "{type} {name} will be moved to trash.", + "deleteElementSubTitle": "Delete {type} {name} permanently, it cannot be recovered.", + "deleteSuccessMsg": "Deleted successfully", + "deleteErrorMsg": "Deleted error", + "recoverSuccessMsg": "Recovered successfully", + "newDatasource": "New data source", + "creating": "Creating...", + "chooseDataSourceType": "Choose data source type", + "folderAlreadyExists": "The folder already exists", + "newNavLayout": "{userName}'s {name} ", + "newApp": "{userName}'s new {name} ", + "importError": "Import error, {message}", + "exportError": "Export error, {message}", + "importSuccess": "Import success", + "fileUploadError": "File upload error", + "fileFormatError": "File format error", + "groupWithSquareBrackets": "[Group] ", + "allPermissions": "Owner", + "shareLink": "Share link: ", + "copyLink": "Copy link", + "appPublicMessage": "Make the app public. Anyone can view.", + "modulePublicMessage": "Make the module public. Anyone can view.", + "memberPermissionList": "Member permissions: ", + "orgName": "{orgName} admins", + "addMember": "Add members", + "addPermissionPlaceholder": "Please enter a name to search members", + "searchMemberOrGroup": "Search for members or groups: ", + "addPermissionErrorMessage": "Failed to add permission, {message}", + "copyModalTitle": "Clone \"{name}\"", + "copyNameLabel": "{type} name", + "copyModalfolderLabel": "Add to folder", + "copyNamePlaceholder": "Please enter a {type} name", + "chooseNavType": "Please choose navigation type", + "createNavigation": "Create Navigation" + }, + "carousel": { + "dotPosition": "Navigation Dots position", + "autoPlay": "AutoPlay", + "showDots": "Show dots" + }, + "npm": { + "invalidNpmPackageName": "Invalid npm package name or url.", + "pluginExisted": "This npm plugin already existed", + "compNotFound": "Component {compName} not found.", + "addPluginModalTitle": "Add npm plugin", + "pluginNameLabel": "npm package's URL or name", + "noCompText": "No components.", + "compsLoading": "Loading...", + "removePluginBtnText": "Remove", + "addPluginBtnText": "Add npm plugin" + }, + "toggleButton": { + "valueDesc": "The default value of the toggle button, for example: false", + "trueDefaultText": "Hide", + "falseDefaultText": "Show", + "trueLabel": "Text for true", + "falseLabel": "Text for false", + "trueIconLabel": "Icon for true", + "falseIconLabel": "Icon for false", + "iconPosition": "Icon position", + "showText": "Show text", + "alignment": "Alignment", + "showBorder": "Show border" + }, + "docUrls": { + "docHome": "https://docs.lowcoder.cloud/", + "components": "https://app.lowcoder.cloud/components/{compType}", + "module": "https://docs.lowcoder.cloud/lowcoder-documentation/build-applications/create-a-new-app/modules", + "optionList": "", + "terms": "https://lowcoder.cloud/terms", + "privacy": "https://lowcoder.cloud/privacy", + "aboutUs": "https://lowcoder.cloud/about", + "changeLog": "https://github.com/lowcoder-org/lowcoder/releases", + "introVideo": "", + "devNpmPlugin": "https://docs.lowcoder.cloud/lowcoder-extension/develop-data-source-plugins", + "devNpmPluginText": "How to develop npm plugin", + "useHost": "https://docs.lowcoder.cloud/setup-and-run/self-hosting/access-local-database-or-api", + "eventHandlerSlowdown": "https://docs.lowcoder.cloud/build-applications/app-interaction/event-handlers", + "thirdLib": "https://docs.lowcoder.cloud/lowcoder-extension/use-third-party-libraries-in-apps", + "thirdLibUrlText": "Use third-party libraries" + }, + "datasourceTutorial": { + "mysql": "", + "mongodb": "", + "postgres": "", + "redis": "", + "es": "", + "smtp": "", + "clickHouse": "" + }, + "queryTutorial": { + "js": "", + "transformer": "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/transformers", + "tempState": "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/temporary-state" + }, + "customComponent": { + "entryUrl": "https://sdk.lowcoder.cloud/custom_component.html" + }, + "template": { + "cloneUrl": "/apps/template-import/" + }, + "lowcoderUrl": { + "createIssue": "https://github.com/lowcoder-org/lowcoder/issues", + "discord": "https://discord.com/invite/qMG9uTmAx2" + }, + "componentDoc": { + "markdownDemoText": "**Lowcoder** | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + "demoText": "Lowcoder | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + "submit": "Submit", + "style": "style", + "danger": "Danger", + "warning": "warning", + "success": "Success", + "menu": "menu", + "link": "Link", + "customAppearance": "Custom Appearance", + "search": "search", + "pleaseInputNumber": "Please enter a number", + "mostValue": "Most Value", + "maxRating": "Maximum Rating", + "notSelect": "Not Selected", + "halfSelect": "Half Selection", + "pleaseSelect": "Please select", + "title": "Title", + "content": "Content", + "componentNotFound": "Component does not exist", + "example": "Examples", + "defaultMethodDesc": "Set the value of property {name}", + "propertyUsage": "You can read component-related information by accessing component properties by component name anywhere you can write JavaScript.", + "property": "Properties", + "propertyName": "Property Name", + "propertyType": "Type", + "propertyDesc": "Description", + "event": "Events", + "eventName": "event name", + "eventDesc": "Description", + "mehtod": "Methods", + "methodUsage": "You can interact with components through their methods, and you can call them by their name anywhere you can write JavaScript. Or you can call them through the 'Control component' action of an event.", + "methodName": "Method Name", + "methodDesc": "Description", + "showBorder": "Show Border", + "haveTry": "Try it yourself", + "settings": "Setting", + "settingValues": "Setting value", + "defaultValue": "Default Value", + "time": "time", + "date": "date", + "noValue": "None", + "xAxisType": "X-axis type", + "hAlignType": "Horizontal Alignment", + "leftLeftAlign": "Left-left alignment", + "leftRightAlign": "Left-right alignment", + "topLeftAlign": "top-left alignment", + "topRightAlign": "top-right alignment", + "validation": "Validation", + "required": "Required", + "defaultStartDateValue": "Default Start Date", + "defaultEndDateValue": "Default End Date", + "basicUsage": "Basic Usage", + "basicDemoDescription": "The following examples show the basic usage of the component.", + "noDefaultValue": "No Default Value", + "forbid": "Forbidden", + "placeholder": "Placeholder", + "pleaseInputPassword": "Please enter a password", + "password": "password", + "textAlign": "Text Alignment", + "length": "Length", + "top": "Top", + "pleaseInputName": "Please enter your name", + "userName": "Name", + "fixed": "Fixed", + "responsive": "Responsive", + "workCount": "word count", + "cascaderOptions": "[\n {\n \"value\": \"zhejiang\",\n \"label\": \"Zhejiang\",\n \"children\": [\n {\n \"value\": \"hangzhou\",\n \" label\": \"Hangzhou\",\n \"children\": [\n {\n \"value\": \"xihu\",\n \"label\": \"West Lake\"\n }\n ]\n }\n ]\n },\n {\n \"value\": \"jiangsu\",\n \"label\": \"Jiangsu\",\n \"children\": [\n {\n \"value\": \"nanjing\",\n \"label\" : \"Nanjing\",\n \"children\": [\n {\n \"value\": \"zhonghuamen\",\n \"label\": \"Zhonghuamen\"\n }\n ]\n }\n ]\n } \n]", + "pleaseSelectCity": "Please select a city", + "advanced": "Advanced", + "showClearIcon": "Show clear icon", + "appleOptionLabel": "🍎 Apple", + "waterMelonOptionLabel": "🍉 Watermelon", + "berryOptionLabel": "🍓 Strawberry", + "lemonOptionLabel": "🍋 Lemon", + "coconutOptionLabel": "🥥 Coconut", + "likedFruits": "Favorites", + "option": "option", + "singleFileUpload": "Single file upload", + "multiFileUpload": "Multiple file upload", + "folderUpload": "Folder Upload", + "multiFile": "multiple files", + "folder": "folder", + "open": "open", + "favoriteFruits": "Favorite Fruits", + "pleaseSelectOneFruit": "Select a fruit", + "notComplete": "not complete", + "complete": "Complete", + "echart": "EChart", + "lineChart": "line chart", + "basicLineChart": "Basic line chart", + "lineChartType": "Line chart type", + "stackLineChart": "Stacked line", + "areaLineChart": "Area line", + "scatterChart": "Scatter chart", + "scatterShape": "Scatter shape", + "scatterShapeCircle": "Circle", + "scatterShapeRect": "Rectangle", + "scatterShapeTri": "Triangle", + "scatterShapeDiamond": "diamond", + "scatterShapePin": "Pushpin", + "scatterShapeArrow": "Arrow", + "pieChart": "Pie Chart", + "basicPieChart": "Basic pie chart", + "pieChatType": "Pie Chart Type", + "pieChartTypeCircle": "Donut chart", + "pieChartTypeRose": "Rose chart", + "titleAlign": "Title position", + "color": "Color", + "dashed": "Dashed", + "imADivider": "I am a dividing line", + "tableSize": "Table size", + "subMenuItem": "SubMenu {num}", + "menuItem": "Menu {num}", + "labelText": "Label", + "labelPosition": "Label - Position", + "labelAlign": "Label - Align", + "optionsOptionType": "Configuration method", + "styleBackgroundColor": "Background color", + "styleBorderColor": "Border color", + "styleColor": "Font color", + "selectionMode": "Row selection mode", + "paginationSetting": "Pagination setting", + "paginationShowSizeChanger": "Support users to modify the number of entries per page", + "paginationShowSizeChangerButton": "Show size changer button", + "paginationShowQuickJumper": "Show quick jumper", + "paginationHideOnSinglePage": "Hide when there is only one page", + "paginationPageSizeOptions": "Page size", + "chartConfigCompType": "Chart type", + "xConfigType": "X axis type", + "loading": "Loading", + "disabled": "Disabled", + "minLength": "Minimum length", + "maxLength": "Maximum length", + "showCount": "Show word count", + "autoHeight": "Height", + "thousandsSeparator": "thousands separator", + "precision": "Decimal places", + "value": "Default value", + "formatter": "Format", + "min": "Minimum value", + "max": "Maximum value", + "step": "Step size", + "start": "Start time", + "end": "End time", + "allowHalf": "Allow half selection", + "filetype": "File type", + "showUploadList": "Show upload list", + "uploadType": "Upload Type", + "allowClear": "Show clear icon", + "minSize": "Minimum file size", + "maxSize": "Maximum file size", + "maxFiles": "Maximum number of uploaded files", + "format": "Format", + "minDate": "Minimum date", + "maxDate": "Maximum date", + "minTime": "Minimum time", + "maxTime": "Maximum time", + "text": "Text", + "type": "Type", + "hideHeader": "Hide header", + "hideBordered": "Hide border", + "src": "Image URL", + "showInfo": "Display value", + "mode": "Mode", + "onlyMenu": "Only menu", + "horizontalAlignment": "Horizontal alignment", + "row": "Left", + "column": "Top", + "leftAlign": "Left alignment", + "rightAlign": "Right alignment", + "percent": "percentage", + "fixedHeight": "Fixed height", + "auto": "Adaptive", + "directory": "Folder", + "multiple": "Multiple files", + "singleFile": "Single File", + "manual": "Manual", + "default": "Default", + "small": "Small", + "middle": "Medium", + "large": "Large", + "single": "Single", + "multi": "Multiple", + "close": "Close", + "ui": "UI mode", + "line": "Line chart", + "scatter": "Scatter plot", + "pie": "Pie chart", + "basicLine": "Basic line chart", + "stackedLine": "Stacked line chart", + "areaLine": "area area map", + "basicPie": "Basic pie chart", + "doughnutPie": "Donut chart", + "rosePie": "Rose chart", + "category": "category axis", + "circle": "Circle", + "rect": "Rectangle", + "triangle": "Triangle", + "diamond": "Diamond", + "pin": "Pushpin", + "arrow": "Arrow", + "left": "Left", + "right": "Right", + "center": "Center", + "bottom": "Bottom", + "justify": "Justify both ends" + }, + "playground": { + "url": "https://app.lowcoder.cloud/playground/{compType}/1", + "data": "Data", + "preview": "Preview", + "property": "Properties", + "console": "Console", + "executeMethods": "Execute methods", + "noMethods": "No methods.", + "methodParams": "Method params", + "methodParamsHelp": "Input method params use JSON, for example, you can set setValue's params with: [1] or 1" + }, + "calendar": { + "headerBtnBackground": "Button background", + "btnText": "Button text", + "title": "Title", + "selectBackground": "Selected background" + }, + "componentDocExtra": { + "table": "/src/i18n/locales/componentDocExtra/table.md" + }, + "idSource": { + "title": "OAuth Providers", + "form": "Email", + "pay": "Premium", + "enable": "Enable", + "unEnable": "Not Enabled", + "loginType": "Login type", + "status": "Status", + "desc": "Description", + "manual": "Address book:", + "syncManual": "Sync Address book", + "syncManualSuccess": "Sync succeeded", + "enableRegister": "Allow registration", + "saveBtn": "Save and enable", + "save": "Save", + "none": "None", + "formPlaceholder": "Please enter {label}", + "formSelectPlaceholder": "Please select the {label}", + "saveSuccess": "Saved successfully", + "dangerLabel": "Danger Zone", + "dangerTip": "Disabling this ID provider may result in some users being unable to log in. Proceed with caution.", + "disable": "Disable", + "disableSuccess": "Disabled successfully", + "encryptedServer": "-------- Encrypted on the server side --------", + "disableTip": "Tips", + "disableContent": "Disabling this ID provider may result in some users being unable to log in. Are you sure to proceed?", + "manualTip": "", + "lockTip": "The content is locked. To make changes, please click the{icon}to unlock.", + "lockModalContent": "Changing the 'ID attribute' field can have significant impacts on user identification. Please confirm that you understand the implications of this change before proceeding.", + "payUserTag": "Premium" + }, + "slotControl": { + "configSlotView": "Configure slot view" + }, + "jsonLottie": { + "lottieJson": "Lottie JSON", + "speed": "Speed", + "width": "Width", + "height": "Height", + "backgroundColor": "Background color", + "animationStart": "Animation Start", + "valueDesc": "Current json Data", + "loop": "Loop", + "auto": "auto", + "onHover": "On hover", + "singlePlay": "Single Play", + "endlessLoop": "Endless Loop", + "keepLastFrame": "Keep Last Frame" + }, + "timeLine": { + "titleColor": "Title color", + "subTitleColor": "Subtitle color", + "lableColor": "Label color", + "value": "Timeline data", + "mode": "Display order", + "left": "Content right", + "right": "Content left", + "alternate": "Alternate content order", + "modeTooltip": "Set the content to appear left/right or alternately on both sides of the timeline", + "reverse": "Newest events first", + "pending": "Pending node text", + "pendingDescription": "When set, then an last node with the text and a waiting indicator will be displayed.", + "defaultPending": "continuous improvement", + "clickTitleEvent": "Click Title Event", + "clickTitleEventDesc": "click Title Event", + "Introduction": "Introduction keys", + "helpTitle": "title of timeline(Required)", + "helpsubTitle": "subtitle of timeline", + "helpLabel": "label of timeline,be used to display dates", + "helpColor": "Indicates timeline node color", + "helpDot": "Rendering Timeline Nodes as Ant Design Icons", + "helpTitleColor": "Individually control the color of node title", + "helpSubTitleColor": "Individually control the color of node subtitle", + "helpLableColor": "Individually control the color of node icon", + "valueDesc": "data of timeline", + "clickedObjectDesc": "clicked item data", + "clickedIndexDesc": "clicked item index" + }, + "comment": { + "value": "comment list data", + "showSendButton": "Allowing Comments", + "title": "title", + "titledDefaultValue": "%d comment in total", + "placeholder": "shift + enter to comment;Enter @ or # for quick input", + "placeholderDec": "placeholder", + "buttonTextDec": "button title", + "buttonText": "comment", + "mentionList": "Mention list data", + "mentionListDec": "key-Mention keywords;value-Mention list data", + "userInfo": "user info", + "dateErr": "date error", + "commentList": "comment list", + "deletedItem": "deleted item", + "submitedItem": "submited item", + "deleteAble": "show delete button", + "Introduction": "Introduction keys", + "helpUser": "user info(Required)", + "helpname": "user name(Required)", + "helpavatar": "avatar url(high priority)", + "helpdisplayName": "display name(low priority)", + "helpvalue": "Comment content", + "helpcreatedAt": "create date" + }, + "mention": { + "mentionList": "Mention list data" + }, + "autoComplete": { + "value": "auto complete value", + "checkedValueFrom": "checked value from", + "ignoreCase": "search ignore case", + "searchLabelOnly": "search label only", + "searchFirstPY": "search first pinying", + "searchCompletePY": "search complete pinying", + "searchText": "search text", + "SectionDataName": "autoComplete Data", + "valueInItems": "value in items", + "type": "type", + "antDesign": "AntDesign", + "normal": "Normal", + "selectKey": "key", + "selectLable": "label", + "ComponentType": "Component Type", + "colorIcon": "blue", + "grewIcon": "grew", + "noneIcon": "none", + "small": "small", + "large": "large", + "componentSize": "component size", + "Introduction": "Introduction keys", + "helpLabel": "label", + "helpValue": "value" + }, + "responsiveLayout": { + "column": "Columns", + "atLeastOneColumnError": "Responsive layout keeps at least one Column", + "columnsPerRow": "Columns per Row", + "columnsSpacing": "Columns Spacing (px)", + "horizontal": "Horizontal", + "vertical": "Vertical", + "mobile": "Mobile", + "tablet": "Tablet", + "desktop": "Desktop", + "rowStyle": "Row Style", + "columnStyle": "Column Style", + "minWidth": "Min. Width", + "rowBreak": "Row Break", + "matchColumnsHeight": "Match Columns Height", + "rowLayout": "Row Layout", + "columnsLayout": "Columns Layout" + }, + "navLayout": { + "mode": "Mode", + "modeInline": "Inline", + "modeVertical": "Vertical", + "width": "Width", + "widthTooltip": "Number or percentage, e.g. 520, 60%", + "navStyle": "Menu Style", + "navItemStyle": "Menu Item Style" + } +} diff --git a/client/packages/lowcoder/src/i18n/locales/translation_files/en_corrected.json b/client/packages/lowcoder/src/i18n/locales/translation_files/en_corrected.json new file mode 100644 index 000000000..cb4a10063 --- /dev/null +++ b/client/packages/lowcoder/src/i18n/locales/translation_files/en_corrected.json @@ -0,0 +1,2568 @@ +{ + "productName": "Lowcoder", + "productDesc": "Create software applications for your company and customers with minimal coding experience. Lowcoder is an excellent alternative to Retool, Appsmith, or Tooljet.", + "notSupportedBrowser": "Your current browser may not be fully compatible. For an optimal user experience, we recommend using the latest version of Chrome.", + "create": "Create", + "move": "Move", + "addItem": "Add", + "newItem": "New", + "copy": "Copy", + "rename": "Rename", + "delete": "Delete", + "deletePermanently": "Delete", + "remove": "Remove", + "recover": "Recover", + "edit": "Edit", + "view": "View", + "value": "Value", + "data": "Data", + "information": "Information", + "success": "Success", + "warning": "Warning", + "error": "Error", + "reference": "Reference", + "text": "Text", + "label": "Label", + "color": "Color", + "form": "Form", + "menu": "Menu", + "menuItem": "Menu item", + "ok": "OK", + "cancel": "Cancel", + "finish": "Finish", + "reset": "Reset", + "icon": "Icon", + "code": "Code", + "title": "Title", + "emptyContent": "Empty content", + "more": "More", + "search": "Search", + "back": "Back", + "accessControl": " Access Control", + "copySuccess": "Copied", + "copyError": "Copy error", + "api": { + "publishSuccess": "Published", + "recoverFailed": "Recovery failed", + "needUpdate": "Your current version is too old, please upgrade to the latest version." + }, + "codeEditor": { + "notSupportAutoFormat": "Current code editor not supports auto formatting", + "fold": "Fold" + }, + "exportMethod": { + "setDesc": "Set Property: {property}", + "clearDesc": "Clear Property: {property}", + "resetDesc": "Reset Property: {property} to default value" + }, + "method": { + "focus": "Set focus", + "focusOptions": "Focus options. See HTMLElement.focus()", + "blur": "Remove focus", + "click": "Click", + "select": "Select all the text", + "setSelectionRange": "Set the start and end positions of the current text selection", + "selectionStart": "The 0-based index of the first selected character.", + "selectionEnd": "The 0-based index of the character after the last selected character.", + "setRangeText": "Replace a range of text", + "replacement": "The string to insert.", + "replaceStart": "The 0-based index of the first character to replace.", + "replaceEnd": "The 0-based index of the character after the last character to replace." + }, + "errorBoundary": { + "encounterError": "Component loading failed. Please check your configuration. ", + "clickToReload": "Click to reload", + "errorMsg": "Error: " + }, + "imgUpload": { + "notSupportError": "Only supports uploading {types} image", + "exceedSizeError": "Image size should not exceed {size}" + }, + "gridCompOperator": { + "notSupport": "Not supported", + "selectAtLeastOneComponent": "Please select at least one component", + "selectCompFirst": "Please select components before copy", + "noContainerSelected": "[bug] No selected container", + "deleteCompsSuccess": "Delete success. You can use {undoKey} to undo.", + "deleteCompsTitle": "Delete components", + "deleteCompsBody": "Are you sure you want to delete {compNum} selected components?", + "cutCompsSuccess": "Cut success. You can use {pasteKey} to paste, or use {undoKey} to undo." + }, + "leftPanel": { + "queries": "Queries", + "globals": "Globals", + "propTipsArr": "{num} items", + "propTips": "{num} keys", + "propTipArr": "{num} item", + "propTip": "{num} key", + "stateTab": "State", + "settingsTab": "Settings", + "toolbarTitle": "Other", + "toolbarPreload": "Scripts and style", + "components": "Components", + "modals": "Modals", + "expandTip": "Click to expand {component}'s data", + "collapseTip": "Click to collapse {component}'s data" + }, + "bottomPanel": { + "title": "Queries", + "run": "Run", + "noSelectedQuery": "No selected query", + "metaData": "Metadata", + "noMetadata": "No metadata", + "metaSearchPlaceholder": "Search metadata", + "allData": "All tables" + }, + "rightPanel": { + "propertyTab": "Properties", + "noSelectedComps": "No components selected. Click to select one.", + "createTab": "Insert", + "searchPlaceHolder": "Search components or modules", + "uiComponentTab": "Components", + "extensionTab": "Extensions", + "modulesTab": "Modules", + "moduleListTitle": "Modules", + "pluginListTitle": "Plugins", + "emptyModules": "Modules are reusable groups of components and queries.", + "searchNotFound": "Can't find a suitable component? Submit an issue", + "emptyPlugins": "No plugins added.", + "contactUs": "Contact us", + "issueHere": " here." + }, + "prop": { + "expand": "Expand", + "columns": "Columns", + "videokey": "video key", + "rowSelection": "Row selection", + "toolbar": "Toolbar", + "pagination": "Pagination", + "logo": "Logo", + "style": "Style", + "inputs": "Inputs", + "meta": "Meta data", + "data": "Data", + "hide": "Hidden", + "loading": "Loading", + "disabled": "Disabled", + "placeholder": "Placeholder", + "showClear": "Show clear button", + "showSearch": "Searchable", + "defaultValue": "Default value", + "required": "Required field", + "readOnly": "Read only", + "readOnlyTooltip": "Read only component looks same as normal component, it is focusable and selectable but cannot be modified", + "minimum": "Minimum", + "maximum": "Maximum", + "regex": "Regex", + "minLength": "Min length", + "maxLength": "Max length", + "height": "Height", + "width": "Width", + "selectApp": "App", + "showCount": "Show count", + "textType": "Text type", + "customRule": "Custom rule", + "customRuleTooltip": "If the result is non-empty string, it is an error message. If empty or null, the validation passes. Example: ", + "manual": "Manual", + "map": "Mapped", + "json": "JSON", + "use12Hours": "Use 12-hours for Time Selector", + "hourStep": "Hour step", + "minuteStep": "Minute step", + "secondStep": "Second step", + "minDate": "Min date", + "maxDate": "Max date", + "minTime": "Min time", + "maxTime": "Max time", + "type": "Type", + "showLabel": "Show label", + "showHeader": "Show header", + "showBody": "Show body", + "showFooter": "Show footer", + "maskClosable": "Click the mask to close", + "showMask": "Show mask" + }, + "autoHeightProp": { + "auto": "Auto", + "fixed": "Fixed" + }, + "labelProp": { + "text": "Label", + "tooltip": "Tooltip", + "position": "Position", + "left": "Left", + "top": "Top", + "align": "Alignment", + "width": "Width", + "widthTooltip": "Width of the label. It supports percentage of the component width (%), pixels (px)" + }, + "eventHandler": { + "eventHandlers": "Event handlers", + "emptyEventHandlers": "No event handlers", + "incomplete": "Incomplete selection", + "inlineEventTitle": "On {eventName}", + "event": "Event", + "action": "Action", + "noSelect": "No select", + "runQuery": "Run query", + "selectQuery": "Select query", + "controlComp": "Control component", + "runScript": "Run JavaScript", + "runScriptPlaceHolder": "Write code here", + "component": "Component", + "method": "Method", + "setTempState": "Set temporary state", + "state": "State", + "triggerModuleEvent": "Trigger module event", + "moduleEvent": "Module event", + "goToApp": "Go to app", + "queryParams": "Query params", + "hashParams": "Hash params", + "showNotification": "Show notification", + "text": "Text", + "level": "Level", + "duration": "Duration", + "notifyDurationTooltip": "Time unit can be s(second, default), ms (millisecond). Max duration is {max} seconds", + "goToURL": "Go to URL", + "openInNewTab": "Open in a new tab", + "copyToClipboard": "Copy to clipboard", + "copyToClipboardValue": "Value", + "export": "Export data", + "exportNoFileType": "No select (optional)", + "fileName": "File name", + "fileNameTooltip": "Support extension to specify the file type, like image.png.", + "fileType": "File type", + "condition": "Only run when", + "conditionTooltip": "Only run the event handler when this condition evaluates to 'true'", + "debounce": "Debounce", + "throttle": "Throttle", + "slowdownTooltip": "Use debounce or throttle to control how often the action is triggered. Time unit can be ms (millisecond, default), s (second).", + "notHandledError": "Not handled", + "currentApp": "Current" + }, + "event": { + "submit": "Submit", + "submitDesc": "Triggers on submit", + "change": "Change", + "changeDesc": "Triggers on value changes", + "focus": "Focus", + "focusDesc": "Triggers on focus", + "blur": "Blur", + "blurDesc": "Triggers on blur", + "click": "Click", + "clickDesc": "Triggers on click", + "close": "Close", + "closeDesc": "Triggers on close", + "parse": "Parse", + "parseDesc": "Triggers on parse", + "success": "Success", + "successDesc": "Triggers on success", + "delete": "Delete", + "deleteDesc": "Triggers on delete", + "mention": "mention", + "mentionDesc": "Triggers on mention" + }, + "themeDetail": { + "primary": "Brand color", + "primaryDesc": "Most components use the default primary color", + "textDark": "Text dark color", + "textDarkDesc": "Apply when the background color is light", + "textLight": "Text light color", + "textLightDesc": "Apply when the background color is dark", + "canvas": "Canvas color", + "canvasDesc": "The default background color of the app", + "primarySurface": "Container color", + "primarySurfaceDesc": "The default background color for components such as tables", + "borderRadius": "Border radius", + "borderRadiusDesc": "Most components use the default border radius", + "chart": "Chart style", + "chartDesc": "Input Echarts", + "echartsJson": "Theme JSON", + "margin": "Margin", + "marginDesc": "The default margin is typically used for most components", + "padding": "Padding", + "paddingDesc": "The default padding is typically used for most components", + "containerheaderpadding": "Header Padding", + "containerheaderpaddingDesc": "The default headerpadding is typically used for most components", + "gridColumns": "Grid Columns", + "gridColumnsDesc": "The default number of columns is typically used for most containers" + }, + "style": { + "resetTooltip": "Reset styles. Delete the input's value to reset an individual field.", + "textColor": "Text color", + "contrastText": "Contrast text color", + "generated": "Generated", + "customize": "Customize", + "staticText": "Static text", + "accent": "Accent", + "validate": "Validation message", + "border": "Border color", + "borderRadius": "Border radius", + "borderWidth": "Border width", + "background": "Background", + "headerBackground": "Header background", + "footerBackground": "Footer background", + "fill": "Fill", + "track": "Track", + "links": "Links", + "thumb": "Thumb", + "thumbBorder": "Thumb border", + "checked": "Checked", + "unchecked": "Unchecked", + "handle": "Handle", + "tags": "Tags", + "tagsText": "Tags text", + "multiIcon": "Multiselect icon", + "tabText": "Tab text", + "tabAccent": "Tab accent", + "checkedBackground": "Checked background", + "uncheckedBackground": "Unchecked background", + "uncheckedBorder": "Unchecked border", + "indicatorBackground": "Indicator background", + "tableCellText": "Cell text", + "selectedRowBackground": "Selected row background", + "hoverRowBackground": "Hover row background", + "alternateRowBackground": "Alternate row background", + "tableHeaderBackground": "Header background", + "tableHeaderText": "Header text", + "toolbarBackground": "Toolbar background", + "toolbarText": "Toolbar text", + "pen": "Pen", + "footerIcon": "Footer icon", + "tips": "Tips", + "margin": "Margin", + "padding": "Padding", + "marginLeft": "Margin Left", + "marginRight": "Margin Right", + "marginTop": "Margin Top", + "marginBottom": "Margin Bottom", + "containerheaderpadding": "Header Padding", + "containerfooterpadding": "Footer Padding", + "containerbodypadding": "Body Padding", + "minWidth": "Minimum Width", + "aspectRatio": "Aspect Ratio", + "textSize": "Text size" + }, + "export": { + "hiddenDesc": "If true, the component is hidden", + "disabledDesc": "If true, the component will be greyed out and non-interactive", + "visibleDesc": "If true, the component is visible", + "inputValueDesc": "Current value of the input", + "invalidDesc": "Whether the value is invalid", + "placeholderDesc": "Text to display when no value is set", + "requiredDesc": "If true, a valid value must be provided", + "submitDesc": "Submit Form", + "richTextEditorValueDesc": "Current value of the Editor", + "richTextEditorReadOnlyDesc": "If true, the Editor is read-only", + "richTextEditorHideToolBarDesc": "If true, thr toolbar is hidden", + "jsonEditorDesc": "Current json data", + "sliderValueDesc": "Currently selected value", + "sliderMaxValueDesc": "The maximum value of the current interval", + "sliderMinValueDesc": "The minimum value of the current interval", + "sliderStartDesc": "The value of the currently selected starting point", + "sliderEndDesc": "The value of the currently selected end point", + "ratingValueDesc": "The currently selected score", + "ratingMaxDesc": "The maximum score currently set", + "datePickerValueDesc": "Currently selected date", + "datePickerFormattedValueDesc": "Formatted selected date according to the specified format", + "datePickerTimestampDesc": "The currently selected timestamp of the date (s)", + "dateRangeStartDesc": "Currently selected start date", + "dateRangeEndDesc": "Currently selected end date", + "dateRangeStartTimestampDesc": "The currently selected timestamp of the start date (s)", + "dateRangeEndTimestampDesc": "The currently selected timestamp of the end date (s)", + "dateRangeFormattedValueDesc": "Formatted selected date according to the specified format", + "dateRangeFormattedStartValueDesc": "Formatted start date according to the specified format", + "dateRangeFormattedEndValueDesc": "Formatted end date according to the specified format", + "timePickerValueDesc": "Currently selected time", + "timePickerFormattedValueDesc": "Formatted selected time according to the specified format", + "timeRangeStartDesc": "Currently selected start time", + "timeRangeEndDesc": "Currently selected end time", + "timeRangeFormattedValueDesc": "Formatted selected time according to the specified format", + "timeRangeFormattedStartValueDesc": "Formatted start time according to the specified format", + "timeRangeFormattedEndValueDesc": "Formatted end time according to the specified format" + }, + "validationDesc": { + "email": "Please enter a valid email address", + "url": "Please enter a valid URL", + "regex": "Please enter the content that matches the regex", + "maxLength": "Excessive number of characters, current length {length}, maximum length {maxLength}", + "minLength": "Insufficient number of characters, current length {length}, minimum length {minLength}", + "maxValue": "Greater than the maximum, current {value}, maximum {max}", + "minValue": "Less than the minimum, current {value}, minimum {min}", + "maxTime": "Greater than the maximum time, current time {time}, the maximum time {maxTime}", + "minTime": "Less than the minimum time, current time {time}, the minimum time {minTime}", + "maxDate": "Greater than maximum date, current time {date}, maximum date {maxDate}", + "minDate": "Less than minimum date, current time {date}, minimum date {minDate}" + }, + "query": { + "noQueries": "No queries available. ", + "queryTutorialButton": "View {value} documents", + "datasource": "Data sources", + "newDatasource": "New data source", + "generalTab": "General", + "notificationTab": "Notification", + "advancedTab": "Advanced", + "showFailNotification": "Show notification on failure", + "failCondition": "Failure conditions", + "failConditionTooltip1": "Customizes failure condition and corresponding notification.", + "failConditionTooltip2": "If any condition returns true, the query will be marked as failure and triggers corresponding notification.", + "showSuccessNotification": "Show notification on success", + "successMessageLabel": "Success message", + "successMessage": "Run success", + "notifyDuration": "Duration", + "notifyDurationTooltip": "Notification duration. Time unit can be s(second, default), ms(millisecond). Default value is {default}s. Maximum is {max}s.", + "successMessageWithName": "{name} run success", + "failMessageWithName": "{name} run failed: {result}", + "showConfirmationModal": "Show a confirmation modal before running", + "confirmationMessageLabel": "Confirmation message", + "confirmationMessage": "Are you sure you want to run this query?", + "newQuery": "New query", + "newFolder": "New Folder", + "recentlyUsed": "Recently used", + "folder": "Folder", + "folderNotEmpty": "Folder is not empty", + "dataResponder": "Data responder", + "tempState": "Temporary state", + "transformer": "Transformer", + "quickRestAPI": "REST Query", + "quickStreamAPI": "Stream Query", + "quickGraphql": "GraphQL Query", + "lowcoderAPI": "Lowcoder API", + "executeJSCode": "Run JavaScript Code", + "importFromQueryLibrary": "Import from Query Library", + "importFromFile": "Import from File", + "triggerType": "Triggered when", + "triggerTypeAuto": "Inputs change or on page load", + "triggerTypePageLoad": "On page load", + "triggerTypeManual": "Manually invoked", + "chooseDataSource": "Data source", + "method": "Method", + "updateExceptionDataSourceTitle": "Update failing data source", + "updateExceptionDataSourceContent": "Update the following query with the same failing data source:", + "update": "Update", + "disablePreparedStatement": "Disable prepared statements", + "disablePreparedStatementTooltip": "Disabling prepared statements can generate SQL dynamically, but risks SQL injection", + "timeout": "Timeout after", + "timeoutTooltip": "Default unit: ms, supported input units: ms, s.\nDefault value: {defaultSeconds} seconds\nMaximum value: {maxSeconds} seconds.\n\nE.g. 300 (i.e. 300ms), 800ms, 5s.", + "periodic": "Run this query periodically", + "periodicTime": "Period", + "periodicTimeTooltip": "Period between successive executions. \nDefault unit: ms, supported input units: ms, s.\nMinimum value: 100ms, periodical execution will be disabled for values below that.\n\nE.g. 300 (i.e. 300ms), 800ms, 5s.", + "cancelPrevious": "Ignore the results of previous uncompleted executions.", + "cancelPreviousTooltip": "", + "dataSourceStatusError": "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if the previous executions did not complete, and the ignored executions will not trigger the event list of the query.", + "success": "Success", + "fail": "Failure", + "successDesc": "Triggered when the execution success", + "failDesc": "Triggered when the execution failed", + "fixedDelayError": "Query not run", + "execSuccess": "run success", + "execFail": "run failed", + "execIgnored": "The results of this query was ignored.", + "deleteSuccessMessage": "Successfully deleted. You can use {undoKey} to undo.", + "dataExportDesc": "Data obtained by the current query", + "codeExportDesc": "Current query status code", + "successExportDesc": "Whether the current query was executed successfully", + "messageExportDesc": "Information returned by the current query", + "extraExportDesc": "Other data in the current query", + "isFetchingExportDesc": "Is the current query in the request", + "runTimeExportDesc": "Current query execution time (ms)", + "latestEndTimeExportDesc": "Last run time", + "triggerTypeExportDesc": "Trigger type", + "chooseResource": "Choose a resource", + "createDataSource": "Create a new data source", + "editDataSource": "Edit", + "datasourceName": "Name", + "datasourceNameRuleMessage": "Please enter a data source name", + "generalSetting": "General settings", + "advancedSetting": "Advanced settings", + "port": "Port", + "portRequiredMessage": "Please enter a port", + "portErrorMessage": "Please enter a correct port", + "connectionType": "Connection Type", + "regular": "Regular", + "host": "Host", + "hostRequiredMessage": "Please enter a host domain name or IP address", + "userName": "User name", + "password": "Password", + "encryptedServer": "-------- Encrypted on the server side --------", + "uriRequiredMessage": "Please enter a URI", + "urlRequiredMessage": "Please enter a URL", + "uriErrorMessage": "Please enter a correct URI", + "urlErrorMessage": "Please enter a correct URL", + "httpRequiredMessage": "Please enter http:// or https://", + "databaseName": "Database name", + "databaseNameRequiredMessage": "Please enter a database name", + "useSSL": "Use SSL", + "userNameRequiredMessage": "Please enter your name", + "passwordRequiredMessage": "Please enter your password", + "authentication": "Authentication", + "authenticationType": "Authentication Type", + "sslCertVerificationType": "SSL Cert Verification", + "sslCertVerificationTypeDefault": "Verify CA Cert", + "sslCertVerificationTypeSelf": "Verify Self Signed Cert", + "sslCertVerificationTypeDisabled": "Disabled", + "selfSignedCert": "Self-signed Cert", + "selfSignedCertRequireMsg": "Please enter your Certificate", + "enableTurnOffPreparedStatement": "Enable toggling prepared statements for queries", + "enableTurnOffPreparedStatementTooltip": "You can enable or disable prepared statements in query Advanced tab", + "serviceName": "Service name", + "serviceNameRequiredMessage": "Please enter your service name", + "useSID": "Use SID", + "connectSuccessfully": "Connection successful", + "saveSuccessfully": "Saved", + "database": "Database", + "cloudHosting": "Cloud-hosted Lowcoder cannot access your local services with 127.0.0.1 or localhost. Try to connect public network data sources or use a reverse proxy fronting your private services.", + "notCloudHosting": "For docker hosted deployment, Lowcoder uses bridge networks, so 127.0.0.1 and localhost are invalid for host addresses. To visit data sources on your local machine, please refer to this", + "howToAccessHostDocLink": "How do I access the host API/DB", + "returnList": "Return", + "chooseDatasourceType": "Choose data source type", + "viewDocuments": "Documents", + "testConnection": "Test connection", + "save": "Save", + "whitelist": "Allowlist", + "whitelistTooltip": "Add the following IP addresses of Lowcoder to your data source allowlist when needed.", + "address": "Address: ", + "nameExists": "Name {name} already exist", + "jsQueryDocLink": "About JavaScript query", + "dynamicDataSourceConfigLoadingText": "Extra datasource config loading...", + "dynamicDataSourceConfigErrText": "Fail to load extra datasource config.", + "retry": "Retry" + }, + "sqlQuery": { + "keyValuePairs": "Key-value pairs", + "object": "Object", + "allowMultiModify": "Allow modify multi-row", + "allowMultiModifyTooltip": "If this parameter is selected, all rows that meet the conditions are operated. Otherwise, only the first row that meets the conditions is operated", + "array": "Array", + "insertList": "Insert list", + "insertListTooltip": "Value inserted when it does not exist", + "filterRule": "Filter rule", + "updateList": "Update list", + "updateListTooltip": "Values updated as they exist can be overridden by the same insertion list values", + "sqlMode": "SQL mode", + "guiMode": "GUI mode", + "operation": "Operation", + "insert": "Insert", + "upsert": "Insert, update if conflict", + "update": "Update", + "delete": "Delete", + "bulkInsert": "Bulk insert", + "bulkUpdate": "Bulk update", + "table": "Table", + "primaryKeyColumn": "Primary key column" + }, + "EsQuery": { + "rawCommand": "Raw command", + "queryTutorialButton": "View Elasticsearch API documents", + "request": "Request" + }, + "googleSheets": { + "rowIndex": "Row Index", + "spreadsheetId": "Spreadsheet", + "sheetName": "Sheet Name", + "readData": "Read Data", + "appendData": "Append Row", + "updateData": "Update Row", + "deleteData": "Delete Row", + "clearData": "Clear Row", + "serviceAccountRequireMessage": "Please enter your Service Account", + "ASC": "ASC", + "DESC": "DESC", + "sort": "Sort", + "sortPlaceholder": "Name" + }, + "queryLibrary": { + "export": "Export to JSON", + "noInput": "The current query has no input", + "inputName": "Name", + "inputDesc": "Description", + "emptyInputs": "No inputs", + "clickToAdd": "Add", + "chooseQuery": "Choose query", + "viewQuery": "View query", + "chooseVersion": "Choose version", + "latest": "Latest", + "publish": "Publish", + "historyVersion": "History version", + "deleteQueryLabel": "Delete query", + "deleteQueryContent": "The query can't be recovered after being deleted. Delete the query?", + "run": "Run", + "readOnly": "Read only", + "exit": "Exit", + "recoverAppSnapshotContent": "Restore the current query to the version {version}", + "searchPlaceholder": "Search query", + "allQuery": "All queries", + "deleteQueryTitle": "Delete query", + "unnamed": "Unnamed", + "publishNewVersion": "Publish new version", + "publishSuccess": "Published", + "version": "Version", + "desc": "Description" + }, + "snowflake": { + "accountIdentifierTooltip": "See ", + "extParamsTooltip": "Configure more connection parameters" + }, + "lowcoderQuery": { + "queryOrgUsers": "Query workspace users" + }, + "redisQuery": { + "rawCommand": "Raw command", + "command": "Command", + "queryTutorial": "View Redis Commands documents" + }, + "httpQuery": { + "bodyFormDataTooltip": "If you select {type}, the format of value should be {object}. Example: {example}", + "text": "Text", + "file": "File", + "extraBodyTooltip": "Key values in Extra body will be appended in body with JSON or Form Data types", + "forwardCookies": "Forward cookies", + "forwardAllCookies": "Forward all cookies" + }, + "smtpQuery": { + "attachment": "Attachment", + "attachmentTooltip": "Can use with file upload component, need convert data to: ", + "MIMETypeUrl": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", + "sender": "Sender", + "recipient": "Recipient", + "carbonCopy": "Carbon copy", + "blindCarbonCopy": "Blind carbon copy", + "subject": "Subject", + "content": "Content", + "contentTooltip": "Support for input text or HTML" + }, + "uiCompCategory": { + "dashboards": "Dashboards & Reporting", + "layout": "Layout & Navigation", + "forms": "Data Collection and Forms", + "collaboration": "Meeting & Collaboration", + "projectmanagement": "Project Management", + "scheduling": "Calendar and Scheduling", + "documents": "Document and File Management", + "itemHandling": "Item & Signature handling", + "multimedia": "Multimedia & Animation", + "integration": "Integration & Extension" + }, + "uiComp": { + "autoCompleteCompName": "Auto Complete", + "autoCompleteCompDesc": "Auto Complete input field", + "inputCompName": "Input", + "inputCompDesc": "Text Input field", + "inputCompKeywords": "text, textinput, input", + "textAreaCompName": "Text Area", + "textAreaCompDesc": "Text Area", + "textAreaCompKeywords": "", + "passwordCompName": "Password", + "passwordCompDesc": "Password field", + "passwordCompKeywords": "", + "richTextEditorCompName": "Rich Text Editor", + "richTextEditorCompDesc": "Embeded Rich Text Editor", + "richTextEditorCompKeywords": "Text editing, rich text, editor", + "numberInputCompName": "Number Input", + "numberInputCompDesc": "Number Input field", + "numberInputCompKeywords": "", + "sliderCompName": "Slider", + "sliderCompDesc": "Slider component", + "sliderCompKeywords": "", + "rangeSliderCompName": "Range Slider", + "rangeSliderCompDesc": "Range Slider input", + "rangeSliderCompKeywords": "", + "ratingCompName": "Rating", + "ratingCompDesc": "Rating display and input", + "ratingCompKeywords": "", + "switchCompName": "Switch", + "switchCompDesc": "Switch display and input", + "switchCompKeywords": "", + "selectCompName": "Select", + "selectCompDesc": "Select component", + "selectCompKeywords": "", + "multiSelectCompName": "Multiselect", + "multiSelectCompDesc": "Multiselect component", + "multiSelectCompKeywords": "", + "cascaderCompName": "Cascader", + "cascaderCompDesc": "Cascader component", + "cascaderCompKeywords": "", + "checkboxCompName": "Checkbox", + "checkboxCompDesc": "Checkbox component", + "checkboxCompKeywords": "", + "radioCompName": "Radio", + "radioCompDesc": "Radio component", + "radioCompKeywords": "", + "segmentedControlCompName": "Segmented Control", + "segmentedControlCompDesc": "Segmented Control component", + "segmentedControlCompKeywords": "", + "fileUploadCompName": "File Upload", + "fileUploadCompDesc": "File Upload component", + "fileUploadCompKeywords": "", + "dateCompName": "Date", + "dateCompDesc": "Date component", + "dateCompKeywords": "", + "dateRangeCompName": "Date Range", + "dateRangeCompDesc": "Date Range component", + "dateRangeCompKeywords": "", + "timeCompName": "Time", + "timeCompDesc": "Time component", + "timeCompKeywords": "", + "timeRangeCompName": "Time Range", + "timeRangeCompDesc": "Time Range component", + "timeRangeCompKeywords": "", + "buttonCompName": "Form Button", + "buttonCompDesc": "Button component", + "buttonCompKeywords": "", + "linkCompName": "Link", + "linkCompDesc": "Link component", + "linkCompKeywords": "", + "scannerCompName": "Scanner", + "scannerCompDesc": "Scanner component", + "scannerCompKeywords": "", + "dropdownCompName": "Dropdown", + "dropdownCompDesc": "Dropdown component", + "dropdownCompKeywords": "", + "toggleButtonCompName": "Toggle Button", + "toggleButtonCompDesc": "Toggle Button component", + "toggleButtonCompKeywords": "", + "textCompName": "Text Display", + "textCompDesc": "Text component", + "textCompKeywords": "", + "tableCompName": "Table", + "tableCompDesc": "Table component", + "tableCompKeywords": "", + "imageCompName": "Image", + "imageCompDesc": "Image component", + "imageCompKeywords": "", + "progressCompName": "Progress", + "progressCompDesc": "Progress component", + "progressCompKeywords": "", + "progressCircleCompName": "Process Circle", + "progressCircleCompDesc": "Process Circle component", + "progressCircleCompKeywords": "", + "fileViewerCompName": "File Viewer", + "fileViewerCompDesc": "File Viewer component", + "fileViewerCompKeywords": "", + "dividerCompName": "Divider", + "dividerCompDesc": "Divider component", + "dividerCompKeywords": "", + "qrCodeCompName": "QR Code", + "qrCodeCompDesc": "QR Code component", + "qrCodeCompKeywords": "", + "formCompName": "Form", + "formCompDesc": "Form component", + "formCompKeywords": "", + "jsonSchemaFormCompName": "JSON Schema Form", + "jsonSchemaFormCompDesc": "JSON Schema Form component", + "jsonSchemaFormCompKeywords": "", + "containerCompName": "Container", + "containerCompDesc": "Container component", + "containerCompKeywords": "", + "collapsibleContainerCompName": "Collapsible Container", + "collapsibleContainerCompDesc": "Collapsible Container component", + "collapsibleContainerCompKeywords": "", + "tabbedContainerCompName": "Tabbed Container", + "tabbedContainerCompDesc": "Tabbed Container component", + "tabbedContainerCompKeywords": "", + "modalCompName": "Modal", + "modalCompDesc": "Modal component", + "modalCompKeywords": "", + "listViewCompName": "List View", + "listViewCompDesc": "List View component", + "listViewCompKeywords": "", + "gridCompName": "Grid", + "gridCompDesc": "Grid component", + "gridCompKeywords": "", + "navigationCompName": "Navigation", + "navigationCompDesc": "Navigation component", + "navigationCompKeywords": "", + "iframeCompName": "IFrame", + "iframeCompDesc": "IFrame component", + "iframeCompKeywords": "", + "customCompName": "Custom Component", + "customCompDesc": "Custom Component", + "customCompKeywords": "", + "moduleCompName": "Module", + "moduleCompDesc": "Module component", + "moduleCompKeywords": "", + "jsonExplorerCompName": "JSON Explorer", + "jsonExplorerCompDesc": "JSON Explorer component", + "jsonExplorerCompKeywords": "", + "jsonEditorCompName": "JSON Editor", + "jsonEditorCompDesc": "JSON Editor component", + "jsonEditorCompKeywords": "", + "treeCompName": "Tree", + "treeCompDesc": "Tree component", + "treeCompKeywords": "", + "treeSelectCompName": "Tree Select", + "treeSelectCompDesc": "Tree Select component", + "treeSelectCompKeywords": "", + "audioCompName": "Audio", + "audioCompDesc": "Audio component", + "audioCompKeywords": "", + "videoCompName": "Video", + "sharingCompName": "Sharing", + "videoCompDesc": "Video component", + "videoCompKeywords": "", + "drawerCompName": "Drawer", + "drawerCompDesc": "Drawer component", + "drawerCompKeywords": "", + "chartCompName": "Chart", + "chartCompDesc": "Chart component", + "chartCompKeywords": "", + "carouselCompName": "Image Carousel", + "carouselCompDesc": "Image Carousel component", + "carouselCompKeywords": "", + "imageEditorCompName": "Image Editor", + "imageEditorCompDesc": "Image Editor component", + "imageEditorCompKeywords": "", + "mermaidCompName": "Mermaid Charts", + "mermaidCompDesc": "Render Mermaid Charts based on text", + "mermaidCompKeywords": "", + "calendarCompName": "Calendar", + "calendarCompDesc": "Calendar component", + "calendarCompKeywords": "", + "signatureCompName": "Signature", + "signatureCompDesc": "Signature component", + "signatureCompKeywords": "", + "jsonLottieCompName": "Lottie Animation", + "jsonLottieCompDesc": "Lottie Animation", + "jsonLottieCompKeywords": "", + "timelineCompName": "Time Line", + "timelineCompDesc": "Time Line", + "timelineCompKeywords": "", + "commentCompName": "Comment", + "commentCompDesc": "Comment", + "commentCompKeywords": "", + "mentionCompName": "mention", + "mentionCompDesc": "mention", + "mentionCompKeywords": "", + "autoCompleteCompKeywords": "", + "responsiveLayoutCompName": "Responsive Layout", + "responsiveLayoutCompDesc": "Responsive Layout", + "responsiveLayoutCompKeywords": "" + }, + "comp": { + "menuViewDocs": "View documentation", + "menuViewPlayground": "View playground", + "menuUpgradeToLatest": "Upgrade to latest version", + "nameNotEmpty": "Can not be empty", + "nameRegex": "Must start with a letter and contain only letters, digits, and underscores (_)", + "nameJSKeyword": "Can not be a Javascript keyword", + "nameGlobalVariable": "Can not be global variable name", + "nameExists": "Name {name} already exist", + "getLatestVersionMetaError": "Failed to fetch latest version, please try later.", + "needNotUpgrade": "Current version is already latest.", + "compNotFoundInLatestVersion": "Current component not found in the latest version.", + "upgradeSuccess": "Successfully upgraded to latest version.", + "searchProp": "Search" + }, + "jsonSchemaForm": { + "retry": "Retry", + "resetAfterSubmit": "Reset after successful submit", + "jsonSchema": "JSON schema", + "uiSchema": "UI schema", + "schemaTooltip": "See", + "defaultData": "Default data", + "dataDesc": "Current form data", + "required": "Required", + "maximum": "The maximum value is {value}", + "minimum": "The minimum value is {value}", + "exclusiveMaximum": "Should be less than {value}", + "exclusiveMinimum": "Should be greater than {value}", + "multipleOf": "Should be a multiple of {value}", + "minLength": "At least {value} characters", + "maxLength": "At most {value} characters", + "pattern": "Should match the pattern {value}", + "format": "Should match the format {value}" + }, + "select": { + "inputValueDesc": "Input search value" + }, + "customComp": { + "text": "It's a good day.", + "triggerQuery": "Trigger query", + "updateData": "Update data", + "updateText": "I'm also in a good mood!", + "sdkGlobalVarName": "Lowcoder" + }, + "tree": { + "selectType": "Select type", + "noSelect": "No select", + "singleSelect": "Single select", + "multiSelect": "Multi select", + "checkbox": "Checkbox", + "checkedStrategy": "Checked strategy", + "showAll": "All nodes", + "showParent": "Only parent nodes", + "showChild": "Only child nodes", + "autoExpandParent": "Auto expand parent", + "checkStrictly": "Check strictly", + "checkStrictlyTooltip": "Check treeNode precisely; parent treeNode and children treeNodes are not associated", + "treeData": "Tree data", + "treeDataDesc": "Current tree data", + "value": "Default values", + "valueDesc": "Current values", + "expanded": "Expanded values", + "expandedDesc": "Current expanded values", + "defaultExpandAll": "Default expand all nodes", + "showLine": "Show line", + "showLeafIcon": "Show leaf icon", + "treeDataAsia": "Asia", + "treeDataChina": "China", + "treeDataBeijing": "Beijing", + "treeDataShanghai": "Shanghai", + "treeDataJapan": "Japan", + "treeDataEurope": "Europe", + "treeDataEngland": "England", + "treeDataFrance": "France", + "treeDataGermany": "Germany", + "treeDataNorthAmerica": "North America", + "helpLabel": "Node label", + "helpValue": "Unique node value in tree", + "helpChildren": "Children nodes", + "helpDisabled": "Disables the node", + "helpSelectable": "Whether node is selectable (single/multi select type)", + "helpCheckable": "Whether display Checkbox (Checkbox type)", + "helpDisableCheckbox": "Disables the Checkbox (Checkbox type)" + }, + "moduleContainer": { + "eventTest": "Event Test", + "methodTest": "Method Test", + "inputTest": "Input Test" + }, + "password": { + "label": "Password", + "visibilityToggle": "Show visibility toggle" + }, + "richTextEditor": { + "toolbar": "Customine Toolbar", + "toolbarDescription": "you can customize the toolbar. Plase refer to: https://quilljs.com/docs/modules/toolbar/ for more details.", + "placeholder": "Please input...", + "hideToolbar": "Hide toolbar", + "content": "Content", + "title": "Title", + "save": "Save", + "link": "Link: ", + "edit": "Edit", + "remove": "Remove" + }, + "numberInput": { + "formatter": "Format", + "precision": "Precision", + "allowNull": "Allow null value", + "thousandsSeparator": "Show thousands separator", + "controls": "Show increment/decrement buttons", + "step": "Step", + "standard": "Standard", + "percent": "Percent" + }, + "slider": { + "step": "Step", + "stepTooltip": "The value must be greater than 0 and divisible by (max-min)" + }, + "rating": { + "max": "Max rating", + "allowHalf": "Allow half rating points" + }, + "optionsControl": { + "optionList": "Options", + "option": "Option", + "optionI": "Option {i}", + "viewDocs": "View docs", + "tip": "The \"item\" and \"i\" variables represent the value and index of each item in the data array" + }, + "radio": { + "options": "Options", + "horizontal": "Horizontal", + "horizontalTooltip": "The horizontal layout wraps itself when it runs out of space", + "vertical": "Vertical", + "verticalTooltip": "The vertical layout will always be displayed in a single column", + "autoColumns": "Auto column", + "autoColumnsTooltip": "The auto column layout automatically rearranges the order as space permits and displays as multiple columns" + }, + "cascader": { + "options": "Data" + }, + "selectInput": { + "valueDesc": "Currently selected value", + "selectedIndexDesc": "The index of the currently selected value, or -1 if no value is selected", + "selectedLabelDesc": "The label of the currently selected value" + }, + "file": { + "typeErrorMsg": "Must be a number with a valid file size unit, or a unitless number of bytes.", + "fileEmptyErrorMsg": "upload failed. The file size is empty.", + "fileSizeExceedErrorMsg": "upload failed. The file size exceeds the limit.", + "minSize": "Min size", + "minSizeTooltip": "The minimum size of uploaded files with optional file size units (e.g., \"5kb\", \"10 MB\"). If no unit is provided, the value will be considered a number of bytes.", + "maxSize": "Max size", + "maxSizeTooltip": "The maximum size of uploaded files with optional file size units (e.g., \"5kb\", \"10 MB\"). If no unit is provided, the value will be considered a number of bytes.", + "single": "Single", + "multiple": "Multiple", + "directory": "Directory", + "upload": "Browse", + "fileType": "File types", + "reference": "Please refer to", + "fileTypeTooltipUrl": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", + "fileTypeTooltip": "unique file type specifiers", + "uploadType": "Upload type", + "showUploadList": "Show upload list", + "maxFiles": "Max files", + "filesValueDesc": "The contents of the currently uploaded file are Base64 encoded", + "filesDesc": "List of the current uploaded files. For details, refer to", + "clearValueDesc": "Clear all files", + "parseFiles": "Parse files", + "parsedValueTooltip1": "If parseFiles is true, upload files will parse to object, array, or string. Parsed data can be accessed via the parsedValue array.", + "parsedValueTooltip2": "Supports Excel, JSON, CSV, and text files. Other formats will return null." + }, + "date": { + "format": "Format", + "formatTip": "Support:\nYYYY-MM-DD HH:mm:ss\nYYYY-MM-DD\nTimestamp", + "reference": "Please refer to", + "showTime": "Show time", + "start": "Start date", + "end": "End date", + "year": "Year", + "quarter": "Quarter", + "month": "Month", + "week": "Week", + "date": "Date", + "clearAllDesc": "Clear all", + "resetAllDesc": "Reset all", + "placeholder": "Select date", + "placeholderText": "Placeholder", + "startDate": "Start date", + "endDate": "End date" + }, + "time": { + "start": "Start time", + "end": "End time", + "formatTip": "Support:\nHH:mm:ss\nTimestamp", + "format": "Format", + "placeholder": "Select Time", + "placeholderText": "Placeholder", + "startTime": "Start time", + "endTime": "End time" + }, + "button": { + "prefixIcon": "Prefix icon", + "suffixIcon": "Suffix icon", + "icon": "Icon", + "iconSize": "Icon size", + "button": "Form Button", + "formToSubmit": "Form to submit", + "default": "Default", + "submit": "Submit", + "textDesc": "Text currently displayed on button", + "loadingDesc": "Is the button in loading state? If true the current button is loading", + "formButtonEvent": "event" + }, + "link": { + "link": "Link", + "textDesc": "Text currently displayed on link", + "loadingDesc": "Is the link in loading state? If true the current link is loading" + }, + "scanner": { + "text": "Click scan", + "camera": "Camera {index}", + "changeCamera": "Switch camera", + "continuous": "Continuous scanning", + "uniqueData": "Ignore duplicate data", + "maskClosable": "Click the mask to close", + "errTip": "Please use this component under https or localhost" + }, + "dropdown": { + "onlyMenu": "Display with Label only", + "textDesc": "Text currently displayed on button" + }, + "textShow": { + "text": "### \ud83d\udc4b hello, {name}", + "valueTooltip": "Markdown supports most HTML tags and attributes. iframe, script, and other tags are disabled for security reasons.", + "verticalAlignment": "Vertical alignment", + "horizontalAlignment": "Horizontal alignment", + "textDesc": "Text displayed in the current text box" + }, + "table": { + "editable": "Editable", + "columnNum": "Columns", + "viewModeResizable": "Column width adjusted by user", + "viewModeResizableTooltip": "Whether can adjust column width.", + "showFilter": "Show filter button", + "showRefresh": "Show refresh button", + "showDownload": "Show download button", + "columnSetting": "Show column setting button", + "searchText": "Search text", + "searchTextTooltip": "Search and filter the data presented in the table", + "showQuickJumper": "Show quick jumper", + "hideOnSinglePage": "Hide on single page", + "showSizeChanger": "Show size changer button", + "pageSizeOptions": "Page size options", + "pageSize": "Page size", + "total": "Total row count", + "totalTooltip": "The default value is the number of current data items, which can be obtained from the query, for example: '{{query1.data[0].count}}'", + "filter": "Filter", + "filterRule": "Filter rule", + "chooseColumnName": "Choose column", + "chooseCondition": "Choose condition", + "clear": "Clear", + "columnShows": "Column shows", + "selectAll": "Select all", + "and": "And", + "or": "Or", + "contains": "contains", + "notContain": "does not contain", + "equals": "equals", + "isNotEqual": "is not equal", + "isEmpty": "is empty", + "isNotEmpty": "is not empty", + "greater": "greater than", + "greaterThanOrEquals": "greater than or equals", + "lessThan": "less than", + "lessThanOrEquals": "less than or equals", + "action": "Action", + "columnValue": "Column value", + "columnValueTooltip": "'{{currentCell}}': current cell data\n'{{currentRow}}': current row data\n'{{currentIndex}}': current data index(starting from 0)\nExample: '{{currentCell * 5}}' show 5 times the original value data.", + "imageSrc": "Image source", + "imageSize": "Image size", + "columnTitle": "Title", + "sortable": "Sortable", + "align": "Alignment", + "fixedColumn": "Fixed column", + "autoWidth": "Auto width", + "customColumn": "Custom column", + "auto": "Auto", + "fixed": "Fixed", + "columnType": "Column type", + "float": "Float", + "prefix": "Prefix", + "suffix": "Suffix", + "text": "Text", + "number": "Number", + "link": "Link", + "links": "Links", + "tag": "Tag", + "date": "Date", + "dateTime": "Date Time", + "badgeStatus": "Status", + "button": "Button", + "image": "Image", + "boolean": "Boolean", + "rating": "Rating", + "progress": "Progress", + "option": "Operation ", + "optionList": "Operation list", + "option1": "Operation 1", + "status": "Status", + "statusTooltip": "Optional values: success, error, default, warning, processing", + "primaryButton": "Primary", + "defaultButton": "Default", + "type": "Type", + "tableSize": "Table size", + "hideHeader": "Hide table header", + "fixedHeader": "Fixed table header", + "fixedHeaderTooltip": "Header will be fixed for vertically scrollable table", + "fixedToolbar": "Fixed toolbar", + "fixedToolbarTooltip": "Toolbaar will be fixed for vertically scrollable table based on position", + "hideBordered": "Hide column border", + "deleteColumn": "Delete column", + "confirmDeleteColumn": "Confirm delete column: ", + "small": "S", + "middle": "M", + "large": "L", + "refreshButtonTooltip": "The current data changes, click to regenerate the column.", + "changeSetDesc": "An object representing changes to an editable table, only contains the changed cell. Rows go first and columns go second.", + "selectedRowDesc": "Provides data for the currently selected row, indicating the row that triggers a click event if the user clicks a button/link on the row", + "selectedRowsDesc": "Useful in multiple selection mode, same as selectedRow", + "pageNoDesc": "Current display page, starting from 1", + "pageSizeDesc": "How many rows per page", + "sortColumnDesc": "The name of the currently selected sorted column", + "sortDesc": "Whether the current row is in descending order", + "pageOffsetDesc": "The current start of paging, used for paging to get data. Example: select * from users limit '{{table1.pageSize}}' offset '{{table1.pageOffset}}'", + "displayDataDesc": "Data displayed in the current table", + "selectedIndexDesc": "Selected index in display data", + "filterDesc": "Table Filtering Parameters", + "dataDesc": "The raw data used in the current table", + "saveChanges": "Save changes", + "cancelChanges": "Cancel changes", + "rowSelectChange": "Row select change", + "rowClick": "Row click", + "rowExpand": "Row expand", + "filterChange": "Filter change", + "sortChange": "Sort change", + "pageChange": "Page change", + "refresh": "Refresh", + "rowColor": "Conditional row color", + "rowColorDesc": "Conditionally set the row color based on the optional variables:\ncurrentRow, currentOriginalIndex, currentIndex, columnTitle. \nFor example:\n'{{ currentRow.id > 3 ? \"green\" : \"red\" }}'", + "cellColor": "Conditional cell color", + "cellColorDesc": "Conditionally set the cell color based on the cell value using currentCell:\nFor example:\n'{{ currentCell == 3 ? \"green\" : \"red\" }}'", + "saveChangesNotBind": "No event handler configured for saving changes. Please bind at least one event handler before click.", + "dynamicColumn": "Use dynamic column setting", + "dynamicColumnConfig": "Column Setting", + "dynamicColumnConfigDesc": "Dynamic column settings. Accepts an array of column names. All columns are visible by default.\nExample: [\"id\", \"name\"]", + "position": "Position", + "showDataLoadSpinner": "Show spinner during data loading", + "showValue": "Show Value", + "expandable": "Expandable", + "configExpandedView": "Configure expanded view", + "toUpdateRowsDesc": "An array of objects for rows to be updated in editable tables.", + "empty": "Empty", + "falseValues": "Text when false", + "allColumn": "All", + "visibleColumn": "Visible", + "emptyColumns": "No columns are currently visible" + }, + "image": { + "src": "Image source", + "srcDesc": "The image source", + "supportPreview": "Support click preview", + "supportPreviewTip": "Effective when the image source is valid" + }, + "progress": { + "value": "Value", + "valueTooltip": "The percentage complete as a value between 0 and 100", + "showInfo": "Show Value", + "valueDesc": "Current progress value, ranging from 0 to 100", + "showInfoDesc": "Whether to display the current progress value" + }, + "fileViewer": { + "invalidURL": "A valid URL was not provided", + "src": "File URI", + "srcTooltip": "Preview provided link content by embedding HTML, base64 encoded data can also be supported, for example: data:application/pdf; base64,AAA... CCC", + "srcDesc": "The file URI" + }, + "divider": { + "title": "Title", + "align": "Alignment", + "dashed": "Dashed", + "dashedDesc": "Whether to use dashed line", + "titleDesc": "Divider title", + "alignDesc": "Divider title alignment" + }, + "QRCode": { + "value": "Value", + "valueTooltip": "The value contains a maximum of 2953 characters", + "level": "Fault tolerance level", + "levelTooltip": "Refers to the QR code is blocked part, can still be scanned out. The higher the level, the more complex the code, and the more blocked it is, the more it can be scanned", + "includeMargin": "Show margin", + "image": "Image", + "valueDesc": "The qrCode value", + "L": "L (Low)", + "M": "M (Medium)", + "Q": "Q (Quartile)", + "H": "H (High)", + "maxLength": "The content is too long. Set the length to less than 2953 characters" + }, + "jsonExplorer": { + "indent": "Indent", + "expandToggle": "Expand JSON Tree", + "theme": "Theme", + "valueDesc": "Current JSON Data", + "default": "Default", + "defaultDark": "Default dark", + "neutralLight": "Neutral light", + "neutralDark": "Neutral dark", + "azure": "Azure", + "darkBlue": "Dark blue" + }, + "audio": { + "src": "Audio URL", + "defaultSrcUrl": "https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3", + "autoPlay": "Autoplay", + "loop": "Loop", + "srcDesc": "Current audio URL", + "play": "Play", + "playDesc": "Triggered when audio is played", + "pause": "Pause", + "pauseDesc": "Triggered when audio is paused", + "ended": "Ended", + "endedDesc": "Triggered when the audio ends playing" + }, + "video": { + "src": "Video URL", + "defaultSrcUrl": "https://www.youtube.com/watch?v=pRpeEdMmmQ0", + "poster": "Poster URL", + "defaultPosterUrl": "", + "autoPlay": "Autoplay", + "loop": "Loop", + "controls": "Hide controls", + "volume": "Volume", + "playbackRate": "Playback rate", + "posterTooltip": "The default value is the first frame of the video", + "autoPlayTooltip": "After the video is loaded, it will play automatically. Changing this value from true to false will pause the video. (If a poster is set, it will be played by the poster button)", + "controlsTooltip": "Hide video playback controls. May not be fully supported by every video source.", + "volumeTooltip": "Set the volume of the player, between 0 and 1", + "playbackRateTooltip": "Set the rate of the player, between 1 and 2", + "srcDesc": "Current video URL", + "play": "Play", + "playDesc": "Triggered when video is played", + "pause": "Pause", + "pauseDesc": "Triggered when video is paused", + "load": "Load", + "loadDesc": "Triggered when the video resource has finished loading", + "ended": "Ended", + "endedDesc": "Triggered when the video ends playing", + "currentTimeStamp": "The current playback position of the video in seconds", + "duration": "The total duration of the video in seconds" + }, + "media": { + "playDesc": "Begins playback of the media.", + "pauseDesc": "Pauses the media playback.", + "loadDesc": "Resets the media to the beginning and restart selecting the media resource.", + "seekTo": "Seek to the given number of seconds, or fraction if amount is between 0 and 1", + "seekToAmount": "Number of seconds, or fraction if it is between 0 and 1", + "showPreview": "Show preview" + }, + "rangeSlider": { + "start": "Start value", + "end": "End value", + "step": "Step size", + "stepTooltip": "The slider's granularity, the value must be greater than 0 and divisible by (max-min)" + }, + "iconControl": { + "selectIcon": "Select an icon", + "insertIcon": "insert an icon", + "insertImage": "Insert an image or " + }, + "millisecondsControl": { + "timeoutTypeError": "Please enter the correct timeout period, the current input is: {value}", + "timeoutLessThanMinError": "Input must greater than {left}, the current input is: {value}" + }, + "selectionControl": { + "single": "Single", + "multiple": "Multiple", + "close": "Close", + "mode": "Select mode" + }, + "container": { + "title": "Container title" + }, + "drawer": { + "placement": "Drawer placement", + "size": "Size", + "top": "Top", + "right": "Right", + "bottom": "Bottom", + "left": "Left", + "widthTooltip": "Number or percentage, e.g. 520, 60%", + "heightTooltip": "Number, e.g. 378", + "openDrawerDesc": "Open Drawer", + "closeDrawerDesc": "Close Drawer", + "width": "Drawer width", + "height": "Drawer height" + }, + "meeting": { + "logLevel": "Agora SDK Log Level", + "placement": "Meeting placement", + "meeting": "Meeting Settings", + "cameraView": "Camera View", + "cameraViewDesc": "Camera View", + "screenShared": "Screen Shared", + "screenSharedDesc": "Screen Shared", + "audioUnmuted": "Audio Unmuted", + "audioMuted": "Audio Muted", + "videoClicked": "Video Clicked", + "videoOff": "Video Off", + "videoOn": "Video On", + "size": "Size", + "top": "Top", + "host": "Host of the Meetingroom", + "participants": "Participants of the Meetingroom", + "shareScreen": "Local Screenshare", + "appid": "Agora Application Id", + "meetingName": "Meeting Name", + "localUserID": "Host User Id", + "userName": "Host User Name", + "rtmToken": "Agora RTM Token", + "rtcToken": "Agora RTC Token", + "noVideo": "No video", + "profileImageUrl": "Profile Image Url", + "right": "Right", + "bottom": "Bottom", + "videoId": "Video Stream Id", + "audioStatus": "Audio status", + "left": "Left", + "widthTooltip": "Number or percentage, e.g. 520, 60%", + "heightTooltip": "Number, e.g. 378", + "openDrawerDesc": "Open Drawer", + "closeDrawerDesc": "Close Drawer", + "width": "Drawer width", + "height": "Drawer height", + "actionBtnDesc": "Action Button", + "broadCast": "BroadCast Messages", + "title": "Meeting Title", + "meetingCompName": "Agora Meeting Controller", + "sharingCompName": "Screen share Stream", + "videoCompName": "Camera Stream", + "videoSharingCompName": "Screen share Stream", + "meetingControlCompName": "Control Button", + "meetingCompDesc": "Meeting Component", + "meetingCompControls": "Meeting Control", + "meetingCompKeywords": "Agora Meeting, Web Meeting, Collaboration", + "iconSize": "Icon Size", + "userId": "userId", + "roomId": "roomId", + "meetingActive": "Ongoing Meeting", + "messages": "Broadcasted Messages" + }, + "settings": { + "title": "Settings", + "userGroups": "User Groups", + "organization": "Workspaces", + "audit": "Audit Logs", + "theme": "Themes", + "plugin": "Plugins", + "advanced": "Advanced", + "lab": "Lab", + "branding": "Branding", + "oauthProviders": "OAuth Providers", + "appUsage": "App Usage Logs", + "environments": "Environments", + "premium": "Premium" + }, + "memberSettings": { + "admin": "Admin", + "adminGroupRoleInfo": "Admin can manage group members and resources", + "adminOrgRoleInfo": "Own all resources and can manage groups.", + "member": "Member", + "memberGroupRoleInfo": "Member can view group members", + "memberOrgRoleInfo": "Can only use or visit resources they have access to.", + "title": "Members", + "createGroup": "Create group", + "newGroupPrefix": "New group ", + "allMembers": "All members", + "deleteModalTitle": "Delete this group", + "deleteModalContent": "The deleted group cannot be restored. Are you sure to delete the group?", + "addMember": "Add members", + "nameColumn": "User name", + "joinTimeColumn": "Joining time", + "actionColumn": "Operation", + "roleColumn": "Role", + "exitGroup": "Exit Group", + "moveOutGroup": "Remove from group", + "inviteUser": "Invite members", + "exitOrg": "Leave", + "exitOrgDesc": "Are you sure you want to leave this workspace.", + "moveOutOrg": "Remove", + "moveOutOrgDescSaasMode": "Are you sure you want to remove user {name} from this workspace?", + "moveOutOrgDesc": "Are you sure you want to remove user {name}? This action cannot be recovered.", + "devGroupTip": "Members of the developer group have privileges to create apps and data sources.", + "lastAdminQuit": "The last administrator cannot exit.", + "organizationNotExist": "The current workspace does not exist", + "inviteUserHelp": "You can copy the invitation link to send to the user", + "inviteUserLabel": "Invitation link:", + "inviteCopyLink": "Copy Link", + "inviteText": "{userName} invites you to join the workspace \"{organization}\", Click on the link to join: {inviteLink}", + "groupName": "Group name", + "createTime": "Create time", + "manageBtn": "Manage", + "userDetail": "Detail", + "syncDeleteTip": "This group has been deleted from the address book source", + "syncGroupTip": "This group is an address book synchronization group and cannot be edited" + }, + "orgSettings": { + "newOrg": "New workspace", + "title": "Workspace", + "createOrg": "Create workspace", + "deleteModalTitle": "Are you sure to delete this workspace?", + "deleteModalContent": "You are about to delete this workspace {permanentlyDelete}. Once deleted, the workspace {notRestored}.", + "permanentlyDelete": "permanently", + "notRestored": "cannot be restored", + "deleteModalLabel": "Please enter workspace name{name}to confirm the operation:", + "deleteModalTip": "Please enter workspace name", + "deleteModalErr": "Workspace name is incorrect", + "deleteModalBtn": "Delete", + "editOrgTitle": "Edit workspace information", + "orgNameLabel": "Workspace name:", + "orgNameCheckMsg": "Workspace name cannot be empty", + "orgLogo": "Workspace logo:", + "logoModify": "Modify picture", + "inviteSuccessMessage": "Join the workspace successfully", + "inviteFailMessage": "Failed to join workspace", + "uploadErrorMessage": "Upload error", + "orgName": "Workspace name" + }, + "freeLimit": "Free trial", + "tabbedContainer": { + "switchTab": "Switch tab", + "switchTabDesc": "Triggered when switching tabs", + "tab": "Tabs", + "atLeastOneTabError": "The Tab container keeps at least one Tab", + "selectedTabKeyDesc": "Currently selected TAB", + "iconPosition": "Icon position" + }, + "formComp": { + "containerPlaceholder": "Drag components from the right pane or", + "openDialogButton": "Generate a Form from your data source", + "resetAfterSubmit": "Reset after successful submit", + "initialData": "Initial data", + "disableSubmit": "Disable submit", + "success": "Form generated successfully", + "selectCompType": "Select component type", + "dataSource": "Data source: ", + "selectSource": "Select source", + "table": "Table: ", + "selectTable": "Select table", + "columnName": "Column name", + "dataType": "Data type", + "compType": "Component type", + "required": "Required", + "generateForm": "Generate form", + "compSelectionError": "Unconfigured column type", + "compTypeNameError": "Could not get the component type name", + "noDataSourceSelected": "No data source selected", + "noTableSelected": "No table selected", + "noColumn": "No column", + "noColumnSelected": "No column selected", + "noDataSourceFound": "No supported data source found. Create a new data source", + "noTableFound": "No tables were found in this data source, please select another data source", + "noColumnFound": "No supported column was found in this table. Please select another table", + "formTitle": "Form title", + "name": "Name", + "nameTooltip": "The attribute name in the data of the form, when left blank, defaults to the component name", + "notSupportMethod": " Not supported methods: ", + "notValidForm": "The form is not valid", + "resetDesc": "Reset form data to default value", + "clearDesc": "Clear form data", + "setDataDesc": "Set form data", + "valuesLengthError": "Parameter number error", + "valueTypeError": "Parameter type error", + "dataDesc": "Current form data", + "loadingDesc": "Whether the form is loading?" + }, + "modalComp": { + "close": "Close", + "closeDesc": "Triggered when the dialog box is closed", + "openModalDesc": "Open the dialog box", + "closeModalDesc": "Close the dialog box", + "visibleDesc": "Is it visible? If true, the current dialog box will pop up", + "modalHeight": "Modal height", + "modalHeightTooltip": "Number, example: 222", + "modalWidth": "Modal width", + "modalWidthTooltip": "Number or percentage, example: 520, 60%" + }, + "listView": { + "noOfRows": "Row count", + "noOfRowsTooltip": "Number of rows in the list - This is usually set to a variable (for example, '{{query1.data.length}}') if you need to present the results of a query.", + "noOfColumns": "Column count", + "itemIndexName": "Item index name", + "itemIndexNameDesc": "the variable name refer to the item's index, default as {default}", + "itemDataName": "Item data name", + "itemDataNameDesc": "the variable name refer to the item's data object, default as {default}", + "itemsDesc": "Exposing data of Comps in list", + "dataDesc": "The raw data used in the current list", + "dataTooltip": "If evaluated as Number, this field will be regarded as row count, and the data will be regarded as empty." + }, + "navigation": { + "addText": "Add submenu item", + "logoURL": "Logo URL", + "horizontalAlignment": "Horizontal alignment", + "logoURLDesc": "Logo URL value", + "itemsDesc": "Navigation menu items" + }, + "iframe": { + "URLDesc": "The source URL", + "allowDownload": "Downloads", + "allowSubmitForm": "Submit form", + "allowMicrophone": "Microphone", + "allowCamera": "Camera", + "allowPopup": "Popups" + }, + "droppadbleMenuItem": { + "subMenu": "Submenu {number}" + }, + "navItemComp": { + "active": "Active" + }, + "switchComp": { + "open": "Open", + "close": "Close", + "openDesc": "Triggered when the switch is turned on", + "closeDesc": "Triggered when the switch is turned off", + "valueDesc": "Current switch status" + }, + "signature": { + "tips": "Hint Text", + "signHere": "Sign here", + "showUndo": "Show undo", + "showClear": "Show clear" + }, + "localStorageComp": { + "valueDesc": "All data items currently stored", + "setItemDesc": "Add an item", + "removeItemDesc": "Remove an item", + "clearItemDesc": "Clear all items" + }, + "utilsComp": { + "openUrl": "Open URL", + "openApp": "Open App", + "copyToClipboard": "Copy to clipboard", + "downloadFile": "Download file" + }, + "messageComp": { + "info": "Send a notification", + "success": "Send a success notification", + "warn": "Send a warning notification", + "error": "Send a error notification" + }, + "themeComp": { + "switchTo": "Switch theme" + }, + "transformer": { + "preview": "Preview", + "docLink": "About transformer", + "previewSuccess": "Preview success", + "previewFail": "Preview fail", + "deleteMessage": "Delete transformer success. You can use {undoKey} to undo." + }, + "temporaryState": { + "value": "Init value", + "valueTooltip": "The initial Value stored in the temporary state can be any valid JSON Value.", + "docLink": "About temporary state", + "pathTypeError": "Path must be either a string or an array of values", + "unStructuredError": "Unstructured data {prev} can't be updated by {path}", + "valueDesc": "Temporary state value", + "deleteMessage": "The temporary state is deleted successfully. You can use {undoKey} to undo." + }, + "dataResponder": { + "data": "Data", + "dataDesc": "Data of current data responder", + "dataTooltip": "When this data is changed, it will trigger subsequent actions.", + "docLink": "About the Data responder", + "deleteMessage": "The data responder is deleted successfully. You can use {undoKey} to undo." + }, + "theme": { + "title": "Themes", + "createTheme": "Create theme", + "themeName": "Theme name:", + "themeNamePlaceholder": "Please enter a theme name", + "defaultThemeTip": "Default theme:", + "createdThemeTip": "The theme that you have created:", + "option": "Option{index}", + "input": "Input", + "confirm": "Ok", + "emptyTheme": "No themes available", + "click": "", + "toCreate": "", + "nameColumn": "Name", + "defaultTip": "Default", + "updateTimeColumn": "Update time", + "edit": "Edit", + "cancelDefaultTheme": "Unset default theme", + "setDefaultTheme": "Set as default theme", + "copyTheme": "Duplicate theme", + "setSuccessMsg": "Setting succeeded", + "cancelSuccessMsg": "Unsetting succeeded", + "deleteSuccessMsg": "Deletion succeeded", + "checkDuplicateNames": "The theme name already exists, please re-enter it", + "copySuffix": " Copy", + "saveSuccessMsg": "Saved successfully", + "leaveTipTitle": "Tips", + "leaveTipContent": "You haven't saved yet, confirm leaving?", + "leaveTipOkText": "Leave", + "goList": "Back to the list", + "saveBtn": "Save", + "mainColor": "Main colors", + "text": "Text colors", + "defaultTheme": "Default", + "yellow": "Yellow", + "green": "Green", + "previewTitle": "Theme preview\nExample components that use your theme colors", + "dateColumn": "Date", + "emailColumn": "Email", + "phoneColumn": "Phone", + "subTitle": "Title", + "linkLabel": "Link", + "linkUrl": "app.lowcoder.cloud", + "progressLabel": "Progress", + "sliderLabel": "Slider", + "radioLabel": "Radio", + "checkboxLabel": "Checkbox", + "buttonLabel": "Form Button", + "switch": "Switch", + "previewDate": "16/10/2022", + "previewEmail1": "ted.com", + "previewEmail2": "skype.com", + "previewEmail3": "imgur.com", + "previewEmail4": "globo.com", + "previewPhone1": "+63-317-333-0093", + "previewPhone2": "+30-668-580-6521", + "previewPhone3": "+86-369-925-2071", + "previewPhone4": "+7-883-227-8093", + "chartPreviewTitle": "Chart style preview", + "chartSpending": "Spending", + "chartBudget": "Budget", + "chartAdmin": "Administration", + "chartFinance": "Finance", + "chartSales": "Sales", + "chartFunnel": "Funnel Chart", + "chartShow": "Show", + "chartClick": "Click", + "chartVisit": "Visit", + "chartQuery": "Query", + "chartBuy": "Buy" + }, + "pluginSetting": { + "title": "Plugins", + "npmPluginTitle": "npm plugins", + "npmPluginDesc": "Set up npm plugins for all applications in the current workspace.", + "npmPluginEmpty": "No npm plugins were added.", + "npmPluginAddButton": "Add a npm plugin", + "saveSuccess": "Saved successfully" + }, + "advanced": { + "title": "Advanced", + "defaultHomeTitle": "Default homepage", + "defaultHomeHelp": "The homepage is the app all non-developers will see by default when they log in. Note: Make sure the selected app is accessible to non-developers.", + "defaultHomePlaceholder": "Select the default homepage", + "saveBtn": "Save", + "preloadJSTitle": "Preload JavaScript", + "preloadJSHelp": "Set up preloaded JavaScript code for all apps in the current workspace.", + "preloadCSSTitle": "Preload CSS", + "preloadCSSHelp": " Set up preloaded CSS code for all apps in the current workspace.", + "preloadCSSApply": "Apply to the homepage of the workspace", + "preloadLibsTitle": "JavaScript library", + "preloadLibsHelp": "Set up preloaded JavaScript libraries for all applications in the current workspace, and the system has built-in lodash, day.js, uuid, numbro for direct use. JavaScript libraries are loaded before the app is initialized, so there is a certain impact on app performance.", + "preloadLibsEmpty": "No JavaScript libraries were added", + "preloadLibsAddBtn": "Add a library", + "saveSuccess": "Saved successfully", + "AuthOrgTitle": "Workspace welcome Screen", + "AuthOrgDescrition": "The URL for your users to Sign in to the current workspace." + }, + "branding": { + "title": "Branding", + "logoTitle": "Logo", + "logoHelp": ".JPG, .SVG or .PNG only", + "faviconTitle": "Favicon", + "faviconHelp": ".JPG, .SVG or .PNG only", + "brandNameTitle": "Brand Name", + "headColorTitle": "Head Color", + "save": "Save", + "saveSuccessMsg": "Saved successfully", + "upload": "Click to upload" + }, + "networkMessage": { + "0": "Failed to connect to server, please check your network", + "401": "Authentication failed, please log on again", + "403": "No permission, please contact the administrator for authorization", + "500": "Busy service, please try again later", + "timeout": "Request timeout" + }, + "share": { + "title": "Share", + "viewer": "Viewer", + "editor": "Editor", + "owner": "Owner", + "datasourceViewer": "Can use", + "datasourceOwner": "Can manage" + }, + "debug": { + "title": "Title", + "switch": "Switch component: " + }, + "module": { + "emptyText": "No data", + "circularReference": "Circular reference, current module/application cannot be used!", + "emptyTestInput": "The current module has no input to test", + "emptyTestMethod": "The current module has no method to test", + "name": "Name", + "input": "Input", + "params": "Params", + "emptyParams": "No params has been added", + "emptyInput": "No input has been added", + "emptyMethod": "No method has been added", + "emptyOutput": "No output has been added", + "data": "Data", + "string": "String", + "number": "Number", + "array": "Array", + "boolean": "Boolean", + "query": "Query", + "autoScaleCompHeight": "Component height scales with container", + "excuteMethod": "Execute method {name}", + "method": "Method", + "action": "Action", + "output": "Output", + "nameExists": "Name {name} already exist", + "eventTriggered": "Event {name} is triggered", + "globalPromptWhenEventTriggered": "Displays a global prompt when an event is triggered", + "emptyEventTest": "The current module has no events to test", + "emptyEvent": "No event has been added", + "event": "Event" + }, + "resultPanel": { + "returnFunction": "The return value is a function.", + "consume": "{time}", + "JSON": "Show JSON" + }, + "createAppButton": { + "creating": "Creating...", + "created": "Create {name}" + }, + "apiMessage": { + "authenticationFail": "User authentication failed, please sign in again", + "verifyAccount": "Need to verify account", + "functionNotSupported": "The current version does not support this function. Please contact the Lowcoder business team to upgrade your account" + }, + "globalErrorMessage": { + "createCompFail": "Create component {comp} failed", + "notHandledError": "{method} method not executed" + }, + "aggregation": { + "navLayout": " Navigation bar", + "chooseApp": "Choose app", + "iconTooltip": "Support image link or Base64", + "hideWhenNoPermission": "Hidden for unauthorized users", + "queryParam": "URL Query params", + "hashParam": "URL Hash params", + "tabBar": "Tab bar", + "emptyTabTooltip": "Configure this page on the right pane" + }, + "appSetting": { + "450": "450px (Phone)", + "800": "800px (Tablet)", + "1440": "1440px (Laptop)", + "1920": "1920px (Wide screen)", + "3200": "3200px (Super large screen)", + "title": "App settings", + "autofill": "Autofill", + "userDefined": "Custom", + "default": "Default", + "tooltip": "Close the popover after setting", + "canvasMaxWidth": "Maximum canvas width", + "userDefinedMaxWidth": "Custom maximum width", + "inputUserDefinedPxValue": "Please enter a custom pixel value", + "maxWidthTip": "Max width should be greater than or equal to 350", + "themeSetting": "Theme setting", + "themeSettingDefault": "Default", + "themeCreate": "Create theme" + }, + "customShortcut": { + "title": "Custom shortcuts", + "shortcut": "Shortcut", + "action": "Action", + "empty": "No shortcuts", + "placeholder": "Press shortcut", + "otherPlatform": "Other", + "space": "Space" + }, + "profile": { + "orgSettings": "Workspace settings", + "switchOrg": "Switch workspace", + "joinedOrg": "My workspaces", + "createOrg": "Create workspace", + "logout": "Log out", + "personalInfo": "My profile", + "bindingSuccess": "Binding {sourceName} success", + "uploadError": "Upload error", + "editProfilePicture": "Modify", + "nameCheck": "Name cannot be empty", + "name": "Name: ", + "namePlaceholder": "Please enter your name", + "toBind": "To bind", + "binding": "Is binding", + "bindError": "Parameter error, currently not supported binding.", + "bindName": "Bind {name}", + "loginAfterBind": "After binding, you can use {name} to log in", + "bindEmail": "Bind email:", + "email": "email", + "emailCheck": "Please enter a valid email", + "emailPlaceholder": "Please enter your email", + "submit": "Submit", + "bindEmailSuccess": "Email binding success", + "passwordModifiedSuccess": "Password changed successfully", + "passwordSetSuccess": "Password set successfully", + "oldPassword": "Old password:", + "inputCurrentPassword": "Please enter your current password", + "newPassword": "New password:", + "inputNewPassword": "Please enter your new password", + "confirmNewPassword": "Confirm new password:", + "inputNewPasswordAgain": "Please enter your new password again", + "password": "Password:", + "modifyPassword": "Modify password", + "setPassword": "Set password", + "alreadySetPassword": "Password set", + "setPassPlaceholder": "You can login with password", + "setPassAfterBind": "You can set password After Account bind", + "socialConnections": "Social Connections" + }, + "shortcut": { + "shortcutList": "Keyboard shortcuts", + "click": "Click", + "global": "Global", + "toggleShortcutList": "Toggle keyboard shortcuts", + "editor": "Editor", + "toggleLeftPanel": "Toggle left pane", + "toggleBottomPanel": "Toggle bottom pane", + "toggleRightPanel": "Toggle right pane", + "toggleAllPanels": "Toggle all panes", + "preview": "Preview", + "undo": "Undo", + "redo": "Redo", + "showGrid": "Show grid", + "component": "Component", + "multiSelect": "Select multiple", + "selectAll": "Select all", + "copy": "Copy", + "cut": "Cut", + "paste": "Paste", + "move": "Move", + "zoom": "Resize", + "delete": "Delete", + "deSelect": "Deselect", + "queryEditor": "Query editor", + "excuteQuery": "Run current query", + "editBox": "Text editor", + "formatting": "Format", + "openInLeftPanel": "Open in left pane" + }, + "help": { + "videoText": "Overview", + "onBtnText": "OK", + "permissionDenyTitle": "\ud83d\udca1 Unable to create a new application or data source?", + "permissionDenyContent": "You don't have permission to create the application and data source. Please contact the administrator to join the developer group.", + "appName": "Tutorial application", + "chat": "Chat with us", + "docs": "View documentation", + "editorTutorial": "Editor tutorial", + "update": "What's new?", + "version": "Version", + "versionWithColon": "Version: ", + "submitIssue": "Submit an issue" + }, + "header": { + "nameCheckMessage": "The name cannot be empty", + "viewOnly": "View only", + "recoverAppSnapshotTitle": "Restore this version?", + "recoverAppSnapshotContent": "Restore current app to the version created at {time}.", + "recoverAppSnapshotMessage": "Restore this version", + "returnEdit": "Return to editor", + "deploy": "Publish", + "export": "Export to JSON", + "editName": "Edit name", + "duplicate": "Duplicate {type}", + "snapshot": "History", + "scriptsAndStyles": "Scripts and style", + "appSettings": "App settings", + "preview": "Preview", + "editError": "History preview mode, no operation is supported.", + "clone": "Clone", + "editorMode_layout": "Layout", + "editorMode_logic": "Logic", + "editorMode_both": "Both" + }, + "userAuth": { + "registerByEmail": "Sign up", + "email": "Email:", + "inputEmail": "Please enter your email", + "inputValidEmail": "Please enter a valid email", + "register": "Sign up", + "userLogin": "Sign in", + "login": "Sign in", + "bind": "Bind", + "passwordCheckLength": "At least {min} characters", + "passwordCheckContainsNumberAndLetter": "Must contain letters and numbers", + "passwordCheckSpace": "Cannot contain whitespace characters", + "welcomeTitle": "\ud83c\udf89 Welcome to {productName} \ud83c\udf89", + "inviteWelcomeTitle": "{username} invite you to login {productName}", + "terms": "Terms", + "privacy": "Privacy Policy", + "registerHint": "I have read and agree to the", + "chooseAccount": "Choose your Account", + "signInLabel": "Sign in with {name}", + "bindAccount": "Bind Account", + "scanQrCode": "Scan the QR code with {name}", + "invalidThirdPartyParam": "Invalid third-party param", + "account": "Account", + "inputAccount": "Please enter your account", + "ldapLogin": "LDAP Sign in", + "resetPassword": "Reset Password", + "resetPasswordDesc": "Reset user {name}'s password. A new password will be generated after reset.", + "resetSuccess": "Reset succeeded", + "resetSuccessDesc": "Password reset succeeded. The new password is: {password}", + "copyPassword": "Copy password", + "poweredByLowcoder": "Powered by Lowcoder.cloud" + }, + "preLoad": { + "jsLibraryHelpText": "Add JavaScript libraries to your current application via URL addresses. lodash, day.js, uuid, numbro are built into the system for immediate use. JavaScript libraries are loaded before the application is initialized, which can have an impact on application performance.", + "exportedAs": "Exported as", + "urlTooltip": "URL address of the JavaScript library, [unpkg.com](https://unpkg.com/) or [jsdelivr.net](https://www.jsdelivr.com/) is recommended", + "recommended": "Recommended", + "viewJSLibraryDocument": "Document", + "jsLibraryURLError": "Invalid URL", + "jsLibraryExist": "JavaScript library already exists", + "jsLibraryEmptyContent": "No JavaScript libraries added", + "jsLibraryDownloadError": "JavaScript library download error", + "jsLibraryInstallSuccess": "JavaScript library installed successfully", + "jsLibraryInstallFailed": "JavaScript library installation failed", + "jsLibraryInstallFailedCloud": "Perhaps the library is not available in the sandbox, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{message}", + "jsLibraryInstallFailedHost": "{message}", + "add": "Add New", + "jsHelpText": "Add a global method or variable to the current application.", + "cssHelpText": "Add styles to the current application. The DOM structure may change as the system iterates. Try to modify styles through component properties.", + "scriptsAndStyles": "Scripts and styles", + "jsLibrary": "JavaScript library" + }, + "editorTutorials": { + "component": "Component", + "componentContent": "The right component area has tables, buttons, input boxes, selectors, and other components that can be dragged onto the canvas for use.", + "canvas": "Canvas", + "canvasContent": "What you see on the canvas is what you get, and you can adjust component layout and size by dragging and dropping, and delete/copy/paste components with keyboard shortcuts.", + "queryData": "Query data", + "queryDataContent": "Create a new query here and connect to your MySQL, MongoDB, Redis, Airtable, and other data sources. After configuring the query, click \"Run\" to obtain the data.", + "compProperties": "Component properties" + }, + "homeTutorials": { + "createAppContent": "\ud83c\udf89 Welcome to {productName}, click \"App\" and start to create your first application.", + "createAppTitle": "Create app" + }, + "history": { + "layout": "'{0}' layout adjustment", + "upgrade": "Upgrade '{0}'", + "delete": "Delete '{0}'", + "add": "Add '{0}'", + "modify": "Modify '{0}'", + "rename": "Rename '{1}' to '{0}'", + "recover": "Recover '{2}''s version", + "recoverVersion": "Recover version", + "andSoOn": "and so on", + "timeFormat": "MM DD at hh:mm A", + "emptyHistory": "No history", + "currentVersionWithBracket": " (Current)", + "currentVersion": "Current version", + "justNow": "Just now", + "history": "History" + }, + "home": { + "allApplications": "All Apps", + "allModules": "All Modules", + "allFolders": "All Folders", + "modules": "Modules", + "module": "Module", + "trash": "Trash", + "queryLibrary": "Query Library", + "datasource": "Data Sources", + "selectDatasourceType": "Select data source type", + "home": "Home", + "all": "All", + "app": "App", + "navigation": "Navigation", + "navLayout": "PC Navigation", + "navLayoutDesc": "Left-side menu for easy desktop navigation.", + "mobileTabLayout": "Mobile Navigation", + "mobileTabLayoutDesc": "Bottom navigation bar for smooth mobile browsing.", + "folders": "Folders", + "folder": "Folder", + "rootFolder": "Root", + "import": "Import", + "export": "Export to JSON", + "inviteUser": "Invite members", + "createFolder": "Create Folder", + "createFolderSubTitle": "Folder name:", + "moveToFolder": "Move to folder", + "moveToTrash": "Move to trash", + "moveToFolderSubTitle": "Move \"{name}\" to:", + "folderName": "Folder name:", + "resCardSubTitle": "{time} by {creator}", + "trashEmpty": "Trash is empty.", + "projectEmpty": "Nothing here.", + "projectEmptyCanAdd": "You don't have any apps yet. Click New to get started.", + "name": "Name", + "type": "Type", + "creator": "Created by", + "lastModified": "Last modified", + "deleteTime": "Delete time", + "createTime": "Create time", + "datasourceName": "Data source name", + "databaseName": "Database name", + "nameCheckMessage": "The name cannot be empty", + "deleteElementTitle": "Delete permanently", + "moveToTrashSubTitle": "{type} {name} will be moved to trash.", + "deleteElementSubTitle": "Delete {type} {name} permanently, it cannot be recovered.", + "deleteSuccessMsg": "Deleted successfully", + "deleteErrorMsg": "Deleted error", + "recoverSuccessMsg": "Recovered successfully", + "newDatasource": "New data source", + "creating": "Creating...", + "chooseDataSourceType": "Choose data source type", + "folderAlreadyExists": "The folder already exists", + "newNavLayout": "{userName}'s {name} ", + "newApp": "{userName}'s new {name} ", + "importError": "Import error, {message}", + "exportError": "Export error, {message}", + "importSuccess": "Import success", + "fileUploadError": "File upload error", + "fileFormatError": "File format error", + "groupWithSquareBrackets": "[Group] ", + "allPermissions": "Owner", + "shareLink": "Share link: ", + "copyLink": "Copy link", + "appPublicMessage": "Make the app public. Anyone can view.", + "modulePublicMessage": "Make the module public. Anyone can view.", + "memberPermissionList": "Member permissions: ", + "orgName": "{orgName} admins", + "addMember": "Add members", + "addPermissionPlaceholder": "Please enter a name to search members", + "searchMemberOrGroup": "Search for members or groups: ", + "addPermissionErrorMessage": "Failed to add permission, {message}", + "copyModalTitle": "Clone \"{name}\"", + "copyNameLabel": "{type} name", + "copyModalfolderLabel": "Add to folder", + "copyNamePlaceholder": "Please enter a {type} name", + "chooseNavType": "Please choose navigation type", + "createNavigation": "Create Navigation" + }, + "carousel": { + "dotPosition": "Navigation Dots position", + "autoPlay": "AutoPlay", + "showDots": "Show dots" + }, + "npm": { + "invalidNpmPackageName": "Invalid npm package name or url.", + "pluginExisted": "This npm plugin already existed", + "compNotFound": "Component {compName} not found.", + "addPluginModalTitle": "Add npm plugin", + "pluginNameLabel": "npm package's URL or name", + "noCompText": "No components.", + "compsLoading": "Loading...", + "removePluginBtnText": "Remove", + "addPluginBtnText": "Add npm plugin" + }, + "toggleButton": { + "valueDesc": "The default value of the toggle button, for example: false", + "trueDefaultText": "Hide", + "falseDefaultText": "Show", + "trueLabel": "Text for true", + "falseLabel": "Text for false", + "trueIconLabel": "Icon for true", + "falseIconLabel": "Icon for false", + "iconPosition": "Icon position", + "showText": "Show text", + "alignment": "Alignment", + "showBorder": "Show border" + }, + "docUrls": { + "docHome": "https://docs.lowcoder.cloud/", + "components": "https://app.lowcoder.cloud/components/{compType}", + "module": "https://docs.lowcoder.cloud/lowcoder-documentation/build-applications/create-a-new-app/modules", + "optionList": "", + "terms": "https://lowcoder.cloud/terms", + "privacy": "https://lowcoder.cloud/privacy", + "aboutUs": "https://lowcoder.cloud/about", + "changeLog": "https://github.com/lowcoder-org/lowcoder/releases", + "introVideo": "", + "devNpmPlugin": "https://docs.lowcoder.cloud/lowcoder-extension/develop-data-source-plugins", + "devNpmPluginText": "How to develop npm plugin", + "useHost": "https://docs.lowcoder.cloud/setup-and-run/self-hosting/access-local-database-or-api", + "eventHandlerSlowdown": "https://docs.lowcoder.cloud/build-applications/app-interaction/event-handlers", + "thirdLib": "https://docs.lowcoder.cloud/lowcoder-extension/use-third-party-libraries-in-apps", + "thirdLibUrlText": "Use third-party libraries" + }, + "datasourceTutorial": { + "mysql": "", + "mongodb": "", + "postgres": "", + "redis": "", + "es": "", + "smtp": "", + "clickHouse": "" + }, + "queryTutorial": { + "js": "", + "transformer": "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/transformers", + "tempState": "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/temporary-state" + }, + "customComponent": { + "entryUrl": "https://sdk.lowcoder.cloud/custom_component.html" + }, + "template": { + "cloneUrl": "/apps/template-import/" + }, + "lowcoderUrl": { + "createIssue": "https://github.com/lowcoder-org/lowcoder/issues", + "discord": "https://discord.com/invite/qMG9uTmAx2" + }, + "componentDoc": { + "markdownDemoText": "**Lowcoder** | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + "demoText": "Lowcoder | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + "submit": "Submit", + "style": "style", + "danger": "Danger", + "warning": "warning", + "success": "Success", + "menu": "menu", + "link": "Link", + "customAppearance": "Custom Appearance", + "search": "search", + "pleaseInputNumber": "Please enter a number", + "mostValue": "Most Value", + "maxRating": "Maximum Rating", + "notSelect": "Not Selected", + "halfSelect": "Half Selection", + "pleaseSelect": "Please select", + "title": "Title", + "content": "Content", + "componentNotFound": "Component does not exist", + "example": "Examples", + "defaultMethodDesc": "Set the value of property {name}", + "propertyUsage": "You can read component-related information by accessing component properties by component name anywhere you can write JavaScript.", + "property": "Properties", + "propertyName": "Property Name", + "propertyType": "Type", + "propertyDesc": "Description", + "event": "Events", + "eventName": "event name", + "eventDesc": "Description", + "mehtod": "Methods", + "methodUsage": "You can interact with components through their methods, and you can call them by their name anywhere you can write JavaScript. Or you can call them through the 'Control component' action of an event.", + "methodName": "Method Name", + "methodDesc": "Description", + "showBorder": "Show Border", + "haveTry": "Try it yourself", + "settings": "Setting", + "settingValues": "Setting value", + "defaultValue": "Default Value", + "time": "time", + "date": "date", + "noValue": "None", + "xAxisType": "X-axis type", + "hAlignType": "Horizontal Alignment", + "leftLeftAlign": "Left-left alignment", + "leftRightAlign": "Left-right alignment", + "topLeftAlign": "top-left alignment", + "topRightAlign": "top-right alignment", + "validation": "Validation", + "required": "Required", + "defaultStartDateValue": "Default Start Date", + "defaultEndDateValue": "Default End Date", + "basicUsage": "Basic Usage", + "basicDemoDescription": "The following examples show the basic usage of the component.", + "noDefaultValue": "No Default Value", + "forbid": "Forbidden", + "placeholder": "Placeholder", + "pleaseInputPassword": "Please enter a password", + "password": "password", + "textAlign": "Text Alignment", + "length": "Length", + "top": "Top", + "pleaseInputName": "Please enter your name", + "userName": "Name", + "fixed": "Fixed", + "responsive": "Responsive", + "workCount": "word count", + "cascaderOptions": "[\n {\n \"value\": \"zhejiang\",\n \"label\": \"Zhejiang\",\n \"children\": [\n {\n \"value\": \"hangzhou\",\n \" label\": \"Hangzhou\",\n \"children\": [\n {\n \"value\": \"xihu\",\n \"label\": \"West Lake\"\n }\n ]\n }\n ]\n },\n {\n \"value\": \"jiangsu\",\n \"label\": \"Jiangsu\",\n \"children\": [\n {\n \"value\": \"nanjing\",\n \"label\" : \"Nanjing\",\n \"children\": [\n {\n \"value\": \"zhonghuamen\",\n \"label\": \"Zhonghuamen\"\n }\n ]\n }\n ]\n } \n]", + "pleaseSelectCity": "Please select a city", + "advanced": "Advanced", + "showClearIcon": "Show clear icon", + "appleOptionLabel": "\ud83c\udf4e Apple", + "waterMelonOptionLabel": "\ud83c\udf49 Watermelon", + "berryOptionLabel": "\ud83c\udf53 Strawberry", + "lemonOptionLabel": "\ud83c\udf4b Lemon", + "coconutOptionLabel": "\ud83e\udd65 Coconut", + "likedFruits": "Favorites", + "option": "option", + "singleFileUpload": "Single file upload", + "multiFileUpload": "Multiple file upload", + "folderUpload": "Folder Upload", + "multiFile": "multiple files", + "folder": "folder", + "open": "open", + "favoriteFruits": "Favorite Fruits", + "pleaseSelectOneFruit": "Select a fruit", + "notComplete": "not complete", + "complete": "Complete", + "echart": "EChart", + "lineChart": "line chart", + "basicLineChart": "Basic line chart", + "lineChartType": "Line chart type", + "stackLineChart": "Stacked line", + "areaLineChart": "Area line", + "scatterChart": "Scatter chart", + "scatterShape": "Scatter shape", + "scatterShapeCircle": "Circle", + "scatterShapeRect": "Rectangle", + "scatterShapeTri": "Triangle", + "scatterShapeDiamond": "diamond", + "scatterShapePin": "Pushpin", + "scatterShapeArrow": "Arrow", + "pieChart": "Pie Chart", + "basicPieChart": "Basic pie chart", + "pieChatType": "Pie Chart Type", + "pieChartTypeCircle": "Donut chart", + "pieChartTypeRose": "Rose chart", + "titleAlign": "Title position", + "color": "Color", + "dashed": "Dashed", + "imADivider": "I am a dividing line", + "tableSize": "Table size", + "subMenuItem": "SubMenu {num}", + "menuItem": "Menu {num}", + "labelText": "Label", + "labelPosition": "Label - Position", + "labelAlign": "Label - Align", + "optionsOptionType": "Configuration method", + "styleBackgroundColor": "Background color", + "styleBorderColor": "Border color", + "styleColor": "Font color", + "selectionMode": "Row selection mode", + "paginationSetting": "Pagination setting", + "paginationShowSizeChanger": "Support users to modify the number of entries per page", + "paginationShowSizeChangerButton": "Show size changer button", + "paginationShowQuickJumper": "Show quick jumper", + "paginationHideOnSinglePage": "Hide when there is only one page", + "paginationPageSizeOptions": "Page size", + "chartConfigCompType": "Chart type", + "xConfigType": "X axis type", + "loading": "Loading", + "disabled": "Disabled", + "minLength": "Minimum length", + "maxLength": "Maximum length", + "showCount": "Show word count", + "autoHeight": "Height", + "thousandsSeparator": "thousands separator", + "precision": "Decimal places", + "value": "Default value", + "formatter": "Format", + "min": "Minimum value", + "max": "Maximum value", + "step": "Step size", + "start": "Start time", + "end": "End time", + "allowHalf": "Allow half selection", + "filetype": "File type", + "showUploadList": "Show upload list", + "uploadType": "Upload Type", + "allowClear": "Show clear icon", + "minSize": "Minimum file size", + "maxSize": "Maximum file size", + "maxFiles": "Maximum number of uploaded files", + "format": "Format", + "minDate": "Minimum date", + "maxDate": "Maximum date", + "minTime": "Minimum time", + "maxTime": "Maximum time", + "text": "Text", + "type": "Type", + "hideHeader": "Hide header", + "hideBordered": "Hide border", + "src": "Image URL", + "showInfo": "Display value", + "mode": "Mode", + "onlyMenu": "Only menu", + "horizontalAlignment": "Horizontal alignment", + "row": "Left", + "column": "Top", + "leftAlign": "Left alignment", + "rightAlign": "Right alignment", + "percent": "percentage", + "fixedHeight": "Fixed height", + "auto": "Adaptive", + "directory": "Folder", + "multiple": "Multiple files", + "singleFile": "Single File", + "manual": "Manual", + "default": "Default", + "small": "Small", + "middle": "Medium", + "large": "Large", + "single": "Single", + "multi": "Multiple", + "close": "Close", + "ui": "UI mode", + "line": "Line chart", + "scatter": "Scatter plot", + "pie": "Pie chart", + "basicLine": "Basic line chart", + "stackedLine": "Stacked line chart", + "areaLine": "area area map", + "basicPie": "Basic pie chart", + "doughnutPie": "Donut chart", + "rosePie": "Rose chart", + "category": "category axis", + "circle": "Circle", + "rect": "Rectangle", + "triangle": "Triangle", + "diamond": "Diamond", + "pin": "Pushpin", + "arrow": "Arrow", + "left": "Left", + "right": "Right", + "center": "Center", + "bottom": "Bottom", + "justify": "Justify both ends" + }, + "playground": { + "url": "https://app.lowcoder.cloud/playground/{compType}/1", + "data": "Data", + "preview": "Preview", + "property": "Properties", + "console": "Console", + "executeMethods": "Execute methods", + "noMethods": "No methods.", + "methodParams": "Method params", + "methodParamsHelp": "Input method params use JSON, for example, you can set setValue's params with: [1] or 1" + }, + "calendar": { + "headerBtnBackground": "Button background", + "btnText": "Button text", + "title": "Title", + "selectBackground": "Selected background" + }, + "componentDocExtra": { + "table": "/src/i18n/locales/componentDocExtra/table.md" + }, + "idSource": { + "title": "OAuth Providers", + "form": "Email", + "pay": "Premium", + "enable": "Enable", + "unEnable": "Not Enabled", + "loginType": "Login type", + "status": "Status", + "desc": "Description", + "manual": "Address book:", + "syncManual": "Sync Address book", + "syncManualSuccess": "Sync succeeded", + "enableRegister": "Allow registration", + "saveBtn": "Save and enable", + "save": "Save", + "none": "None", + "formPlaceholder": "Please enter {label}", + "formSelectPlaceholder": "Please select the {label}", + "saveSuccess": "Saved successfully", + "dangerLabel": "Danger Zone", + "dangerTip": "Disabling this ID provider may result in some users being unable to log in. Proceed with caution.", + "disable": "Disable", + "disableSuccess": "Disabled successfully", + "encryptedServer": "-------- Encrypted on the server side --------", + "disableTip": "Tips", + "disableContent": "Disabling this ID provider may result in some users being unable to log in. Are you sure to proceed?", + "manualTip": "", + "lockTip": "The content is locked. To make changes, please click the{icon}to unlock.", + "lockModalContent": "Changing the 'ID attribute' field can have significant impacts on user identification. Please confirm that you understand the implications of this change before proceeding.", + "payUserTag": "Premium" + }, + "slotControl": { + "configSlotView": "Configure slot view" + }, + "jsonLottie": { + "lottieJson": "Lottie JSON", + "speed": "Speed", + "width": "Width", + "height": "Height", + "backgroundColor": "Background color", + "animationStart": "Animation Start", + "valueDesc": "Current json Data", + "loop": "Loop", + "auto": "auto", + "onHover": "On hover", + "singlePlay": "Single Play", + "endlessLoop": "Endless Loop", + "keepLastFrame": "Keep Last Frame" + }, + "timeLine": { + "titleColor": "Title color", + "subTitleColor": "Subtitle color", + "lableColor": "Label color", + "value": "Timeline data", + "mode": "Display order", + "left": "Content right", + "right": "Content left", + "alternate": "Alternate content order", + "modeTooltip": "Set the content to appear left/right or alternately on both sides of the timeline", + "reverse": "Newest events first", + "pending": "Pending node text", + "pendingDescription": "When set, then an last node with the text and a waiting indicator will be displayed.", + "defaultPending": "continuous improvement", + "clickTitleEvent": "Click Title Event", + "clickTitleEventDesc": "click Title Event", + "Introduction": "Introduction keys", + "helpTitle": "title of timeline(Required)", + "helpsubTitle": "subtitle of timeline", + "helpLabel": "label of timeline,be used to display dates", + "helpColor": "Indicates timeline node color", + "helpDot": "Rendering Timeline Nodes as Ant Design Icons", + "helpTitleColor": "Individually control the color of node title", + "helpSubTitleColor": "Individually control the color of node subtitle", + "helpLableColor": "Individually control the color of node icon", + "valueDesc": "data of timeline", + "clickedObjectDesc": "clicked item data", + "clickedIndexDesc": "clicked item index" + }, + "comment": { + "value": "comment list data", + "showSendButton": "Allowing Comments", + "title": "title", + "titledDefaultValue": "%d comment in total", + "placeholder": "shift + enter to comment;Enter @ or # for quick input", + "placeholderDec": "placeholder", + "buttonTextDec": "button title", + "buttonText": "comment", + "mentionList": "Mention list data", + "mentionListDec": "key-Mention keywords;value-Mention list data", + "userInfo": "user info", + "dateErr": "date error", + "commentList": "comment list", + "deletedItem": "deleted item", + "submitedItem": "submited item", + "deleteAble": "show delete button", + "Introduction": "Introduction keys", + "helpUser": "user info(Required)", + "helpname": "user name(Required)", + "helpavatar": "avatar url(high priority)", + "helpdisplayName": "display name(low priority)", + "helpvalue": "Comment content", + "helpcreatedAt": "create date" + }, + "mention": { + "mentionList": "Mention list data" + }, + "autoComplete": { + "value": "auto complete value", + "checkedValueFrom": "checked value from", + "ignoreCase": "search ignore case", + "searchLabelOnly": "search label only", + "searchFirstPY": "search first pinying", + "searchCompletePY": "search complete pinying", + "searchText": "search text", + "SectionDataName": "autoComplete Data", + "valueInItems": "value in items", + "type": "type", + "antDesign": "AntDesign", + "normal": "Normal", + "selectKey": "key", + "selectLable": "label", + "ComponentType": "Component Type", + "colorIcon": "blue", + "grewIcon": "grew", + "noneIcon": "none", + "small": "small", + "large": "large", + "componentSize": "component size", + "Introduction": "Introduction keys", + "helpLabel": "label", + "helpValue": "value" + }, + "responsiveLayout": { + "column": "Columns", + "atLeastOneColumnError": "Responsive layout keeps at least one Column", + "columnsPerRow": "Columns per Row", + "columnsSpacing": "Columns Spacing (px)", + "horizontal": "Horizontal", + "vertical": "Vertical", + "mobile": "Mobile", + "tablet": "Tablet", + "desktop": "Desktop", + "rowStyle": "Row Style", + "columnStyle": "Column Style", + "minWidth": "Min. Width", + "rowBreak": "Row Break", + "matchColumnsHeight": "Match Columns Height", + "rowLayout": "Row Layout", + "columnsLayout": "Columns Layout" + }, + "navLayout": { + "mode": "Mode", + "modeInline": "Inline", + "modeVertical": "Vertical", + "width": "Width", + "widthTooltip": "Number or percentage, e.g. 520, 60%", + "navStyle": "Menu Style", + "navItemStyle": "Menu Item Style" + } +} \ No newline at end of file diff --git a/client/packages/lowcoder/src/pages/ApplicationV2/HomeTableView.tsx b/client/packages/lowcoder/src/pages/ApplicationV2/HomeTableView.tsx index 663dccfd1..d62ee7a3b 100644 --- a/client/packages/lowcoder/src/pages/ApplicationV2/HomeTableView.tsx +++ b/client/packages/lowcoder/src/pages/ApplicationV2/HomeTableView.tsx @@ -68,7 +68,7 @@ export const HomeTableView = (props: { resources: HomeRes[] }) => { pagination={false} onRow={(record) => ({ onClick: (e) => { - console.log(e.target); + // console.log(e.target); const item = record as HomeRes; if (needRenameRes?.id === item.id || needDuplicateRes?.id === item.id) { return; diff --git a/client/packages/lowcoder/src/pages/setting/idSource/createModal.tsx b/client/packages/lowcoder/src/pages/setting/idSource/createModal.tsx index 5e46418de..f52c270a3 100644 --- a/client/packages/lowcoder/src/pages/setting/idSource/createModal.tsx +++ b/client/packages/lowcoder/src/pages/setting/idSource/createModal.tsx @@ -37,7 +37,7 @@ function CreateModal(props: CreateModalProp) { const handleOk = () => { form.validateFields().then(values => { - console.log(values) + // console.log(values) saveAuthProvider(values) }) } From b970f6a770b9601b12519601608f1fe3b16ddb1e Mon Sep 17 00:00:00 2001 From: FalkWolsky Date: Sat, 2 Dec 2023 15:38:47 +0100 Subject: [PATCH 5/7] Cleaned Up Text base --- .../src/comps/comps/customComp/customComp.tsx | 4 +- .../comps/comps/dataChangeResponderComp.tsx | 12 +- .../lowcoder/src/comps/comps/iframeComp.tsx | 2 +- .../listViewComp/listViewPropertyView.tsx | 2 +- .../src/comps/comps/mediaComp/audioComp.tsx | 3 +- .../src/comps/comps/mediaComp/videoComp.tsx | 1 + .../comps/navComp/components/MenuItemList.tsx | 2 +- .../src/comps/comps/navComp/navComp.tsx | 2 +- .../src/comps/comps/richTextEditorComp.tsx | 2 +- .../lowcoder/src/comps/comps/switchComp.tsx | 2 +- .../src/comps/comps/temporaryStateComp.tsx | 5 +- .../src/comps/comps/transformerListComp.tsx | 6 +- .../comps/controls/styleControlConstants.tsx | 8 +- .../packages/lowcoder/src/i18n/locales/en.ts | 4874 +++++++++-------- .../lowcoder/src/util/tutorialUtils.ts | 2 +- 15 files changed, 2505 insertions(+), 2422 deletions(-) diff --git a/client/packages/lowcoder/src/comps/comps/customComp/customComp.tsx b/client/packages/lowcoder/src/comps/comps/customComp/customComp.tsx index 85721545f..85ebb1914 100644 --- a/client/packages/lowcoder/src/comps/comps/customComp/customComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/customComp/customComp.tsx @@ -225,8 +225,8 @@ const CustomCompBase = new UICompBuilder(childrenMap, (props, dispatch) => { <> {(useContext(EditorContext).editorModeStatus === "logic" || useContext(EditorContext).editorModeStatus === "both") && ( <>
- {children.model.propertyView({ label: trans("data") })} - {children.code.propertyView({ label: trans("code"), language: "html" })} + {children.model.propertyView({ label: trans("customComp.data") })} + {children.code.propertyView({ label: trans("customComp.code"), language: "html" })} {hiddenPropertyView(children)}
diff --git a/client/packages/lowcoder/src/comps/comps/dataChangeResponderComp.tsx b/client/packages/lowcoder/src/comps/comps/dataChangeResponderComp.tsx index b480ce5c8..fe57edd1e 100644 --- a/client/packages/lowcoder/src/comps/comps/dataChangeResponderComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/dataChangeResponderComp.tsx @@ -8,6 +8,7 @@ import { trans } from "i18n"; import _ from "lodash"; import { CompAction, CompActionTypes } from "lowcoder-core"; import { + TacoMarkDown, DocLink, QueryConfigLabel, QueryConfigWrapper, @@ -45,18 +46,18 @@ const DataResponderItemCompBase = new MultiCompBuilder( key: "general", title: trans("query.generalTab"), children: ( - + <> {children.data.propertyView({ label: trans("dataResponder.data"), tooltip: trans("dataResponder.dataTooltip"), placement: "bottom", placeholder: "{{anyDependencies}}", - extraChildren: QueryTutorials.dataResponder && ( + /* extraChildren: QueryTutorials.dataResponder && ( {trans("dataResponder.docLink")} - ), + ), */ })} @@ -68,7 +69,10 @@ const DataResponderItemCompBase = new MultiCompBuilder( {children.onEvent.getPropertyView()} - + <>{trans("dataResponder.documentationText")} + {trans("dataResponder.docLink")} + + ), }, ]} diff --git a/client/packages/lowcoder/src/comps/comps/iframeComp.tsx b/client/packages/lowcoder/src/comps/comps/iframeComp.tsx index 404c26b57..bb93ac822 100644 --- a/client/packages/lowcoder/src/comps/comps/iframeComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/iframeComp.tsx @@ -64,7 +64,7 @@ let IFrameCompBase = new UICompBuilder( .setPropertyViewFn((children) => ( <>
- {children.url.propertyView({ label: "URL", placeholder: "https://example.com" })} + {children.url.propertyView({ label: "Source URL", placeholder: "https://example.com", tooltip: trans("iframe.URLDesc") })}
{["logic", "both"].includes(useContext(EditorContext).editorModeStatus) && ( diff --git a/client/packages/lowcoder/src/comps/comps/listViewComp/listViewPropertyView.tsx b/client/packages/lowcoder/src/comps/comps/listViewComp/listViewPropertyView.tsx index d76aaaa4e..e18ff26ab 100644 --- a/client/packages/lowcoder/src/comps/comps/listViewComp/listViewPropertyView.tsx +++ b/client/packages/lowcoder/src/comps/comps/listViewComp/listViewPropertyView.tsx @@ -17,7 +17,7 @@ export function listPropertyView(compType: ListCompType) { <>
{children.noOfRows.propertyView({ - label: trans("data"), + label: trans("listView.dataDesc"), tooltip: trans("listView.dataTooltip"), })} {compType === "grid" && diff --git a/client/packages/lowcoder/src/comps/comps/mediaComp/audioComp.tsx b/client/packages/lowcoder/src/comps/comps/mediaComp/audioComp.tsx index 0774ecfee..fcf8783b0 100644 --- a/client/packages/lowcoder/src/comps/comps/mediaComp/audioComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/mediaComp/audioComp.tsx @@ -74,7 +74,8 @@ let AudioBasicComp = (function () { <>
{children.src.propertyView({ - label: trans("audio.src"), + label: trans("audio.src"), + tooltip: trans("audio.srcDesc"), })}
diff --git a/client/packages/lowcoder/src/comps/comps/mediaComp/videoComp.tsx b/client/packages/lowcoder/src/comps/comps/mediaComp/videoComp.tsx index b3c6b6aee..1d1ad8089 100644 --- a/client/packages/lowcoder/src/comps/comps/mediaComp/videoComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/mediaComp/videoComp.tsx @@ -112,6 +112,7 @@ let VideoBasicComp = (function () {
{children.src.propertyView({ label: trans("video.src"), + tooltip: trans("video.srcDesc"), })}
diff --git a/client/packages/lowcoder/src/comps/comps/navComp/components/MenuItemList.tsx b/client/packages/lowcoder/src/comps/comps/navComp/components/MenuItemList.tsx index 41f5e2cd6..4c9d0de1e 100644 --- a/client/packages/lowcoder/src/comps/comps/navComp/components/MenuItemList.tsx +++ b/client/packages/lowcoder/src/comps/comps/navComp/components/MenuItemList.tsx @@ -36,7 +36,7 @@ interface IMenuItemListProps { onMoveItem: (path: number[], from: number, to: number) => void; } -const menuItemLabel = trans("menuItem"); +const menuItemLabel = trans("navigation.itemsDesc"); function MenuItemList(props: IMenuItemListProps) { const { items, onAddItem, onDeleteItem, onMoveItem, onAddSubItem } = props; diff --git a/client/packages/lowcoder/src/comps/comps/navComp/navComp.tsx b/client/packages/lowcoder/src/comps/comps/navComp/navComp.tsx index 0d9a599c3..eb80cced5 100644 --- a/client/packages/lowcoder/src/comps/comps/navComp/navComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/navComp/navComp.tsx @@ -214,7 +214,7 @@ const NavCompBase = new UICompBuilder(childrenMap, (props) => { {(useContext(EditorContext).editorModeStatus === "logic" || useContext(EditorContext).editorModeStatus === "both") && (
- {children.logoUrl.propertyView({ label: trans("navigation.logoURL") })} + {children.logoUrl.propertyView({ label: trans("navigation.logoURL"), tooltip: trans("navigation.logoURLDesc") })} {children.logoUrl.getView() && children.logoEvent.propertyView({ inline: true })}
)} diff --git a/client/packages/lowcoder/src/comps/comps/richTextEditorComp.tsx b/client/packages/lowcoder/src/comps/comps/richTextEditorComp.tsx index c0602b4a4..adb6788f3 100644 --- a/client/packages/lowcoder/src/comps/comps/richTextEditorComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/richTextEditorComp.tsx @@ -313,7 +313,7 @@ const RichTextEditorCompBase = new UICompBuilder(childrenMap, (props) => { return ( <>
- {children.value.propertyView({ label: trans("prop.defaultValue") })} + {children.value.propertyView({ label: trans("richTextEditor.defaultValue") })} {placeholderPropertyView(children)}
diff --git a/client/packages/lowcoder/src/comps/comps/switchComp.tsx b/client/packages/lowcoder/src/comps/comps/switchComp.tsx index 93f070521..e1f7e2998 100644 --- a/client/packages/lowcoder/src/comps/comps/switchComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/switchComp.tsx @@ -117,7 +117,7 @@ let SwitchTmpComp = (function () { return ( <>
- {children.value.propertyView({ label: trans("prop.defaultValue") })} + {children.value.propertyView({ label: trans("switchComp.defaultValue") })}
diff --git a/client/packages/lowcoder/src/comps/comps/temporaryStateComp.tsx b/client/packages/lowcoder/src/comps/comps/temporaryStateComp.tsx index 9c88e05d3..3bde8b948 100644 --- a/client/packages/lowcoder/src/comps/comps/temporaryStateComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/temporaryStateComp.tsx @@ -13,6 +13,7 @@ import { BottomResComp, BottomResCompResult, BottomResTypeEnum } from "types/bot import { JSONObject } from "util/jsonTypes"; import { QueryTutorials } from "util/tutorialUtils"; import { SimpleNameComp } from "./simpleNameComp"; +import { markdownCompCss, TacoMarkDown } from "lowcoder-design"; const TemporaryStateItemCompBase = new MultiCompBuilder( { @@ -34,9 +35,9 @@ const TemporaryStateItemCompBase = new MultiCompBuilder( tooltip: trans("temporaryState.valueTooltip"), placement: "bottom", extraChildren: QueryTutorials.tempState && ( - + <>
{trans("temporaryState.documentationText")}
{trans("temporaryState.docLink")} - +
), }), }, diff --git a/client/packages/lowcoder/src/comps/comps/transformerListComp.tsx b/client/packages/lowcoder/src/comps/comps/transformerListComp.tsx index bdc74f0e3..c409edd75 100644 --- a/client/packages/lowcoder/src/comps/comps/transformerListComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/transformerListComp.tsx @@ -12,6 +12,7 @@ import { ReactNode } from "react"; import { BottomResComp, BottomResCompResult, BottomResTypeEnum } from "types/bottomRes"; import { QueryTutorials } from "util/tutorialUtils"; import { SimpleNameComp } from "./simpleNameComp"; +import { markdownCompCss, TacoMarkDown } from "lowcoder-design"; const TransformerItemCompBase = new MultiCompBuilder( { @@ -40,9 +41,10 @@ const TransformerItemCompBase = new MultiCompBuilder( width: "100%", })} {QueryTutorials.transformer && ( - + <>
{trans("transformer.documentationText")} + {trans("transformer.docLink")} - +
)} ), diff --git a/client/packages/lowcoder/src/comps/controls/styleControlConstants.tsx b/client/packages/lowcoder/src/comps/controls/styleControlConstants.tsx index a08679b58..311a1fa56 100644 --- a/client/packages/lowcoder/src/comps/controls/styleControlConstants.tsx +++ b/client/packages/lowcoder/src/comps/controls/styleControlConstants.tsx @@ -1021,7 +1021,13 @@ export const NavLayoutItemActiveStyle = [ export const CarouselStyle = [getBackground("canvas")] as const; -export const RichTextEditorStyle = [getStaticBorder(), getBackground("canvas"), RADIUS, BORDER_WIDTH] as const; +export const RichTextEditorStyle = [ + getStaticBorder(), + getBackground("primarySurface"), + RADIUS, + BORDER_WIDTH +] as const; + export type InputLikeStyleType = StyleConfigType; export type ButtonStyleType = StyleConfigType; export type ToggleButtonStyleType = StyleConfigType; diff --git a/client/packages/lowcoder/src/i18n/locales/en.ts b/client/packages/lowcoder/src/i18n/locales/en.ts index 69e1df1b2..c4699864a 100644 --- a/client/packages/lowcoder/src/i18n/locales/en.ts +++ b/client/packages/lowcoder/src/i18n/locales/en.ts @@ -1,2096 +1,2163 @@ import table from "./componentDocExtra/table.md?url"; export const en = { - productName: "Lowcoder", - productDesc: "Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", - notSupportedBrowser: "Your current browser may have compatibility issues. For a better user experience, it is recommended to use the latest version of the Chrome browser.", - create: "Create", - move: "Move", - addItem: "Add", - newItem: "New", - copy: "Copy", - rename: "Rename", - delete: "Delete", - deletePermanently: "Delete", - remove: "Remove", - recover: "Recover", - edit: "Edit", - view: "View", - value: "Value", - data: "Data", - information: "Information", - success: "Success", - warning: "Warning", - error: "Error", - reference: "Reference", - text: "Text", - label: "Label", - color: "Color", - form: "Form", - menu: "Menu", - menuItem: "Menu item", - ok: "OK", - cancel: "Cancel", - finish: "Finish", - reset: "Reset", - icon: "Icon", - code: "Code", - title: "Title", - emptyContent: "Empty content", - more: "More", - search: "Search", - back: "Back", - accessControl: " Access Control", - copySuccess: "Copied", - copyError: "Copy error", - api: { - publishSuccess: "Published", - recoverFailed: "Recovery failed", - needUpdate: "Your current version is too old, please upgrade to the latest version.", - }, - codeEditor: { - notSupportAutoFormat: "Current code editor not supports auto formatting", - fold: "Fold", - }, - exportMethod: { - setDesc: "Set Property: {property}", - clearDesc: "Clear Property: {property}", - resetDesc: "Reset Property: {property} to default value", - }, - method: { - focus: "Set focus", - focusOptions: "Focus options. See HTMLElement.focus()", - blur: "Remove focus", - click: "Click", - select: "Select all the text", - setSelectionRange: "Set the start and end positions of the current text selection", - selectionStart: "The 0-based index of the first selected character.", - selectionEnd: "The 0-based index of the character after the last selected character.", - setRangeText: "Replace a range of text", - replacement: "The string to insert.", - replaceStart: "The 0-based index of the first character to replace.", - replaceEnd: "The 0-based index of the character after the last character to replace.", - }, - errorBoundary: { - encounterError: "Component loading failed. Please check your configuration. ", - clickToReload: "Click to reload", - errorMsg: "Error: ", - }, - imgUpload: { - notSupportError: "Only supports uploading {types} image", - exceedSizeError: "Image size should not exceed {size}", - }, - gridCompOperator: { - notSupport: "Not supported", - selectAtLeastOneComponent: "Please select at least one component", - selectCompFirst: "Please select components before copy", - noContainerSelected: "[bug] No selected container", - deleteCompsSuccess: "Delete success. You can use {undoKey} to undo.", - deleteCompsTitle: "Delete components", - deleteCompsBody: "Are you sure you want to delete {compNum} selected components?", - cutCompsSuccess: "Cut success. You can use {pasteKey} to paste, or use {undoKey} to undo.", - }, - leftPanel: { - queries: "Queries", - globals: "Globals", - propTipsArr: "{num} items", - propTips: "{num} keys", - propTipArr: "{num} item", - propTip: "{num} key", - stateTab: "State", - settingsTab: "Settings", - toolbarTitle: "Other", - toolbarPreload: "Scripts and style", - components: "Components", - modals: "Modals", - expandTip: "Click to expand {component}'s data", - collapseTip: "Click to collapse {component}'s data", + "productName": "Lowcoder", + "productDesc": "Create software applications for your company and customers with minimal coding experience. Lowcoder is an excellent alternative to Retool, Appsmith, and Tooljet.", + "notSupportedBrowser": "Your current browser may have compatibility issues. For an optimal user experience, please use the latest version of Chrome.", + "create": "Create", + "move": "Move", + "addItem": "Add", + "newItem": "New", + "copy": "Copy", + "rename": "Rename", + "delete": "Delete", + "deletePermanently": "Delete Permanently", + "remove": "Remove", + "recover": "Recover", + "edit": "Edit", + "view": "View", + "value": "Value", + "data": "Data", + "information": "Information", + "success": "Success", + "warning": "Warning", + "error": "Error", + "reference": "Reference", + "text": "Text", + "label": "Label", + "color": "Color", + "form": "Form", + "menu": "Menu", + "menuItem": "Menu Item", + "ok": "OK", + "cancel": "Cancel", + "finish": "Finish", + "reset": "Reset", + "icon": "Icon", + "code": "Code", + "title": "Title", + "emptyContent": "Empty Content", + "more": "More", + "search": "Search", + "back": "Back", + "accessControl": "Access Control", + "copySuccess": "Copied Successfully", + "copyError": "Copy Error", + "api": { + "publishSuccess": "Published Successfully", + "recoverFailed": "Recovery Failed", + "needUpdate": "Your current version is outdated. Please upgrade to the latest version." + }, + "codeEditor": { + "notSupportAutoFormat": "The current code editor does not support auto-formatting.", + "fold": "Fold" + }, + "exportMethod": { + "setDesc": "Set Property: {property}", + "clearDesc": "Clear Property: {property}", + "resetDesc": "Reset Property: {property} to Default Value" + }, + "method": { + "focus": "Set Focus", + "focusOptions": "Focus options. See HTMLElement.focus()", + "blur": "Remove Focus", + "click": "Click", + "select": "Select All Text", + "setSelectionRange": "Set Start and End Positions of Text Selection", + "selectionStart": "0-based Index of First Selected Character", + "selectionEnd": "0-based Index of Character After Last Selected Character", + "setRangeText": "Replace Text Range", + "replacement": "String to Insert", + "replaceStart": "0-based Index of First Character to Replace", + "replaceEnd": "0-based Index of Character After Last Character to Replace" + }, + "errorBoundary": { + "encounterError": "Component loading failed. Please check your configuration.", + "clickToReload": "Click to Reload", + "errorMsg": "Error: " + }, + "imgUpload": { + "notSupportError": "Supports only {types} image types", + "exceedSizeError": "Image size must not exceed {size}" + }, + "gridCompOperator": { + "notSupport": "Not Supported", + "selectAtLeastOneComponent": "Please select at least one component", + "selectCompFirst": "Select components before copying", + "noContainerSelected": "[Bug] No container selected", + "deleteCompsSuccess": "Deleted successfully. Press {undoKey} to undo.", + "deleteCompsTitle": "Delete Components", + "deleteCompsBody": "Are you sure you want to delete {compNum} selected components?", + "cutCompsSuccess": "Cut successfully. Press {pasteKey} to paste, or {undoKey} to undo." + }, + "leftPanel": { + "queries": "Data Queries in your App", + "globals": "Global Data Variables", + "propTipsArr": "{num} Items", + "propTips": "{num} Keys", + "propTipArr": "{num} Item", + "propTip": "{num} Key", + "stateTab": "State", + "settingsTab": "Settings", + "toolbarTitle": "Individualization", + "toolbarPreload": "Scripts and Styles", + "components": "Active Components", + "modals": "in-App Modals", + "expandTip": "Click to Expand {component}'s Data", + "collapseTip": "Click to Collapse {component}'s Data" }, // second part - bottomPanel: { - title: "Queries", - run: "Run", - noSelectedQuery: "No selected query", - metaData: "Metadata", - noMetadata: "No metadata", - metaSearchPlaceholder: "Search metadata", - allData: "All tables", - }, - rightPanel: { - propertyTab: "Properties", - noSelectedComps: "No components selected. Click to select one.", - createTab: "Insert", - searchPlaceHolder: "Search components or modules", - uiComponentTab: "Components", - extensionTab: "Extensions", - modulesTab: "Modules", - moduleListTitle: "Modules", - pluginListTitle: "Plugins", - emptyModules: "Modules are reusable groups of components and queries.", - searchNotFound: "Can't find a suitable component? Submit an issue", - emptyPlugins: "No plugins added.", - contactUs: "Contact us", - issueHere: " here.", - }, - prop: { - expand: "Expand", - columns: "Columns", - videokey: "video key", - rowSelection: "Row selection", - toolbar: "Toolbar", - pagination: "Pagination", - logo: "Logo", - style: "Style", - inputs: "Inputs", - meta: "Meta data", - data: "Data", - hide: "Hidden", - loading: "Loading", - disabled: "Disabled", - placeholder: "Placeholder", - showClear: "Show clear button", - showSearch: "Searchable", - defaultValue: "Default value", - required: "Required field", - readOnly: "Read only", - readOnlyTooltip: "Read only component looks same as normal component, it is focusable and selectable but cannot be modified", - minimum: "Minimum", - maximum: "Maximum", - regex: "Regex", - minLength: "Min length", - maxLength: "Max length", - height: "Height", - width: "Width", - selectApp: "App", - showCount: "Show count", - textType: "Text type", - customRule: "Custom rule", - customRuleTooltip: "If the result is non-empty string, it is an error message. If empty or null, the validation passes. Example: ", - manual: "Manual", - map: "Mapped", - json: "JSON", - use12Hours: "Use 12-hours for Time Selector", - hourStep: "Hour step", - minuteStep: "Minute step", - secondStep: "Second step", - minDate: "Min date", - maxDate: "Max date", - minTime: "Min time", - maxTime: "Max time", - type: "Type", - showLabel: "Show label", - showHeader: "Show header", - showBody: "Show body", - showFooter: "Show footer", - maskClosable: "Click the mask to close", - showMask: "Show mask", - }, - autoHeightProp: { - auto: "Auto", - fixed: "Fixed", - }, - labelProp: { - text: "Label", - tooltip: "Tooltip", - position: "Position", - left: "Left", - top: "Top", - align: "Alignment", - width: "Width", - widthTooltip: "Width of the label. It supports percentage of the component width (%), pixels (px)", + + "bottomPanel": { + "title": "Data Queries", + "run": "Run", + "noSelectedQuery": "No Query Selected", + "metaData": "Datasource Metadata", + "noMetadata": "No Metadata Available", + "metaSearchPlaceholder": "Search Metadata", + "allData": "All Tables" + }, + "rightPanel": { + "propertyTab": "Properties", + "noSelectedComps": "No Components selected. Click a Component to view its Properties.", + "createTab": "Insert", + "searchPlaceHolder": "Search Components or Modules", + "uiComponentTab": "Components", + "extensionTab": "Extensions", + "modulesTab": "Modules", + "moduleListTitle": "Modules", + "pluginListTitle": "Plugins", + "emptyModules": "Modules are reusable Mikro-Apps. You can embed them in your App.", + "searchNotFound": "Can't find the right component? Submit an issue", + "emptyPlugins": "No Plugins Added", + "contactUs": "Contact Us", + "issueHere": "here." + }, + "prop": { + "expand": "Expand", + "columns": "Columns", + "videokey": "Video Key", + "rowSelection": "Row Selection", + "toolbar": "Toolbar", + "pagination": "Pagination", + "logo": "Logo", + "style": "Style", + "inputs": "Inputs", + "meta": "Metadata", + "data": "Data", + "hide": "Hide", + "loading": "Loading", + "disabled": "Disabled", + "placeholder": "Placeholder", + "showClear": "Show Clear Button", + "showSearch": "Searchable", + "defaultValue": "Default Value", + "required": "Required Field", + "readOnly": "Read Only", + "readOnlyTooltip": "Read-only components appear normal but cannot be modified.", + "minimum": "Minimum", + "maximum": "Maximum", + "regex": "Regex", + "minLength": "Minimum Length", + "maxLength": "Maximum Length", + "height": "Height", + "width": "Width", + "selectApp": "Select App", + "showCount": "Show Count", + "textType": "Text Type", + "customRule": "Custom Rule", + "customRuleTooltip": "Non-empty string indicates an error; empty or null means validation passed. Example: ", + "manual": "Manual", + "map": "Map", + "json": "JSON", + "use12Hours": "Use 12-Hour Format", + "hourStep": "Hour Step", + "minuteStep": "Minute Step", + "secondStep": "Second Step", + "minDate": "Minimum Date", + "maxDate": "Maximum Date", + "minTime": "Minimum Time", + "maxTime": "Maximum Time", + "type": "Type", + "showLabel": "Show Label", + "showHeader": "Show Header", + "showBody": "Show Body", + "showFooter": "Show Footer", + "maskClosable": "Click Outside to Close", + "showMask": "Show Mask" + }, + "autoHeightProp": { + "auto": "Auto", + "fixed": "Fixed" + }, + "labelProp": { + "text": "Label", + "tooltip": "Tooltip", + "position": "Position", + "left": "Left", + "top": "Top", + "align": "Alignment", + "width": "Width", + "widthTooltip": "Label width supports percentages (%) and pixels (px)." }, // third part - eventHandler: { - eventHandlers: "Event handlers", - emptyEventHandlers: "No event handlers", - incomplete: "Incomplete selection", - inlineEventTitle: "On {eventName}", - event: "Event", - action: "Action", - noSelect: "No select", - runQuery: "Run query", - selectQuery: "Select query", - controlComp: "Control component", - runScript: "Run JavaScript", - runScriptPlaceHolder: "Write code here", - component: "Component", - method: "Method", - setTempState: "Set temporary state", - state: "State", - triggerModuleEvent: "Trigger module event", - moduleEvent: "Module event", - goToApp: "Go to app", - queryParams: "Query params", - hashParams: "Hash params", - showNotification: "Show notification", - text: "Text", - level: "Level", - duration: "Duration", - notifyDurationTooltip: "Time unit can be s(second, default), ms (millisecond). Max duration is {max} seconds", - goToURL: "Go to URL", - openInNewTab: "Open in a new tab", - copyToClipboard: "Copy to clipboard", - copyToClipboardValue: "Value", - export: "Export data", - exportNoFileType: "No select (optional)", - fileName: "File name", - fileNameTooltip: "Support extension to specify the file type, like image.png.", - fileType: "File type", - condition: "Only run when", - conditionTooltip: "Only run the event handler when this condition evaluates to 'true'", - debounce: "Debounce", - throttle: "Throttle", - slowdownTooltip: "Use debounce or throttle to control how often the action is triggered. Time unit can be ms (millisecond, default), s (second).", - notHandledError: "Not handled", - currentApp: "Current", - }, - event: { - submit: "Submit", - submitDesc: "Triggers on submit", - change: "Change", - changeDesc: "Triggers on value changes", - focus: "Focus", - focusDesc: "Triggers on focus", - blur: "Blur", - blurDesc: "Triggers on blur", - click: "Click", - clickDesc: "Triggers on click", - close: "Close", - closeDesc: "Triggers on close", - parse: "Parse", - parseDesc: "Triggers on parse", - success: "Success", - successDesc: "Triggers on success", - delete: "Delete", - deleteDesc: "Triggers on delete", - mention: "mention", - mentionDesc: "Triggers on mention", - }, - themeDetail: { - primary: "Brand color", - primaryDesc: "Most components use the default primary color", - textDark: "Text dark color", - textDarkDesc: "Apply when the background color is light", - textLight: "Text light color", - textLightDesc: "Apply when the background color is dark", - canvas: "Canvas color", - canvasDesc: "The default background color of the app", - primarySurface: "Container color", - primarySurfaceDesc: "The default background color for components such as tables", - borderRadius: "Border radius", - borderRadiusDesc: "Most components use the default border radius", - chart: "Chart style", - chartDesc: "Input Echarts", - echartsJson: "Theme JSON", - margin: "Margin", - marginDesc: "The default margin is typically used for most components", - padding: "Padding", - paddingDesc: "The default padding is typically used for most components", - containerheaderpadding: "Header Padding", - containerheaderpaddingDesc: "The default headerpadding is typically used for most components", - gridColumns: "Grid Columns", - gridColumnsDesc: "The default number of columns is typically used for most containers", + "eventHandler": { + "eventHandlers": "Event Handlers", + "emptyEventHandlers": "No Event Handlers", + "incomplete": "Incomplete Selection", + "inlineEventTitle": "On {eventName}", + "event": "Event", + "action": "Action", + "noSelect": "No Selection", + "runQuery": "Run a Data Query", + "selectQuery": "Select Data Query", + "controlComp": "Control a Component", + "runScript": "Run JavaScript", + "runScriptPlaceHolder": "Write Code Here", + "component": "Component", + "method": "Method", + "setTempState": "Set a Temporary State value", + "state": "State", + "triggerModuleEvent": "Trigger a Module Event", + "moduleEvent": "Module Event", + "goToApp": "Go to an other App", + "queryParams": "Query Parameters", + "hashParams": "Hash Parameters", + "showNotification": "Show a Notification", + "text": "Text", + "level": "Level", + "duration": "Duration", + "notifyDurationTooltip": "Time unit can be 's' (second, default) or 'ms' (millisecond). Max duration is {max} seconds", + "goToURL": "Open a URL", + "openInNewTab": "Open in New Tab", + "copyToClipboard": "Copy a value to Clipboard", + "copyToClipboardValue": "Value", + "export": "Export Data", + "exportNoFileType": "No Selection (Optional)", + "fileName": "File Name", + "fileNameTooltip": "Include extension to specify file type, e.g., 'image.png'", + "fileType": "File Type", + "condition": "Run Only When...", + "conditionTooltip": "Run the event handler only when this condition evaluates to 'true'", + "debounce": "Debounce for", + "throttle": "Throttle for", + "slowdownTooltip": "Use debounce or throttle to control the frequency of action triggers. Time unit can be 'ms' (millisecond, default) or 's' (second).", + "notHandledError": "Not Handled", + "currentApp": "Current" + }, + "event": { + "submit": "Submit", + "submitDesc": "Triggers on Submit", + "change": "Change", + "changeDesc": "Triggers on Value Changes", + "focus": "Focus", + "focusDesc": "Triggers on Focus", + "blur": "Blur", + "blurDesc": "Triggers on Blur", + "click": "Click", + "clickDesc": "Triggers on Click", + "close": "Close", + "closeDesc": "Triggers on Close", + "parse": "Parse", + "parseDesc": "Triggers on Parse", + "success": "Success", + "successDesc": "Triggers on Success", + "delete": "Delete", + "deleteDesc": "Triggers on Delete", + "mention": "Mention", + "mentionDesc": "Triggers on Mention" + }, + "themeDetail": { + "primary": "Brand Color", + "primaryDesc": "Default primary color used by most components", + "textDark": "Dark Text Color", + "textDarkDesc": "Used when the background color is light", + "textLight": "Light Text Color", + "textLightDesc": "Used when the background color is dark", + "canvas": "Canvas Color", + "canvasDesc": "Default background color of the app", + "primarySurface": "Container Color", + "primarySurfaceDesc": "Default background color for components like tables", + "borderRadius": "Border Radius", + "borderRadiusDesc": "Default border radius used by most components", + "chart": "Chart Style", + "chartDesc": "Input for Echarts", + "echartsJson": "Theme JSON", + "margin": "Margin", + "marginDesc": "Default margin typically used for most components", + "padding": "Padding", + "paddingDesc": "Default padding typically used for most components", + "containerheaderpadding": "Header Padding", + "containerheaderpaddingDesc": "Default header padding typically used for most components", + "gridColumns": "Grid Columns", + "gridColumnsDesc": "Default number of columns typically used for most containers" }, // fourth part - style: { - resetTooltip: "Reset styles. Delete the input's value to reset an individual field.", - textColor: "Text color", - contrastText: "Contrast text color", - generated: "Generated", - customize: "Customize", - staticText: "Static text", - accent: "Accent", - validate: "Validation message", - border: "Border color", - borderRadius: "Border radius", - borderWidth: "Border width", - background: "Background", - headerBackground: "Header background", - footerBackground: "Footer background", - fill: "Fill", - track: "Track", - links: "Links", - thumb: "Thumb", - thumbBorder: "Thumb border", - checked: "Checked", - unchecked: "Unchecked", - handle: "Handle", - tags: "Tags", - tagsText: "Tags text", - multiIcon: "Multiselect icon", - tabText: "Tab text", - tabAccent: "Tab accent", - checkedBackground: "Checked background", - uncheckedBackground: "Unchecked background", - uncheckedBorder: "Unchecked border", - indicatorBackground: "Indicator background", - tableCellText: "Cell text", - selectedRowBackground: "Selected row background", - hoverRowBackground: "Hover row background", - alternateRowBackground: "Alternate row background", - tableHeaderBackground: "Header background", - tableHeaderText: "Header text", - toolbarBackground: "Toolbar background", - toolbarText: "Toolbar text", - pen: "Pen", - footerIcon: "Footer icon", - tips: "Tips", - margin: "Margin", - padding: "Padding", - marginLeft: "Margin Left", - marginRight: "Margin Right", - marginTop: "Margin Top", - marginBottom: "Margin Bottom", - containerheaderpadding: "Header Padding", - containerfooterpadding: "Footer Padding", - containerbodypadding: "Body Padding", - minWidth: "Minimum Width", - aspectRatio: "Aspect Ratio", - textSize: "Text size", - }, - export: { - hiddenDesc: "If true, the component is hidden", - disabledDesc: "If true, the component will be greyed out and non-interactive", - visibleDesc: "If true, the component is visible", - inputValueDesc: "Current value of the input", - invalidDesc: "Whether the value is invalid", - placeholderDesc: "Text to display when no value is set", - requiredDesc: "If true, a valid value must be provided", - submitDesc: "Submit Form", - richTextEditorValueDesc: "Current value of the Editor", - richTextEditorReadOnlyDesc: "If true, the Editor is read-only", - richTextEditorHideToolBarDesc: "If true, thr toolbar is hidden", - jsonEditorDesc: "Current json data", - sliderValueDesc: "Currently selected value", - sliderMaxValueDesc: "The maximum value of the current interval", - sliderMinValueDesc: "The minimum value of the current interval", - sliderStartDesc: "The value of the currently selected starting point", - sliderEndDesc: "The value of the currently selected end point", - ratingValueDesc: "The currently selected score", - ratingMaxDesc: "The maximum score currently set", - datePickerValueDesc: "Currently selected date", - datePickerFormattedValueDesc: "Formatted selected date according to the specified format", - datePickerTimestampDesc: "The currently selected timestamp of the date (s)", - dateRangeStartDesc: "Currently selected start date", - dateRangeEndDesc: "Currently selected end date", - dateRangeStartTimestampDesc: "The currently selected timestamp of the start date (s)", - dateRangeEndTimestampDesc: "The currently selected timestamp of the end date (s)", - dateRangeFormattedValueDesc: "Formatted selected date according to the specified format", - dateRangeFormattedStartValueDesc: "Formatted start date according to the specified format", - dateRangeFormattedEndValueDesc: "Formatted end date according to the specified format", - timePickerValueDesc: "Currently selected time", - timePickerFormattedValueDesc: "Formatted selected time according to the specified format", - timeRangeStartDesc: "Currently selected start time", - timeRangeEndDesc: "Currently selected end time", - timeRangeFormattedValueDesc: "Formatted selected time according to the specified format", - timeRangeFormattedStartValueDesc: "Formatted start time according to the specified format", - timeRangeFormattedEndValueDesc: "Formatted end time according to the specified format", - }, - validationDesc: { - email: "Please enter a valid email address", - url: "Please enter a valid URL", - regex: "Please enter the content that matches the regex", - maxLength: "Excessive number of characters, current length {length}, maximum length {maxLength}", - minLength: "Insufficient number of characters, current length {length}, minimum length {minLength}", - maxValue: "Greater than the maximum, current {value}, maximum {max}", - minValue: "Less than the minimum, current {value}, minimum {min}", - maxTime: "Greater than the maximum time, current time {time}, the maximum time {maxTime}", - minTime: "Less than the minimum time, current time {time}, the minimum time {minTime}", - maxDate: "Greater than maximum date, current time {date}, maximum date {maxDate}", - minDate: "Less than minimum date, current time {date}, minimum date {minDate}", + "style": { + "resetTooltip": "Reset styles. Clear the input field to reset an individual style.", + "textColor": "Text Color", + "contrastText": "Contrast Text Color", + "generated": "Generated", + "customize": "Customize", + "staticText": "Static Text", + "accent": "Accent", + "validate": "Validation Message", + "border": "Border Color", + "borderRadius": "Border Radius", + "borderWidth": "Border Width", + "background": "Background", + "headerBackground": "Header Background", + "footerBackground": "Footer Background", + "fill": "Fill", + "track": "Track", + "links": "Links", + "thumb": "Thumb", + "thumbBorder": "Thumb Border", + "checked": "Checked", + "unchecked": "Unchecked", + "handle": "Handle", + "tags": "Tags", + "tagsText": "Tags Text", + "multiIcon": "Multiselect Icon", + "tabText": "Tab Text", + "tabAccent": "Tab Accent", + "checkedBackground": "Checked Background", + "uncheckedBackground": "Unchecked Background", + "uncheckedBorder": "Unchecked Border", + "indicatorBackground": "Indicator Background", + "tableCellText": "Cell Text", + "selectedRowBackground": "Selected Row Background", + "hoverRowBackground": "Hover Row Background", + "alternateRowBackground": "Alternate Row Background", + "tableHeaderBackground": "Header Background", + "tableHeaderText": "Header Text", + "toolbarBackground": "Toolbar Background", + "toolbarText": "Toolbar Text", + "pen": "Pen", + "footerIcon": "Footer Icon", + "tips": "Tips", + "margin": "Margin", + "padding": "Padding", + "marginLeft": "Margin Left", + "marginRight": "Margin Right", + "marginTop": "Margin Top", + "marginBottom": "Margin Bottom", + "containerheaderpadding": "Header Padding", + "containerfooterpadding": "Footer Padding", + "containerbodypadding": "Body Padding", + "minWidth": "Minimum Width", + "aspectRatio": "Aspect Ratio", + "textSize": "Text Size" + }, + "export": { + "hiddenDesc": "If true, the component is hidden", + "disabledDesc": "If true, the component is disabled and non-interactive", + "visibleDesc": "If true, the component is visible", + "inputValueDesc": "Current value of the input", + "invalidDesc": "Indicates whether the value is invalid", + "placeholderDesc": "Placeholder text when no value is set", + "requiredDesc": "If true, a valid value is required", + "submitDesc": "Submit Form", + "richTextEditorValueDesc": "Current value of the Editor", + "richTextEditorReadOnlyDesc": "If true, the Editor is read-only", + "richTextEditorHideToolBarDesc": "If true, the toolbar is hidden", + "jsonEditorDesc": "Current JSON data", + "sliderValueDesc": "Currently selected value", + "sliderMaxValueDesc": "Maximum value of the slider", + "sliderMinValueDesc": "Minimum value of the slider", + "sliderStartDesc": "Value of the selected starting point", + "sliderEndDesc": "Value of the selected end point", + "ratingValueDesc": "Currently selected rating", + "ratingMaxDesc": "Maximum rating value", + "datePickerValueDesc": "Currently selected date", + "datePickerFormattedValueDesc": "Formatted selected date", + "datePickerTimestampDesc": "Timestamp of the selected date", + "dateRangeStartDesc": "Start date of the range", + "dateRangeEndDesc": "End date of the range", + "dateRangeStartTimestampDesc": "Timestamp of the start date", + "dateRangeEndTimestampDesc": "Timestamp of the end date", + "dateRangeFormattedValueDesc": "Formatted date range", + "dateRangeFormattedStartValueDesc": "Formatted start date", + "dateRangeFormattedEndValueDesc": "Formatted end date", + "timePickerValueDesc": "Currently selected time", + "timePickerFormattedValueDesc": "Formatted selected time", + "timeRangeStartDesc": "Start time of the range", + "timeRangeEndDesc": "End time of the range", + "timeRangeFormattedValueDesc": "Formatted time range", + "timeRangeFormattedStartValueDesc": "Formatted start time", + "timeRangeFormattedEndValueDesc": "Formatted end time" + }, + "validationDesc": { + "email": "Please enter a valid email address", + "url": "Please enter a valid URL", + "regex": "Please match the specified pattern", + "maxLength": "Too many characters, current: {length}, maximum: {maxLength}", + "minLength": "Not enough characters, current: {length}, minimum: {minLength}", + "maxValue": "Value exceeds maximum, current: {value}, maximum: {max}", + "minValue": "Value below minimum, current: {value}, minimum: {min}", + "maxTime": "Time exceeds maximum, current: {time}, maximum: {maxTime}", + "minTime": "Time below minimum, current: {time}, minimum: {minTime}", + "maxDate": "Date exceeds maximum, current: {date}, maximum: {maxDate}", + "minDate": "Date below minimum, current: {date}, minimum: {minDate}" }, - // fifth part - query: { - noQueries: "No queries available. ", - queryTutorialButton: "View {value} documents", - datasource: "Data sources", - newDatasource: "New data source", - generalTab: "General", - notificationTab: "Notification", - advancedTab: "Advanced", - showFailNotification: "Show notification on failure", - failCondition: "Failure conditions", - failConditionTooltip1: "Customizes failure condition and corresponding notification.", - failConditionTooltip2: "If any condition returns true, the query will be marked as failure and triggers corresponding notification.", - showSuccessNotification: "Show notification on success", - successMessageLabel: "Success message", - successMessage: "Run success", - notifyDuration: "Duration", - notifyDurationTooltip: "Notification duration. Time unit can be s(second, default), ms(millisecond). Default value is {default}s. Maximum is {max}s.", - successMessageWithName: "{name} run success", - failMessageWithName: "{name} run failed: {result}", - showConfirmationModal: "Show a confirmation modal before running", - confirmationMessageLabel: "Confirmation message", - confirmationMessage: "Are you sure you want to run this query?", - newQuery: "New query", - newFolder: "New Folder", - recentlyUsed: "Recently used", - folder: "Folder", - folderNotEmpty: "Folder is not empty", - dataResponder: "Data responder", - tempState: "Temporary state", - transformer: "Transformer", - quickRestAPI: "REST Query", - quickStreamAPI: "Stream Query", - quickGraphql: "GraphQL Query", - lowcoderAPI: "Lowcoder API", - executeJSCode: "Run JavaScript Code", - importFromQueryLibrary: "Import from Query Library", - importFromFile: "Import from File", - triggerType: "Triggered when", - triggerTypeAuto: "Inputs change or on page load", - triggerTypePageLoad: "On page load", - triggerTypeManual: "Manually invoked", - chooseDataSource: "Data source", - method: "Method", - updateExceptionDataSourceTitle: "Update failing data source", - updateExceptionDataSourceContent: "Update the following query with the same failing data source:", - update: "Update", - disablePreparedStatement: "Disable prepared statements", - disablePreparedStatementTooltip: "Disabling prepared statements can generate SQL dynamically, but risks SQL injection", - timeout: "Timeout after", - timeoutTooltip: "Default unit: ms, supported input units: ms, s.\n Default value: {defaultSeconds} seconds\n Maximum value: {maxSeconds} seconds.\n\n E.g. 300 (i.e. 300ms), 800ms, 5s.", - periodic: "Run this query periodically", - periodicTime: "Period", - periodicTimeTooltip: "Period between successive executions. \n Default unit: ms, supported input units: ms, s.\n Minimum value: 100ms, periodical execution will be disabled for values below that.\n\n E.g. 300 (i.e. 300ms), 800ms, 5s.", - cancelPrevious: "Ignore the results of previous uncompleted executions.", - cancelPreviousTooltip: "", - dataSourceStatusError: "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if the previous executions did not complete, and the ignored executions will not trigger the event list of the query.", - success: "Success", - fail: "Failure", - successDesc: "Triggered when the execution success", - failDesc: "Triggered when the execution failed", - fixedDelayError: "Query not run", - execSuccess: "run success", - execFail: "run failed", - execIgnored: "The results of this query was ignored.", - deleteSuccessMessage: "Successfully deleted. You can use {undoKey} to undo.", - dataExportDesc: "Data obtained by the current query", - codeExportDesc: "Current query status code", - successExportDesc: "Whether the current query was executed successfully", - messageExportDesc: "Information returned by the current query", - extraExportDesc: "Other data in the current query", - isFetchingExportDesc: "Is the current query in the request", - runTimeExportDesc: "Current query execution time (ms)", - latestEndTimeExportDesc: "Last run time", - triggerTypeExportDesc: "Trigger type", - chooseResource: "Choose a resource", - createDataSource: "Create a new data source", - editDataSource: "Edit", - datasourceName: "Name", - datasourceNameRuleMessage: "Please enter a data source name", - generalSetting: "General settings", - advancedSetting: "Advanced settings", - port: "Port", - portRequiredMessage: "Please enter a port", - portErrorMessage: "Please enter a correct port", - connectionType: "Connection Type", - regular: "Regular", - host: "Host", - hostRequiredMessage: "Please enter a host domain name or IP address", - userName: "User name", - password: "Password", - encryptedServer: "-------- Encrypted on the server side --------", - uriRequiredMessage: "Please enter a URI", - urlRequiredMessage: "Please enter a URL", - uriErrorMessage: "Please enter a correct URI", - urlErrorMessage: "Please enter a correct URL", - httpRequiredMessage: "Please enter http:// or https://", - databaseName: "Database name", - databaseNameRequiredMessage: "Please enter a database name", - useSSL: "Use SSL", - userNameRequiredMessage: "Please enter your name", - passwordRequiredMessage: "Please enter your password", - authentication: "Authentication", - authenticationType: "Authentication Type", - sslCertVerificationType: "SSL Cert Verification", - sslCertVerificationTypeDefault: "Verify CA Cert", - sslCertVerificationTypeSelf: "Verify Self Signed Cert", - sslCertVerificationTypeDisabled: "Disabled", - selfSignedCert: "Self-signed Cert", - selfSignedCertRequireMsg: "Please enter your Certificate", - enableTurnOffPreparedStatement: "Enable toggling prepared statements for queries", - enableTurnOffPreparedStatementTooltip: "You can enable or disable prepared statements in query Advanced tab", - serviceName: "Service name", - serviceNameRequiredMessage: "Please enter your service name", - useSID: "Use SID", - connectSuccessfully: "Connection successful", - saveSuccessfully: "Saved", - database: "Database", - cloudHosting: "Cloud-hosted Lowcoder cannot access your local services with 127.0.0.1 or localhost. Try to connect public network data sources or use a reverse proxy fronting your private services.", - notCloudHosting: "For docker hosted deployment, Lowcoder uses bridge networks, so 127.0.0.1 and localhost are invalid for host addresses. To visit data sources on your local machine, please refer to this", - howToAccessHostDocLink: "How do I access the host API/DB", - returnList: "Return", - chooseDatasourceType: "Choose data source type", - viewDocuments: "Documents", - testConnection: "Test connection", - save: "Save", - whitelist: "Allowlist", - whitelistTooltip: "Add the following IP addresses of Lowcoder to your data source allowlist when needed.", - address: "Address: ", - nameExists: "Name {name} already exist", - jsQueryDocLink: "About JavaScript query", - dynamicDataSourceConfigLoadingText: "Extra datasource config loading...", - dynamicDataSourceConfigErrText: "Fail to load extra datasource config.", - retry: "Retry", + "query": { + "noQueries": "No Data Queries available.", + "queryTutorialButton": "View {value} documents", + "datasource": "Your Data Sources", + "newDatasource": "New Data Source", + "generalTab": "General", + "notificationTab": "Notification", + "advancedTab": "Advanced", + "showFailNotification": "Show Notification on Failure", + "failCondition": "Failure Conditions", + "failConditionTooltip1": "Customize failure conditions and corresponding notifications.", + "failConditionTooltip2": "If any condition returns true, the query is marked as failed and triggers the corresponding notification.", + "showSuccessNotification": "Show Notification on Success", + "successMessageLabel": "Success Message", + "successMessage": "Run Successful", + "notifyDuration": "Duration", + "notifyDurationTooltip": "Notification duration. Time unit can be 's' (second, default) or 'ms' (millisecond). Default value is {default}s. Maximum is {max}s.", + "successMessageWithName": "{name} run successful", + "failMessageWithName": "{name} run failed: {result}", + "showConfirmationModal": "Show Confirmation Modal Before Running", + "confirmationMessageLabel": "Confirmation Message", + "confirmationMessage": "Are you sure you want to run this Data Query?", + "newQuery": "New Data Query", + "newFolder": "New Folder", + "recentlyUsed": "Recently Used", + "folder": "Folder", + "folderNotEmpty": "Folder is not empty", + "dataResponder": "Data Responder", + "tempState": "Temporary State", + "transformer": "Transformer", + "quickRestAPI": "REST Query", + "quickStreamAPI": "Stream Query", + "quickGraphql": "GraphQL Query", + "lowcoderAPI": "Lowcoder API", + "executeJSCode": "Run JavaScript Code", + "importFromQueryLibrary": "Import from Query Library", + "importFromFile": "Import from File", + "triggerType": "Triggered when...", + "triggerTypeAuto": "Inputs Change or On Page Load", + "triggerTypePageLoad": "When the Application (Page) loads", + "triggerTypeManual": "Only when you trigger it manually", + "chooseDataSource": "Choose Data Source", + "method": "Method", + "updateExceptionDataSourceTitle": "Update Failing Data Source", + "updateExceptionDataSourceContent": "Update the following query with the same failing data source:", + "update": "Update", + "disablePreparedStatement": "Disable Prepared Statements", + "disablePreparedStatementTooltip": "Disabling prepared statements can generate dynamic SQL, but increases the risk of SQL injection", + "timeout": "Timeout After", + "timeoutTooltip": "Default unit: ms. Supported input units: ms, s. Default value: {defaultSeconds} seconds. Maximum value: {maxSeconds} seconds. E.g., 300 (i.e., 300ms), 800ms, 5s.", + "periodic": "Run This Data Query Periodically", + "periodicTime": "Period", + "periodicTimeTooltip": "Period between successive executions. Default unit: ms. Supported input units: ms, s. Minimum value: 100ms. Periodical execution is disabled for values below 100ms. E.g., 300 (i.e., 300ms), 800ms, 5s.", + "cancelPrevious": "Ignore Results of Previous Uncompleted Executions", + "cancelPreviousTooltip": "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if they did not complete, and these ignored executions will not trigger the event list of the query.", + "dataSourceStatusError": "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if the previous executions did not complete, and the ignored executions will not trigger the event list of the query.", + "success": "Success", + "fail": "Failure", + "successDesc": "Triggered When Execution is Successful", + "failDesc": "Triggered When Execution Fails", + "fixedDelayError": "Query Not Run", + "execSuccess": "Run Successful", + "execFail": "Run Failed", + "execIgnored": "The Results of This Query Were Ignored", + "deleteSuccessMessage": "Successfully Deleted. You Can Use {undoKey} to Undo", + "dataExportDesc": "Data Obtained by the Current Query", + "codeExportDesc": "Current Query Status Code", + "successExportDesc": "Whether the Current Query Was Executed Successfully", + "messageExportDesc": "Information Returned by the Current Query", + "extraExportDesc": "Other Data in the Current Query", + "isFetchingExportDesc": "Is the Current Query in the Request", + "runTimeExportDesc": "Current Query Execution Time (ms)", + "latestEndTimeExportDesc": "Last Run Time", + "triggerTypeExportDesc": "Trigger Type", + "chooseResource": "Choose a Resource", + "createDataSource": "Create a New Data Source", + "editDataSource": "Edit", + "datasourceName": "Name", + "datasourceNameRuleMessage": "Please Enter a Data Source Name", + "generalSetting": "General Settings", + "advancedSetting": "Advanced Settings", + "port": "Port", + "portRequiredMessage": "Please Enter a Port", + "portErrorMessage": "Please Enter a Correct Port", + "connectionType": "Connection Type", + "regular": "Regular", + "host": "Host", + "hostRequiredMessage": "Please Enter a Host Domain Name or IP Address", + "userName": "User Name", + "password": "Password", + "encryptedServer": "-------- Encrypted on the Server Side --------", + "uriRequiredMessage": "Please Enter a URI", + "urlRequiredMessage": "Please Enter a URL", + "uriErrorMessage": "Please Enter a Correct URI", + "urlErrorMessage": "Please Enter a Correct URL", + "httpRequiredMessage": "Please Enter http:// or https://", + "databaseName": "Database Name", + "databaseNameRequiredMessage": "Please Enter a Database Name", + "useSSL": "Use SSL", + "userNameRequiredMessage": "Please Enter Your Name", + "passwordRequiredMessage": "Please Enter Your Password", + "authentication": "Authentication", + "authenticationType": "Authentication Type", + "sslCertVerificationType": "SSL Cert Verification", + "sslCertVerificationTypeDefault": "Verify CA Cert", + "sslCertVerificationTypeSelf": "Verify Self-Signed Cert", + "sslCertVerificationTypeDisabled": "Disabled", + "selfSignedCert": "Self-Signed Cert", + "selfSignedCertRequireMsg": "Please Enter Your Certificate", + "enableTurnOffPreparedStatement": "Enable Toggling Prepared Statements for Queries", + "enableTurnOffPreparedStatementTooltip": "You can enable or disable prepared statements in the query's Advanced tab", + "serviceName": "Service Name", + "serviceNameRequiredMessage": "Please Enter Your Service Name", + "useSID": "Use SID", + "connectSuccessfully": "Connection Successful", + "saveSuccessfully": "Saved Successfully", + "database": "Database", + "cloudHosting": "Cloud-hosted Lowcoder cannot access local services using 127.0.0.1 or localhost. Try connecting to public network data sources or use a reverse proxy for private services.", + "notCloudHosting": "For docker-hosted deployment, Lowcoder uses bridge networks, so 127.0.0.1 and localhost are invalid for host addresses. To access local machine data sources, refer to", + "howToAccessHostDocLink": "How to Access Host API/DB", + "returnList": "Return", + "chooseDatasourceType": "Choose Data Source Type", + "viewDocuments": "View Documents", + "testConnection": "Test Connection", + "save": "Save", + "whitelist": "Allowlist", + "whitelistTooltip": "Add Lowcoder's IP addresses to your data source allowlist as needed.", + "address": "Address: ", + "nameExists": "Name {name} already exists", + "jsQueryDocLink": "About JavaScript Query", + "dynamicDataSourceConfigLoadingText": "Loading extra datasource configuration...", + "dynamicDataSourceConfigErrText": "Failed to load extra datasource configuration.", + "retry": "Retry" }, // sixth part - sqlQuery: { - keyValuePairs: "Key-value pairs", - object: "Object", - allowMultiModify: "Allow modify multi-row", - allowMultiModifyTooltip: "If this parameter is selected, all rows that meet the conditions are operated. Otherwise, only the first row that meets the conditions is operated", - array: "Array", - insertList: "Insert list", - insertListTooltip: "Value inserted when it does not exist", - filterRule: "Filter rule", - updateList: "Update list", - updateListTooltip: "Values updated as they exist can be overridden by the same insertion list values", - sqlMode: "SQL mode", - guiMode: "GUI mode", - operation: "Operation", - insert: "Insert", - upsert: "Insert, update if conflict", - update: "Update", - delete: "Delete", - bulkInsert: "Bulk insert", - bulkUpdate: "Bulk update", - table: "Table", - primaryKeyColumn: "Primary key column", - }, - EsQuery: { - rawCommand: "Raw command", - queryTutorialButton: "View Elasticsearch API documents", - request: "Request", - }, - googleSheets: { - rowIndex: "Row Index", - spreadsheetId: "Spreadsheet", - sheetName: "Sheet Name", - readData: "Read Data", - appendData: "Append Row", - updateData: "Update Row", - deleteData: "Delete Row", - clearData: "Clear Row", - serviceAccountRequireMessage: "Please enter your Service Account", - ASC: "ASC", - DESC: "DESC", - sort: "Sort", - sortPlaceholder: "Name", - }, - queryLibrary: { - export: "Export to JSON", - noInput: "The current query has no input", - inputName: "Name", - inputDesc: "Description", - emptyInputs: "No inputs", - clickToAdd: "Add", - chooseQuery: "Choose query", - viewQuery: "View query", - chooseVersion: "Choose version", - latest: "Latest", - publish: "Publish", - historyVersion: "History version", - deleteQueryLabel: "Delete query", - deleteQueryContent: "The query can't be recovered after being deleted. Delete the query?", - run: "Run", - readOnly: "Read only", - exit: "Exit", - recoverAppSnapshotContent: "Restore the current query to the version {version}", - searchPlaceholder: "Search query", - allQuery: "All queries", - deleteQueryTitle: "Delete query", - unnamed: "Unnamed", - publishNewVersion: "Publish new version", - publishSuccess: "Published", - version: "Version", - desc: "Description", - }, - snowflake: { - accountIdentifierTooltip: "See ", - extParamsTooltip: "Configure more connection parameters", - }, - lowcoderQuery: { - queryOrgUsers: "Query workspace users", - }, - redisQuery: { - rawCommand: "Raw command", - command: "Command", - queryTutorial: "View Redis Commands documents", - }, - httpQuery: { - bodyFormDataTooltip: "If you select {type}, the format of value should be {object}. Example: {example}", - text: "Text", - file: "File", - extraBodyTooltip: "Key values in Extra body will be appended in body with JSON or Form Data types", - forwardCookies: "Forward cookies", - forwardAllCookies: "Forward all cookies", - }, - smtpQuery: { - attachment: "Attachment", - attachmentTooltip: "Can use with file upload component, need convert data to: ", - MIMETypeUrl: "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", - sender: "Sender", - recipient: "Recipient", - carbonCopy: "Carbon copy", - blindCarbonCopy: "Blind carbon copy", - subject: "Subject", - content: "Content", - contentTooltip: "Support for input text or HTML", + "sqlQuery": { + "keyValuePairs": "Key-Value Pairs", + "object": "Object", + "allowMultiModify": "Allow Multi-Row Modification", + "allowMultiModifyTooltip": "If selected, all rows meeting the conditions are operated on. Otherwise, only the first row meeting the conditions is operated on.", + "array": "Array", + "insertList": "Insert List", + "insertListTooltip": "Values inserted when they do not exist", + "filterRule": "Filter Rule", + "updateList": "Update List", + "updateListTooltip": "Values updated as they exist can be overridden by the same insertion list values", + "sqlMode": "SQL Mode", + "guiMode": "GUI Mode", + "operation": "Operation", + "insert": "Insert", + "upsert": "Insert, but Update if Conflict", + "update": "Update", + "delete": "Delete", + "bulkInsert": "Bulk Insert", + "bulkUpdate": "Bulk Update", + "table": "Table", + "primaryKeyColumn": "Primary Key Column" + }, + "EsQuery": { + "rawCommand": "Raw Command", + "queryTutorialButton": "View Elasticsearch API Documents", + "request": "Request" + }, + "googleSheets": { + "rowIndex": "Row Index", + "spreadsheetId": "Spreadsheet ID", + "sheetName": "Sheet Name", + "readData": "Read Data", + "appendData": "Append Row", + "updateData": "Update Row", + "deleteData": "Delete Row", + "clearData": "Clear Row", + "serviceAccountRequireMessage": "Please Enter Your Service Account", + "ASC": "ASC", + "DESC": "DESC", + "sort": "Sort", + "sortPlaceholder": "Name" + }, + "queryLibrary": { + "export": "Export to JSON", + "noInput": "The Current Query Has No Input", + "inputName": "Name", + "inputDesc": "Description", + "emptyInputs": "No Inputs", + "clickToAdd": "Add", + "chooseQuery": "Choose Query", + "viewQuery": "View Query", + "chooseVersion": "Choose Version", + "latest": "Latest", + "publish": "Publish", + "historyVersion": "History Version", + "deleteQueryLabel": "Delete Query", + "deleteQueryContent": "The query cannot be recovered after deletion. Delete the query?", + "run": "Run", + "readOnly": "Read Only", + "exit": "Exit", + "recoverAppSnapshotContent": "Restore the current query to version {version}", + "searchPlaceholder": "Search Query", + "allQuery": "All Queries", + "deleteQueryTitle": "Delete Query", + "unnamed": "Unnamed", + "publishNewVersion": "Publish New Version", + "publishSuccess": "Published Successfully", + "version": "Version", + "desc": "Description" + }, + "snowflake": { + "accountIdentifierTooltip": "See ", + "extParamsTooltip": "Configure Additional Connection Parameters" + }, + "lowcoderQuery": { + "queryOrgUsers": "Query Workspace Users" + }, + "redisQuery": { + "rawCommand": "Raw Command", + "command": "Command", + "queryTutorial": "View Redis Commands Documents" + }, + "httpQuery": { + "bodyFormDataTooltip": "If {type} is selected, the value format should be {object}. Example: {example}", + "text": "Text", + "file": "File", + "extraBodyTooltip": "Key-values in Extra Body will be appended to the body with JSON or Form Data types", + "forwardCookies": "Forward Cookies", + "forwardAllCookies": "Forward All Cookies" + }, + "smtpQuery": { + "attachment": "Attachment", + "attachmentTooltip": "Can be used with file upload component, data needs to be converted to: ", + "MIMETypeUrl": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", + "sender": "Sender", + "recipient": "Recipient", + "carbonCopy": "Carbon Copy", + "blindCarbonCopy": "Blind Carbon Copy", + "subject": "Subject", + "content": "Content", + "contentTooltip": "Supports input text or HTML" }, // seventh part - uiCompCategory: { - dashboards: "Dashboards & Reporting", - layout: "Layout & Navigation", - forms: "Data Collection and Forms", - collaboration: "Meeting & Collaboration", - projectmanagement: "Project Management", - scheduling: "Calendar and Scheduling", - documents: "Document and File Management", - itemHandling: "Item & Signature handling", - multimedia: "Multimedia & Animation", - integration: "Integration & Extension", - }, - uiComp: { - autoCompleteCompName: "Auto Complete", - autoCompleteCompDesc: "Auto Complete input field", - inputCompName: "Input", - inputCompDesc: "Text Input field", - inputCompKeywords: "text, textinput, input", - textAreaCompName: "Text Area", - textAreaCompDesc: "Text Area", - textAreaCompKeywords: "", - passwordCompName: "Password", - passwordCompDesc: "Password field", - passwordCompKeywords: "", - richTextEditorCompName: "Rich Text Editor", - richTextEditorCompDesc: "Embeded Rich Text Editor", - richTextEditorCompKeywords: "Text editing, rich text, editor", - numberInputCompName: "Number Input", - numberInputCompDesc: "Number Input field", - numberInputCompKeywords: "", - sliderCompName: "Slider", - sliderCompDesc: "Slider component", - sliderCompKeywords: "", - rangeSliderCompName: "Range Slider", - rangeSliderCompDesc: "Range Slider input", - rangeSliderCompKeywords: "", - ratingCompName: "Rating", - ratingCompDesc: "Rating display and input", - ratingCompKeywords: "", - switchCompName: "Switch", - switchCompDesc: "Switch display and input", - switchCompKeywords: "", - selectCompName: "Select", - selectCompDesc: "Select component", - selectCompKeywords: "", - multiSelectCompName: "Multiselect", - multiSelectCompDesc: "Multiselect component", - multiSelectCompKeywords: "", - cascaderCompName: "Cascader", - cascaderCompDesc: "Cascader component", - cascaderCompKeywords: "", - checkboxCompName: "Checkbox", - checkboxCompDesc: "Checkbox component", - checkboxCompKeywords: "", - radioCompName: "Radio", - radioCompDesc: "Radio component", - radioCompKeywords: "", - segmentedControlCompName: "Segmented Control", - segmentedControlCompDesc: "Segmented Control component", - segmentedControlCompKeywords: "", - fileUploadCompName: "File Upload", - fileUploadCompDesc: "File Upload component", - fileUploadCompKeywords: "", - dateCompName: "Date", - dateCompDesc: "Date component", - dateCompKeywords: "", - dateRangeCompName: "Date Range", - dateRangeCompDesc: "Date Range component", - dateRangeCompKeywords: "", - timeCompName: "Time", - timeCompDesc: "Time component", - timeCompKeywords: "", - timeRangeCompName: "Time Range", - timeRangeCompDesc: "Time Range component", - timeRangeCompKeywords: "", - buttonCompName: "Form Button", - buttonCompDesc: "Button component", - buttonCompKeywords: "", - linkCompName: "Link", - linkCompDesc: "Link component", - linkCompKeywords: "", - scannerCompName: "Scanner", - scannerCompDesc: "Scanner component", - scannerCompKeywords: "", - dropdownCompName: "Dropdown", - dropdownCompDesc: "Dropdown component", - dropdownCompKeywords: "", - toggleButtonCompName: "Toggle Button", - toggleButtonCompDesc: "Toggle Button component", - toggleButtonCompKeywords: "", - textCompName: "Text Display", - textCompDesc: "Text component", - textCompKeywords: "", - tableCompName: "Table", - tableCompDesc: "Table component", - tableCompKeywords: "", - imageCompName: "Image", - imageCompDesc: "Image component", - imageCompKeywords: "", - progressCompName: "Progress", - progressCompDesc: "Progress component", - progressCompKeywords: "", - progressCircleCompName: "Process Circle", - progressCircleCompDesc: "Process Circle component", - progressCircleCompKeywords: "", - fileViewerCompName: "File Viewer", - fileViewerCompDesc: "File Viewer component", - fileViewerCompKeywords: "", - dividerCompName: "Divider", - dividerCompDesc: "Divider component", - dividerCompKeywords: "", - qrCodeCompName: "QR Code", - qrCodeCompDesc: "QR Code component", - qrCodeCompKeywords: "", - formCompName: "Form", - formCompDesc: "Form component", - formCompKeywords: "", - jsonSchemaFormCompName: "JSON Schema Form", - jsonSchemaFormCompDesc: "JSON Schema Form component", - jsonSchemaFormCompKeywords: "", - containerCompName: "Container", - containerCompDesc: "Container component", - containerCompKeywords: "", - collapsibleContainerCompName: "Collapsible Container", - collapsibleContainerCompDesc: "Collapsible Container component", - collapsibleContainerCompKeywords: "", - tabbedContainerCompName: "Tabbed Container", - tabbedContainerCompDesc: "Tabbed Container component", - tabbedContainerCompKeywords: "", - modalCompName: "Modal", - modalCompDesc: "Modal component", - modalCompKeywords: "", - listViewCompName: "List View", - listViewCompDesc: "List View component", - listViewCompKeywords: "", - gridCompName: "Grid", - gridCompDesc: "Grid component", - gridCompKeywords: "", - navigationCompName: "Navigation", - navigationCompDesc: "Navigation component", - navigationCompKeywords: "", - iframeCompName: "IFrame", - iframeCompDesc: "IFrame component", - iframeCompKeywords: "", - customCompName: "Custom Component", - customCompDesc: "Custom Component", - customCompKeywords: "", - moduleCompName: "Module", - moduleCompDesc: "Module component", - moduleCompKeywords: "", - jsonExplorerCompName: "JSON Explorer", - jsonExplorerCompDesc: "JSON Explorer component", - jsonExplorerCompKeywords: "", - jsonEditorCompName: "JSON Editor", - jsonEditorCompDesc: "JSON Editor component", - jsonEditorCompKeywords: "", - treeCompName: "Tree", - treeCompDesc: "Tree component", - treeCompKeywords: "", - treeSelectCompName: "Tree Select", - treeSelectCompDesc: "Tree Select component", - treeSelectCompKeywords: "", - audioCompName: "Audio", - audioCompDesc: "Audio component", - audioCompKeywords: "", - videoCompName: "Video", - sharingCompName: "Sharing", - videoCompDesc: "Video component", - videoCompKeywords: "", - drawerCompName: "Drawer", - drawerCompDesc: "Drawer component", - drawerCompKeywords: "", - chartCompName: "Chart", - chartCompDesc: "Chart component", - chartCompKeywords: "", - carouselCompName: "Image Carousel", - carouselCompDesc: "Image Carousel component", - carouselCompKeywords: "", - imageEditorCompName: "Image Editor", - imageEditorCompDesc: "Image Editor component", - imageEditorCompKeywords: "", - mermaidCompName: "Mermaid Charts", - mermaidCompDesc: "Render Mermaid Charts based on text", - mermaidCompKeywords: "", - calendarCompName: "Calendar", - calendarCompDesc: "Calendar component", - calendarCompKeywords: "", - signatureCompName: "Signature", - signatureCompDesc: "Signature component", - signatureCompKeywords: "", - jsonLottieCompName: "Lottie Animation", - jsonLottieCompDesc: "Lottie Animation", - jsonLottieCompKeywords: "", - timelineCompName: "Time Line", - timelineCompDesc: "Time Line", - timelineCompKeywords: "", - commentCompName: "Comment", - commentCompDesc: "Comment", - commentCompKeywords: "", - mentionCompName: "mention", - mentionCompDesc: "mention", - mentionCompKeywords: "", - autoCompleteCompKeywords: "", - responsiveLayoutCompName: "Responsive Layout", - responsiveLayoutCompDesc: "Responsive Layout", - responsiveLayoutCompKeywords: "", + "uiCompCategory": { + "dashboards": "Dashboards & Reporting", + "layout": "Layout & Navigation", + "forms": "Data Collection & Forms", + "collaboration": "Meeting & Collaboration", + "projectmanagement": "Project Management", + "scheduling": "Calendar & Scheduling", + "documents": "Document & File Management", + "itemHandling": "Item & Signature Handling", + "multimedia": "Multimedia & Animation", + "integration": "Integration & Extension" + }, + "uiComp": { + "autoCompleteCompName": "Auto Complete", + "autoCompleteCompDesc": "An input field that provides suggestions as you type, enhancing user experience and accuracy.", + "autoCompleteCompKeywords": "suggestions, autocomplete, typing, input", + + "inputCompName": "Input", + "inputCompDesc": "A basic text input field allowing users to enter and edit text.", + "inputCompKeywords": "text, input, field, edit", + + "textAreaCompName": "Text Area", + "textAreaCompDesc": "A multi-line text input for longer form content, such as comments or descriptions.", + "textAreaCompKeywords": "multiline, textarea, input, text", + + "passwordCompName": "Password", + "passwordCompDesc": "A secure field for password input, masking the characters for privacy.", + "passwordCompKeywords": "password, security, input, hidden", + + "richTextEditorCompName": "Rich Text Editor", + "richTextEditorCompDesc": "An advanced text editor supporting rich formatting options like bold, italics, and lists.", + "richTextEditorCompKeywords": "editor, text, formatting, rich content", + + "numberInputCompName": "Number Input", + "numberInputCompDesc": "A field specifically for numerical input, with controls for incrementing and decrementing values.", + "numberInputCompKeywords": "number, input, increment, decrement", + + "sliderCompName": "Slider", + "sliderCompDesc": "A graphical slider component for selecting a value or range within a defined scale.", + "sliderCompKeywords": "slider, range, input, graphical", + + "rangeSliderCompName": "Range Slider", + "rangeSliderCompDesc": "A dual-handle slider to select a range of values, useful for filtering or setting limits.", + "rangeSliderCompKeywords": "range, slider, dual-handle, filter", + + "ratingCompName": "Rating", + "ratingCompDesc": "A component for capturing user ratings, displayed as stars.", + "ratingCompKeywords": "rating, stars, feedback, input", + + "switchCompName": "Switch", + "switchCompDesc": "A toggle switch for on/off or yes/no type decisions.", + "switchCompKeywords": "toggle, switch, on/off, control", + + "selectCompName": "Select", + "selectCompDesc": "A dropdown menu for selecting from a list of options.", + "selectCompKeywords": "dropdown, select, options, menu", + + "multiSelectCompName": "Multiselect", + "multiSelectCompDesc": "A component that allows selection of multiple items from a dropdown list.", + "multiSelectCompKeywords": "multiselect, multiple, dropdown, choices", + + "cascaderCompName": "Cascader", + "cascaderCompDesc": "A multi-level dropdown for hierarchical data selection, such as selecting a location.", + "cascaderCompKeywords": "cascader, hierarchical, dropdown, levels", + + "checkboxCompName": "Checkbox", + "checkboxCompDesc": "A standard checkbox for options that can be selected or deselected.", + "checkboxCompKeywords": "checkbox, options, select, toggle", + + "radioCompName": "Radio", + "radioCompDesc": "Radio buttons for selecting one option from a set, where only one choice is allowed.", + "radioCompKeywords": "radio, buttons, select, single choice", + + "segmentedControlCompName": "Segmented Control", + "segmentedControlCompDesc": "A control with segmented options for quickly toggling between multiple choices.", + "segmentedControlCompKeywords": "segmented, control, toggle, options", + + "fileUploadCompName": "File Upload", + "fileUploadCompDesc": "A component for uploading files, with support for drag-and-drop and file selection.", + "fileUploadCompKeywords": "file, upload, drag and drop, select", + + "dateCompName": "Date", + "dateCompDesc": "A date picker component for selecting dates from a calendar interface.", + "dateCompKeywords": "date, picker, calendar, select", + + "dateRangeCompName": "Date Range", + "dateRangeCompDesc": "A component for selecting a range of dates, useful for booking systems or filters.", + "dateRangeCompKeywords": "daterange, select, booking, filter", + + "timeCompName": "Time", + "timeCompDesc": "A time selection component for choosing specific times of the day.", + "timeCompKeywords": "time, picker, select, clock", + + "timeRangeCompName": "Time Range", + "timeRangeCompDesc": "A component for selecting a range of time, often used in scheduling applications.", + "timeRangeCompKeywords": "timerange, select, scheduling, duration", + + "buttonCompName": "Form Button", + "buttonCompDesc": "A versatile button component for submitting forms, triggering actions, or navigating.", + "buttonCompKeywords": "button, submit, action, navigate", + + "linkCompName": "Link", + "linkCompDesc": "A hyperlink display component for navigation or linking to external resources.", + "linkCompKeywords": "link, hyperlink, navigation, external", + + "scannerCompName": "Scanner", + "scannerCompDesc": "A component for scanning barcodes, QR codes, and other similar data.", + "scannerCompKeywords": "scanner, barcode, QR code, scan", + + "dropdownCompName": "Dropdown", + "dropdownCompDesc": "A dropdown menu for compactly displaying a list of options.", + "dropdownCompKeywords": "dropdown, menu, options, select", + + "toggleButtonCompName": "Toggle Button", + "toggleButtonCompDesc": "A button that can toggle between two states or options.", + "toggleButtonCompKeywords": "toggle, button, switch, state", + + "textCompName": "Text Display", + "textCompDesc": "A simple component for displaying static or dynamic text content inclusive Markdown formatting.", + "textCompKeywords": "text, display, static, dynamic", + + "tableCompName": "Table", + "tableCompDesc": "A rich table component for displaying data in a structured table format, with options for sorting and filtering, tree Data display and extensible Rows.", + "tableCompKeywords": "table, data, sorting, filtering", + + "imageCompName": "Image", + "imageCompDesc": "A component for displaying images, supporting various formats based on URI or Base64 Data.", + "imageCompKeywords": "image, display, media, Base64", + + "progressCompName": "Progress", + "progressCompDesc": "A visual indicator of progress, typically used to show the completion status of a task.", + "progressCompKeywords": "progress, indicator, status, task", + + "progressCircleCompName": "Progress Circle", + "progressCircleCompDesc": "A circular progress indicator, often used for loading states or time-bound tasks.", + "progressCircleCompKeywords": "circle, progress, indicator, loading", + + "fileViewerCompName": "File Viewer", + "fileViewerCompDesc": "A component for viewing various types of files, including documents and images.", + "fileViewerCompKeywords": "file, viewer, document, image", + + "dividerCompName": "Divider", + "dividerCompDesc": "A visual divider component, used to separate content or sections in a layout.", + "dividerCompKeywords": "divider, separator, layout, design", + + "qrCodeCompName": "QR Code", + "qrCodeCompDesc": "A component for displaying QR codes, useful for quick scanning and information transfer.", + "qrCodeCompKeywords": "QR code, scanning, barcode, information", + + "formCompName": "Form", + "formCompDesc": "A container component for building structured forms with various input types.", + "formCompKeywords": "form, input, container, structure", + + "jsonSchemaFormCompName": "JSON Schema Form", + "jsonSchemaFormCompDesc": "A dynamic form component generated based on a JSON schema.", + "jsonSchemaFormCompKeywords": "JSON, schema, form, dynamic", + + "containerCompName": "Container", + "containerCompDesc": "A general-purpose container for layout and organization of UI elements.", + "containerCompKeywords": "container, layout, organization, UI", + + "collapsibleContainerCompName": "Collapsible Container", + "collapsibleContainerCompDesc": "A container that can be expanded or collapsed, ideal for managing content visibility.", + "collapsibleContainerCompKeywords": "collapsible, container, expand, collapse", + + "tabbedContainerCompName": "Tabbed Container", + "tabbedContainerCompDesc": "A container with tabbed navigation for organizing content into separate panels.", + "tabbedContainerCompKeywords": "tabbed, container, navigation, panels", + + "modalCompName": "Modal", + "modalCompDesc": "A pop-up modal component for displaying content, alerts, or forms in focus.", + "modalCompKeywords": "modal, popup, alert, form", + + "listViewCompName": "List View", + "listViewCompDesc": "A component for displaying a list of items or data, where you can place other components inside. Like a repeater.", + "listViewCompKeywords": "list, view, display, repeater", + + "gridCompName": "Grid", + "gridCompDesc": "A flexible grid component for creating structured layouts with rows and columns as an extension to the List View component.", + "gridCompKeywords": "grid, layout, rows, columns", + + "navigationCompName": "Navigation", + "navigationCompDesc": "A navigation component for creating menus, breadcrumbs, or tabs for site navigation.", + "navigationCompKeywords": "navigation, menu, breadcrumbs, tabs", + + "iframeCompName": "IFrame", + "iframeCompDesc": "An inline frame component for embedding external web pages and apps or content within the application.", + "iframeCompKeywords": "iframe, embed, web page, content", + + "customCompName": "Custom Component", + "customCompDesc": "A flexible, programmable component for creating unique, user-defined UI elements tailored to your specific needs.", + "customCompKeywords": "custom, user-defined, flexible, programmable", + + "moduleCompName": "Module", + "moduleCompDesc": "Use Modules to create Micro-Apps designed for encapsulating specific functionalities or features. Modules can be then embedded and reused across all Apps.", + "moduleCompKeywords": "module, micro-app, functionality, reusable", + + "jsonExplorerCompName": "JSON Explorer", + "jsonExplorerCompDesc": "A component for visually exploring and interacting with JSON data structures.", + "jsonExplorerCompKeywords": "JSON, explorer, data, structure", + + "jsonEditorCompName": "JSON Editor", + "jsonEditorCompDesc": "An editor component for creating and modifying JSON data with validation and syntax highlighting.", + "jsonEditorCompKeywords": "JSON, editor, modify, validate", + + "treeCompName": "Tree", + "treeCompDesc": "A tree structure component for displaying hierarchical data, such as file systems or organizational charts.", + "treeCompKeywords": "tree, hierarchical, data, structure", + + "treeSelectCompName": "Tree Select", + "treeSelectCompDesc": "A selection component that presents options in a hierarchical tree format, allowing for organized and nested selections.", + "treeSelectCompKeywords": "tree, select, hierarchical, nested", + + "audioCompName": "Audio", + "audioCompDesc": "A component for embedding audio content, with controls for playback and volume adjustment.", + "audioCompKeywords": "audio, playback, sound, music", + + "videoCompName": "Video", + "videoCompDesc": "A multimedia component for embedding and playing video content, with support for various formats.", + "videoCompKeywords": "video, multimedia, playback, embed", + + "drawerCompName": "Drawer", + "drawerCompDesc": "A sliding panel component that can be used for additional navigation or content display, typically emerging from the edge of the screen.", + "drawerCompKeywords": "drawer, sliding, panel, navigation", + + "chartCompName": "Chart", + "chartCompDesc": "A versatile component for visualizing data through various types of charts and graphs.", + "chartCompKeywords": "chart, graph, data, visualization", + + "carouselCompName": "Image Carousel", + "carouselCompDesc": "A rotating carousel component for showcasing images, banners, or content slides.", + "carouselCompKeywords": "carousel, images, rotation, showcase", + + "imageEditorCompName": "Image Editor", + "imageEditorCompDesc": "An interactive component for editing and manipulating images, offering various tools and filters.", + "imageEditorCompKeywords": "image, editor, manipulate, tools", + + "mermaidCompName": "Mermaid Charts", + "mermaidCompDesc": "A component for rendering complex diagrams and flowcharts based on Mermaid syntax.", + "mermaidCompKeywords": "mermaid, charts, diagrams, flowcharts", + + "calendarCompName": "Calendar", + "calendarCompDesc": "A calendar component for displaying dates and events, with options for month, week, or day views.", + "calendarCompKeywords": "calendar, dates, events, scheduling", + + "signatureCompName": "Signature", + "signatureCompDesc": "A component for capturing digital signatures, useful for approvals and verification processes.", + "signatureCompKeywords": "signature, digital, approval, verification", + + "jsonLottieCompName": "Lottie Animation", + "jsonLottieCompDesc": "A component for displaying Lottie animations, providing lightweight and scalable animations based on JSON data.", + "jsonLottieCompKeywords": "lottie, animation, JSON, scalable", + + "timelineCompName": "Timeline", + "timelineCompDesc": "A component for displaying events or actions in a chronological order, visually represented along a linear timeline.", + "timelineCompKeywords": "timeline, events, chronological, history", + + "commentCompName": "Comment", + "commentCompDesc": "A component for adding and displaying user comments, supporting threaded replies and user interaction.", + "commentCompKeywords": "comment, discussion, user interaction, feedback", + + "mentionCompName": "Mention", + "mentionCompDesc": "A component that supports mentioning users or tags within text content, typically used in social media or collaborative platforms.", + "mentionCompKeywords": "mention, tag, user, social media", + + "responsiveLayoutCompName": "Responsive Layout", + "responsiveLayoutCompDesc": "A layout component designed to adapt and respond to different screen sizes and devices, ensuring a consistent user experience.", + "responsiveLayoutCompKeywords": "responsive, layout, adapt, screen size" }, // eighth part - comp: { - menuViewDocs: "View documentation", - menuViewPlayground: "View playground", - menuUpgradeToLatest: "Upgrade to latest version", - nameNotEmpty: "Can not be empty", - nameRegex: "Must start with a letter and contain only letters, digits, and underscores (_)", - nameJSKeyword: "Can not be a Javascript keyword", - nameGlobalVariable: "Can not be global variable name", - nameExists: "Name {name} already exist", - getLatestVersionMetaError: "Failed to fetch latest version, please try later.", - needNotUpgrade: "Current version is already latest.", - compNotFoundInLatestVersion: "Current component not found in the latest version.", - upgradeSuccess: "Successfully upgraded to latest version.", - searchProp: "Search", - }, - jsonSchemaForm: { - retry: "Retry", - resetAfterSubmit: "Reset after successful submit", - jsonSchema: "JSON schema", - uiSchema: "UI schema", - schemaTooltip: "See", - defaultData: "Default data", - dataDesc: "Current form data", - required: "Required", - maximum: "The maximum value is {value}", - minimum: "The minimum value is {value}", - exclusiveMaximum: "Should be less than {value}", - exclusiveMinimum: "Should be greater than {value}", - multipleOf: "Should be a multiple of {value}", - minLength: "At least {value} characters", - maxLength: "At most {value} characters", - pattern: "Should match the pattern {value}", - format: "Should match the format {value}", - }, - select: { - inputValueDesc: "Input search value", - }, - customComp: { - text: "It's a good day.", - triggerQuery: "Trigger query", - updateData: "Update data", - updateText: "I'm also in a good mood!", - sdkGlobalVarName: "Lowcoder", - }, - tree: { - selectType: "Select type", - noSelect: "No select", - singleSelect: "Single select", - multiSelect: "Multi select", - checkbox: "Checkbox", - checkedStrategy: "Checked strategy", - showAll: "All nodes", - showParent: "Only parent nodes", - showChild: "Only child nodes", - autoExpandParent: "Auto expand parent", - checkStrictly: "Check strictly", - checkStrictlyTooltip: "Check treeNode precisely; parent treeNode and children treeNodes are not associated", - treeData: "Tree data", - treeDataDesc: "Current tree data", - value: "Default values", - valueDesc: "Current values", - expanded: "Expanded values", - expandedDesc: "Current expanded values", - defaultExpandAll: "Default expand all nodes", - showLine: "Show line", - showLeafIcon: "Show leaf icon", - treeDataAsia: "Asia", - treeDataChina: "China", - treeDataBeijing: "Beijing", - treeDataShanghai: "Shanghai", - treeDataJapan: "Japan", - treeDataEurope: "Europe", - treeDataEngland: "England", - treeDataFrance: "France", - treeDataGermany: "Germany", - treeDataNorthAmerica: "North America", - helpLabel: "Node label", - helpValue: "Unique node value in tree", - helpChildren: "Children nodes", - helpDisabled: "Disables the node", - helpSelectable: "Whether node is selectable (single/multi select type)", - helpCheckable: "Whether display Checkbox (Checkbox type)", - helpDisableCheckbox: "Disables the Checkbox (Checkbox type)", - }, - moduleContainer: { - eventTest: "Event Test", - methodTest: "Method Test", - inputTest: "Input Test", - }, - password: { - label: "Password", - visibilityToggle: "Show visibility toggle", - }, - richTextEditor: { - toolbar: "Customine Toolbar", - toolbarDescription: "you can customize the toolbar. Plase refer to: https://quilljs.com/docs/modules/toolbar/ for more details.", - placeholder: "Please input...", - hideToolbar: "Hide toolbar", - content: "Content", - title: "Title", - save: "Save", - link: "Link: ", - edit: "Edit", - remove: "Remove", + "comp": { + "menuViewDocs": "View Documentation", + "menuViewPlayground": "View interactive Playground", + "menuUpgradeToLatest": "Upgrade to Latest Version", + "nameNotEmpty": "Cannot Be Empty", + "nameRegex": "Must Start with a Letter and Contain Only Letters, Digits, and Underscores (_)", + "nameJSKeyword": "Cannot Be a JavaScript Keyword", + "nameGlobalVariable": "Cannot Be Global Variable Name", + "nameExists": "Name {name} Already Exists", + "getLatestVersionMetaError": "Failed to Fetch Latest Version, Please Try Later.", + "needNotUpgrade": "Current Version is Already Latest.", + "compNotFoundInLatestVersion": "Current Component Not Found in the Latest Version.", + "upgradeSuccess": "Successfully Upgraded to Latest Version.", + "searchProp": "Search" + }, + "jsonSchemaForm": { + "retry": "Retry", + "resetAfterSubmit": "Reset After Successful Form Submit", + "jsonSchema": "JSON Schema", + "uiSchema": "UI Schema", + "schemaTooltip": "See", + "defaultData": "Pre-filled Form Data", + "dataDesc": "Current Form Data", + "required": "Required", + "maximum": "The Maximum Value is {value}", + "minimum": "The Minimum Value is {value}", + "exclusiveMaximum": "Should Be Less Than {value}", + "exclusiveMinimum": "Should Be Greater Than {value}", + "multipleOf": "Should Be a Multiple of {value}", + "minLength": "At Least {value} Characters", + "maxLength": "At Most {value} Characters", + "pattern": "Should Match the Pattern {value}", + "format": "Should Match the Format {value}" + }, + "select": { + "inputValueDesc": "Input Search Value" + }, + "customComp": { + "text": "It's a Good Day.", + "triggerQuery": "Trigger Query", + "updateData": "Update Data", + "updateText": "I'm Also in a Good Mood to Develop now my own Custom Component with Lowcoder!", + "sdkGlobalVarName": "Lowcoder", + "data": "Data you want to pass to the Custom Component", + "code": "Code of your Custom Component", + }, + "tree": { + "selectType": "Select Type", + "noSelect": "No Select", + "singleSelect": "Single Select", + "multiSelect": "Multi Select", + "checkbox": "Checkbox", + "checkedStrategy": "Checked Strategy", + "showAll": "All Nodes", + "showParent": "Only Parent Nodes", + "showChild": "Only Child Nodes", + "autoExpandParent": "Auto Expand Parent", + "checkStrictly": "Check Strictly", + "checkStrictlyTooltip": "Check TreeNode Precisely; Parent TreeNode and Children TreeNodes are Not Associated", + "treeData": "Tree Data", + "treeDataDesc": "Current Tree Data", + "value": "Default Values", + "valueDesc": "Current Values", + "expanded": "Expanded Values", + "expandedDesc": "Current Expanded Values", + "defaultExpandAll": "Default Expand All Nodes", + "showLine": "Show Line", + "showLeafIcon": "Show Leaf Icon", + "treeDataAsia": "Asia", + "treeDataChina": "China", + "treeDataBeijing": "Beijing", + "treeDataShanghai": "Shanghai", + "treeDataJapan": "Japan", + "treeDataEurope": "Europe", + "treeDataEngland": "England", + "treeDataFrance": "France", + "treeDataGermany": "Germany", + "treeDataNorthAmerica": "North America", + "helpLabel": "Node Label", + "helpValue": "Unique Node Value in Tree", + "helpChildren": "Children Nodes", + "helpDisabled": "Disables the Node", + "helpSelectable": "Whether Node is Selectable (Single/Multi Select Type)", + "helpCheckable": "Whether to Display Checkbox (Checkbox Type)", + "helpDisableCheckbox": "Disables the Checkbox (Checkbox Type)" + }, + "moduleContainer": { + "eventTest": "Event Test", + "methodTest": "Method Test", + "inputTest": "Input Test" + }, + "password": { + "label": "Password", + "visibilityToggle": "Show Visibility Toggle" + }, + "richTextEditor": { + "toolbar": "Customize Toolbar", + "toolbarDescription": "You can customize the toolbar. Please refer to: https://quilljs.com/docs/modules/toolbar/ for more details.", + "placeholder": "Please Input...", + "hideToolbar": "Hide Toolbar", + "content": "Content", + "title": "Title", + "save": "Save", + "link": "Link: ", + "edit": "Edit", + "remove": "Remove", + "defaultValue" : "Base Content" }, // ninth part - numberInput: { - formatter: "Format", - precision: "Precision", - allowNull: "Allow null value", - thousandsSeparator: "Show thousands separator", - controls: "Show increment/decrement buttons", - step: "Step", - standard: "Standard", - percent: "Percent", - }, - slider: { - step: "Step", - stepTooltip: "The value must be greater than 0 and divisible by (max-min)", - }, - rating: { - max: "Max rating", - allowHalf: "Allow half rating points", - }, - optionsControl: { - optionList: "Options", - option: "Option", - optionI: "Option {i}", - viewDocs: "View docs", - tip: 'The "item" and "i" variables represent the value and index of each item in the data array', - }, - radio: { - options: "Options", - horizontal: "Horizontal", - horizontalTooltip: "The horizontal layout wraps itself when it runs out of space", - vertical: "Vertical", - verticalTooltip: "The vertical layout will always be displayed in a single column", - autoColumns: "Auto column", - autoColumnsTooltip: "The auto column layout automatically rearranges the order as space permits and displays as multiple columns", - }, - cascader: { - options: "Data", - }, - selectInput: { - valueDesc: "Currently selected value", - selectedIndexDesc: "The index of the currently selected value, or -1 if no value is selected", - selectedLabelDesc: "The label of the currently selected value", - }, - file: { - typeErrorMsg: "Must be a number with a valid file size unit, or a unitless number of bytes.", - fileEmptyErrorMsg: "upload failed. The file size is empty.", - fileSizeExceedErrorMsg: "upload failed. The file size exceeds the limit.", - minSize: "Min size", - minSizeTooltip: `The minimum size of uploaded files with optional file size units (e.g., "5kb", "10 MB"). If no unit is provided, the value will be considered a number of bytes.`, - maxSize: "Max size", - maxSizeTooltip: `The maximum size of uploaded files with optional file size units (e.g., "5kb", "10 MB"). If no unit is provided, the value will be considered a number of bytes.`, - single: "Single", - multiple: "Multiple", - directory: "Directory", - upload: "Browse", - fileType: "File types", - reference: "Please refer to", - fileTypeTooltipUrl: "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", - fileTypeTooltip: "unique file type specifiers", - uploadType: "Upload type", - showUploadList: "Show upload list", - maxFiles: "Max files", - filesValueDesc: "The contents of the currently uploaded file are Base64 encoded", - filesDesc: "List of the current uploaded files. For details, refer to", - clearValueDesc: "Clear all files", - parseFiles: "Parse files", - parsedValueTooltip1: "If parseFiles is true, upload files will parse to object, array, or string. Parsed data can be accessed via the parsedValue array.", - parsedValueTooltip2: "Supports Excel, JSON, CSV, and text files. Other formats will return null.", - }, - date: { - format: "Format", - formatTip: "Support:\n" + "YYYY-MM-DD HH:mm:ss\nYYYY-MM-DD\nTimestamp", - reference: "Please refer to", - showTime: "Show time", - start: "Start date", - end: "End date", - year: "Year", - quarter: "Quarter", - month: "Month", - week: "Week", - date: "Date", - clearAllDesc: "Clear all", - resetAllDesc: "Reset all", - placeholder: "Select date", - placeholderText: "Placeholder", - startDate: "Start date", - endDate: "End date", - }, - time: { - start: "Start time", - end: "End time", - formatTip: "Support:\n" + "HH:mm:ss\nTimestamp", - format: "Format", - placeholder: "Select Time", - placeholderText: "Placeholder", - startTime: "Start time", - endTime: "End time", - }, - button: { - prefixIcon: "Prefix icon", - suffixIcon: "Suffix icon", - icon: "Icon", - iconSize: "Icon size", - button: "Form Button", - formToSubmit: "Form to submit", - default: "Default", - submit: "Submit", - textDesc: "Text currently displayed on button", - loadingDesc: "Is the button in loading state? If true the current button is loading", - formButtonEvent: "event", - }, - link: { - link: "Link", - textDesc: "Text currently displayed on link", - loadingDesc: "Is the link in loading state? If true the current link is loading", - }, - scanner: { - text: "Click scan", - camera: "Camera {index}", - changeCamera: "Switch camera", - continuous: "Continuous scanning", - uniqueData: "Ignore duplicate data", - maskClosable: "Click the mask to close", - errTip: "Please use this component under https or localhost", - }, - dropdown: { - onlyMenu: "Display with Label only", - textDesc: "Text currently displayed on button", - }, - textShow: { - // eslint-disable-next-line only-ascii/only-ascii - text: "### 👋 hello, {name}", - valueTooltip: "Markdown supports most HTML tags and attributes. iframe, script, and other tags are disabled for security reasons.", - verticalAlignment: "Vertical alignment", - horizontalAlignment: "Horizontal alignment", - textDesc: "Text displayed in the current text box", + "numberInput": { + "formatter": "Format", + "precision": "Precision", + "allowNull": "Allow Null Value", + "thousandsSeparator": "Show Thousands Separator", + "controls": "Show Increment/Decrement Buttons", + "step": "Step", + "standard": "Standard", + "percent": "Percent" + }, + "slider": { + "step": "Step", + "stepTooltip": "The Value Must Be Greater Than 0 and Divisible by (Max-Min)" + }, + "rating": { + "max": "Max Rating", + "allowHalf": "Allow Half Rating Points" + }, + "optionsControl": { + "optionList": "Options", + "option": "Option", + "optionI": "Option {i}", + "viewDocs": "View Docs", + "tip": "The 'item' and 'i' Variables Represent the Value and Index of Each Item in the Data Array" + }, + "radio": { + "options": "Options", + "horizontal": "Horizontal", + "horizontalTooltip": "The Horizontal Layout Wraps Itself When It Runs Out of Space", + "vertical": "Vertical", + "verticalTooltip": "The Vertical Layout Will Always Be Displayed in a Single Column", + "autoColumns": "Auto Column", + "autoColumnsTooltip": "The Auto Column Layout Automatically Rearranges the Order as Space Permits and Displays as Multiple Columns" + }, + "cascader": { + "options": "JSON Data to show cascading selections", + }, + "selectInput": { + "valueDesc": "Currently Selected Value", + "selectedIndexDesc": "The Index of the Currently Selected Value, or -1 if No Value Is Selected", + "selectedLabelDesc": "The Label of the Currently Selected Value" + }, + "file": { + "typeErrorMsg": "Must Be a Number with a Valid File Size Unit, or a Unitless Number of Bytes.", + "fileEmptyErrorMsg": "Upload Failed. The File Size Is Empty.", + "fileSizeExceedErrorMsg": "Upload Failed. The File Size Exceeds the Limit.", + "minSize": "Min Size", + "minSizeTooltip": "The Minimum Size of Uploaded Files with Optional File Size Units (e.g., '5kb', '10 MB'). If No Unit Is Provided, the Value Will Be Considered a Number of Bytes.", + "maxSize": "Max Size", + "maxSizeTooltip": "The Maximum Size of Uploaded Files with Optional File Size Units (e.g., '5kb', '10 MB'). If No Unit Is Provided, the Value Will Be Considered a Number of Bytes.", + "single": "Single", + "multiple": "Multiple", + "directory": "Directory", + "upload": "Browse", + "fileType": "File Types", + "reference": "Please Refer to", + "fileTypeTooltipUrl": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", + "fileTypeTooltip": "Unique File Type Specifiers", + "uploadType": "Upload Type", + "showUploadList": "Show Upload List", + "maxFiles": "Max Files", + "filesValueDesc": "The Contents of the Currently Uploaded File Are Base64 Encoded", + "filesDesc": "List of the Current Uploaded Files. For Details, Refer to", + "clearValueDesc": "Clear All Files", + "parseFiles": "Parse Files", + "parsedValueTooltip1": "If parseFiles Is True, Upload Files Will Parse to Object, Array, or String. Parsed Data Can Be Accessed via the parsedValue Array.", + "parsedValueTooltip2": "Supports Excel, JSON, CSV, and Text Files. Other Formats Will Return Null." + }, + "date": { + "format": "Format", + "formatTip": "Support: 'YYYY-MM-DD HH:mm:ss', 'YYYY-MM-DD', 'Timestamp'", + "reference": "Please Refer to", + "showTime": "Show Time", + "start": "Start Date", + "end": "End Date", + "year": "Year", + "quarter": "Quarter", + "month": "Month", + "week": "Week", + "date": "Date", + "clearAllDesc": "Clear All", + "resetAllDesc": "Reset All", + "placeholder": "Select Date", + "placeholderText": "Placeholder", + "startDate": "Start Date", + "endDate": "End Date" + }, + "time": { + "start": "Start Time", + "end": "End Time", + "formatTip": "Support: 'HH:mm:ss', 'Timestamp'", + "format": "Format", + "placeholder": "Select Time", + "placeholderText": "Placeholder", + "startTime": "Start Time", + "endTime": "End Time" + }, + "button": { + "prefixIcon": "Prefix Icon", + "suffixIcon": "Suffix Icon", + "icon": "Icon", + "iconSize": "Icon Size", + "button": "Form Button", + "formToSubmit": "Form to Submit", + "default": "Default", + "submit": "Submit", + "textDesc": "Text Currently Displayed on Button", + "loadingDesc": "Is the Button in Loading State? If True the Current Button Is Loading", + "formButtonEvent": "Event" + }, + "link": { + "link": "Link", + "textDesc": "Text Currently Displayed on Link", + "loadingDesc": "Is the Link in Loading State? If True the Current Link Is Loading" + }, + "scanner": { + "text": "Click Scan", + "camera": "Camera {index}", + "changeCamera": "Switch Camera", + "continuous": "Continuous Scanning", + "uniqueData": "Ignore Duplicate Data", + "maskClosable": "Click the Mask to Close", + "errTip": "Please Use This Component Under HTTPS or Localhost" + }, + "dropdown": { + "onlyMenu": "Display with Label Only", + "textDesc": "Text Currently Displayed on Button" + }, + "textShow": { + "text": "### 👋 Hello, {name}", + "valueTooltip": "Markdown Supports Most HTML Tags and Attributes. iframe, Script, and Other Tags Are Disabled for Security Reasons.", + "verticalAlignment": "Vertical Alignment", + "horizontalAlignment": "Horizontal Alignment", + "textDesc": "Text Displayed in the Current Text Box" }, // tenth part - table: { - editable: "Editable", - columnNum: "Columns", - viewModeResizable: "Column width adjusted by user", - viewModeResizableTooltip: "Whether can adjust column width.", - showFilter: "Show filter button", - showRefresh: "Show refresh button", - showDownload: "Show download button", - columnSetting: "Show column setting button", - searchText: "Search text", - searchTextTooltip: "Search and filter the data presented in the table", - showQuickJumper: "Show quick jumper", - hideOnSinglePage: "Hide on single page", - showSizeChanger: "Show size changer button", - pageSizeOptions: "Page size options", - pageSize: "Page size", - total: "Total row count", - totalTooltip: "The default value is the number of current data items, which can be obtained from the query, for example: '{{query1.data[0].count}}'", - filter: "Filter", - filterRule: "Filter rule", - chooseColumnName: "Choose column", - chooseCondition: "Choose condition", - clear: "Clear", - columnShows: "Column shows", - selectAll: "Select all", - and: "And", - or: "Or", - contains: "contains", - notContain: "does not contain", - equals: "equals", - isNotEqual: "is not equal", - isEmpty: "is empty", - isNotEmpty: "is not empty", - greater: "greater than", - greaterThanOrEquals: "greater than or equals", - lessThan: "less than", - lessThanOrEquals: "less than or equals", - action: "Action", - columnValue: "Column value", - columnValueTooltip: "'{{currentCell}}': current cell data\n '{{currentRow}}': current row data\n '{{currentIndex}}': current data index(starting from 0)\n Example: '{{currentCell * 5}}' show 5 times the original value data.", - imageSrc: "Image source", - imageSize: "Image size", - columnTitle: "Title", - sortable: "Sortable", - align: "Alignment", - fixedColumn: "Fixed column", - autoWidth: "Auto width", - customColumn: "Custom column", - auto: "Auto", - fixed: "Fixed", - columnType: "Column type", - float: "Float", - prefix: "Prefix", - suffix: "Suffix", - text: "Text", - number: "Number", - link: "Link", - links: "Links", - tag: "Tag", - date: "Date", - dateTime: "Date Time", - badgeStatus: "Status", - button: "Button", - image: "Image", - boolean: "Boolean", - rating: "Rating", - progress: "Progress", - option: "Operation ", - optionList: "Operation list", - option1: "Operation 1", - status: "Status", - statusTooltip: "Optional values: success, error, default, warning, processing", - primaryButton: "Primary", - defaultButton: "Default", - type: "Type", - tableSize: "Table size", - hideHeader: "Hide table header", - fixedHeader: "Fixed table header", - fixedHeaderTooltip: "Header will be fixed for vertically scrollable table", - fixedToolbar: "Fixed toolbar", - fixedToolbarTooltip: "Toolbaar will be fixed for vertically scrollable table based on position", - hideBordered: "Hide column border", - deleteColumn: "Delete column", - confirmDeleteColumn: "Confirm delete column: ", - small: "S", - middle: "M", - large: "L", - refreshButtonTooltip: "The current data changes, click to regenerate the column.", - changeSetDesc: "An object representing changes to an editable table, only contains the changed cell. Rows go first and columns go second.", - selectedRowDesc: "Provides data for the currently selected row, indicating the row that triggers a click event if the user clicks a button/link on the row", - selectedRowsDesc: "Useful in multiple selection mode, same as selectedRow", - pageNoDesc: "Current display page, starting from 1", - pageSizeDesc: "How many rows per page", - sortColumnDesc: "The name of the currently selected sorted column", - sortDesc: "Whether the current row is in descending order", - pageOffsetDesc: "The current start of paging, used for paging to get data. Example: select * from users limit '{{table1.pageSize}}' offset '{{table1.pageOffset}}'", - displayDataDesc: "Data displayed in the current table", - selectedIndexDesc: "Selected index in display data", - filterDesc: "Table Filtering Parameters", - dataDesc: "The raw data used in the current table", - saveChanges: "Save changes", - cancelChanges: "Cancel changes", - rowSelectChange: "Row select change", - rowClick: "Row click", - rowExpand: "Row expand", - filterChange: "Filter change", - sortChange: "Sort change", - pageChange: "Page change", - refresh: "Refresh", - rowColor: "Conditional row color", - rowColorDesc: "Conditionally set the row color based on the optional variables:\n currentRow, currentOriginalIndex, currentIndex, columnTitle.\n For example:\n" + `'{{ currentRow.id > 3 ? "green" : "red" }}'`, - cellColor: "Conditional cell color", - cellColorDesc: "Conditionally set the cell color based on the cell value using currentCell:\n For example:\n" + `'{{ currentCell == 3 ? "green" : "red" }}'`, - saveChangesNotBind: "No event handler configured for saving changes. Please bind at least one event handler before click.", - dynamicColumn: "Use dynamic column setting", - dynamicColumnConfig: "Column Setting", - dynamicColumnConfigDesc: "Dynamic column settings. Accepts an array of column names. All columns are visible by default.\n" + `Example: ["id", "name"]`, - position: "Position", - showDataLoadSpinner: "Show spinner during data loading", - showValue: "Show Value", - expandable: "Expandable", - configExpandedView: "Configure expanded view", - toUpdateRowsDesc: "An array of objects for rows to be updated in editable tables.", - empty: "Empty", - falseValues: "Text when false", - allColumn: "All", - visibleColumn: "Visible", - emptyColumns: "No columns are currently visible", + "table": { + "editable": "Editable", + "columnNum": "Columns", + "viewModeResizable": "Column Width Adjusted by User", + "viewModeResizableTooltip": "Whether Users Can Adjust Column Width.", + "showFilter": "Show Filter Button", + "showRefresh": "Show Refresh Button", + "showDownload": "Show Download Button", + "columnSetting": "Show Column Setting Button", + "searchText": "Search Text", + "searchTextTooltip": "Search and Filter the Data Presented in the Table", + "showQuickJumper": "Show Quick Jumper", + "hideOnSinglePage": "Hide on Single Page", + "showSizeChanger": "Show Size Changer Button", + "pageSizeOptions": "Page Size Options", + "pageSize": "Page Size", + "total": "Total Row Count", + "totalTooltip": "The Default Value is the Number of Current Data Items, Which Can Be Obtained from the Query, for Example: '{{query1.data[0].count}}'", + "filter": "Filter", + "filterRule": "Filter Rule", + "chooseColumnName": "Choose Column", + "chooseCondition": "Choose Condition", + "clear": "Clear", + "columnShows": "Column Shows", + "selectAll": "Select All", + "and": "And", + "or": "Or", + "contains": "Contains", + "notContain": "Does Not Contain", + "equals": "Equals", + "isNotEqual": "Is Not Equal", + "isEmpty": "Is Empty", + "isNotEmpty": "Is Not Empty", + "greater": "Greater Than", + "greaterThanOrEquals": "Greater Than or Equals", + "lessThan": "Less Than", + "lessThanOrEquals": "Less Than or Equals", + "action": "Action", + "columnValue": "Column Value", + "columnValueTooltip": "'{{currentCell}}': Current Cell Data\n '{{currentRow}}': Current Row Data\n '{{currentIndex}}': Current Data Index (Starting from 0)\n Example: '{{currentCell * 5}}' Show 5 Times the Original Value Data.", + "imageSrc": "Image Source", + "imageSize": "Image Size", + "columnTitle": "Title", + "sortable": "Sortable", + "align": "Alignment", + "fixedColumn": "Fixed Column", + "autoWidth": "Auto Width", + "customColumn": "Custom Column", + "auto": "Auto", + "fixed": "Fixed", + "columnType": "Column Type", + "float": "Float", + "prefix": "Prefix", + "suffix": "Suffix", + "text": "Text", + "number": "Number", + "link": "Link", + "links": "Links", + "tag": "Tag", + "date": "Date", + "dateTime": "Date Time", + "badgeStatus": "Status", + "button": "Button", + "image": "Image", + "boolean": "Boolean", + "rating": "Rating", + "progress": "Progress", + "option": "Operation", + "optionList": "Operation List", + "option1": "Operation 1", + "status": "Status", + "statusTooltip": "Optional Values: Success, Error, Default, Warning, Processing", + "primaryButton": "Primary", + "defaultButton": "Default", + "type": "Type", + "tableSize": "Table Size", + "hideHeader": "Hide Table Header", + "fixedHeader": "Fixed Table Header", + "fixedHeaderTooltip": "Header Will Be Fixed for Vertically Scrollable Table", + "fixedToolbar": "Fixed Toolbar", + "fixedToolbarTooltip": "Toolbar Will Be Fixed for Vertically Scrollable Table Based on Position", + "hideBordered": "Hide Column Border", + "deleteColumn": "Delete Column", + "confirmDeleteColumn": "Confirm Delete Column: ", + "small": "S", + "middle": "M", + "large": "L", + "refreshButtonTooltip": "The Current Data Changes, Click to Regenerate the Column.", + "changeSetDesc": "An Object Representing Changes to an Editable Table, Only Contains the Changed Cell. Rows Go First and Columns Go Second.", + "selectedRowDesc": "Provides Data for the Currently Selected Row, Indicating the Row That Triggers a Click Event If the User Clicks a Button/Link on the Row", + "selectedRowsDesc": "Useful in Multiple Selection Mode, Same as SelectedRow", + "pageNoDesc": "Current Display Page, Starting from 1", + "pageSizeDesc": "How Many Rows per Page", + "sortColumnDesc": "The Name of the Currently Selected Sorted Column", + "sortDesc": "Whether the Current Row Is in Descending Order", + "pageOffsetDesc": "The Current Start of Paging, Used for Paging to Get Data. Example: Select * from Users Limit '{{table1.pageSize}}' Offset '{{table1.pageOffset}}'", + "displayDataDesc": "Data Displayed in the Current Table", + "selectedIndexDesc": "Selected Index in Display Data", + "filterDesc": "Table Filtering Parameters", + "dataDesc": "The Raw Data Used in the Current Table", + "saveChanges": "Save Changes", + "cancelChanges": "Cancel Changes", + "rowSelectChange": "Row Select Change", + "rowClick": "Row Click", + "rowExpand": "Row Expand", + "filterChange": "Filter Change", + "sortChange": "Sort Change", + "pageChange": "Page Change", + "refresh": "Refresh", + "rowColor": "Conditional Row Color", + "rowColorDesc": "Conditionally Set the Row Color Based on the Optional Variables: CurrentRow, CurrentOriginalIndex, CurrentIndex, ColumnTitle. For Example: '{{ currentRow.id > 3 ? \"green\" : \"red\" }}'", + "cellColor": "Conditional Cell Color", + "cellColorDesc": "Conditionally Set the Cell Color Based on the Cell Value Using CurrentCell. For Example: '{{ currentCell == 3 ? \"green\" : \"red\" }}'", + "saveChangesNotBind": "No Event Handler Configured for Saving Changes. Please Bind at Least One Event Handler Before Click.", + "dynamicColumn": "Use Dynamic Column Setting", + "dynamicColumnConfig": "Column Setting", + "dynamicColumnConfigDesc": "Dynamic Column Settings. Accepts an Array of Column Names. All Columns Are Visible by Default. Example: [\"id\", \"name\"]", + "position": "Position", + "showDataLoadSpinner": "Show Spinner During Data Loading", + "showValue": "Show Value", + "expandable": "Expandable", + "configExpandedView": "Configure Expanded View", + "toUpdateRowsDesc": "An Array of Objects for Rows to Be Updated in Editable Tables.", + "empty": "Empty", + "falseValues": "Text When False", + "allColumn": "All", + "visibleColumn": "Visible", + "emptyColumns": "No Columns Are Currently Visible" }, // eleventh part - image: { - src: "Image source", - srcDesc: "The image source", - supportPreview: "Support click preview", - supportPreviewTip: "Effective when the image source is valid", - }, - progress: { - value: "Value", - valueTooltip: "The percentage complete as a value between 0 and 100", - showInfo: "Show Value", - valueDesc: "Current progress value, ranging from 0 to 100", - showInfoDesc: "Whether to display the current progress value", - }, - fileViewer: { - invalidURL: "A valid URL was not provided", - src: "File URI", - srcTooltip: "Preview provided link content by embedding HTML, base64 encoded data can also be supported, for example: data:application/pdf; base64,AAA... CCC", - srcDesc: "The file URI", - }, - divider: { - title: "Title", - align: "Alignment", - dashed: "Dashed", - dashedDesc: "Whether to use dashed line", - titleDesc: "Divider title", - alignDesc: "Divider title alignment", - }, - QRCode: { - value: "Value", - valueTooltip: "The value contains a maximum of 2953 characters", - level: "Fault tolerance level", - levelTooltip: "Refers to the QR code is blocked part, can still be scanned out. The higher the level, the more complex the code, and the more blocked it is, the more it can be scanned", - includeMargin: "Show margin", - image: "Image", - valueDesc: "The qrCode value", - L: "L (Low)", - M: "M (Medium)", - Q: "Q (Quartile)", - H: "H (High)", - maxLength: "The content is too long. Set the length to less than 2953 characters", - }, - jsonExplorer: { - indent: "Indent", - expandToggle: "Expand JSON Tree", - theme: "Theme", - valueDesc: "Current JSON Data", - default: "Default", - defaultDark: "Default dark", - neutralLight: "Neutral light", - neutralDark: "Neutral dark", - azure: "Azure", - darkBlue: "Dark blue", - }, - audio: { - src: "Audio URL", - defaultSrcUrl: "https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3", - autoPlay: "Autoplay", - loop: "Loop", - srcDesc: "Current audio URL", - play: "Play", - playDesc: "Triggered when audio is played", - pause: "Pause", - pauseDesc: "Triggered when audio is paused", - ended: "Ended", - endedDesc: "Triggered when the audio ends playing", - }, - video: { - src: "Video URL", - defaultSrcUrl: "https://www.youtube.com/watch?v=pRpeEdMmmQ0", - poster: "Poster URL", - defaultPosterUrl: "", - autoPlay: "Autoplay", - loop: "Loop", - controls: "Hide controls", - volume: "Volume", - playbackRate: "Playback rate", - posterTooltip: "The default value is the first frame of the video", - autoPlayTooltip: "After the video is loaded, it will play automatically. Changing this value from true to false will pause the video. (If a poster is set, it will be played by the poster button)", - controlsTooltip: "Hide video playback controls. May not be fully supported by every video source.", - volumeTooltip: "Set the volume of the player, between 0 and 1", - playbackRateTooltip: "Set the rate of the player, between 1 and 2", - srcDesc: "Current video URL", - play: "Play", - playDesc: "Triggered when video is played", - pause: "Pause", - pauseDesc: "Triggered when video is paused", - load: "Load", - loadDesc: "Triggered when the video resource has finished loading", - ended: "Ended", - endedDesc: "Triggered when the video ends playing", - currentTimeStamp: "The current playback position of the video in seconds", - duration: "The total duration of the video in seconds", - }, - media: { - playDesc: "Begins playback of the media.", - pauseDesc: "Pauses the media playback.", - loadDesc: "Resets the media to the beginning and restart selecting the media resource.", - seekTo: "Seek to the given number of seconds, or fraction if amount is between 0 and 1", - seekToAmount: "Number of seconds, or fraction if it is between 0 and 1", - showPreview: "Show preview", - }, - rangeSlider: { - start: "Start value", - end: "End value", - step: "Step size", - stepTooltip: "The slider's granularity, the value must be greater than 0 and divisible by (max-min)", - }, - iconControl: { - selectIcon: "Select an icon", - insertIcon: "insert an icon", - insertImage: "Insert an image or ", + "image": { + "src": "Image Source", + "srcDesc": "The Image Source. Can be an URL, Path or Base64 String. for Example: data:image/png;base64, AAA... CCC", + "supportPreview": "Support Click Preview (zoom)", + "supportPreviewTip": "Effective When the Image Source is Valid" + }, + "progress": { + "value": "Value", + "valueTooltip": "The Percentage Complete as a Value Between 0 and 100", + "showInfo": "Show Value", + "valueDesc": "Current Progress Value, Ranging from 0 to 100", + "showInfoDesc": "Whether to Display the Current Progress Value" + }, + "fileViewer": { + "invalidURL": "Please Enter a Valid URL or Base64 String", + "src": "File URI", + "srcTooltip": "Preview Provided Link Content by Embedding HTML, Base64 Encoded Data Can Also Be Supported, for Example: data:application/pdf; base64,AAA... CCC", + "srcDesc": "The File URI" + }, + "divider": { + "title": "Title", + "align": "Alignment", + "dashed": "Dashed", + "dashedDesc": "Whether to Use Dashed Line", + "titleDesc": "Divider Title", + "alignDesc": "Divider Title Alignment" + }, + "QRCode": { + "value": "QR Code Content Value", + "valueTooltip": "The Value Contains a Maximum of 2953 Characters. The QR Code Value can encode various data types, including text messages, URLs, contact details (VCard/meCard), Wi-Fi login credentials, email addresses, phone numbers, SMS messages, geolocation coordinates, calendar event details, payment information, cryptocurrency addresses, and app download links", + "valueDesc": "The QR Code Content Value", + "level": "Fault Tolerance Level", + "levelTooltip": "Refers to the QR Code's Ability to Be Scanned Even if Part of It is Blocked. The Higher the Level, the More Complex the Code.", + "includeMargin": "Show Margin", + "image": "Display Image at the Center", + "L": "L (Low)", + "M": "M (Medium)", + "Q": "Q (Quartile)", + "H": "H (High)", + "maxLength": "The Content is Too Long. Set the Length to Less Than 2953 Characters" + }, + "jsonExplorer": { + "indent": "Indent of Each Level", + "expandToggle": "Expand JSON Tree", + "theme": "Color Theme", + "valueDesc": "Current JSON Data", + "default": "Default", + "defaultDark": "Default Dark", + "neutralLight": "Neutral Light", + "neutralDark": "Neutral Dark", + "azure": "Azure", + "darkBlue": "Dark Blue" + }, + "audio": { + "src": "Audio Source URI or Base64 String", + "defaultSrcUrl": "https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3", + "autoPlay": "Autoplay", + "loop": "Loop", + "srcDesc": "Current Audio URI or Base64 String like data:audio/mpeg;base64,AAA... CCC", + "play": "Play", + "playDesc": "Triggered When Audio is Played", + "pause": "Pause", + "pauseDesc": "Triggered When Audio is Paused", + "ended": "Ended", + "endedDesc": "Triggered When the Audio Ends Playing" + }, + "video": { + "src": "Video Source URI or Base64 String", + "defaultSrcUrl": "https://www.youtube.com/watch?v=pRpeEdMmmQ0", + "poster": "Poster URL", + "defaultPosterUrl": "", + "autoPlay": "Autoplay", + "loop": "Loop", + "controls": "Hide Controls", + "volume": "Volume", + "playbackRate": "Playback Rate", + "posterTooltip": "The Default Value is the First Frame of the Video", + "autoPlayTooltip": "After the Video is Loaded, It Will Play Automatically. Changing This Value from True to False Will Pause the Video. (If a Poster is Set, It Will Be Played by the Poster Button)", + "controlsTooltip": "Hide Video Playback Controls. May Not Be Fully Supported by Every Video Source.", + "volumeTooltip": "Set the Volume of the Player, Between 0 and 1", + "playbackRateTooltip": "Set the Rate of the Player, Between 1 and 2", + "srcDesc": "Current Audio URI or Base64 String like data:video/mp4;base64, AAA... CCC", + "play": "Play", + "playDesc": "Triggered When Video is Played", + "pause": "Pause", + "pauseDesc": "Triggered When Video is Paused", + "load": "Load", + "loadDesc": "Triggered When the Video Resource has Finished Loading", + "ended": "Ended", + "endedDesc": "Triggered When the Video Ends Playing", + "currentTimeStamp": "The Current Playback Position of the Video in Seconds", + "duration": "The Total Duration of the Video in Seconds" + }, + "media": { + "playDesc": "Begins Playback of the Media.", + "pauseDesc": "Pauses the Media Playback.", + "loadDesc": "Resets the Media to the Beginning and Restart Selecting the Media Resource.", + "seekTo": "Seek to the Given Number of Seconds, or Fraction if Amount is Between 0 and 1", + "seekToAmount": "Number of Seconds, or Fraction if It is Between 0 and 1", + "showPreview": "Show Preview" + }, + "rangeSlider": { + "start": "Start Value", + "end": "End Value", + "step": "Step Size", + "stepTooltip": "The Slider's Granularity, the Value Must Be Greater Than 0 and Divisible by (Max-Min)" + }, + "iconControl": { + "selectIcon": "Select an Icon", + "insertIcon": "Insert an Icon", + "insertImage": "Insert an Image or " }, // twelfth part - millisecondsControl: { - timeoutTypeError: "Please enter the correct timeout period, the current input is: {value}", - timeoutLessThanMinError: "Input must greater than {left}, the current input is: {value}", - }, - selectionControl: { - single: "Single", - multiple: "Multiple", - close: "Close", - mode: "Select mode", - }, - container: { - title: "Container title", - }, - drawer: { - placement: "Drawer placement", - size: "Size", - top: "Top", - right: "Right", - bottom: "Bottom", - left: "Left", - widthTooltip: "Number or percentage, e.g. 520, 60%", - heightTooltip: "Number, e.g. 378", - openDrawerDesc: "Open Drawer", - closeDrawerDesc: "Close Drawer", - width: "Drawer width", - height: "Drawer height", - }, - meeting: { - logLevel: "Agora SDK Log Level", - placement: "Meeting placement", - meeting: "Meeting Settings", - cameraView: "Camera View", - cameraViewDesc: "Camera View", - screenShared: "Screen Shared", - screenSharedDesc: "Screen Shared", - audioUnmuted: "Audio Unmuted", - audioMuted: "Audio Muted", - videoClicked: "Video Clicked", - videoOff: "Video Off", - videoOn: "Video On", - size: "Size", - top: "Top", - host: "Host of the Meetingroom", - participants: "Participants of the Meetingroom", - shareScreen: "Local Screenshare", - appid: "Agora Application Id", - meetingName: "Meeting Name", - localUserID: "Host User Id", - userName: "Host User Name", - rtmToken: "Agora RTM Token", - rtcToken: "Agora RTC Token", - noVideo: "No video", - profileImageUrl: "Profile Image Url", - right: "Right", - bottom: "Bottom", - videoId: "Video Stream Id", - audioStatus: "Audio status", - left: "Left", - widthTooltip: "Number or percentage, e.g. 520, 60%", - heightTooltip: "Number, e.g. 378", - openDrawerDesc: "Open Drawer", - closeDrawerDesc: "Close Drawer", - width: "Drawer width", - height: "Drawer height", - actionBtnDesc: "Action Button", - broadCast: "BroadCast Messages", - title: "Meeting Title", - meetingCompName: "Agora Meeting Controller", - sharingCompName: "Screen share Stream", - videoCompName: "Camera Stream", - videoSharingCompName: "Screen share Stream", - meetingControlCompName: "Control Button", - meetingCompDesc: "Meeting Component", - meetingCompControls: "Meeting Control", - meetingCompKeywords: "Agora Meeting, Web Meeting, Collaboration", - iconSize: "Icon Size", - userId: "userId", - roomId: "roomId", - meetingActive: "Ongoing Meeting", - messages: "Broadcasted Messages", - }, - settings: { - title: "Settings", - userGroups: "User Groups", - organization: "Workspaces", - audit: "Audit Logs", - theme: "Themes", - plugin: "Plugins", - advanced: "Advanced", - lab: "Lab", - branding: "Branding", - oauthProviders: "OAuth Providers", - appUsage: "App Usage Logs", - environments: "Environments", - premium: "Premium", + "millisecondsControl": { + "timeoutTypeError": "Please Enter the Correct Timeout Period in ms, the Current Input is: {value}", + "timeoutLessThanMinError": "Input Must Be Greater Than {left}, the Current Input is: {value}" + }, + "selectionControl": { + "single": "Single", + "multiple": "Multiple", + "close": "Close", + "mode": "Select Mode" + }, + "container": { + "title": "Displayed Container Title" + }, + "drawer": { + "placement": "Drawer Placement", + "size": "Size", + "top": "Top", + "right": "Right", + "bottom": "Bottom", + "left": "Left", + "widthTooltip": "Pixel or Percentage, e.g. 520, 60%", + "heightTooltip": "Pixel, e.g. 378", + "openDrawerDesc": "Open Drawer", + "closeDrawerDesc": "Close Drawer", + "width": "Drawer Width", + "height": "Drawer Height" + }, + "meeting": { + "logLevel": "Agora SDK Log Level", + "placement": "Meeting Drawer Placement", + "meeting": "Meeting Settings", + "cameraView": "Camera View", + "cameraViewDesc": "Camera View of the Local User (Host)", + "screenShared": "Screen Shared", + "screenSharedDesc": "Screen Shared by the Local User (Host)", + "audioUnmuted": "Audio Unmuted", + "audioMuted": "Audio Muted", + "videoClicked": "Video Clicked", + "videoOff": "Video Off", + "videoOn": "Video On", + "size": "Size", + "top": "Top", + "host": "Host of the Meeting Room. You would need to manage the host as own Application Logic", + "participants": "Participants of the Meeting Room", + "shareScreen": "Display Screen Shared by the Local User", + "appid": "Agora Application ID", + "meetingName": "Meeting Name", + "localUserID": "Host User ID", + "userName": "Host User Name", + "rtmToken": "Agora RTM Token", + "rtcToken": "Agora RTC Token", + "noVideo": "No Video", + "profileImageUrl": "Profile Image URL", + "right": "Right", + "bottom": "Bottom", + "videoId": "Video Stream ID", + "audioStatus": "Audio Status", + "left": "Left", + "widthTooltip": "Pixel or Percentage, e.g. 520, 60%", + "heightTooltip": "Pixel, e.g. 378", + "openDrawerDesc": "Open Drawer", + "closeDrawerDesc": "Close Drawer", + "width": "Drawer Width", + "height": "Drawer Height", + "actionBtnDesc": "Action Button", + "broadCast": "Broadcast Messages", + "title": "Meeting Title", + "meetingCompName": "Agora Meeting Controller", + "sharingCompName": "Screen Share Stream", + "videoCompName": "Camera Stream", + "videoSharingCompName": "Screen Share Stream", + "meetingControlCompName": "Control Button", + "meetingCompDesc": "Meeting Component", + "meetingCompControls": "Meeting Control", + "meetingCompKeywords": "Agora Meeting, Web Meeting, Collaboration", + "iconSize": "Icon Size", + "userId": "Host User ID", + "roomId": "Room ID", + "meetingActive": "Ongoing Meeting", + "messages": "Broadcasted Messages" + }, + "settings": { + "title": "Settings", + "userGroups": "User Groups", + "organization": "Workspaces", + "audit": "Audit Logs", + "theme": "Themes", + "plugin": "Plugins", + "advanced": "Advanced", + "lab": "Lab", + "branding": "Branding", + "oauthProviders": "OAuth Providers", + "appUsage": "App Usage Logs", + "environments": "Environments", + "premium": "Premium" }, // thirteenth part - memberSettings: { - admin: "Admin", - adminGroupRoleInfo: "Admin can manage group members and resources", - adminOrgRoleInfo: "Own all resources and can manage groups.", - member: "Member", - memberGroupRoleInfo: "Member can view group members", - memberOrgRoleInfo: "Can only use or visit resources they have access to.", - title: "Members", - createGroup: "Create group", - newGroupPrefix: "New group ", - allMembers: "All members", - deleteModalTitle: "Delete this group", - deleteModalContent: "The deleted group cannot be restored. Are you sure to delete the group?", - addMember: "Add members", - nameColumn: "User name", - joinTimeColumn: "Joining time", - actionColumn: "Operation", - roleColumn: "Role", - exitGroup: "Exit Group", - moveOutGroup: "Remove from group", - inviteUser: "Invite members", - exitOrg: "Leave", - exitOrgDesc: "Are you sure you want to leave this workspace.", - moveOutOrg: "Remove", - moveOutOrgDescSaasMode: "Are you sure you want to remove user {name} from this workspace?", - moveOutOrgDesc: "Are you sure you want to remove user {name}? This action cannot be recovered.", - devGroupTip: "Members of the developer group have privileges to create apps and data sources.", - lastAdminQuit: "The last administrator cannot exit.", - organizationNotExist: "The current workspace does not exist", - inviteUserHelp: "You can copy the invitation link to send to the user", - inviteUserLabel: "Invitation link:", - inviteCopyLink: "Copy Link", - inviteText: '{userName} invites you to join the workspace "{organization}", Click on the link to join: {inviteLink}', - groupName: "Group name", - createTime: "Create time", - manageBtn: "Manage", - userDetail: "Detail", - syncDeleteTip: "This group has been deleted from the address book source", - syncGroupTip: "This group is an address book synchronization group and cannot be edited", - }, - orgSettings: { - newOrg: "New workspace", - title: "Workspace", - createOrg: "Create workspace", - deleteModalTitle: "Are you sure to delete this workspace?", - deleteModalContent: "You are about to delete this workspace {permanentlyDelete}. Once deleted, the workspace {notRestored}.", - permanentlyDelete: "permanently", - notRestored: "cannot be restored", - deleteModalLabel: "Please enter workspace name{name}to confirm the operation:", - deleteModalTip: "Please enter workspace name", - deleteModalErr: "Workspace name is incorrect", - deleteModalBtn: "Delete", - editOrgTitle: "Edit workspace information", - orgNameLabel: "Workspace name:", - orgNameCheckMsg: "Workspace name cannot be empty", - orgLogo: "Workspace logo:", - logoModify: "Modify picture", - inviteSuccessMessage: "Join the workspace successfully", - inviteFailMessage: "Failed to join workspace", - uploadErrorMessage: "Upload error", - orgName: "Workspace name", - }, - freeLimit: "Free trial", - tabbedContainer: { - switchTab: "Switch tab", - switchTabDesc: "Triggered when switching tabs", - tab: "Tabs", - atLeastOneTabError: "The Tab container keeps at least one Tab", - selectedTabKeyDesc: "Currently selected TAB", - iconPosition: "Icon position", - }, - formComp: { - containerPlaceholder: "Drag components from the right pane or", - openDialogButton: "Generate a Form from your data source", - resetAfterSubmit: "Reset after successful submit", - initialData: "Initial data", - disableSubmit: "Disable submit", - success: "Form generated successfully", - selectCompType: "Select component type", - dataSource: "Data source: ", - selectSource: "Select source", - table: "Table: ", - selectTable: "Select table", - columnName: "Column name", - dataType: "Data type", - compType: "Component type", - required: "Required", - generateForm: "Generate form", - compSelectionError: "Unconfigured column type", - compTypeNameError: "Could not get the component type name", - noDataSourceSelected: "No data source selected", - noTableSelected: "No table selected", - noColumn: "No column", - noColumnSelected: "No column selected", - noDataSourceFound: "No supported data source found. Create a new data source", - noTableFound: "No tables were found in this data source, please select another data source", - noColumnFound: "No supported column was found in this table. Please select another table", - formTitle: "Form title", - name: "Name", - nameTooltip: "The attribute name in the data of the form, when left blank, defaults to the component name", - notSupportMethod: " Not supported methods: ", - notValidForm: "The form is not valid", - resetDesc: "Reset form data to default value", - clearDesc: "Clear form data", - setDataDesc: "Set form data", - valuesLengthError: "Parameter number error", - valueTypeError: "Parameter type error", - dataDesc: "Current form data", - loadingDesc: "Whether the form is loading?", + "memberSettings": { + "admin": "Admin", + "adminGroupRoleInfo": "Admin Can Manage Group Members and Resources", + "adminOrgRoleInfo": "Admins Own All Resources and Can Manage Groups.", + "member": "Member", + "memberGroupRoleInfo": "Member Can View Group Members", + "memberOrgRoleInfo": "Members Can Only Use or Visit Resources They Have Access To.", + "title": "Members", + "createGroup": "Create Group", + "newGroupPrefix": "New Group ", + "allMembers": "All Members", + "deleteModalTitle": "Delete This Group", + "deleteModalContent": "The Deleted Group Cannot Be Restored. Are You Sure to Delete the Group?", + "addMember": "Add Members", + "nameColumn": "User Name", + "joinTimeColumn": "Joining Time", + "actionColumn": "Operation", + "roleColumn": "Role", + "exitGroup": "Exit Group", + "moveOutGroup": "Remove from Group", + "inviteUser": "Invite Members", + "exitOrg": "Leave", + "exitOrgDesc": "Are You Sure You Want to Leave This Workspace.", + "moveOutOrg": "Remove", + "moveOutOrgDescSaasMode": "Are You Sure You Want to Remove User {name} from This Workspace?", + "moveOutOrgDesc": "Are You Sure You Want to Remove User {name}? This Action Cannot Be Recovered.", + "devGroupTip": "Members of the Developer Group Have Privileges to Create Apps and Data Sources.", + "lastAdminQuit": "The Last Administrator Cannot Exit.", + "organizationNotExist": "The Current Workspace Does Not Exist", + "inviteUserHelp": "You Can Copy the Invitation Link to Send to the User", + "inviteUserLabel": "Invitation Link:", + "inviteCopyLink": "Copy Link", + "inviteText": "{userName} Invites You to Join the Workspace \"{organization}\", Click on the Link to Join: {inviteLink}", + "groupName": "Group Name", + "createTime": "Create Time", + "manageBtn": "Manage", + "userDetail": "Detail", + "syncDeleteTip": "This Group Has Been Deleted from the Address Book Source", + "syncGroupTip": "This Group is an Address Book Synchronization Group and Cannot Be Edited" + }, + "orgSettings": { + "newOrg": "New Workspace (Organization)", + "title": "Workspace", + "createOrg": "Create Workspace (Organization)", + "deleteModalTitle": "Are You Sure to Delete This Workspace?", + "deleteModalContent": "You Are About to Delete This Workspace {permanentlyDelete}. Once Deleted, the Workspace {notRestored}.", + "permanentlyDelete": "Permanently", + "notRestored": "Cannot Be Restored", + "deleteModalLabel": "Please Enter Workspace Name {name} to Confirm the Operation:", + "deleteModalTip": "Please Enter Workspace Name", + "deleteModalErr": "Workspace Name is Incorrect", + "deleteModalBtn": "Delete", + "editOrgTitle": "Edit Workspace Information", + "orgNameLabel": "Workspace Name:", + "orgNameCheckMsg": "Workspace Name Cannot Be Empty", + "orgLogo": "Workspace Logo:", + "logoModify": "Modify Picture", + "inviteSuccessMessage": "Join the Workspace Successfully", + "inviteFailMessage": "Failed to Join Workspace", + "uploadErrorMessage": "Upload Error", + "orgName": "Workspace Name" + }, + "freeLimit": "Free Trial", + "tabbedContainer": { + "switchTab": "Switch Tab", + "switchTabDesc": "Triggered When Switching Tabs", + "tab": "Tabs", + "atLeastOneTabError": "The Tab Container Keeps at Least One Tab", + "selectedTabKeyDesc": "Currently Selected Tab", + "iconPosition": "Icon Position" + }, + "formComp": { + "containerPlaceholder": "Drag Components from the Right Pane or", + "openDialogButton": "Generate a Form from one of your Data Sources", + "resetAfterSubmit": "Reset After Successful Submit", + "initialData": "Initial Data", + "disableSubmit": "Disable Submit", + "success": "Form Generated Successfully", + "selectCompType": "Select Component Type", + "dataSource": "Data Source: ", + "selectSource": "Select Source", + "table": "Table: ", + "selectTable": "Select Table", + "columnName": "Column Name", + "dataType": "Data Type", + "compType": "Component Type", + "required": "Required", + "generateForm": "Generate Form", + "compSelectionError": "Unconfigured Column Type", + "compTypeNameError": "Could Not Get the Component Type Name", + "noDataSourceSelected": "No Data Source Selected", + "noTableSelected": "No Table Selected", + "noColumn": "No Column", + "noColumnSelected": "No Column Selected", + "noDataSourceFound": "No Supported Data Source Found. Create a New Data Source", + "noTableFound": "No Tables Were Found in This Data Source, Please Select Another Data Source", + "noColumnFound": "No Supported Column Was Found in This Table. Please Select Another Table", + "formTitle": "Form Title", + "name": "Name", + "nameTooltip": "The Attribute Name in the Data of the Form, When Left Blank, Defaults to the Component Name", + "notSupportMethod": "Not Supported Methods: ", + "notValidForm": "The Form is Not Valid", + "resetDesc": "Reset Form Data to Default Value", + "clearDesc": "Clear Form Data", + "setDataDesc": "Set Form Data", + "valuesLengthError": "Parameter Number Error", + "valueTypeError": "Parameter Type Error", + "dataDesc": "Current Form Data", + "loadingDesc": "Whether the Form is Loading?" }, // fourteenth part - modalComp: { - close: "Close", - closeDesc: "Triggered when the dialog box is closed", - openModalDesc: "Open the dialog box", - closeModalDesc: "Close the dialog box", - visibleDesc: "Is it visible? If true, the current dialog box will pop up", - modalHeight: "Modal height", - modalHeightTooltip: "Number, example: 222", - modalWidth: "Modal width", - modalWidthTooltip: "Number or percentage, example: 520, 60%", - }, - listView: { - noOfRows: "Row count", - noOfRowsTooltip: "Number of rows in the list - This is usually set to a variable (for example, '{{query1.data.length}}') if you need to present the results of a query.", - noOfColumns: "Column count", - itemIndexName: "Item index name", - itemIndexNameDesc: "the variable name refer to the item's index, default as {default}", - itemDataName: "Item data name", - itemDataNameDesc: "the variable name refer to the item's data object, default as {default}", - itemsDesc: "Exposing data of Comps in list", - dataDesc: "The raw data used in the current list", - dataTooltip: "If evaluated as Number, this field will be regarded as row count, and the data will be regarded as empty.", - }, - navigation: { - addText: "Add submenu item", - logoURL: "Logo URL", - horizontalAlignment: "Horizontal alignment", - logoURLDesc: "Logo URL value", - itemsDesc: "Navigation menu items", - }, - iframe: { - URLDesc: "The source URL", - allowDownload: "Downloads", - allowSubmitForm: "Submit form", - allowMicrophone: "Microphone", - allowCamera: "Camera", - allowPopup: "Popups", - }, - droppadbleMenuItem: { - subMenu: "Submenu {number}", - }, - navItemComp: { - active: "Active", - }, - switchComp: { - open: "Open", - close: "Close", - openDesc: "Triggered when the switch is turned on", - closeDesc: "Triggered when the switch is turned off", - valueDesc: "Current switch status", - }, - signature: { - tips: "Hint Text", - signHere: "Sign here", - showUndo: "Show undo", - showClear: "Show clear", - }, - localStorageComp: { - valueDesc: "All data items currently stored", - setItemDesc: "Add an item", - removeItemDesc: "Remove an item", - clearItemDesc: "Clear all items", - }, - utilsComp: { - openUrl: "Open URL", - openApp: "Open App", - copyToClipboard: "Copy to clipboard", - downloadFile: "Download file", - }, - messageComp: { - info: "Send a notification", - success: "Send a success notification", - warn: "Send a warning notification", - error: "Send a error notification", - }, - themeComp: { - switchTo: "Switch theme", - }, - transformer: { - preview: "Preview", - docLink: "About transformer", - previewSuccess: "Preview success", - previewFail: "Preview fail", - deleteMessage: "Delete transformer success. You can use {undoKey} to undo.", - }, - temporaryState: { - value: "Init value", - valueTooltip: "The initial Value stored in the temporary state can be any valid JSON Value.", - docLink: "About temporary state", - pathTypeError: "Path must be either a string or an array of values", - unStructuredError: "Unstructured data {prev} can't be updated by {path}", - valueDesc: "Temporary state value", - deleteMessage: "The temporary state is deleted successfully. You can use {undoKey} to undo.", - }, - dataResponder: { - data: "Data", - dataDesc: "Data of current data responder", - dataTooltip: "When this data is changed, it will trigger subsequent actions.", - docLink: "About the Data responder", - deleteMessage: "The data responder is deleted successfully. You can use {undoKey} to undo.", + "modalComp": { + "close": "Close", + "closeDesc": "Triggered When the Modal Dialog Box is Closed", + "openModalDesc": "Open the Dialog Box", + "closeModalDesc": "Close the Dialog Box", + "visibleDesc": "Is it Visible? If True, the Current Dialog Box Will Pop Up", + "modalHeight": "Modal Height", + "modalHeightTooltip": "Pixel, Example: 222", + "modalWidth": "Modal Width", + "modalWidthTooltip": "Number or Percentage, Example: 520, 60%" + }, + "listView": { + "noOfRows": "Row Count", + "noOfRowsTooltip": "Number of Rows in the List - Usually Set to a Variable (e.g., '{{query1.data.length}}') to Present Query Results", + "noOfColumns": "Column Count", + "itemIndexName": "Data Item Index Name", + "itemIndexNameDesc": "The Variable Name Referring to the Item's Index, Default as {default}", + "itemDataName": "Data Item Object Name", + "itemDataNameDesc": "The Variable Name Referring to the Item's Data Object, Default as {default}", + "itemsDesc": "Exposing Data of Components in List", + "dataDesc": "The JSON Data Used in the Current List", + "dataTooltip": "If You just Set a Number, This Field Will Be Regarded as Row Count, and the Data Will Be Regarded as Empty." + }, + "navigation": { + "addText": "Add Submenu Item", + "logoURL": "Navigation Logo URL", + "horizontalAlignment": "Horizontal Alignment", + "logoURLDesc": "You can display a Logo on the left side by entering URI Value or Base64 String like data:image/png;base64,AAA... CCC", + "itemsDesc": "Hierarchical Navigation Menu Items" + }, + "droppadbleMenuItem": { + "subMenu": "Submenu {number}" + }, + "navItemComp": { + "active": "Active" + }, + "iframe": { + "URLDesc": "The Source URL for the IFrame Content. Make sure the URL is HTTPS or localhost. Also make sure the URL is not blocked by the browser's Content Security Policy (CSP). The header 'X-Frame-Options' should not be set to 'DENY' or 'SAMEORIGIN'.", + "allowDownload": "Allow Downloads", + "allowSubmitForm": "Allow Submit Form", + "allowMicrophone": "Allow Microphone", + "allowCamera": "Allow Camera", + "allowPopup": "Allow Popups" + }, + "switchComp": { + "defaultValue" : "Default Boolean Value", + "open": "On", + "close": "Off", + "openDesc": "Triggered When the Switch is Turned On", + "closeDesc": "Triggered When the Switch is Turned Off", + "valueDesc": "Current Switch Status" + }, + "signature": { + "tips": "Hint Text", + "signHere": "Sign Here", + "showUndo": "Show Undo", + "showClear": "Show Clear" + }, + "localStorageComp": { + "valueDesc": "All Data Items Currently Stored", + "setItemDesc": "Add an Item", + "removeItemDesc": "Remove an Item", + "clearItemDesc": "Clear All Items" + }, + "utilsComp": { + "openUrl": "Open URL", + "openApp": "Open App", + "copyToClipboard": "Copy to Clipboard", + "downloadFile": "Download File" + }, + "messageComp": { + "info": "Send a Notification", + "success": "Send a Success Notification", + "warn": "Send a Warning Notification", + "error": "Send an Error Notification" + }, + "themeComp": { + "switchTo": "Switch Theme" + }, + "transformer": { + "preview": "Preview", + "docLink": "Read More About Transformers...", + "previewSuccess": "Preview Success", + "previewFail": "Preview Fail", + "deleteMessage": "Delete Transformer Success. You Can Use {undoKey} to Undo.", + "documentationText" : "Transformers are designed for data transformation and reuse of your multi-line JavaScript code. Use Transformers to adapt Data from queries or components to your local App needs. Unlike JavaScript query, transformer is designed to do read-only operations, which means that you cannot trigger a query or update a temporary state inside a transformer." + }, + "temporaryState": { + "value": "Init Value", + "valueTooltip": "The Initial Value Stored in the Temporary State Can Be Any Valid JSON Value.", + "docLink": "Read More About Temporary States...", + "pathTypeError": "Path Must Be Either a String or an Array of Values", + "unStructuredError": "Unstructured Data {prev} Can't Be Updated by {path}", + "valueDesc": "Temporary State Value", + "deleteMessage": "The Temporary State is Deleted Successfully. You Can Use {undoKey} to Undo.", + "documentationText" : "Temporary states in Lowcoder are a powerful feature used to manage complex variables that dynamically update the state of components in your application. These states act as intermediary or transient storage for data that can change over time due to user interactions or other processes." + }, + "dataResponder": { + "data": "Data", + "dataDesc": "Data of Current Data Responder", + "dataTooltip": "When This Data is Changed, It Will Trigger Subsequent Actions.", + "docLink": "Read More About the Data Responders...", + "deleteMessage": "The Data Responder is Deleted Successfully. You Can Use {undoKey} to Undo.", + "documentationText" : "When developing an app, you can assign events to components to monitor changes in specific data. For instance, a Table component might have events like \"Row select change\", \"Filter change\", \"Sort change\", and \"Page change\" to track changes in the selectedRow property. However, for changes in temporary states, transformers, or query results, where standard events are not available, Data responders are utilized. They enable you to detect and react to any data modifications." }, // fifteenth part - theme: { - title: "Themes", - createTheme: "Create theme", - themeName: "Theme name:", - themeNamePlaceholder: "Please enter a theme name", - defaultThemeTip: "Default theme:", - createdThemeTip: "The theme that you have created:", - option: "Option{index}", - input: "Input", - confirm: "Ok", - emptyTheme: "No themes available", - click: "", - toCreate: "", - nameColumn: "Name", - defaultTip: "Default", - updateTimeColumn: "Update time", - edit: "Edit", - cancelDefaultTheme: "Unset default theme", - setDefaultTheme: "Set as default theme", - copyTheme: "Duplicate theme", - setSuccessMsg: "Setting succeeded", - cancelSuccessMsg: "Unsetting succeeded", - deleteSuccessMsg: "Deletion succeeded", - checkDuplicateNames: "The theme name already exists, please re-enter it", - copySuffix: " Copy", - saveSuccessMsg: "Saved successfully", - leaveTipTitle: "Tips", - leaveTipContent: "You haven't saved yet, confirm leaving?", - leaveTipOkText: "Leave", - goList: "Back to the list", - saveBtn: "Save", - mainColor: "Main colors", - text: "Text colors", - defaultTheme: "Default", - yellow: "Yellow", - green: "Green", - previewTitle: "Theme preview\nExample components that use your theme colors", - dateColumn: "Date", - emailColumn: "Email", - phoneColumn: "Phone", - subTitle: "Title", - linkLabel: "Link", - linkUrl: "app.lowcoder.cloud", - progressLabel: "Progress", - sliderLabel: "Slider", - radioLabel: "Radio", - checkboxLabel: "Checkbox", - buttonLabel: "Form Button", - switch: "Switch", - previewDate: "16/10/2022", - previewEmail1: "ted.com", - previewEmail2: "skype.com", - previewEmail3: "imgur.com", - previewEmail4: "globo.com", - previewPhone1: "+63-317-333-0093", - previewPhone2: "+30-668-580-6521", - previewPhone3: "+86-369-925-2071", - previewPhone4: "+7-883-227-8093", - chartPreviewTitle: "Chart style preview", - chartSpending: "Spending", - chartBudget: "Budget", - chartAdmin: "Administration", - chartFinance: "Finance", - chartSales: "Sales", - chartFunnel: "Funnel Chart", - chartShow: "Show", - chartClick: "Click", - chartVisit: "Visit", - chartQuery: "Query", - chartBuy: "Buy", - }, - pluginSetting: { - title: "Plugins", - npmPluginTitle: "npm plugins", - npmPluginDesc: "Set up npm plugins for all applications in the current workspace.", - npmPluginEmpty: "No npm plugins were added.", - npmPluginAddButton: "Add a npm plugin", - saveSuccess: "Saved successfully", - }, - advanced: { - title: "Advanced", - defaultHomeTitle: "Default homepage", - defaultHomeHelp: "The homepage is the app all non-developers will see by default when they log in. Note: Make sure the selected app is accessible to non-developers.", - defaultHomePlaceholder: "Select the default homepage", - saveBtn: "Save", - preloadJSTitle: "Preload JavaScript", - preloadJSHelp: "Set up preloaded JavaScript code for all apps in the current workspace.", - preloadCSSTitle: "Preload CSS", - preloadCSSHelp: "Set up preloaded CSS code for all apps in the current workspace.", - preloadCSSApply: "Apply to the homepage of the workspace", - preloadLibsTitle: "JavaScript library", - preloadLibsHelp: "Set up preloaded JavaScript libraries for all applications in the current workspace, and the system has built-in lodash, day.js, uuid, numbro for direct use. JavaScript libraries are loaded before the app is initialized, so there is a certain impact on app performance.", - preloadLibsEmpty: "No JavaScript libraries were added", - preloadLibsAddBtn: "Add a library", - saveSuccess: "Saved successfully", - AuthOrgTitle: "Workspace welcome Screen", - AuthOrgDescrition: "The URL for your users to Sign in to the current workspace.", + "theme": { + "title": "Themes", + "createTheme": "Create Theme", + "themeName": "Theme Name:", + "themeNamePlaceholder": "Please Enter a Theme Name", + "defaultThemeTip": "Default Theme:", + "createdThemeTip": "The Theme That You Have Created:", + "option": "Option{index}", + "input": "Input", + "confirm": "Ok", + "emptyTheme": "No Themes Available", + "click": "", + "toCreate": "", + "nameColumn": "Name", + "defaultTip": "Default", + "updateTimeColumn": "Update Time", + "edit": "Edit", + "cancelDefaultTheme": "Unset Default Theme", + "setDefaultTheme": "Set as Default Theme", + "copyTheme": "Duplicate Theme", + "setSuccessMsg": "Setting Succeeded", + "cancelSuccessMsg": "Unsetting Succeeded", + "deleteSuccessMsg": "Deletion Succeeded", + "checkDuplicateNames": "The Theme Name Already Exists, Please Re-Enter It", + "copySuffix": " Copy", + "saveSuccessMsg": "Saved Successfully", + "leaveTipTitle": "Tips", + "leaveTipContent": "You Haven't Saved Yet, Confirm Leaving?", + "leaveTipOkText": "Leave", + "goList": "Back to the List", + "saveBtn": "Save", + "mainColor": "Main Colors", + "text": "Text Colors", + "defaultTheme": "Default", + "yellow": "Yellow", + "green": "Green", + "previewTitle": "Theme Preview\nExample Components That Use Your Theme Colors", + "dateColumn": "Date", + "emailColumn": "Email", + "phoneColumn": "Phone", + "subTitle": "Title", + "linkLabel": "Link", + "linkUrl": "app.lowcoder.cloud", + "progressLabel": "Progress", + "sliderLabel": "Slider", + "radioLabel": "Radio", + "checkboxLabel": "Checkbox", + "buttonLabel": "Form Button", + "switch": "Switch", + "previewDate": "16/10/2022", + "previewEmail1": "ted.com", + "previewEmail2": "skype.com", + "previewEmail3": "imgur.com", + "previewEmail4": "globo.com", + "previewPhone1": "+63-317-333-0093", + "previewPhone2": "+30-668-580-6521", + "previewPhone3": "+86-369-925-2071", + "previewPhone4": "+7-883-227-8093", + "chartPreviewTitle": "Chart Style Preview", + "chartSpending": "Spending", + "chartBudget": "Budget", + "chartAdmin": "Administration", + "chartFinance": "Finance", + "chartSales": "Sales", + "chartFunnel": "Funnel Chart", + "chartShow": "Show", + "chartClick": "Click", + "chartVisit": "Visit", + "chartQuery": "Query", + "chartBuy": "Buy" + }, + "pluginSetting": { + "title": "Plugins", + "npmPluginTitle": "npm Plugins", + "npmPluginDesc": "Set Up npm Plugins for All Applications in the Current Workspace.", + "npmPluginEmpty": "No npm Plugins Were Added.", + "npmPluginAddButton": "Add a npm Plugin", + "saveSuccess": "Saved Successfully" + }, + "advanced": { + "title": "Advanced", + "defaultHomeTitle": "Default Homepage", + "defaultHomeHelp": "The Homepage is the App All Non-Developers Will See by Default When They Log In. Note: Make Sure the Selected App is Accessible to Non-Developers.", + "defaultHomePlaceholder": "Select the Default Homepage", + "saveBtn": "Save", + "preloadJSTitle": "Preload JavaScript", + "preloadJSHelp": "Set Up Preloaded JavaScript Code for All Apps in the Current Workspace.", + "preloadCSSTitle": "Preload CSS", + "preloadCSSHelp": "Set Up Preloaded CSS Code for All Apps in the Current Workspace.", + "preloadCSSApply": "Apply to the Homepage of the Workspace", + "preloadLibsTitle": "JavaScript Library", + "preloadLibsHelp": "Set Up Preloaded JavaScript Libraries for All Applications in the Current Workspace, and the System Has Built-In lodash, day.js, uuid, numbro for Direct Use. JavaScript Libraries are Loaded Before the App is Initialized, So There is a Certain Impact on App Performance.", + "preloadLibsEmpty": "No JavaScript Libraries Were Added", + "preloadLibsAddBtn": "Add a Library", + "saveSuccess": "Saved Successfully", + "AuthOrgTitle": "Workspace Welcome Screen", + "AuthOrgDescrition": "The URL for Your Users to Sign In to the Current Workspace." }, // sixteenth part - branding: { - title: "Branding", - logoTitle: "Logo", - logoHelp: ".JPG, .SVG or .PNG only", - faviconTitle: "Favicon", - faviconHelp: ".JPG, .SVG or .PNG only", - brandNameTitle: "Brand Name", - headColorTitle: "Head Color", - save: "Save", - saveSuccessMsg: "Saved successfully", - upload: "Click to upload", - }, - networkMessage: { - 500: "Busy service, please try again later", - 0: "Failed to connect to server, please check your network", - 401: "Authentication failed, please log on again", - 403: "No permission, please contact the administrator for authorization", - timeout: "Request timeout", - }, - share: { - title: "Share", - viewer: "Viewer", - editor: "Editor", - owner: "Owner", - datasourceViewer: "Can use", - datasourceOwner: "Can manage", - }, - debug: { - title: "Title", - switch: "Switch component: ", - }, - module: { - emptyText: "No data", - circularReference: "Circular reference, current module/application cannot be used!", - emptyTestInput: "The current module has no input to test", - emptyTestMethod: "The current module has no method to test", - name: "Name", - input: "Input", - params: "Params", - emptyParams: "No params has been added", - emptyInput: "No input has been added", - emptyMethod: "No method has been added", - emptyOutput: "No output has been added", - data: "Data", - string: "String", - number: "Number", - array: "Array", - boolean: "Boolean", - query: "Query", - autoScaleCompHeight: "Component height scales with container", - excuteMethod: "Execute method {name}", - method: "Method", - action: "Action", - output: "Output", - nameExists: "Name {name} already exist", - eventTriggered: "Event {name} is triggered", - globalPromptWhenEventTriggered: "Displays a global prompt when an event is triggered", - emptyEventTest: "The current module has no events to test", - emptyEvent: "No event has been added", - event: "Event", - }, - resultPanel: { - returnFunction: "The return value is a function.", - consume: "{time}", - JSON: "Show JSON", - }, - createAppButton: { - creating: "Creating...", - created: "Create {name}", - }, - apiMessage: { - authenticationFail: "User authentication failed, please sign in again", - verifyAccount: "Need to verify account", - functionNotSupported: "The current version does not support this function. Please contact the Lowcoder business team to upgrade your account", - }, - globalErrorMessage: { - createCompFail: "Create component {comp} failed", - notHandledError: "{method} method not executed", - }, - aggregation: { - navLayout: " Navigation bar", - chooseApp: "Choose app", - iconTooltip: "Support image link or Base64", - hideWhenNoPermission: "Hidden for unauthorized users", - queryParam: "URL Query params", - hashParam: "URL Hash params", - tabBar: "Tab bar", - emptyTabTooltip: "Configure this page on the right pane", + "branding": { + "title": "Branding", + "logoTitle": "Logo", + "logoHelp": ".JPG, .SVG or .PNG Only", + "faviconTitle": "Favicon", + "faviconHelp": ".JPG, .SVG or .PNG Only", + "brandNameTitle": "Brand Name", + "headColorTitle": "Head Color", + "save": "Save", + "saveSuccessMsg": "Saved Successfully", + "upload": "Click to Upload" + }, + "networkMessage": { + "500": "Busy Service, Please Try Again Later", + "0": "Failed to Connect to Server, Please Check Your Network", + "401": "Authentication Failed, Please Log On Again", + "403": "No Permission, Please Contact the Administrator for Authorization", + "timeout": "Request Timeout" + }, + "share": { + "title": "Share", + "viewer": "Viewer", + "editor": "Editor", + "owner": "Owner", + "datasourceViewer": "Can Use", + "datasourceOwner": "Can Manage" + }, + "debug": { + "title": "Title", + "switch": "Switch Component: " + }, + "module": { + "emptyText": "No Data", + "circularReference": "Circular Reference, Current Module/Application Cannot Be Used!", + "emptyTestInput": "The Current Module Has No Input to Test", + "emptyTestMethod": "The Current Module Has No Method to Test", + "name": "Name", + "input": "Input", + "params": "Params", + "emptyParams": "No Params Has Been Added", + "emptyInput": "No Input Has Been Added", + "emptyMethod": "No Method Has Been Added", + "emptyOutput": "No Output Has Been Added", + "data": "Data", + "string": "String", + "number": "Number", + "array": "Array", + "boolean": "Boolean", + "query": "Query", + "autoScaleCompHeight": "Component Height Scales with Container", + "excuteMethod": "Execute Method {name}", + "method": "Method", + "action": "Action", + "output": "Output", + "nameExists": "Name {name} Already Exist", + "eventTriggered": "Event {name} is Triggered", + "globalPromptWhenEventTriggered": "Displays a Global Prompt When an Event is Triggered", + "emptyEventTest": "The Current Module Has No Events to Test", + "emptyEvent": "No Event Has Been Added", + "event": "Event" + }, + "resultPanel": { + "returnFunction": "The Return Value is a Function.", + "consume": "{time}", + "JSON": "Show JSON" + }, + "createAppButton": { + "creating": "Creating...", + "created": "Create {name}" + }, + "apiMessage": { + "authenticationFail": "User Authentication Failed, Please Sign In Again", + "verifyAccount": "Need to Verify Account", + "functionNotSupported": "The Current Version Does Not Support This Function. Please Contact the Lowcoder Business Team to Upgrade Your Account" + }, + "globalErrorMessage": { + "createCompFail": "Create Component {comp} Failed", + "notHandledError": "{method} Method Not Executed" + }, + "aggregation": { + "navLayout": "Navigation Bar", + "chooseApp": "Choose App", + "iconTooltip": "Support Image src Link or Base64 String like data:image/png;base64,AAA... CCC", + "hideWhenNoPermission": "Hidden for Unauthorized Users", + "queryParam": "URL Query Params", + "hashParam": "URL Hash Params", + "tabBar": "Tab Bar", + "emptyTabTooltip": "Configure This Page on the Right Pane" }, // seventeenth part - appSetting: { - title: "App settings", - 450: "450px (Phone)", - 800: "800px (Tablet)", - 1440: "1440px (Laptop)", - 1920: "1920px (Wide screen)", - 3200: "3200px (Super large screen)", - autofill: "Autofill", - userDefined: "Custom", - default: "Default", - tooltip: "Close the popover after setting", - canvasMaxWidth: "Maximum canvas width", - userDefinedMaxWidth: "Custom maximum width", - inputUserDefinedPxValue: "Please enter a custom pixel value", - maxWidthTip: "Max width should be greater than or equal to 350", - themeSetting: "Theme setting", - themeSettingDefault: "Default", - themeCreate: "Create theme", - }, - customShortcut: { - title: "Custom shortcuts", - shortcut: "Shortcut", - action: "Action", - empty: "No shortcuts", - placeholder: "Press shortcut", - otherPlatform: "Other", - space: "Space", - }, - profile: { - orgSettings: "Workspace settings", - switchOrg: "Switch workspace", - joinedOrg: "My workspaces", - createOrg: "Create workspace", - logout: "Log out", - personalInfo: "My profile", - bindingSuccess: "Binding {sourceName} success", - uploadError: "Upload error", - editProfilePicture: "Modify", - nameCheck: "Name cannot be empty", - name: "Name: ", - namePlaceholder: "Please enter your name", - toBind: "To bind", - binding: "Is binding", - bindError: "Parameter error, currently not supported binding.", - bindName: "Bind {name}", - loginAfterBind: "After binding, you can use {name} to log in", - bindEmail: "Bind email:", - email: "email", - emailCheck: "Please enter a valid email", - emailPlaceholder: "Please enter your email", - submit: "Submit", - bindEmailSuccess: "Email binding success", - passwordModifiedSuccess: "Password changed successfully", - passwordSetSuccess: "Password set successfully", - oldPassword: "Old password:", - inputCurrentPassword: "Please enter your current password", - newPassword: "New password:", - inputNewPassword: "Please enter your new password", - confirmNewPassword: "Confirm new password:", - inputNewPasswordAgain: "Please enter your new password again", - password: "Password:", - modifyPassword: "Modify password", - setPassword: "Set password", - alreadySetPassword: "Password set", - setPassPlaceholder: "You can login with password", - setPassAfterBind: "You can set password After Account bind", - socialConnections: "Social Connections", - }, - shortcut: { - shortcutList: "Keyboard shortcuts", - click: "Click", - global: "Global", - toggleShortcutList: "Toggle keyboard shortcuts", - editor: "Editor", - toggleLeftPanel: "Toggle left pane", - toggleBottomPanel: "Toggle bottom pane", - toggleRightPanel: "Toggle right pane", - toggleAllPanels: "Toggle all panes", - preview: "Preview", - undo: "Undo", - redo: "Redo", - showGrid: "Show grid", - component: "Component", - multiSelect: "Select multiple", - selectAll: "Select all", - copy: "Copy", - cut: "Cut", - paste: "Paste", - move: "Move", - zoom: "Resize", - delete: "Delete", - deSelect: "Deselect", - queryEditor: "Query editor", - excuteQuery: "Run current query", - editBox: "Text editor", - formatting: "Format", - openInLeftPanel: "Open in left pane", + "appSetting": { + "title": "General App Settings", + "450": "450px (Phone)", + "800": "800px (Tablet)", + "1440": "1440px (Laptop)", + "1920": "1920px (Wide Screen)", + "3200": "3200px (Super Large Screen)", + "autofill": "Autofill", + "userDefined": "Custom", + "default": "Default", + "tooltip": "Close the Popover After Setting", + "canvasMaxWidth": "Maximum Canvas Width for this App", + "userDefinedMaxWidth": "Custom Maximum Width", + "inputUserDefinedPxValue": "Please Enter a Custom Pixel Value", + "maxWidthTip": "Max Width Should Be Greater Than or Equal to 350", + "themeSetting": "Applied Style Theme", + "themeSettingDefault": "Default", + "themeCreate": "Create Theme" + }, + "customShortcut": { + "title": "Custom Shortcuts", + "shortcut": "Shortcut", + "action": "Action", + "empty": "No Shortcuts", + "placeholder": "Press Shortcut", + "otherPlatform": "Other", + "space": "Space" + }, + "profile": { + "orgSettings": "Workspace Settings", + "switchOrg": "Switch Workspace", + "joinedOrg": "My Workspaces", + "createOrg": "Create Workspace", + "logout": "Log Out", + "personalInfo": "My Profile", + "bindingSuccess": "Binding {sourceName} Success", + "uploadError": "Upload Error", + "editProfilePicture": "Modify", + "nameCheck": "Name Cannot Be Empty", + "name": "Name: ", + "namePlaceholder": "Please Enter Your Name", + "toBind": "To Bind", + "binding": "Is Binding", + "bindError": "Parameter Error, Currently Not Supported Binding.", + "bindName": "Bind {name}", + "loginAfterBind": "After Binding, You Can Use {name} to Log In", + "bindEmail": "Bind Email:", + "email": "Email", + "emailCheck": "Please Enter a Valid Email", + "emailPlaceholder": "Please Enter Your Email", + "submit": "Submit", + "bindEmailSuccess": "Email Binding Success", + "passwordModifiedSuccess": "Password Changed Successfully", + "passwordSetSuccess": "Password Set Successfully", + "oldPassword": "Old Password:", + "inputCurrentPassword": "Please Enter Your Current Password", + "newPassword": "New Password:", + "inputNewPassword": "Please Enter Your New Password", + "confirmNewPassword": "Confirm New Password:", + "inputNewPasswordAgain": "Please Enter Your New Password Again", + "password": "Password:", + "modifyPassword": "Modify Password", + "setPassword": "Set Password", + "alreadySetPassword": "Password Set", + "setPassPlaceholder": "You Can Login with Password", + "setPassAfterBind": "You Can Set Password After Account Bind", + "socialConnections": "Social Connections" + }, + "shortcut": { + "shortcutList": "Keyboard Shortcuts", + "click": "Click", + "global": "Global", + "toggleShortcutList": "Toggle Keyboard Shortcuts", + "editor": "Editor", + "toggleLeftPanel": "Toggle Left Pane", + "toggleBottomPanel": "Toggle Bottom Pane", + "toggleRightPanel": "Toggle Right Pane", + "toggleAllPanels": "Toggle All Panes", + "preview": "Preview", + "undo": "Undo", + "redo": "Redo", + "showGrid": "Show Grid", + "component": "Component", + "multiSelect": "Select Multiple", + "selectAll": "Select All", + "copy": "Copy", + "cut": "Cut", + "paste": "Paste", + "move": "Move", + "zoom": "Resize", + "delete": "Delete", + "deSelect": "Deselect", + "queryEditor": "Query Editor", + "excuteQuery": "Run Current Query", + "editBox": "Text Editor", + "formatting": "Format", + "openInLeftPanel": "Open in Left Pane" }, // eighteenth part + - - help: { - videoText: "Overview", - onBtnText: "OK", + "help": { + "videoText": "Overview", + "onBtnText": "OK", // eslint-disable-next-line only-ascii/only-ascii - permissionDenyTitle: "💡 Unable to create a new application or data source?", - permissionDenyContent: "You don't have permission to create the application and data source. Please contact the administrator to join the developer group.", - appName: "Tutorial application", - chat: "Chat with us", - docs: "View documentation", - editorTutorial: "Editor tutorial", - update: "What's new?", - version: "Version", - versionWithColon: "Version: ", - submitIssue: "Submit an issue", - }, - header: { - nameCheckMessage: "The name cannot be empty", - viewOnly: "View only", - recoverAppSnapshotTitle: "Restore this version?", - recoverAppSnapshotContent: "Restore current app to the version created at {time}.", - recoverAppSnapshotMessage: "Restore this version", - returnEdit: "Return to editor", - deploy: "Publish", - export: "Export to JSON", - editName: "Edit name", - duplicate: "Duplicate {type}", - snapshot: "History", - scriptsAndStyles: "Scripts and style", - appSettings: "App settings", - preview: "Preview", - editError: "History preview mode, no operation is supported.", - clone: "Clone", - editorMode_layout: "Layout", - editorMode_logic: "Logic", - editorMode_both: "Both", - }, - userAuth: { - registerByEmail: "Sign up", - email: "Email:", - inputEmail: "Please enter your email", - inputValidEmail: "Please enter a valid email", - register: "Sign up", - userLogin: "Sign in", - login: "Sign in", - bind: "Bind", - passwordCheckLength: "At least {min} characters", - passwordCheckContainsNumberAndLetter: "Must contain letters and numbers", - passwordCheckSpace: "Cannot contain whitespace characters", + "permissionDenyTitle": "💡 Unable to Create a New Application or Data Source?", + "permissionDenyContent": "You Don't Have Permission to Create the Application and Data Source. Please Contact the Administrator to Join the Developer Group.", + "appName": "Tutorial Application", + "chat": "Chat with Us", + "docs": "View Documentation", + "editorTutorial": "Editor Tutorial", + "update": "What's New?", + "version": "Version", + "versionWithColon": "Version: ", + "submitIssue": "Submit an Issue" + }, + "header": { + "nameCheckMessage": "The Name Cannot Be Empty", + "viewOnly": "View Only", + "recoverAppSnapshotTitle": "Restore This Version?", + "recoverAppSnapshotContent": "Restore Current App to the Version Created at {time}.", + "recoverAppSnapshotMessage": "Restore This Version", + "returnEdit": "Return to Editor", + "deploy": "Publish", + "export": "Export to JSON", + "editName": "Edit Name", + "duplicate": "Duplicate {type}", + "snapshot": "History", + "scriptsAndStyles": "Scripts and Style", + "appSettings": "App Settings", + "preview": "Preview", + "editError": "History Preview Mode, No Operation is Supported.", + "clone": "Clone", + "editorMode_layout": "Layout", + "editorMode_logic": "Logic", + "editorMode_both": "Both" + }, + "userAuth": { + "registerByEmail": "Sign Up", + "email": "Email:", + "inputEmail": "Please Enter Your Email", + "inputValidEmail": "Please Enter a Valid Email", + "register": "Sign Up", + "userLogin": "Sign In", + "login": "Sign In", + "bind": "Bind", + "passwordCheckLength": "At Least {min} Characters", + "passwordCheckContainsNumberAndLetter": "Must Contain Letters and Numbers", + "passwordCheckSpace": "Cannot Contain Whitespace Characters", + "welcomeTitle": "Welcome to {productName}", + "inviteWelcomeTitle": "{username} Invite You to Login {productName}", + "terms": "Terms", + "privacy": "Privacy Policy", + "registerHint": "I Have Read and Agree to the", + "chooseAccount": "Choose Your Account", + "signInLabel": "Sign In with {name}", + "bindAccount": "Bind Account", + "scanQrCode": "Scan the QR Code with {name}", + "invalidThirdPartyParam": "Invalid Third-Party Param", + "account": "Account", + "inputAccount": "Please Enter Your Account", + "ldapLogin": "LDAP Sign In", + "resetPassword": "Reset Password", + "resetPasswordDesc": "Reset User {name}'s Password. A New Password Will Be Generated After Reset.", + "resetSuccess": "Reset Succeeded", + "resetSuccessDesc": "Password Reset Succeeded. The New Password is: {password}", + "copyPassword": "Copy Password", + "poweredByLowcoder": "Powered by Lowcoder.cloud" + }, + "preLoad": { + "jsLibraryHelpText": "Add JavaScript Libraries to Your Current Application via URL Addresses. lodash, day.js, uuid, numbro are Built into the System for Immediate Use. JavaScript Libraries are Loaded Before the Application is Initialized, Which Can Have an Impact on Application Performance.", + "exportedAs": "Exported As", + "urlTooltip": "URL Address of the JavaScript Library, [unpkg.com](https://unpkg.com/) or [jsdelivr.net](https://www.jsdelivr.com/) is Recommended", + "recommended": "Recommended", + "viewJSLibraryDocument": "Document", + "jsLibraryURLError": "Invalid URL", + "jsLibraryExist": "JavaScript Library Already Exists", + "jsLibraryEmptyContent": "No JavaScript Libraries Added", + "jsLibraryDownloadError": "JavaScript Library Download Error", + "jsLibraryInstallSuccess": "JavaScript Library Installed Successfully", + "jsLibraryInstallFailed": "JavaScript Library Installation Failed", + "jsLibraryInstallFailedCloud": "Perhaps the Library is Not Available in the Sandbox, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{message}", + "jsLibraryInstallFailedHost": "{message}", + "add": "Add New", + "jsHelpText": "Add a Global Method or Variable to the Current Application.", + "cssHelpText": "Add Styles to the Current Application. The DOM Structure May Change as the System Iterates. Try to Modify Styles Through Component Properties.", + "scriptsAndStyles": "Scripts and Styles", + "jsLibrary": "JavaScript Library" + }, + "editorTutorials": { + "component": "Component", + "componentContent": "The Right Component Area Has Tables, Buttons, Input Boxes, Selectors, and Other Components That Can Be Dragged onto the Canvas for Use.", + "canvas": "Canvas", + "canvasContent": "What You See on the Canvas is What You Get, and You Can Adjust Component Layout and Size by Dragging and Dropping, and Delete/Copy/Paste Components with Keyboard Shortcuts.", + "queryData": "Query Data", + "queryDataContent": "Create a New Query Here and Connect to Your MySQL, MongoDB, Redis, Airtable, and Other Data Sources. After Configuring the Query, Click 'Run' to Obtain the Data.", + "compProperties": "Component Properties" + }, + "homeTutorials": { // eslint-disable-next-line only-ascii/only-ascii - welcomeTitle: "🎉 Welcome to {productName} 🎉", - inviteWelcomeTitle: "{username} invite you to login {productName}", - terms: "Terms", - privacy: "Privacy Policy", - registerHint: "I have read and agree to the", - chooseAccount: "Choose your Account", - signInLabel: "Sign in with {name}", - bindAccount: "Bind Account", - scanQrCode: "Scan the QR code with {name}", - invalidThirdPartyParam: "Invalid third-party param", - account: "Account", - inputAccount: "Please enter your account", - ldapLogin: "LDAP Sign in", - resetPassword: "Reset Password", - resetPasswordDesc: "Reset user {name}'s password. A new password will be generated after reset.", - resetSuccess: "Reset succeeded", - resetSuccessDesc: "Password reset succeeded. The new password is: {password}", - copyPassword: "Copy password", - poweredByLowcoder: "Powered by Lowcoder.cloud", - }, - preLoad: { - jsLibraryHelpText: "Add JavaScript libraries to your current application via URL addresses. lodash, day.js, uuid, numbro are built into the system for immediate use. JavaScript libraries are loaded before the application is initialized, which can have an impact on application performance.", - exportedAs: "Exported as", - urlTooltip: "URL address of the JavaScript library, [unpkg.com](https://unpkg.com/) or [jsdelivr.net](https://www.jsdelivr.com/) is recommended", - recommended: "Recommended", - viewJSLibraryDocument: "Document", - jsLibraryURLError: "Invalid URL", - jsLibraryExist: "JavaScript library already exists", - jsLibraryEmptyContent: "No JavaScript libraries added", - jsLibraryDownloadError: "JavaScript library download error", - jsLibraryInstallSuccess: "JavaScript library installed successfully", - jsLibraryInstallFailed: "JavaScript library installation failed", - jsLibraryInstallFailedCloud: "Perhaps the library is not available in the sandbox, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{message}", - jsLibraryInstallFailedHost: "{message}", - add: "Add New", - jsHelpText: "Add a global method or variable to the current application.", - cssHelpText: "Add styles to the current application. The DOM structure may change as the system iterates. Try to modify styles through component properties.", - scriptsAndStyles: "Scripts and styles", - jsLibrary: "JavaScript library", - }, - editorTutorials: { - component: "Component", - componentContent: "The right component area has tables, buttons, input boxes, selectors, and other components that can be dragged onto the canvas for use.", - canvas: "Canvas", - canvasContent: "What you see on the canvas is what you get, and you can adjust component layout and size by dragging and dropping, and delete/copy/paste components with keyboard shortcuts.", - queryData: "Query data", - queryDataContent: `Create a new query here and connect to your MySQL, MongoDB, Redis, Airtable, and other data sources. After configuring the query, click "Run" to obtain the data.`, - compProperties: "Component properties", - }, - homeTutorials: { - // eslint-disable-next-line only-ascii/only-ascii - createAppContent: `🎉 Welcome to {productName}, click "App" and start to create your first application.`, - createAppTitle: "Create app", + "createAppContent": "🎉 Welcome to {productName}, Click 'App' and Start to Create Your First Application.", + "createAppTitle": "Create App" }, @@ -2203,29 +2270,29 @@ export const en = { // twentieth part - npm: { - invalidNpmPackageName: "Invalid npm package name or url.", - pluginExisted: "This npm plugin already existed", - compNotFound: "Component {compName} not found.", - addPluginModalTitle: "Add npm plugin", - pluginNameLabel: "npm package's URL or name", - noCompText: "No components.", - compsLoading: "Loading...", - removePluginBtnText: "Remove", - addPluginBtnText: "Add npm plugin", - }, - toggleButton: { - valueDesc: "The default value of the toggle button, for example: false", - trueDefaultText: "Hide", - falseDefaultText: "Show", - trueLabel: "Text for true", - falseLabel: "Text for false", - trueIconLabel: "Icon for true", - falseIconLabel: "Icon for false", - iconPosition: "Icon position", - showText: "Show text", - alignment: "Alignment", - showBorder: "Show border", + "npm": { + "invalidNpmPackageName": "Invalid npm Package Name or URL.", + "pluginExisted": "This npm Plugin Already Existed", + "compNotFound": "Component {compName} Not Found.", + "addPluginModalTitle": "Add Plugin from a npm Repository", + "pluginNameLabel": "npm Package's URL or Name", + "noCompText": "No Components.", + "compsLoading": "Loading...", + "removePluginBtnText": "Remove", + "addPluginBtnText": "Add npm Plugin" + }, + "toggleButton": { + "valueDesc": "The Default Value of the Toggle Button, For Example: False", + "trueDefaultText": "Hide", + "falseDefaultText": "Show", + "trueLabel": "Text for True", + "falseLabel": "Text for False", + "trueIconLabel": "Icon for True", + "falseIconLabel": "Icon for False", + "iconPosition": "Icon Position", + "showText": "Show Text", + "alignment": "Alignment", + "showBorder": "Show Border" }, docUrls: { docHome: "https://docs.lowcoder.cloud/", @@ -2257,6 +2324,7 @@ export const en = { js: "", transformer: "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/transformers", tempState: "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/temporary-state", + dataResponder: "https://docs.lowcoder.cloud/lowcoder-documentation/business-logic-in-apps/write-javascript/data-responder", }, customComponent: { entryUrl: "https://sdk.lowcoder.cloud/custom_component.html", @@ -2273,405 +2341,405 @@ export const en = { // twenty-first part - componentDoc: { - markdownDemoText: "**Lowcoder** | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", - demoText: "Lowcoder | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", - submit: "Submit", - style: "style", - danger: "Danger", - warning: "warning", - success: "Success", - menu: "menu", - link: "Link", - customAppearance: "Custom Appearance", - search: "search", - pleaseInputNumber: "Please enter a number", - mostValue: "Most Value", - maxRating: "Maximum Rating", - notSelect: "Not Selected", - halfSelect: "Half Selection", - pleaseSelect: "Please select", - title: "Title", - content: "Content", - componentNotFound: "Component does not exist", - example: "Examples", - defaultMethodDesc: "Set the value of property {name}", - propertyUsage: "You can read component-related information by accessing component properties by component name anywhere you can write JavaScript.", - property: "Properties", - propertyName: "Property Name", - propertyType: "Type", - propertyDesc: "Description", - event: "Events", - eventName: "event name", - eventDesc: "Description", - mehtod: "Methods", - methodUsage: "You can interact with components through their methods, and you can call them by their name anywhere you can write JavaScript. Or you can call them through the 'Control component' action of an event.", - methodName: "Method Name", - methodDesc: "Description", - showBorder: "Show Border", - haveTry: "Try it yourself", - settings: "Setting", - settingValues: "Setting value", - defaultValue: "Default Value", - time: "time", - date: "date", - noValue: "None", - xAxisType: "X-axis type", - hAlignType: "Horizontal Alignment", - leftLeftAlign: "Left-left alignment", - leftRightAlign: "Left-right alignment", - topLeftAlign: "top-left alignment", - topRightAlign: "top-right alignment", - validation: "Validation", - required: "Required", - defaultStartDateValue: "Default Start Date", - defaultEndDateValue: "Default End Date", - basicUsage: "Basic Usage", - basicDemoDescription: "The following examples show the basic usage of the component.", - noDefaultValue: "No Default Value", - forbid: "Forbidden", - placeholder: "Placeholder", - pleaseInputPassword: "Please enter a password", - password: "password", - textAlign: "Text Alignment", - length: "Length", - top: "Top", - pleaseInputName: "Please enter your name", - userName: "Name", - fixed: "Fixed", - responsive: "Responsive", - workCount: "word count", - cascaderOptions: `[\n {\n "value": "zhejiang",\n "label": "Zhejiang",\n "children": [\n {\n "value": "hangzhou",\n " label": "Hangzhou",\n "children": [\n {\n "value": "xihu",\n "label": "West Lake"\n }\n ]\n }\n ]\n },\n {\n "value": "jiangsu",\n "label": "Jiangsu",\n "children": [\n {\n "value": "nanjing",\n "label" : "Nanjing",\n "children": [\n {\n "value": "zhonghuamen",\n "label": "Zhonghuamen"\n }\n ]\n }\n ]\n } \n]`, - pleaseSelectCity: "Please select a city", - advanced: "Advanced", - showClearIcon: "Show clear icon", - /* eslint-disable only-ascii/only-ascii */ + "componentDoc": { + "markdownDemoText": "**Lowcoder** | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + "demoText": "Lowcoder | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", + "submit": "Submit", + "style": "Style", + "danger": "Danger", + "warning": "Warning", + "success": "Success", + "menu": "Menu", + "link": "Link", + "customAppearance": "Custom Appearance", + "search": "Search", + "pleaseInputNumber": "Please Enter a Number", + "mostValue": "Most Value", + "maxRating": "Maximum Rating", + "notSelect": "Not Selected", + "halfSelect": "Half Selection", + "pleaseSelect": "Please Select", + "title": "Title", + "content": "Content", + "componentNotFound": "Component Does Not Exist", + "example": "Examples", + "defaultMethodDesc": "Set the Value of Property {name}", + "propertyUsage": "You Can Read Component-Related Information by Accessing Component Properties by Component Name Anywhere You Can Write JavaScript.", + "property": "Properties", + "propertyName": "Property Name", + "propertyType": "Type", + "propertyDesc": "Description", + "event": "Events", + "eventName": "Event Name", + "eventDesc": "Description", + "mehtod": "Methods", + "methodUsage": "You Can Interact with Components Through Their Methods, and You Can Call Them by Their Name Anywhere You Can Write JavaScript. Or You Can Call Them Through the 'Control Component' Action of an Event.", + "methodName": "Method Name", + "methodDesc": "Description", + "showBorder": "Show Border", + "haveTry": "Try It Yourself", + "settings": "Setting", + "settingValues": "Setting Value", + "defaultValue": "Default Value", + "time": "Time", + "date": "Date", + "noValue": "None", + "xAxisType": "X-Axis Type", + "hAlignType": "Horizontal Alignment", + "leftLeftAlign": "Left-Left Alignment", + "leftRightAlign": "Left-Right Alignment", + "topLeftAlign": "Top-Left Alignment", + "topRightAlign": "Top-Right Alignment", + "validation": "Validation", + "required": "Required", + "defaultStartDateValue": "Default Start Date", + "defaultEndDateValue": "Default End Date", + "basicUsage": "Basic Usage", + "basicDemoDescription": "The Following Examples Show the Basic Usage of the Component.", + "noDefaultValue": "No Default Value", + "forbid": "Forbidden", + "placeholder": "Placeholder", + "pleaseInputPassword": "Please Enter a Password", + "password": "Password", + "textAlign": "Text Alignment", + "length": "Length", + "top": "Top", + "pleaseInputName": "Please Enter Your Name", + "userName": "Name", + "fixed": "Fixed", + "responsive": "Responsive", + "workCount": "Word Count", + "cascaderOptions": "Cascader Options", + "pleaseSelectCity": "Please Select a City", + "advanced": "Advanced", + "showClearIcon": "Show Clear Icon", +/* eslint-disable only-ascii/only-ascii */ appleOptionLabel: "🍎 Apple", waterMelonOptionLabel: "🍉 Watermelon", berryOptionLabel: "🍓 Strawberry", lemonOptionLabel: "🍋 Lemon", coconutOptionLabel: "🥥 Coconut", - /* eslint-enable only-ascii/only-ascii */ - likedFruits: "Favorites", - option: "option", - singleFileUpload: "Single file upload", - multiFileUpload: "Multiple file upload", - folderUpload: "Folder Upload", - multiFile: "multiple files", - folder: "folder", - open: "open", - favoriteFruits: "Favorite Fruits", - pleaseSelectOneFruit: "Select a fruit", - notComplete: "not complete", - complete: "Complete", - echart: "EChart", - lineChart: "line chart", - basicLineChart: "Basic line chart", - lineChartType: "Line chart type", - stackLineChart: "Stacked line", - areaLineChart: "Area line", - scatterChart: "Scatter chart", - scatterShape: "Scatter shape", - scatterShapeCircle: "Circle", - scatterShapeRect: "Rectangle", - scatterShapeTri: "Triangle", - scatterShapeDiamond: "diamond", - scatterShapePin: "Pushpin", - scatterShapeArrow: "Arrow", - pieChart: "Pie Chart", - basicPieChart: "Basic pie chart", - pieChatType: "Pie Chart Type", - pieChartTypeCircle: "Donut chart", - pieChartTypeRose: "Rose chart", - titleAlign: "Title position", - color: "Color", - dashed: "Dashed", - imADivider: "I am a dividing line", - tableSize: "Table size", - subMenuItem: "SubMenu {num}", - menuItem: "Menu {num}", - labelText: "Label", - labelPosition: "Label - Position", - labelAlign: "Label - Align", - optionsOptionType: "Configuration method", - styleBackgroundColor: "Background color", - styleBorderColor: "Border color", - styleColor: "Font color", - selectionMode: "Row selection mode", - paginationSetting: "Pagination setting", - paginationShowSizeChanger: "Support users to modify the number of entries per page", - paginationShowSizeChangerButton: "Show size changer button", - paginationShowQuickJumper: "Show quick jumper", - paginationHideOnSinglePage: "Hide when there is only one page", - paginationPageSizeOptions: "Page size", - chartConfigCompType: "Chart type", - xConfigType: "X axis type", - loading: "Loading", - disabled: "Disabled", - minLength: "Minimum length", - maxLength: "Maximum length", - showCount: "Show word count", - autoHeight: "Height", - thousandsSeparator: "thousands separator", - precision: "Decimal places", - value: "Default value", - formatter: "Format", - min: "Minimum value", - max: "Maximum value", - step: "Step size", - start: "Start time", - end: "End time", - allowHalf: "Allow half selection", - filetype: "File type", - showUploadList: "Show upload list", - uploadType: "Upload Type", - allowClear: "Show clear icon", - minSize: "Minimum file size", - maxSize: "Maximum file size", - maxFiles: "Maximum number of uploaded files", - format: "Format", - minDate: "Minimum date", - maxDate: "Maximum date", - minTime: "Minimum time", - maxTime: "Maximum time", - text: "Text", - type: "Type", - hideHeader: "Hide header", - hideBordered: "Hide border", - src: "Image URL", - showInfo: "Display value", - mode: "Mode", - onlyMenu: "Only menu", - horizontalAlignment: "Horizontal alignment", - row: "Left", - column: "Top", - leftAlign: "Left alignment", - rightAlign: "Right alignment", - percent: "percentage", - fixedHeight: "Fixed height", - auto: "Adaptive", - directory: "Folder", - multiple: "Multiple files", - singleFile: "Single File", - manual: "Manual", - default: "Default", - small: "Small", - middle: "Medium", - large: "Large", - single: "Single", - multi: "Multiple", - close: "Close", - ui: "UI mode", - line: "Line chart", - scatter: "Scatter plot", - pie: "Pie chart", - basicLine: "Basic line chart", - stackedLine: "Stacked line chart", - areaLine: "area area map", - basicPie: "Basic pie chart", - doughnutPie: "Donut chart", - rosePie: "Rose chart", - category: "category axis", - circle: "Circle", - rect: "Rectangle", - triangle: "Triangle", - diamond: "Diamond", - pin: "Pushpin", - arrow: "Arrow", - left: "Left", - right: "Right", - center: "Center", - bottom: "Bottom", - justify: "Justify both ends", +/* eslint-enable only-ascii/only-ascii */ + "likedFruits": "Favorites", + "option": "Option", + "singleFileUpload": "Single File Upload", + "multiFileUpload": "Multiple File Upload", + "folderUpload": "Folder Upload", + "multiFile": "Multiple Files", + "folder": "Folder", + "open": "Open", + "favoriteFruits": "Favorite Fruits", + "pleaseSelectOneFruit": "Select a Fruit", + "notComplete": "Not Complete", + "complete": "Complete", + "echart": "EChart", + "lineChart": "Line Chart", + "basicLineChart": "Basic Line Chart", + "lineChartType": "Line Chart Type", + "stackLineChart": "Stacked Line", + "areaLineChart": "Area Line", + "scatterChart": "Scatter Chart", + "scatterShape": "Scatter Shape", + "scatterShapeCircle": "Circle", + "scatterShapeRect": "Rectangle", + "scatterShapeTri": "Triangle", + "scatterShapeDiamond": "Diamond", + "scatterShapePin": "Pushpin", + "scatterShapeArrow": "Arrow", + "pieChart": "Pie Chart", + "basicPieChart": "Basic Pie Chart", + "pieChatType": "Pie Chart Type", + "pieChartTypeCircle": "Donut Chart", + "pieChartTypeRose": "Rose Chart", + "titleAlign": "Title Position", + "color": "Color", + "dashed": "Dashed", + "imADivider": "I am a Dividing Line", + "tableSize": "Table Size", + "subMenuItem": "SubMenu {num}", + "menuItem": "Menu {num}", + "labelText": "Label", + "labelPosition": "Label - Position", + "labelAlign": "Label - Align", + "optionsOptionType": "Configuration Method", + "styleBackgroundColor": "Background Color", + "styleBorderColor": "Border Color", + "styleColor": "Font Color", + "selectionMode": "Row Selection Mode", + "paginationSetting": "Pagination Setting", + "paginationShowSizeChanger": "Support Users to Modify the Number of Entries per Page", + "paginationShowSizeChangerButton": "Show Size Changer Button", + "paginationShowQuickJumper": "Show Quick Jumper", + "paginationHideOnSinglePage": "Hide When There is Only One Page", + "paginationPageSizeOptions": "Page Size", + "chartConfigCompType": "Chart Type", + "xConfigType": "X Axis Type", + "loading": "Loading", + "disabled": "Disabled", + "minLength": "Minimum Length", + "maxLength": "Maximum Length", + "showCount": "Show Word Count", + "autoHeight": "Height", + "thousandsSeparator": "Thousands Separator", + "precision": "Decimal Places", + "value": "Default Value", + "formatter": "Format", + "min": "Minimum Value", + "max": "Maximum Value", + "step": "Step Size", + "start": "Start Time", + "end": "End Time", + "allowHalf": "Allow Half Selection", + "filetype": "File Type", + "showUploadList": "Show Upload List", + "uploadType": "Upload Type", + "allowClear": "Show Clear Icon", + "minSize": "Minimum File Size", + "maxSize": "Maximum File Size", + "maxFiles": "Maximum Number of Uploaded Files", + "format": "Format", + "minDate": "Minimum Date", + "maxDate": "Maximum Date", + "minTime": "Minimum Time", + "maxTime": "Maximum Time", + "text": "Text", + "type": "Type", + "hideHeader": "Hide Header", + "hideBordered": "Hide Border", + "src": "Image URL", + "showInfo": "Display Value", + "mode": "Mode", + "onlyMenu": "Only Menu", + "horizontalAlignment": "Horizontal Alignment", + "row": "Left", + "column": "Top", + "leftAlign": "Left Alignment", + "rightAlign": "Right Alignment", + "percent": "Percentage", + "fixedHeight": "Fixed Height", + "auto": "Adaptive", + "directory": "Folder", + "multiple": "Multiple Files", + "singleFile": "Single File", + "manual": "Manual", + "default": "Default", + "small": "Small", + "middle": "Medium", + "large": "Large", + "single": "Single", + "multi": "Multiple", + "close": "Close", + "ui": "UI Mode", + "line": "Line Chart", + "scatter": "Scatter Plot", + "pie": "Pie Chart", + "basicLine": "Basic Line Chart", + "stackedLine": "Stacked Line Chart", + "areaLine": "Area Area Map", + "basicPie": "Basic Pie Chart", + "doughnutPie": "Donut Chart", + "rosePie": "Rose Chart", + "category": "Category Axis", + "circle": "Circle", + "rect": "Rectangle", + "triangle": "Triangle", + "diamond": "Diamond", + "pin": "Pushpin", + "arrow": "Arrow", + "left": "Left", + "right": "Right", + "center": "Center", + "bottom": "Bottom", + "justify": "Justify Both Ends" }, // twenty-second part - playground: { - url: "https://app.lowcoder.cloud/playground/{compType}/1", - data: "Data", - preview: "Preview", - property: "Properties", - console: "Console", - executeMethods: "Execute methods", - noMethods: "No methods.", - methodParams: "Method params", - methodParamsHelp: "Input method params use JSON, for example, you can set setValue's params with: [1] or 1", - }, - calendar: { - headerBtnBackground: "Button background", - btnText: "Button text", - title: "Title", - selectBackground: "Selected background", - }, - componentDocExtra: { - table, - }, - idSource: { - title: "OAuth Providers", - form: "Email", - pay: "Premium", - enable: "Enable", - unEnable: "Not Enabled", - loginType: "Login type", - status: "Status", - desc: "Description", - manual: "Address book:", - syncManual: "Sync Address book", - syncManualSuccess: "Sync succeeded", - enableRegister: "Allow registration", - saveBtn: "Save and enable", - save: "Save", - none: "None", - formPlaceholder: "Please enter {label}", - formSelectPlaceholder: "Please select the {label}", - saveSuccess: "Saved successfully", - dangerLabel: "Danger Zone", - dangerTip: "Disabling this ID provider may result in some users being unable to log in. Proceed with caution.", - disable: "Disable", - disableSuccess: "Disabled successfully", - encryptedServer: "-------- Encrypted on the server side --------", - disableTip: "Tips", - disableContent: "Disabling this ID provider may result in some users being unable to log in. Are you sure to proceed?", - manualTip: "", - lockTip: "The content is locked. To make changes, please click the{icon}to unlock.", - lockModalContent: "Changing the 'ID attribute' field can have significant impacts on user identification. Please confirm that you understand the implications of this change before proceeding.", - payUserTag: "Premium", - }, - slotControl: { - configSlotView: "Configure slot view", - }, - jsonLottie: { - lottieJson: "Lottie JSON", - speed: "Speed", - width: "Width", - height: "Height", - backgroundColor: "Background color", - animationStart: "Animation Start", - valueDesc: "Current json Data", - loop: "Loop", - auto: "auto", - onHover: "On hover", - singlePlay: "Single Play", - endlessLoop: "Endless Loop", - keepLastFrame: "Keep Last Frame", - }, - timeLine: { - titleColor: "Title color", - subTitleColor: "Subtitle color", - lableColor: "Label color", - value: "Timeline data", - mode: "Display order", - left: "Content right", - right: "Content left", - alternate: "Alternate content order", - modeTooltip: "Set the content to appear left/right or alternately on both sides of the timeline", - reverse: "Newest events first", - pending: "Pending node text", - pendingDescription: "When set, then an last node with the text and a waiting indicator will be displayed.", - defaultPending: "continuous improvement", - clickTitleEvent: "Click Title Event", - clickTitleEventDesc: "click Title Event", - Introduction: "Introduction keys", - helpTitle: "title of timeline(Required)", - helpsubTitle: "subtitle of timeline", - helpLabel: "label of timeline,be used to display dates", - helpColor: "Indicates timeline node color", - helpDot: "Rendering Timeline Nodes as Ant Design Icons", - helpTitleColor: "Individually control the color of node title", - helpSubTitleColor: "Individually control the color of node subtitle", - helpLableColor: "Individually control the color of node icon", - valueDesc: "data of timeline", - clickedObjectDesc: "clicked item data", - clickedIndexDesc: "clicked item index", + "playground": { + "url": "https://app.lowcoder.cloud/playground/{compType}/1", + "data": "Current Data State", + "preview": "Preview", + "property": "Properties", + "console": "Visual Script Console", + "executeMethods": "Execute Methods", + "noMethods": "No Methods.", + "methodParams": "Method Parameters", + "methodParamsHelp": "Input Method Parameters Using JSON. For Example, You Can Set setValue's Parameters With: [1] or 1" + }, + "calendar": { + "headerBtnBackground": "Button Background", + "btnText": "Button Text", + "title": "Title", + "selectBackground": "Selected Background" + }, + "componentDocExtra": { + "table": "Additional Documentation for Table Component" + }, + "idSource": { + "title": "OAuth Providers", + "form": "Email", + "pay": "Premium", + "enable": "Enable", + "unEnable": "Not Enabled", + "loginType": "Login Type", + "status": "Status", + "desc": "Description", + "manual": "Address Book:", + "syncManual": "Sync Address Book", + "syncManualSuccess": "Sync Succeeded", + "enableRegister": "Allow Registration", + "saveBtn": "Save and Enable", + "save": "Save", + "none": "None", + "formPlaceholder": "Please Enter {label}", + "formSelectPlaceholder": "Please Select the {label}", + "saveSuccess": "Saved Successfully", + "dangerLabel": "Danger Zone", + "dangerTip": "Disabling This ID Provider May Result in Some Users Being Unable to Log In. Proceed With Caution.", + "disable": "Disable", + "disableSuccess": "Disabled Successfully", + "encryptedServer": "-------- Encrypted on the Server Side --------", + "disableTip": "Tips", + "disableContent": "Disabling This ID Provider May Result in Some Users Being Unable to Log In. Are You Sure to Proceed?", + "manualTip": "", + "lockTip": "The Content is Locked. To Make Changes, Please Click the {icon} to Unlock.", + "lockModalContent": "Changing the 'ID Attribute' Field Can Have Significant Impacts on User Identification. Please Confirm That You Understand the Implications of This Change Before Proceeding.", + "payUserTag": "Premium" + }, + "slotControl": { + "configSlotView": "Configure Slot View" + }, + "jsonLottie": { + "lottieJson": "Lottie JSON", + "speed": "Speed", + "width": "Width", + "height": "Height", + "backgroundColor": "Background Color", + "animationStart": "Animation Start", + "valueDesc": "Current JSON Data", + "loop": "Loop", + "auto": "Auto", + "onHover": "On Hover", + "singlePlay": "Single Play", + "endlessLoop": "Endless Loop", + "keepLastFrame": "Keep Last Frame displayed" + }, + "timeLine": { + "titleColor": "Title Color", + "subTitleColor": "Subtitle Color", + "lableColor": "Label Color", + "value": "Timeline Data", + "mode": "Display Order", + "left": "Content Right", + "right": "Content Left", + "alternate": "Alternate Content Order", + "modeTooltip": "Set the Content to Appear Left/Right or Alternately on Both Sides of the Timeline", + "reverse": "Newest Events First", + "pending": "Pending Node Text", + "pendingDescription": "When Set, Then a Last Node With the Text and a Waiting Indicator Will Be Displayed.", + "defaultPending": "Continuous Improvement", + "clickTitleEvent": "Click Title Event", + "clickTitleEventDesc": "Click Title Event", + "Introduction": "Introduction Keys", + "helpTitle": "Title of Timeline (Required)", + "helpsubTitle": "Subtitle of Timeline", + "helpLabel": "Label of Timeline, Used to Display Dates", + "helpColor": "Indicates Timeline Node Color", + "helpDot": "Rendering Timeline Nodes as Ant Design Icons", + "helpTitleColor": "Individually Control the Color of Node Title", + "helpSubTitleColor": "Individually Control the Color of Node Subtitle", + "helpLableColor": "Individually Control the Color of Node Icon", + "valueDesc": "Data of Timeline", + "clickedObjectDesc": "Clicked Item Data", + "clickedIndexDesc": "Clicked Item Index" }, // twenty-third part - comment: { - value: "comment list data", - showSendButton: "Allowing Comments", - title: "title", - titledDefaultValue: "%d comment in total", - placeholder: "shift + enter to comment;Enter @ or # for quick input", - placeholderDec: "placeholder", - buttonTextDec: "button title", - buttonText: "comment", - mentionList: "Mention list data", - mentionListDec: "key-Mention keywords;value-Mention list data", - userInfo: "user info", - dateErr: "date error", - commentList: "comment list", - deletedItem: "deleted item", - submitedItem: "submited item", - deleteAble: "show delete button", - Introduction: "Introduction keys", - helpUser: "user info(Required)", - helpname: "user name(Required)", - helpavatar: "avatar url(high priority)", - helpdisplayName: "display name(low priority)", - helpvalue: "Comment content", - helpcreatedAt: "create date", - }, - mention: { - mentionList: "Mention list data", - }, - autoComplete: { - value: "auto complete value", - checkedValueFrom: "checked value from", - ignoreCase: "search ignore case", - searchLabelOnly: "search label only", - searchFirstPY: "search first pinying", - searchCompletePY: "search complete pinying", - searchText: "search text", - SectionDataName: "autoComplete Data", - valueInItems: "value in items", - type: "type", - antDesign: "AntDesign", - normal: "Normal", - selectKey: "key", - selectLable: "label", - ComponentType: "Component Type", - colorIcon: "blue", - grewIcon: "grew", - noneIcon: "none", - small: "small", - large: "large", - componentSize: "component size", - Introduction: "Introduction keys", - helpLabel: "label", - helpValue: "value", - }, - responsiveLayout: { - column: "Columns", - atLeastOneColumnError: "Responsive layout keeps at least one Column", - columnsPerRow: "Columns per Row", - columnsSpacing: "Columns Spacing (px)", - horizontal: "Horizontal", - vertical: "Vertical", - mobile: "Mobile", - tablet: "Tablet", - desktop: "Desktop", - rowStyle: "Row Style", - columnStyle: "Column Style", - minWidth: "Min. Width", - rowBreak: "Row Break", - matchColumnsHeight: "Match Columns Height", - rowLayout: "Row Layout", - columnsLayout: "Columns Layout", - }, - navLayout: { - mode: "Mode", - modeInline: "Inline", - modeVertical: "Vertical", - width: "Width", - widthTooltip: "Number or percentage, e.g. 520, 60%", - navStyle: "Menu Style", - navItemStyle: "Menu Item Style", + "comment": { + "value": "Comment List Data", + "showSendButton": "Allowing Comments", + "title": "Title", + "titledDefaultValue": "%d Comment in Total", + "placeholder": "Shift + Enter to Comment; Enter @ or # for Quick Input", + "placeholderDec": "Placeholder", + "buttonTextDec": "Button Title", + "buttonText": "Comment", + "mentionList": "Mention List Data", + "mentionListDec": "Key-Mention Keywords; Value-Mention List Data", + "userInfo": "User Info", + "dateErr": "Date Error", + "commentList": "Comment List", + "deletedItem": "Deleted Item", + "submitedItem": "Submitted Item", + "deleteAble": "Show Delete Button", + "Introduction": "Introduction Keys", + "helpUser": "User Info (Required)", + "helpname": "User Name (Required)", + "helpavatar": "Avatar URL (High Priority)", + "helpdisplayName": "Display Name (Low Priority)", + "helpvalue": "Comment Content", + "helpcreatedAt": "Create Date" + }, + "mention": { + "mentionList": "Mention List Data" + }, + "autoComplete": { + "value": "Auto Complete Value", + "checkedValueFrom": "Checked Value From", + "ignoreCase": "Search Ignore Case", + "searchLabelOnly": "Search Label Only", + "searchFirstPY": "Search First Pinyin", + "searchCompletePY": "Search Complete Pinyin", + "searchText": "Search Text", + "SectionDataName": "AutoComplete Data", + "valueInItems": "Value in Items", + "type": "Type", + "antDesign": "AntDesign", + "normal": "Normal", + "selectKey": "Key", + "selectLable": "Label", + "ComponentType": "Component Type", + "colorIcon": "Blue", + "grewIcon": "Grey", + "noneIcon": "None", + "small": "Small", + "large": "Large", + "componentSize": "Component Size", + "Introduction": "Introduction Keys", + "helpLabel": "Label", + "helpValue": "Value" + }, + "responsiveLayout": { + "column": "Columns", + "atLeastOneColumnError": "Responsive Layout Keeps at Least One Column", + "columnsPerRow": "Columns per Row", + "columnsSpacing": "Columns Spacing (px)", + "horizontal": "Horizontal", + "vertical": "Vertical", + "mobile": "Mobile", + "tablet": "Tablet", + "desktop": "Desktop", + "rowStyle": "Row Style", + "columnStyle": "Column Style", + "minWidth": "Min. Width", + "rowBreak": "Row Break", + "matchColumnsHeight": "Match Columns Height", + "rowLayout": "Row Layout", + "columnsLayout": "Columns Layout" + }, + "navLayout": { + "mode": "Mode", + "modeInline": "Inline", + "modeVertical": "Vertical", + "width": "Width", + "widthTooltip": "Pixel or Percentage, e.g. 520, 60%", + "navStyle": "Menu Style", + "navItemStyle": "Menu Item Style" } }; diff --git a/client/packages/lowcoder/src/util/tutorialUtils.ts b/client/packages/lowcoder/src/util/tutorialUtils.ts index 0dffed5a6..4773ac008 100644 --- a/client/packages/lowcoder/src/util/tutorialUtils.ts +++ b/client/packages/lowcoder/src/util/tutorialUtils.ts @@ -20,7 +20,7 @@ export const QueryTutorials = { js: trans("queryTutorial.js"), transformer: trans("queryTutorial.transformer"), tempState: trans("queryTutorial.tempState"), - dataResponder: "", + dataResponder: trans("queryTutorial.dataResponder"), es: "https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html", redis: "https://redis.io/commands/", googleSheets: { From 46796e54d9201ad3cd719236bdc6433b629daf92 Mon Sep 17 00:00:00 2001 From: FalkWolsky Date: Sat, 2 Dec 2023 18:17:33 +0100 Subject: [PATCH 6/7] Fixed Tutorial bug --- .../src/i18n/comps/locales/en.ts | 2 +- .../packages/lowcoder/src/i18n/locales/en.ts | 8 ++++---- .../lowcoder/src/i18n/locales/enObj.tsx | 10 ++++------ .../src/pages/tutorials/editorTutorials.tsx | 18 ++++++++---------- 4 files changed, 17 insertions(+), 21 deletions(-) diff --git a/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts b/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts index 5f363faee..d5def449b 100644 --- a/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts +++ b/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts @@ -62,7 +62,7 @@ export const en = { selectDesc: "Triggered when the user selects part of the data in the chart", unselectDesc: "Triggered when the user unselects part of the data in the chart", selectedPointsDesc: "Selected points", - dataDesc: "The raw data used in the current chart", + dataDesc: "The JSON data for the chart", titleDesc: "Current chart title", scatterShape: "Scatter shape", circle: "Circle", diff --git a/client/packages/lowcoder/src/i18n/locales/en.ts b/client/packages/lowcoder/src/i18n/locales/en.ts index c4699864a..809989764 100644 --- a/client/packages/lowcoder/src/i18n/locales/en.ts +++ b/client/packages/lowcoder/src/i18n/locales/en.ts @@ -1279,7 +1279,7 @@ export const en = { "displayDataDesc": "Data Displayed in the Current Table", "selectedIndexDesc": "Selected Index in Display Data", "filterDesc": "Table Filtering Parameters", - "dataDesc": "The Raw Data Used in the Current Table", + "dataDesc": "The JSON Data for the Table", "saveChanges": "Save Changes", "cancelChanges": "Cancel Changes", "rowSelectChange": "Row Select Change", @@ -2147,11 +2147,11 @@ export const en = { }, "editorTutorials": { "component": "Component", - "componentContent": "The Right Component Area Has Tables, Buttons, Input Boxes, Selectors, and Other Components That Can Be Dragged onto the Canvas for Use.", + "componentContent": "The Right Component Panel offers you many ready made Application Blocks (Components). These Can Be Dragged onto the Canvas for Use. You Can Also Create Your Own Components with a little coding knowledge.", "canvas": "Canvas", - "canvasContent": "What You See on the Canvas is What You Get, and You Can Adjust Component Layout and Size by Dragging and Dropping, and Delete/Copy/Paste Components with Keyboard Shortcuts.", + "canvasContent": "Build your apps on the Canvas with a 'What You See Is What You Get' approach. Simply drag and drop components to design your layout, and use keyboard shortcuts for quick editing like delete, copy, and paste. Once a component is selected, you can fine-tune every detail—from styling and layout to data binding and logical behavior. Plus, enjoy the added benefit of responsive design, ensuring your apps look great on any device.", "queryData": "Query Data", - "queryDataContent": "Create a New Query Here and Connect to Your MySQL, MongoDB, Redis, Airtable, and Other Data Sources. After Configuring the Query, Click 'Run' to Obtain the Data.", + "queryDataContent": "You can create Data Queries Here and Connect to Your MySQL, MongoDB, Redis, Airtable, and many Other Data Sources. After Configuring the Query, Click 'Run' to Obtain the Data and continue the Tutorial.", "compProperties": "Component Properties" }, "homeTutorials": { diff --git a/client/packages/lowcoder/src/i18n/locales/enObj.tsx b/client/packages/lowcoder/src/i18n/locales/enObj.tsx index 3165610d4..cb2105ef0 100644 --- a/client/packages/lowcoder/src/i18n/locales/enObj.tsx +++ b/client/packages/lowcoder/src/i18n/locales/enObj.tsx @@ -115,16 +115,14 @@ export const enObj: I18nObjects = { mockDataUrl: "https://6523073ef43b179384152c4f.mockapi.io/api/lowcoder/users", data: (code) => ( <> - The component and query data are listed here, which can be referenced through - {code("{{ }}")}. For example: {code("{{table1.selectedRow}}")}. + The current State of the Component with all Settings and Data listed here. You can reference to this data with the handlebar expression. + For example: {code("{{table1.selectedRow}}")}. ), compProperties: (code) => ( <> - When the component is selected, its properties are displayed on the right - {code("{{query1.data}}")}. Reference the data just queried, you can use in the input box - {code("{{ }}")} - write JavaScript. + When the component is selected, its properties are displayed on the right. Now you can set a Data Binding. Please delete all static Data and enter the following handlebar expression: + {code("{{query1.data}}")}. With this, you bind the data of the query to the table. The table will automatically display the data returned by the query. If the query updates the data, the table will also update the data automatically. ), }, diff --git a/client/packages/lowcoder/src/pages/tutorials/editorTutorials.tsx b/client/packages/lowcoder/src/pages/tutorials/editorTutorials.tsx index 9e3979ef4..1f8c2ab82 100644 --- a/client/packages/lowcoder/src/pages/tutorials/editorTutorials.tsx +++ b/client/packages/lowcoder/src/pages/tutorials/editorTutorials.tsx @@ -42,7 +42,7 @@ const tourSteps: Step[] = [ placement: "left", styles: { options: { - width: 408, + width: 500, }, }, target: `.${tableDragClassName}`, @@ -55,7 +55,7 @@ const tourSteps: Step[] = [ spotlightClicks: true, styles: { options: { - width: 480, + width: 600, }, }, target: `.${editorContentClassName}`, @@ -68,7 +68,7 @@ const tourSteps: Step[] = [ spotlightClicks: true, styles: { options: { - width: 480, + width: 500, }, }, target: `.${editorBottomClassName}`, @@ -84,7 +84,7 @@ const tourSteps: Step[] = [ spotlightPadding: 8, styles: { options: { - width: 408, + width: 500, }, }, target: `.${tableDataDivClassName}`, @@ -103,7 +103,7 @@ const tourSteps: Step[] = [ spotlightClicks: true, styles: { options: { - width: 408, + width: 500, }, }, target: `.${leftCompListClassName}`, @@ -134,8 +134,8 @@ function addTable(editorState: EditorState) { { [key]: { i: key, - x: 0, - y: 0, + x: 6, + y: 25, ...defaultLayout(compType), }, }, @@ -237,6 +237,7 @@ export default function EditorTutorials() { const { status, index, action, type } = data; const finishedStatuses: string[] = [STATUS.FINISHED, STATUS.SKIPPED]; const nextIndex = index + (action === ACTIONS.PREV ? -1 : 1); + if (finishedStatuses.includes(status)) { dispatch(markUserStatus("newUserGuidance", true)); history.replace({ @@ -265,9 +266,6 @@ export default function EditorTutorials() { } else if (index === 2 && action === ACTIONS.NEXT) { // change data openTableData(); - const tableComp = editorState.getUICompByName("table1"); - tableComp && - tableComp.children.comp.children.data.dispatchChangeValueAction("{{query1.data}}"); setStepIndex(nextIndex); } else if (index === 1 && action === ACTIONS.PREV) { // cancel select From 13043b0fa3a560dd492c39458f1745ff7c2d02b8 Mon Sep 17 00:00:00 2001 From: FalkWolsky Date: Sat, 2 Dec 2023 19:48:39 +0100 Subject: [PATCH 7/7] First Translation to German --- .../src/i18n/comps/locales/en.ts | 285 +- .../packages/lowcoder/src/i18n/locales/de.ts | 2530 +++++++++++++++ .../packages/lowcoder/src/i18n/locales/en.ts | 200 +- .../lowcoder/src/i18n/locales/index.ts | 1 + .../i18n/locales/translation_files/de.json | 2528 +++++++++++++++ .../i18n/locales/translation_files/en.json | 2858 +++++++++-------- .../translation_files/en_corrected.json | 2568 --------------- .../i18n/locales/translation_files/es.json | 1 + .../i18n/locales/translation_files/fr.json | 1 + 9 files changed, 6742 insertions(+), 4230 deletions(-) create mode 100644 client/packages/lowcoder/src/i18n/locales/de.ts create mode 100644 client/packages/lowcoder/src/i18n/locales/translation_files/de.json delete mode 100644 client/packages/lowcoder/src/i18n/locales/translation_files/en_corrected.json create mode 100644 client/packages/lowcoder/src/i18n/locales/translation_files/es.json create mode 100644 client/packages/lowcoder/src/i18n/locales/translation_files/fr.json diff --git a/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts b/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts index d5def449b..9cac1339b 100644 --- a/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts +++ b/client/packages/lowcoder-comps/src/i18n/comps/locales/en.ts @@ -1,150 +1,145 @@ export const en = { - chart: { - delete: "Delete", - data: "Data", - mode: "Mode", - config: "Configuration", - UIMode: "UI Mode", - chartType: "Chart type", - xAxis: "X-axis", - chartSeries: "Chart series", - customSeries: "Custom series", - add: "Add", - confirmDelete: "Confirm Delete: ", - seriesName: "Series Name", - dataColumns: "Data columns", - title: "Title", - xAxisDirection: "X axis direction", - xAxisName: "X axis name", - xAxisType: "X axis type", - xAxisTypeTooltip: - "By default, it will be automatically detected according to X-axis data. For the type description, please refer to: ", - logBase: "LogBase", - yAxisName: "Y axis name", - yAxisType: "Y axis type", - yAxisDataFormat: "Y axis data type", - yAxisDataFormatTooltip: `Value indicates the value of each coordinate. Example: '{{value * 100 + "%"}}'`, - basicBar: "Basic bar", - stackedBar: "Stacked bar", - barType: "Bar chart type", - categoryAxis: "Category axis", - valueAxis: "Value axis", - timeAxis: "Time axis", - logAxis: "Log axis", - auto: "Default", - legendPosition: "Legend position", - basicLine: "Basic line", - stackedLine: "Stacked line", - areaLine: "Area line", - smooth: "Smooth curve", - lineType: "Line chart type", - basicPie: "Basic pie", - doughnutPie: "Doughnut pie", - rosePie: "Rose pie", - pieType: "Pie chart type", - spending: "Spending", - budget: "Budget", - bar: "Bar chart", - line: "Line chart", - scatter: "Scatter chart", - pie: "Pie chart", - horizontal: "Horizontal", - vertical: "Vertical", - noData: "No data", - unknown: "Unknown", - select: "Select", - unSelect: "Unselect", - echartsOptionLabel: "Option", - echartsOptionTooltip: "ECharts option", - echartsOptionExamples: "ECharts examples", - echartsMapOptionTooltip: "ECharts Map Option", - echartsMapOptionExamples: "ECharts Map Examples", - selectDesc: "Triggered when the user selects part of the data in the chart", - unselectDesc: "Triggered when the user unselects part of the data in the chart", - selectedPointsDesc: "Selected points", - dataDesc: "The JSON data for the chart", - titleDesc: "Current chart title", - scatterShape: "Scatter shape", - circle: "Circle", - rect: "Rect", - triangle: "Triangle", - diamond: "Diamond", - pin: "Pin", - arrow: "Arrow", - pointColorLabel: "Point color", - pointColorTooltip: `Set the point color according to the series name and current point value, optional variables: seriesName, value. Example: '{{value < 25000 ? "red" : "green"}}'`, - mapReady: "Map Ready", - mapReadyDesc: "Triggers when map is ready", - zoomLevelChange: "Zoom Level Change", - zoomLevelChangeDesc: "Triggers when map zoom level changed", - centerPositionChange: "Center Position Change", - centerPositionChangeDesc: "Triggers when map center position changed" + "chart": { + "delete": "Delete", + "data": "Data", + "mode": "Mode", + "config": "Configuration", + "UIMode": "UI Mode", + "chartType": "Chart Type", + "xAxis": "X-axis", + "chartSeries": "Chart Series", + "customSeries": "Custom Series", + "add": "Add", + "confirmDelete": "Confirm Delete: ", + "seriesName": "Series Name", + "dataColumns": "Data Columns", + "title": "Title", + "xAxisDirection": "X-axis Direction", + "xAxisName": "X-axis Name", + "xAxisType": "X-axis Type", + "xAxisTypeTooltip": "Automatically detected based on X-axis data. For type description, refer to: ", + "logBase": "Log Base", + "yAxisName": "Y-axis Name", + "yAxisType": "Y-axis Type", + "yAxisDataFormat": "Y-axis Data Type", + "yAxisDataFormatTooltip": "Indicates the value of each coordinate. Example: '{{value * 100 + \"%\"}}'", + "basicBar": "Basic Bar", + "stackedBar": "Stacked Bar", + "barType": "Bar Chart Type", + "categoryAxis": "Category Axis", + "valueAxis": "Value Axis", + "timeAxis": "Time Axis", + "logAxis": "Log Axis", + "auto": "Default", + "legendPosition": "Legend Position", + "basicLine": "Basic Line", + "stackedLine": "Stacked Line", + "areaLine": "Area Line", + "smooth": "Smooth Curve", + "lineType": "Line Chart Type", + "basicPie": "Basic Pie", + "doughnutPie": "Doughnut Pie", + "rosePie": "Rose Pie", + "pieType": "Pie Chart Type", + "spending": "Spending", + "budget": "Budget", + "bar": "Bar Chart", + "line": "Line Chart", + "scatter": "Scatter Chart", + "pie": "Pie Chart", + "horizontal": "Horizontal", + "vertical": "Vertical", + "noData": "No Data", + "unknown": "Unknown", + "select": "Select", + "unSelect": "Unselect", + "echartsOptionLabel": "Option", + "echartsOptionTooltip": "ECharts Option", + "echartsOptionExamples": "ECharts Examples", + "echartsMapOptionTooltip": "ECharts Map Option", + "echartsMapOptionExamples": "ECharts Map Examples", + "selectDesc": "Triggered when a user selects part of the data in the chart", + "unselectDesc": "Triggered when a user unselects part of the data in the chart", + "selectedPointsDesc": "Selected Points", + "dataDesc": "JSON Data for the Chart", + "titleDesc": "Current Chart Title", + "scatterShape": "Scatter Shape", + "circle": "Circle", + "rect": "Rectangle", + "triangle": "Triangle", + "diamond": "Diamond", + "pin": "Pin", + "arrow": "Arrow", + "pointColorLabel": "Point Color", + "pointColorTooltip": "Set point color based on series name and value. Variables: seriesName, value. Example: '{{value < 25000 ? \"red\" : \"green\"}}'", + "mapReady": "Map Ready", + "mapReadyDesc": "Triggers when the map is ready", + "zoomLevelChange": "Zoom Level Change", + "zoomLevelChangeDesc": "Triggers when the map zoom level changes", + "centerPositionChange": "Center Position Change", + "centerPositionChangeDesc": "Triggers when the map center position changes" }, - imageEditor: { - defaultSrc: "", - save: "Save", - saveDesc: "Save image", - src: "Image source", - name: "Image name", - buttonText: "Button text", - srcDesc: "Image source", - nameDesc: "Image name", - dataURIDesc: "Image data URI", - dataDesc: "Image data", - buttonTextDesc: "Button text", + "imageEditor": { + "defaultSrc": "", + "save": "Save", + "saveDesc": "Save Image", + "src": "Image Source", + "name": "Image Name", + "buttonText": "Button Text", + "srcDesc": "Image Source", + "nameDesc": "Image Name", + "dataURIDesc": "Image Data URI", + "dataDesc": "Image Data", + "buttonTextDesc": "Button Text" }, - calendar: { - events: "Events data", - editable: "Editable", - defaultDate: "Default date", - defaultDateTooltip: "The date that the calendar initially displays", - defaultView: "Default view", - defaultViewTooltip: "The view that the calendar initially displays", - showEventTime: "Show event times", - showEventTimeTooltip: "Whether to display the time text of the event", - showWeekends: "Show weekends", - showAllDay: "Show all-day", - showAllDayTooltip: "Whether to display the all-day slot in the week and day views", - dayMaxEvents: "Day max events", - dayMaxEventsTooltip: - "The maximum number of events to display in the month view per day, with 0 being limited to the height of the cell", - eventMaxStack: "Event max stack", - eventMaxStackTooltip: - "The maximum number of events to stack horizontally in the week and day views, with 0 being no limit", - selectInterval: "The interval selected on the calendar", - selectEvent: "Selected event", - changeSet: - "The event object changed by dragging in the calendar, the key is the eventId, and the value is the event", - headerBtnBackground: "Button background", - btnText: "Button text", - title: "Title", - selectBackground: "Selected background", - today: "Today", - month: "Month", - week: "Week", - day: "Day", - list: "List", - monday: "Monday", - tuesday: "Tuesday", - wednesday: "Wednesday", - thursday: "Thursday", - friday: "Friday", - saturday: "Saturday", - sunday: "Sunday", - startWeek: "Start from", - creatEvent: "Create event", - editEvent: "Edit event", - eventName: "Event name", - eventColor: "Event color", - eventGroupId: "Group ID", - groupIdTooltip: - "Group ID is used to group different events, and events in the same group can be dragged and resized together.", - more: "more", - allDay: "All day", - eventNameRequire: "Please enter Event name", - eventId: "Event ID", - eventIdRequire: "Please enter Event ID", - eventIdTooltip: "Unique ID for each event", - eventIdExist: "ID already exists", + "calendar": { + "events": "Events Data", + "editable": "Editable", + "defaultDate": "Default Date", + "defaultDateTooltip": "Initial display date of the calendar", + "defaultView": "Default View", + "defaultViewTooltip": "Initial view of the calendar", + "showEventTime": "Show Event Times", + "showEventTimeTooltip": "Display event time text", + "showWeekends": "Show Weekends", + "showAllDay": "Show All-Day", + "showAllDayTooltip": "Display all-day slot in week and day views", + "dayMaxEvents": "Day Max Events", + "dayMaxEventsTooltip": "Max events per day in month view, 0 for cell height limit", + "eventMaxStack": "Event Max Stack", + "eventMaxStackTooltip": "Max events to stack horizontally in week and day views, 0 for no limit", + "selectInterval": "Selected Interval", + "selectEvent": "Selected Event", + "changeSet": "Changed Event Object", + "headerBtnBackground": "Button Background", + "btnText": "Button Text", + "title": "Title", + "selectBackground": "Selected Background", + "today": "Today", + "month": "Month", + "week": "Week", + "day": "Day", + "list": "List", + "monday": "Monday", + "tuesday": "Tuesday", + "wednesday": "Wednesday", + "thursday": "Thursday", + "friday": "Friday", + "saturday": "Saturday", + "sunday": "Sunday", + "startWeek": "Start From", + "creatEvent": "Create Event", + "editEvent": "Edit Event", + "eventName": "Event Name", + "eventColor": "Event Color", + "eventGroupId": "Group ID", + "groupIdTooltip": "Group ID groups events for drag and resize together.", + "more": "More", + "allDay": "All Day", + "eventNameRequire": "Enter Event Name", + "eventId": "Event ID", + "eventIdRequire": "Enter Event ID", + "eventIdTooltip": "Unique ID for each event", + "eventIdExist": "ID Exists" }, }; diff --git a/client/packages/lowcoder/src/i18n/locales/de.ts b/client/packages/lowcoder/src/i18n/locales/de.ts new file mode 100644 index 000000000..e049fb2f0 --- /dev/null +++ b/client/packages/lowcoder/src/i18n/locales/de.ts @@ -0,0 +1,2530 @@ +import table from "./componentDocExtra/table.md?url"; + +export const de = { + "productName": "Lowcoder", + "productDesc": "Erstelle Softwareanwendungen für dein Unternehmen und deine Kunden mit minimaler Programmiererfahrung. Lowcoder ist eine hervorragende Alternative zu Retool, Appsmith und Tooljet.", + "notSupportedBrowser": "Dein aktueller Browser hat möglicherweise Kompatibilitätsprobleme. Um ein optimales Nutzererlebnis zu gewährleisten, verwende bitte die neueste Version von Chrome.", + "create": "erstellen", + "move": "Verschiebe", + "addItem": "hinzufügen", + "newItem": "Neu", + "copy": "Kopiere", + "rename": "umbenennen", + "delete": "löschen", + "deletePermanently": "Dauerhaft löschen", + "remove": "entfernen", + "recover": "Wiederherstellen", + "edit": "bearbeiten", + "view": "Siehe", + "value": "Wert", + "data": "Daten", + "information": "Informationen", + "success": "Erfolg", + "warning": "Warnung", + "error": "Fehler", + "reference": "Referenz", + "text": "Text", + "label": "Etikett", + "color": "Farbe", + "form": "Formular", + "menu": "Menü", + "menuItem": "Menüpunkt", + "ok": "OK", + "cancel": "Abbrechen", + "finish": "Finish", + "reset": "Zurücksetzen", + "icon": "Icon", + "code": "Code", + "title": "Titel", + "emptyContent": "Leerer Inhalt", + "more": "Mehr", + "search": "Suche", + "back": "Zurück", + "accessControl": "Zugangskontrolle", + "copySuccess": "Erfolgreich kopiert", + "copyError": "Kopierfehler", + "api": { + "publishSuccess": "Erfolgreich veröffentlicht", + "recoverFailed": "Wiederherstellung fehlgeschlagen", + "needUpdate": "Deine aktuelle Version ist veraltet. Bitte aktualisiere auf die neueste Version." + }, + "codeEditor": { + "notSupportAutoFormat": "Der aktuelle Code-Editor unterstützt keine automatische Formatierung.", + "fold": "Falten" + }, + "exportMethod": { + "setDesc": "Eigenschaft einstellen: {property}", + "clearDesc": "Eigenschaft löschen: {property}", + "resetDesc": "Eigenschaft zurücksetzen: {property} auf Standardwert zurücksetzen" + }, + "method": { + "focus": "Fokus setzen", + "focusOptions": "Fokus-Optionen. Siehe HTMLElement.focus()", + "blur": "Fokus entfernen", + "click": "Klick", + "select": "Alle Texte auswählen", + "setSelectionRange": "Start- und Endposition der Textauswahl festlegen", + "selectionStart": "0-basierter Index des ersten ausgewählten Zeichens", + "selectionEnd": "0-basierter Index des Zeichens nach dem letzten ausgewählten Zeichen", + "setRangeText": "Textbereich ersetzen", + "replacement": "String zum Einfügen", + "replaceStart": "0-basierter Index des ersten zu ersetzenden Zeichens", + "replaceEnd": "0-basierter Index des Zeichens nach dem letzten zu ersetzenden Zeichen" + }, + "errorBoundary": { + "encounterError": "Das Laden einer Komponente ist fehlgeschlagen. Bitte überprüfe deine Konfiguration.", + "clickToReload": "Zum Nachladen klicken", + "errorMsg": "Fehler: " + }, + "imgUpload": { + "notSupportError": "Unterstützt nur {types} Bildtypen", + "exceedSizeError": "Die Bildgröße darf {size} nicht überschreiten" + }, + "gridCompOperator": { + "notSupport": "Nicht unterstützt", + "selectAtLeastOneComponent": "Bitte wähle mindestens eine Komponente aus", + "selectCompFirst": "Komponenten vor dem Kopieren auswählen", + "noContainerSelected": "[Bug] Kein Container ausgewählt", + "deleteCompsSuccess": "Erfolgreich gelöscht. Drücke {undoKey} zum Rückgängigmachen.", + "deleteCompsTitle": "Komponenten löschen", + "deleteCompsBody": "Bist du sicher, dass du {compNum} ausgewählte Komponenten löschen willst?", + "cutCompsSuccess": "Erfolgreich ausgeschnitten. Drücke {EinfügenTaste}, um einzufügen, oder {RückgängigTaste}, um den Vorgang rückgängig zu machen." + }, + "leftPanel": { + "queries": "Datenabfragen in deiner App", + "globals": "Globale Datenvariablen", + "propTipsArr": "{num} Posten", + "propTips": "{num} Tasten", + "propTipArr": "Posten {num}", + "propTip": "{num} Schlüssel", + "stateTab": "Staat", + "settingsTab": "Einstellungen", + "toolbarTitle": "Individualisierung", + "toolbarPreload": "Skripte und Stile", + "components": "Aktive Komponenten", + "modals": "In-App-Modale", + "expandTip": "Klicken, um die Daten zu erweitern", + "collapseTip": "Klicken Sie, um die Daten der Komponente zu reduzieren" + }, + "bottomPanel": { + "title": "Datenabfragen", + "run": "Lauf", + "noSelectedQuery": "Keine Abfrage ausgewählt", + "metaData": "Metadaten der Datenquelle", + "noMetadata": "Keine Metadaten verfügbar", + "metaSearchPlaceholder": "Metadaten suchen", + "allData": "Alle Tische" + }, + "rightPanel": { + "propertyTab": "Eigenschaften", + "noSelectedComps": "Keine Komponenten ausgewählt. Klicke auf eine Komponente, um ihre Eigenschaften anzuzeigen.", + "createTab": "einfügen", + "searchPlaceHolder": "Komponenten oder Module suchen", + "uiComponentTab": "Komponenten", + "extensionTab": "Erweiterungen", + "modulesTab": "Module", + "moduleListTitle": "Module", + "pluginListTitle": "Plugins", + "emptyModules": "Module sind wiederverwendbare Mikro-Apps. Du kannst sie in deine App einbetten.", + "searchNotFound": "Kannst du die richtige Komponente nicht finden? Ein Problem einreichen", + "emptyPlugins": "Keine Plugins hinzugefügt", + "contactUs": "Kontakt", + "issueHere": "hier." + }, + "prop": { + "expand": "Erweitern", + "columns": "Rubriken", + "videokey": "Video Schlüssel", + "rowSelection": "Zeilenauswahl", + "toolbar": "Symbolleiste", + "pagination": "Paginierung", + "logo": "Logo", + "style": "Stil", + "inputs": "Eingänge", + "meta": "Metadaten", + "data": "Daten", + "hide": "Verstecken", + "loading": "Laden", + "disabled": "Behinderte", + "placeholder": "Platzhalter", + "showClear": "Schaltfläche \"Löschen\" anzeigen", + "showSearch": "Durchsuchbar", + "defaultValue": "Standardwert", + "required": "Erforderliches Feld", + "readOnly": "Nur lesen", + "readOnlyTooltip": "Schreibgeschützte Komponenten erscheinen normal, können aber nicht geändert werden.", + "minimum": "Minimum", + "maximum": "Maximum", + "regex": "Regex", + "minLength": "Mindestlänge", + "maxLength": "Maximale Länge", + "height": "Höhe", + "width": "Breite", + "selectApp": "App auswählen", + "showCount": "Anzahl anzeigen", + "textType": "Textart", + "customRule": "Benutzerdefinierte Regel", + "customRuleTooltip": "Eine nicht leere Zeichenkette weist auf einen Fehler hin; eine leere Zeichenkette oder null bedeutet, dass die Validierung erfolgreich war. Beispiel: ", + "manual": "Handbuch", + "map": "Karte", + "json": "JSON", + "use12Hours": "12-Stunden-Format verwenden", + "hourStep": "Stundensprung", + "minuteStep": "Minutenschritt", + "secondStep": "Zweiter Schritt", + "minDate": "Minimum Datum", + "maxDate": "Maximales Datum", + "minTime": "Mindestzeit", + "maxTime": "Maximale Zeit", + "type": "Typ", + "showLabel": "Etikett anzeigen", + "showHeader": "Kopfzeile anzeigen", + "showBody": "Körper zeigen", + "showFooter": "Fußzeile anzeigen", + "maskClosable": "Zum Schließen auf \"Draußen\" klicken", + "showMask": "Maske zeigen" + }, + "autoHeightProp": { + "auto": "Auto", + "fixed": "Festgelegt" + }, + "labelProp": { + "text": "Etikett", + "tooltip": "Tooltip", + "position": "Position", + "left": "Links", + "top": "Top", + "align": "Ausrichtung", + "width": "Breite", + "widthTooltip": "Die Etikettenbreite unterstützt Prozentwerte (%) und Pixel (px)." + }, + "eventHandler": { + "eventHandlers": "Ereignishandler", + "emptyEventHandlers": "Keine Ereignishandler", + "incomplete": "Unvollständige Auswahl", + "inlineEventTitle": "Am {EreignisName}", + "event": "Veranstaltung", + "action": "Aktion", + "noSelect": "Keine Auswahl", + "runQuery": "Eine Datenabfrage ausführen", + "selectQuery": "Datenabfrage auswählen", + "controlComp": "Eine Komponente kontrollieren", + "runScript": "JavaScript ausführen", + "runScriptPlaceHolder": "Code hier schreiben", + "component": "Komponente", + "method": "Methode", + "setTempState": "Einen temporären Statuswert setzen", + "state": "Staat", + "triggerModuleEvent": "Ein Modulereignis auslösen", + "moduleEvent": "Modul Ereignis", + "goToApp": "Zu einer anderen App gehen", + "queryParams": "Abfrage-Parameter", + "hashParams": "Hash-Parameter", + "showNotification": "Eine Benachrichtigung anzeigen", + "text": "Text", + "level": "Level", + "duration": "Dauer", + "notifyDurationTooltip": "Die Zeiteinheit kann \\'s\\' (Sekunde, Standard) oder \\'ms\\' (Millisekunde) sein. Die maximale Dauer ist {max} Sekunden", + "goToURL": "Eine URL öffnen", + "openInNewTab": "In neuem Tab öffnen", + "copyToClipboard": "Einen Wert in die Zwischenablage kopieren", + "copyToClipboardValue": "Wert", + "export": "Daten exportieren", + "exportNoFileType": "Keine Auswahl (optional)", + "fileName": "Datei Name", + "fileNameTooltip": "Füge die Dateierweiterung hinzu, um den Dateityp anzugeben, z. B. \"bild.png\".", + "fileType": "Dateityp", + "condition": "Lauf nur, wenn...", + "conditionTooltip": "Führe den Event-Handler nur aus, wenn die Bedingung \"wahr\" lautet.", + "debounce": "Entprellung für", + "throttle": "Drossel für", + "slowdownTooltip": "Verwende Debounce oder Throttle, um die Häufigkeit der Aktionsauslöser zu steuern. Die Zeiteinheit kann \\'ms\\' (Millisekunde, Standard) oder \\'s\\' (Sekunde) sein.", + "notHandledError": "Nicht gehandhabt", + "currentApp": "Aktuell" + }, + "event": { + "submit": "einreichen", + "submitDesc": "Auslöser beim Einreichen", + "change": "ändern", + "changeDesc": "Auslöser bei Wertänderungen", + "focus": "Fokus", + "focusDesc": "Auslöser im Fokus", + "blur": "Unschärfe", + "blurDesc": "Auslöser bei Unschärfe", + "click": "Klick", + "clickDesc": "Auslöser bei Klick", + "close": "Schließen", + "closeDesc": "Auslöser beim Schließen", + "parse": "Parsen", + "parseDesc": "Auslöser beim Parsen", + "success": "Erfolg", + "successDesc": "Auslöser für den Erfolg", + "delete": "löschen", + "deleteDesc": "Auslöser beim Löschen", + "mention": "Erwähne", + "mentionDesc": "Auslöser bei Erwähnung" + }, + "themeDetail": { + "primary": "Marke Farbe", + "primaryDesc": "Standard-Primärfarbe, die von den meisten Komponenten verwendet wird", + "textDark": "Dunkle Textfarbe", + "textDarkDesc": "Wird verwendet, wenn die Hintergrundfarbe hell ist", + "textLight": "Helle Textfarbe", + "textLightDesc": "Wird verwendet, wenn die Hintergrundfarbe dunkel ist", + "canvas": "Leinwand Farbe", + "canvasDesc": "Standard-Hintergrundfarbe der App", + "primarySurface": "Container Farbe", + "primarySurfaceDesc": "Standard-Hintergrundfarbe für Komponenten wie Tabellen", + "borderRadius": "Radius der Grenze", + "borderRadiusDesc": "Standard-Radius des Rahmens, der von den meisten Komponenten verwendet wird", + "chart": "Chart-Stil", + "chartDesc": "Eingabe für Echarts", + "echartsJson": "Thema JSON", + "margin": "Marge", + "marginDesc": "Standardmarge, die typischerweise für die meisten Komponenten verwendet wird", + "padding": "Polsterung", + "paddingDesc": "Standardpolsterung, die für die meisten Komponenten verwendet wird", + "containerheaderpadding": "Kopfzeilenpolsterung", + "containerheaderpaddingDesc": "Standard-Header-Padding, das für die meisten Komponenten verwendet wird", + "gridColumns": "Rasterspalten", + "gridColumnsDesc": "Standardanzahl von Spalten, die für die meisten Container verwendet wird" + }, + "style": { + "resetTooltip": "Stile zurücksetzen. Lösche das Eingabefeld, um einen einzelnen Stil zurückzusetzen.", + "textColor": "Textfarbe", + "contrastText": "Kontrast Textfarbe", + "generated": "Erzeugt", + "customize": "Anpassen", + "staticText": "Statischer Text", + "accent": "Akzent", + "validate": "Validierungsnachricht", + "border": "Farbe der Umrandung", + "borderRadius": "Radius der Grenze", + "borderWidth": "Breite des Randes", + "background": "Hintergrund", + "headerBackground": "Kopfzeile Hintergrund", + "footerBackground": "Fußzeilen-Hintergrund", + "fill": "Fülle", + "track": "Track", + "links": "Links", + "thumb": "Daumen", + "thumbBorder": "Daumen Rand", + "checked": "Überprüft", + "unchecked": "Ungeprüft", + "handle": "Henkel", + "tags": "Tags", + "tagsText": "Tags Text", + "multiIcon": "Multiselect-Symbol", + "tabText": "Registerkarte Text", + "tabAccent": "Registerkarte Akzent", + "checkedBackground": "Geprüfter Hintergrund", + "uncheckedBackground": "Ungeprüfter Hintergrund", + "uncheckedBorder": "Ungeprüfte Grenze", + "indicatorBackground": "Indikator Hintergrund", + "tableCellText": "Zelle Text", + "selectedRowBackground": "Ausgewählter Zeilenhintergrund", + "hoverRowBackground": "Hover Row Hintergrund", + "alternateRowBackground": "Alternativer Reihenhintergrund", + "tableHeaderBackground": "Kopfzeile Hintergrund", + "tableHeaderText": "Überschrift Text", + "toolbarBackground": "Hintergrund der Symbolleiste", + "toolbarText": "Symbolleiste Text", + "pen": "Stift", + "footerIcon": "Fußzeilen-Symbol", + "tips": "Tipps", + "margin": "Marge", + "padding": "Polsterung", + "marginLeft": "Rand links", + "marginRight": "Rand rechts", + "marginTop": "Marge oben", + "marginBottom": "Marge Unten", + "containerheaderpadding": "Kopfzeilenpolsterung", + "containerfooterpadding": "Fußzeilenpolsterung", + "containerbodypadding": "Körperpolsterung", + "minWidth": "Mindestbreite", + "aspectRatio": "Seitenverhältnis", + "textSize": "Textgröße" + }, + "export": { + "hiddenDesc": "Wenn true, wird die Komponente ausgeblendet", + "disabledDesc": "Wenn true, ist die Komponente deaktiviert und nicht interaktiv", + "visibleDesc": "Wenn true, ist die Komponente sichtbar", + "inputValueDesc": "Aktueller Wert des Eingangs", + "invalidDesc": "Zeigt an, ob der Wert ungültig ist", + "placeholderDesc": "Platzhaltertext, wenn kein Wert eingestellt ist", + "requiredDesc": "Wenn true, ist ein gültiger Wert erforderlich", + "submitDesc": "Formular abschicken", + "richTextEditorValueDesc": "Aktueller Wert des Editors", + "richTextEditorReadOnlyDesc": "Wenn true, ist der Editor schreibgeschützt", + "richTextEditorHideToolBarDesc": "Wenn true, wird die Symbolleiste ausgeblendet", + "jsonEditorDesc": "Aktuelle JSON-Daten", + "sliderValueDesc": "Aktuell ausgewählter Wert", + "sliderMaxValueDesc": "Maximaler Wert des Schiebereglers", + "sliderMinValueDesc": "Mindestwert des Schiebereglers", + "sliderStartDesc": "Wert des gewählten Startpunkts", + "sliderEndDesc": "Wert des ausgewählten Endpunkts", + "ratingValueDesc": "Aktuell ausgewählte Bewertung", + "ratingMaxDesc": "Maximaler Nennwert", + "datePickerValueDesc": "Aktuell ausgewähltes Datum", + "datePickerFormattedValueDesc": "Ausgewähltes Datum formatieren", + "datePickerTimestampDesc": "Zeitstempel des ausgewählten Datums", + "dateRangeStartDesc": "Startdatum des Bereichs", + "dateRangeEndDesc": "Enddatum des Bereichs", + "dateRangeStartTimestampDesc": "Zeitstempel des Startdatums", + "dateRangeEndTimestampDesc": "Zeitstempel des Enddatums", + "dateRangeFormattedValueDesc": "Formatierter Datumsbereich", + "dateRangeFormattedStartValueDesc": "Formatiertes Startdatum", + "dateRangeFormattedEndValueDesc": "Formatiertes Enddatum", + "timePickerValueDesc": "Aktuell gewählte Zeit", + "timePickerFormattedValueDesc": "Formatierte ausgewählte Zeit", + "timeRangeStartDesc": "Startzeit des Angebots", + "timeRangeEndDesc": "Endzeit des Bereichs", + "timeRangeFormattedValueDesc": "Formatierter Zeitbereich", + "timeRangeFormattedStartValueDesc": "Formatierte Startzeit", + "timeRangeFormattedEndValueDesc": "Formatierte Endzeit" + }, + "validationDesc": { + "email": "Bitte gib eine gültige E-Mail Adresse ein", + "url": "Bitte gib eine gültige URL ein", + "regex": "Bitte passe auf das angegebene Muster", + "maxLength": "Zu viele Zeichen, aktuell: {Länge}, maximal: {maxLength}", + "minLength": "Nicht genug Zeichen, aktuell: {length}, minimal: {minLength}", + "maxValue": "Wert überschreitet Maximum, aktuell: {Wert}, Maximum: {max}", + "minValue": "Wert unter Minimum, aktuell: {Wert}, Minimum: {min}", + "maxTime": "Zeit überschreitet Maximum, aktuell: {time}, Maximum: {maxTime}", + "minTime": "Zeit unter Minimum, aktuell: {time}, Minimum: {minTime}", + "maxDate": "Datum überschreitet Maximum, aktuell: {date}, Maximum: {maxDate}", + "minDate": "Datum unter Minimum, aktuell: {date}, Minimum: {minDate}" + }, + "query": { + "noQueries": "Keine Datenabfragen verfügbar.", + "queryTutorialButton": "Ansicht {value} Dokumente", + "datasource": "Deine Datenquellen", + "newDatasource": "Neue Datenquelle", + "generalTab": "Allgemein", + "notificationTab": "Benachrichtigung", + "advancedTab": "Fortgeschrittene", + "showFailNotification": "Benachrichtigung bei Misserfolg anzeigen", + "failCondition": "Versagensbedingungen", + "failConditionTooltip1": "Passe die Fehlerbedingungen und die entsprechenden Benachrichtigungen an.", + "failConditionTooltip2": "Wenn eine Bedingung erfüllt ist, wird die Abfrage als fehlgeschlagen markiert und die entsprechende Benachrichtigung ausgelöst.", + "showSuccessNotification": "Benachrichtigung bei Erfolg anzeigen", + "successMessageLabel": "Erfolgsmeldung", + "successMessage": "Erfolgreich laufen", + "notifyDuration": "Dauer", + "notifyDurationTooltip": "Dauer der Benachrichtigung. Die Zeiteinheit kann \\'s\\' (Sekunde, Standard) oder \\'ms\\' (Millisekunde) sein. Der Standardwert ist {default}s. Das Maximum ist {max}s.", + "successMessageWithName": "{name} Lauf erfolgreich", + "failMessageWithName": "{name} Lauf fehlgeschlagen: {Ergebnis}", + "showConfirmationModal": "Bestätigungsmodal vor der Ausführung anzeigen", + "confirmationMessageLabel": "Bestätigungsnachricht", + "confirmationMessage": "Bist du sicher, dass du diese Datenabfrage ausführen willst?", + "newQuery": "Neue Datenabfrage", + "newFolder": "Neue Mappe", + "recentlyUsed": "Kürzlich verwendet", + "folder": "Mappe", + "folderNotEmpty": "Der Ordner ist nicht leer", + "dataResponder": "Data Responder", + "tempState": "Vorläufiger Zustand", + "transformer": "Transformator", + "quickRestAPI": "REST-Abfrage", + "quickStreamAPI": "Stream-Abfrage", + "quickGraphql": "GraphQL-Abfrage", + "lowcoderAPI": "Lowcoder API", + "executeJSCode": "JavaScript-Code ausführen", + "importFromQueryLibrary": "Aus Abfragebibliothek importieren", + "importFromFile": "Aus Datei importieren", + "triggerType": "Ausgelöst, wenn...", + "triggerTypeAuto": "Eingaben ändern oder beim Laden der Seite", + "triggerTypePageLoad": "Wenn die Anwendung (Seite) geladen wird", + "triggerTypeManual": "Nur wenn du sie manuell auslöst", + "chooseDataSource": "Datenquelle wählen", + "method": "Methode", + "updateExceptionDataSourceTitle": "Fehlerhafte Datenquelle aktualisieren", + "updateExceptionDataSourceContent": "Aktualisiere die folgende Abfrage mit der gleichen fehlerhaften Datenquelle:", + "update": "Update", + "disablePreparedStatement": "Vorbereitete Anweisungen deaktivieren", + "disablePreparedStatementTooltip": "Die Deaktivierung von vorbereiteten Anweisungen kann dynamisches SQL erzeugen, erhöht aber das Risiko von SQL-Injection", + "timeout": "Timeout nach", + "timeoutTooltip": "Standardeinheit: ms. Unterstützte Eingabeeinheiten: ms, s. Standardwert: {defaultSeconds} Sekunden. Maximaler Wert: {maxSeconds} Sekunden. Z.B. 300 (d.h. 300ms), 800ms, 5s.", + "periodic": "Diese Datenabfrage regelmäßig ausführen", + "periodicTime": "Zeitraum", + "periodicTimeTooltip": "Zeitraum zwischen aufeinanderfolgenden Ausführungen. Standardeinheit: ms. Unterstützte Eingabeeinheiten: ms, s. Mindestwert: 100 ms. Bei Werten unter 100ms wird die periodische Ausführung deaktiviert. Z.B. 300 (d.h. 300ms), 800ms, 5s.", + "cancelPrevious": "Ignoriere die Ergebnisse früherer unvollendeter Vollstreckungen", + "cancelPreviousTooltip": "Wenn eine neue Ausführung ausgelöst wird, wird das Ergebnis der vorherigen unvollständigen Ausführungen ignoriert, wenn sie nicht abgeschlossen wurden, und diese ignorierten Ausführungen lösen die Ereignisliste der Abfrage nicht aus.", + "dataSourceStatusError": "Wenn eine neue Ausführung ausgelöst wird, wird das Ergebnis der vorherigen nicht abgeschlossenen Ausführungen ignoriert, und die ignorierten Ausführungen lösen die Ereignisliste der Abfrage nicht aus.", + "success": "Erfolg", + "fail": "Versagen", + "successDesc": "Ausgelöst, wenn die Ausführung erfolgreich ist", + "failDesc": "Ausgelöst, wenn die Ausführung fehlschlägt", + "fixedDelayError": "Abfrage nicht ausgeführt", + "execSuccess": "Erfolgreich laufen", + "execFail": "Lauf fehlgeschlagen", + "execIgnored": "Die Ergebnisse dieser Abfrage wurden ignoriert", + "deleteSuccessMessage": "Erfolgreich gelöscht. Du kannst {undoKey} zum Rückgängigmachen verwenden", + "dataExportDesc": "Daten, die durch die aktuelle Abfrage erhalten wurden", + "codeExportDesc": "Aktueller Query Status Code", + "successExportDesc": "Ob die aktuelle Abfrage erfolgreich ausgeführt wurde", + "messageExportDesc": "Von der aktuellen Abfrage zurückgegebene Informationen", + "extraExportDesc": "Andere Daten in der aktuellen Abfrage", + "isFetchingExportDesc": "Ist die aktuelle Abfrage in der Anfrage", + "runTimeExportDesc": "Aktuelle Abfrage-Ausführungszeit (ms)", + "latestEndTimeExportDesc": "Letzte Laufzeit", + "triggerTypeExportDesc": "Auslöser Typ", + "chooseResource": "Wähle eine Ressource", + "createDataSource": "Eine neue Datenquelle erstellen", + "editDataSource": "bearbeiten", + "datasourceName": "Name", + "datasourceNameRuleMessage": "Bitte gib einen Namen für die Datenquelle ein", + "generalSetting": "Allgemeine Einstellungen", + "advancedSetting": "Erweiterte Einstellungen", + "port": "Hafen", + "portRequiredMessage": "Bitte einen Hafen eingeben", + "portErrorMessage": "Bitte gib einen korrekten Port ein", + "connectionType": "Verbindungstyp", + "regular": "Regulär", + "host": "Gastgeber", + "hostRequiredMessage": "Bitte gib einen Host-Domänennamen oder eine IP-Adresse ein", + "userName": "Benutzer Name", + "password": "Passwort", + "encryptedServer": "-------- Verschlüsselt auf der Serverseite --------", + "uriRequiredMessage": "Bitte gib eine URI ein", + "urlRequiredMessage": "Bitte gib eine URL ein", + "uriErrorMessage": "Bitte gib eine korrekte URI ein", + "urlErrorMessage": "Bitte gib eine korrekte URL ein", + "httpRequiredMessage": "Bitte gib http:// oder https:// ein.", + "databaseName": "Datenbank Name", + "databaseNameRequiredMessage": "Bitte gib einen Datenbanknamen ein", + "useSSL": "SSL verwenden", + "userNameRequiredMessage": "Bitte gib deinen Namen ein", + "passwordRequiredMessage": "Bitte gib dein Passwort ein", + "authentication": "Authentifizierung", + "authenticationType": "Authentifizierung Typ", + "sslCertVerificationType": "SSL-Zertifikat-Verifizierung", + "sslCertVerificationTypeDefault": "CA-Zertifikat verifizieren", + "sslCertVerificationTypeSelf": "Selbstsigniertes Zertifikat verifizieren", + "sslCertVerificationTypeDisabled": "Behinderte", + "selfSignedCert": "Selbstsigniertes Zertifikat", + "selfSignedCertRequireMsg": "Bitte gib dein Zertifikat ein", + "enableTurnOffPreparedStatement": "Umschalten von vorbereiteten Anweisungen für Abfragen aktivieren", + "enableTurnOffPreparedStatementTooltip": "Du kannst vorbereitete Anweisungen auf der Registerkarte \"Erweitert\" der Abfrage aktivieren oder deaktivieren.", + "serviceName": "Dienst Name", + "serviceNameRequiredMessage": "Bitte gib deinen Dienstnamen ein", + "useSID": "SID verwenden", + "connectSuccessfully": "Verbindung erfolgreich", + "saveSuccessfully": "Erfolgreich gerettet", + "database": "Datenbank", + "cloudHosting": "Der in der Cloud gehostete Lowcoder kann nicht auf lokale Dienste mit 127.0.0.1 oder localhost zugreifen. Versuche, dich mit öffentlichen Netzwerkdatenquellen zu verbinden oder verwende einen Reverse Proxy für private Dienste.", + "notCloudHosting": "Für den Einsatz von Docker-Hosts verwendet Lowcoder Bridge-Netzwerke, daher sind 127.0.0.1 und localhost als Hostadressen ungültig. Für den Zugriff auf Datenquellen auf lokalen Rechnern siehe", + "howToAccessHostDocLink": "Wie man auf die Host-API/DB zugreift", + "returnList": "Rückgabe", + "chooseDatasourceType": "Datenquellentyp auswählen", + "viewDocuments": "Dokumente ansehen", + "testConnection": "Test Verbindung", + "save": "Speichern", + "whitelist": "Erlaubnisliste", + "whitelistTooltip": "Füge die IP-Adressen von Lowcoder\\ nach Bedarf zu deiner Datenquellen-Zulassungsliste hinzu.", + "address": "Adresse: ", + "nameExists": "Name {name} existiert bereits", + "jsQueryDocLink": "Über JavaScript Query", + "dynamicDataSourceConfigLoadingText": "Laden einer zusätzlichen Datenquellenkonfiguration...", + "dynamicDataSourceConfigErrText": "Die Konfiguration der zusätzlichen Datenquelle konnte nicht geladen werden.", + "retry": "Wiederholen" + }, + "sqlQuery": { + "keyValuePairs": "Schlüssel-Werte-Paare", + "object": "Objekt", + "allowMultiModify": "Mehrzeilige Änderungen zulassen", + "allowMultiModifyTooltip": "Wenn diese Option ausgewählt ist, werden alle Zeilen, die die Bedingungen erfüllen, bearbeitet. Andernfalls wird nur die erste Zeile, die die Bedingungen erfüllt, bearbeitet.", + "array": "Array", + "insertList": "Liste einfügen", + "insertListTooltip": "Werte werden eingefügt, wenn sie nicht existieren", + "filterRule": "Filter-Regel", + "updateList": "Liste aktualisieren", + "updateListTooltip": "Vorhandene Werte können durch die gleichen Werte der Einfügeliste überschrieben werden", + "sqlMode": "SQL-Modus", + "guiMode": "GUI-Modus", + "operation": "Operation", + "insert": "einfügen", + "upsert": "Einfügen, aber aktualisieren, wenn es einen Konflikt gibt", + "update": "Update", + "delete": "löschen", + "bulkInsert": "Bulk Insert", + "bulkUpdate": "Bulk Update", + "table": "Tabelle", + "primaryKeyColumn": "Primärschlüsselspalte" + }, + "EsQuery": { + "rawCommand": "Roher Befehl", + "queryTutorialButton": "Elasticsearch API Dokumente anzeigen", + "request": "Anfrage" + }, + "googleSheets": { + "rowIndex": "Zeilenindex", + "spreadsheetId": "Tabellenkalkulations-ID", + "sheetName": "Blatt Name", + "readData": "Daten lesen", + "appendData": "Zeile anhängen", + "updateData": "Zeile aktualisieren", + "deleteData": "Zeile löschen", + "clearData": "Reihe löschen", + "serviceAccountRequireMessage": "Bitte gib dein Servicekonto ein", + "ASC": "ASC", + "DESC": "DESC", + "sort": "Sortieren", + "sortPlaceholder": "Name" + }, + "queryLibrary": { + "export": "Exportieren nach JSON", + "noInput": "Die aktuelle Abfrage hat keine Eingabe", + "inputName": "Name", + "inputDesc": "Beschreibung", + "emptyInputs": "Keine Eingaben", + "clickToAdd": "hinzufügen", + "chooseQuery": "Abfrage wählen", + "viewQuery": "Ansicht Abfrage", + "chooseVersion": "Version wählen", + "latest": "Neueste", + "publish": "veröffentlichen", + "historyVersion": "Geschichte Version", + "deleteQueryLabel": "Abfrage löschen", + "deleteQueryContent": "Die Abfrage kann nach dem Löschen nicht wiederhergestellt werden. Die Abfrage löschen?", + "run": "Lauf", + "readOnly": "Nur lesen", + "exit": "Ausfahrt", + "recoverAppSnapshotContent": "Die aktuelle Abfrage zur Version {version} wiederherstellen", + "searchPlaceholder": "Suchabfrage", + "allQuery": "Alle Abfragen", + "deleteQueryTitle": "Abfrage löschen", + "unnamed": "Unbenannt", + "publishNewVersion": "Neue Version veröffentlichen", + "publishSuccess": "Erfolgreich veröffentlicht", + "version": "Version", + "desc": "Beschreibung" + }, + "snowflake": { + "accountIdentifierTooltip": "Siehe ", + "extParamsTooltip": "Zusätzliche Verbindungsparameter konfigurieren" + }, + "lowcoderQuery": { + "queryOrgUsers": "Abfrage Arbeitsbereich Benutzer" + }, + "redisQuery": { + "rawCommand": "Roher Befehl", + "command": "Befehl", + "queryTutorial": "Redis-Befehlsdokumente anzeigen" + }, + "httpQuery": { + "bodyFormDataTooltip": "Wenn {type} ausgewählt ist, sollte das Werteformat {objekt} sein. Beispiel: {example}", + "text": "Text", + "file": "Datei", + "extraBodyTooltip": "Schlüsselwerte im Extra Body werden an den Body mit den Datentypen JSON oder Form Data angehängt", + "forwardCookies": "Cookies weiterleiten", + "forwardAllCookies": "Alle Cookies weiterleiten" + }, + "smtpQuery": { + "attachment": "Anhang", + "attachmentTooltip": "Kann mit der Datei-Upload-Komponente verwendet werden, die Daten müssen konvertiert werden in: ", + "MIMETypeUrl": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", + "sender": "Sender", + "recipient": "Empfänger", + "carbonCopy": "Durchschlag", + "blindCarbonCopy": "Blindkopie", + "subject": "Thema", + "content": "Inhalt", + "contentTooltip": "Unterstützt die Eingabe von Text oder HTML" + }, + "uiCompCategory": { + "dashboards": "Dashboards & Berichte", + "layout": "Layout & Navigation", + "forms": "Datenerhebung & Formulare", + "collaboration": "Treffen & Zusammenarbeit", + "projectmanagement": "Projektleitung", + "scheduling": "Kalender & Terminplanung", + "documents": "Dokumenten- und Dateiverwaltung", + "itemHandling": "Handhabung von Gegenständen und Unterschriften", + "multimedia": "Multimedia & Animation", + "integration": "Integration & Erweiterung" + }, + "uiComp": { + "autoCompleteCompName": "Auto komplett", + "autoCompleteCompDesc": "Ein Eingabefeld, das während der Eingabe Vorschläge macht und so die Benutzerfreundlichkeit und Genauigkeit verbessert.", + "autoCompleteCompKeywords": "Vorschläge, Autovervollständigen, Tippen, Eingabe", + "inputCompName": "Eingabe", + "inputCompDesc": "Ein einfaches Texteingabefeld, das es den Nutzern ermöglicht, Text einzugeben und zu bearbeiten.", + "inputCompKeywords": "Text, Eingabe, Feld, Bearbeiten", + "textAreaCompName": "Textbereich", + "textAreaCompDesc": "Eine mehrzeilige Texteingabe für längere Inhalte, wie Kommentare oder Beschreibungen.", + "textAreaCompKeywords": "Mehrzeilig, Textarea, Eingabe, Text", + "passwordCompName": "Passwort", + "passwordCompDesc": "Ein sicheres Feld für die Passworteingabe, das die Zeichen für den Datenschutz maskiert.", + "passwordCompKeywords": "Passwort, Sicherheit, Eingabe, versteckt", + "richTextEditorCompName": "Rich Text Editor", + "richTextEditorCompDesc": "Ein fortschrittlicher Texteditor mit umfangreichen Formatierungsoptionen wie Fett, Kursiv und Listen.", + "richTextEditorCompKeywords": "Editor, Text, Formatierung, Rich Content", + "numberInputCompName": "Nummer Eingabe", + "numberInputCompDesc": "Ein Feld speziell für numerische Eingaben, mit Steuerelementen zum Erhöhen und Verringern von Werten.", + "numberInputCompKeywords": "Zahl, Eingabe, Inkrement, Dekrement", + "sliderCompName": "Schieber", + "sliderCompDesc": "Eine grafische Schieberegler-Komponente zur Auswahl eines Wertes oder Bereichs innerhalb einer definierten Skala.", + "sliderCompKeywords": "Schieberegler, Bereich, Eingabe, grafisch", + "rangeSliderCompName": "Schieberegler", + "rangeSliderCompDesc": "Ein Schieberegler mit zwei Griffen zum Auswählen eines Wertebereichs, der zum Filtern oder Festlegen von Grenzen nützlich ist.", + "rangeSliderCompKeywords": "Bereich, Schieberegler, Doppelgriff, Filter", + "ratingCompName": "Bewertung", + "ratingCompDesc": "Eine Komponente zur Erfassung von Nutzerbewertungen, die als Sterne angezeigt werden.", + "ratingCompKeywords": "Bewertung, Sterne, Feedback, Input", + "switchCompName": "Schalter", + "switchCompDesc": "Ein Kippschalter für Ein/Aus- oder Ja/Nein-Entscheidungen.", + "switchCompKeywords": "Kippschalter, Schalter, ein/aus, Steuerung", + "selectCompName": "Wähle", + "selectCompDesc": "Ein Dropdown-Menü zur Auswahl aus einer Liste von Optionen.", + "selectCompKeywords": "Dropdown, auswählen, Optionen, Menü", + "multiSelectCompName": "Multiselect", + "multiSelectCompDesc": "Eine Komponente, die die Auswahl mehrerer Elemente aus einer Dropdown-Liste ermöglicht.", + "multiSelectCompKeywords": "Multiselect, mehrere, Dropdown, Auswahlmöglichkeiten", + "cascaderCompName": "Cascader", + "cascaderCompDesc": "Ein mehrstufiges Dropdown für eine hierarchische Datenauswahl, z. B. für die Auswahl eines Ortes.", + "cascaderCompKeywords": "Kaskade, hierarchisch, Dropdown, Ebenen", + "checkboxCompName": "Kontrollkästchen", + "checkboxCompDesc": "Ein Standard-Kontrollkästchen für Optionen, die an- oder abgewählt werden können.", + "checkboxCompKeywords": "Kontrollkästchen, Optionen, auswählen, umschalten", + "radioCompName": "Radio", + "radioCompDesc": "Optionsfelder für die Auswahl einer Option aus einer Menge, bei der nur eine Auswahl möglich ist.", + "radioCompKeywords": "Radio, Schaltflächen, Auswahl, Einzelauswahl", + "segmentedControlCompName": "Segmentierte Kontrolle", + "segmentedControlCompDesc": "Ein Steuerelement mit unterteilten Optionen zum schnellen Umschalten zwischen mehreren Auswahlmöglichkeiten.", + "segmentedControlCompKeywords": "segmentiert, Kontrolle, umschalten, Optionen", + "fileUploadCompName": "Datei-Upload", + "fileUploadCompDesc": "Eine Komponente zum Hochladen von Dateien, mit Unterstützung für Drag-and-Drop und Dateiauswahl.", + "fileUploadCompKeywords": "Datei, Hochladen, Ziehen und Ablegen, Auswählen", + "dateCompName": "Datum", + "dateCompDesc": "Eine Datumsauswahlkomponente zum Auswählen von Daten aus einer Kalenderoberfläche.", + "dateCompKeywords": "Datum, Picker, Kalender, auswählen", + "dateRangeCompName": "Datumsbereich", + "dateRangeCompDesc": "Eine Komponente zur Auswahl eines Datumsbereichs, nützlich für Buchungssysteme oder Filter.", + "dateRangeCompKeywords": "daterange, auswählen, buchen, filtern", + "timeCompName": "Zeit", + "timeCompDesc": "Eine Zeitauswahlkomponente zur Auswahl bestimmter Tageszeiten.", + "timeCompKeywords": "Zeit, Picker, auswählen, Uhr", + "timeRangeCompName": "Zeitbereich", + "timeRangeCompDesc": "Eine Komponente zur Auswahl einer Zeitspanne, die oft in Zeitplanungsanwendungen verwendet wird.", + "timeRangeCompKeywords": "Zeitbereich, auswählen, planen, Dauer", + "buttonCompName": "Formular Schaltfläche", + "buttonCompDesc": "Eine vielseitige Schaltflächenkomponente zum Absenden von Formularen, Auslösen von Aktionen oder Navigieren.", + "buttonCompKeywords": "Schaltfläche, Abschicken, Aktion, Navigieren", + "linkCompName": "Link", + "linkCompDesc": "Eine Hyperlink-Anzeigekomponente für die Navigation oder die Verknüpfung mit externen Ressourcen.", + "linkCompKeywords": "Link, Hyperlink, Navigation, extern", + "scannerCompName": "Scanner", + "scannerCompDesc": "Eine Komponente zum Scannen von Barcodes, QR-Codes und anderen ähnlichen Daten.", + "scannerCompKeywords": "Scanner, Barcode, QR-Code, scannen", + "dropdownCompName": "Dropdown", + "dropdownCompDesc": "Ein Dropdown-Menü zur kompakten Anzeige einer Liste von Optionen.", + "dropdownCompKeywords": "Dropdown, Menü, Optionen, auswählen", + "toggleButtonCompName": "Umschalttaste", + "toggleButtonCompDesc": "Eine Schaltfläche, die zwischen zwei Zuständen oder Optionen hin- und herschalten kann.", + "toggleButtonCompKeywords": "Kippschalter, Taste, Schalter, Zustand", + "textCompName": "Textanzeige", + "textCompDesc": "Eine einfache Komponente zur Anzeige von statischen oder dynamischen Textinhalten inklusive Markdown-Formatierung.", + "textCompKeywords": "Text, Anzeige, statisch, dynamisch", + "tableCompName": "Tabelle", + "tableCompDesc": "Eine reichhaltige Tabellenkomponente zur Anzeige von Daten in einem strukturierten Tabellenformat, mit Optionen zum Sortieren und Filtern, einer Baumdatenanzeige und erweiterbaren Zeilen.", + "tableCompKeywords": "Tabelle, Daten, Sortierung, Filterung", + "imageCompName": "Bild", + "imageCompDesc": "Eine Komponente zur Anzeige von Bildern, die verschiedene Formate auf Basis von URI- oder Base64-Daten unterstützt.", + "imageCompKeywords": "Bild, Anzeige, Medien, Base64", + "progressCompName": "Fortschritt", + "progressCompDesc": "Ein visueller Indikator für den Fortschritt, der in der Regel verwendet wird, um den Fertigstellungsstatus einer Aufgabe anzuzeigen.", + "progressCompKeywords": "Fortschritt, Indikator, Status, Aufgabe", + "progressCircleCompName": "Fortschrittskreis", + "progressCircleCompDesc": "Eine kreisförmige Fortschrittsanzeige, die oft für Ladezustände oder zeitgebundene Aufgaben verwendet wird.", + "progressCircleCompKeywords": "Kreis, Fortschritt, Indikator, Laden", + "fileViewerCompName": "Dateibetrachter", + "fileViewerCompDesc": "Eine Komponente zum Anzeigen verschiedener Dateitypen, einschließlich Dokumenten und Bildern.", + "fileViewerCompKeywords": "Datei, Betrachter, Dokument, Bild", + "dividerCompName": "Teiler", + "dividerCompDesc": "Eine visuelle Trennkomponente, die verwendet wird, um Inhalte oder Abschnitte in einem Layout zu trennen.", + "dividerCompKeywords": "Teiler, Trenner, Layout, Design", + "qrCodeCompName": "QR-Code", + "qrCodeCompDesc": "Eine Komponente zur Anzeige von QR-Codes, die für das schnelle Scannen und die Informationsübertragung nützlich sind.", + "qrCodeCompKeywords": "QR-Code, Scannen, Barcode, Informationen", + "formCompName": "Formular", + "formCompDesc": "Eine Containerkomponente zur Erstellung strukturierter Formulare mit verschiedenen Eingabearten.", + "formCompKeywords": "Formular, Eingabe, Container, Struktur", + "jsonSchemaFormCompName": "JSON Schema Formular", + "jsonSchemaFormCompDesc": "Eine dynamische Formularkomponente, die auf der Grundlage eines JSON-Schemas erstellt wird.", + "jsonSchemaFormCompKeywords": "JSON, Schema, Formular, dynamisch", + "containerCompName": "Container", + "containerCompDesc": "Ein Allzweck-Container für das Layout und die Organisation von UI-Elementen.", + "containerCompKeywords": "Container, Layout, Organisation, UI", + "collapsibleContainerCompName": "Zusammenklappbarer Container", + "collapsibleContainerCompDesc": "Ein Container, der auf- und zugeklappt werden kann, ideal für die Verwaltung der Sichtbarkeit von Inhalten.", + "collapsibleContainerCompKeywords": "zusammenklappbar, Container, erweitern, zusammenklappen", + "tabbedContainerCompName": "Registerkarten-Container", + "tabbedContainerCompDesc": "Ein Container mit Registerkarten-Navigation, um den Inhalt in einzelnen Bereichen zu organisieren.", + "tabbedContainerCompKeywords": "Registerkarten, Container, Navigation, Panels", + "modalCompName": "Modal", + "modalCompDesc": "Eine modale Pop-up-Komponente zur Anzeige von Inhalten, Warnungen oder Formularen im Fokus.", + "modalCompKeywords": "Modal, Popup, Alarm, Formular", + "listViewCompName": "Listenansicht", + "listViewCompDesc": "Eine Komponente zur Anzeige einer Liste von Elementen oder Daten, in die du andere Komponenten einfügen kannst. Wie ein Repeater.", + "listViewCompKeywords": "Liste, Ansicht, Anzeige, Repeater", + "gridCompName": "Raster", + "gridCompDesc": "Eine flexible Gitterkomponente zur Erstellung strukturierter Layouts mit Zeilen und Spalten als Erweiterung der Komponente Listenansicht.", + "gridCompKeywords": "Gitter, Layout, Zeilen, Spalten", + "navigationCompName": "Navigation", + "navigationCompDesc": "Eine Navigationskomponente zum Erstellen von Menüs, Breadcrumbs oder Tabs für die Website-Navigation.", + "navigationCompKeywords": "Navigation, Menü, Breadcrumbs, Tabs", + "iframeCompName": "IFrame", + "iframeCompDesc": "Eine Inline-Frame-Komponente zum Einbetten externer Webseiten und Anwendungen oder Inhalte in die Anwendung.", + "iframeCompKeywords": "iframe, einbetten, Webseite, Inhalt", + "customCompName": "Benutzerdefinierte Komponente", + "customCompDesc": "Eine flexible, programmierbare Komponente zur Erstellung einzigartiger, benutzerdefinierter UI-Elemente, die auf deine speziellen Bedürfnisse zugeschnitten sind.", + "customCompKeywords": "individuell, benutzerdefiniert, flexibel, programmierbar", + "moduleCompName": "Modul", + "moduleCompDesc": "Verwende Module, um Mikro-Apps zu erstellen, die bestimmte Funktionen oder Merkmale kapseln. Module können dann eingebettet und in allen Apps wiederverwendet werden.", + "moduleCompKeywords": "Modul, Mikro-App, Funktionalität, wiederverwendbar", + "jsonExplorerCompName": "JSON Explorer", + "jsonExplorerCompDesc": "Eine Komponente zum visuellen Erkunden und Interagieren mit JSON-Datenstrukturen.", + "jsonExplorerCompKeywords": "JSON, Entdecker, Daten, Struktur", + "jsonEditorCompName": "JSON-Editor", + "jsonEditorCompDesc": "Eine Editor-Komponente zum Erstellen und Ändern von JSON-Daten mit Validierung und Syntaxhervorhebung.", + "jsonEditorCompKeywords": "JSON, Editor, Ändern, Validieren", + "treeCompName": "Baum", + "treeCompDesc": "Eine Baumstrukturkomponente zur Darstellung von hierarchischen Daten, wie z. B. Dateisystemen oder Organigrammen.", + "treeCompKeywords": "Baum, hierarchisch, Daten, Struktur", + "treeSelectCompName": "Baum wählen", + "treeSelectCompDesc": "Eine Auswahlkomponente, die Optionen in einem hierarchischen Baumformat darstellt und so eine organisierte und verschachtelte Auswahl ermöglicht.", + "treeSelectCompKeywords": "Baum, auswählen, hierarchisch, verschachtelt", + "audioCompName": "Audio", + "audioCompDesc": "Eine Komponente zum Einbetten von Audioinhalten, mit Steuerelementen für die Wiedergabe und die Lautstärkeregelung.", + "audioCompKeywords": "Audio, Wiedergabe, Ton, Musik", + "videoCompName": "Video", + "videoCompDesc": "Eine Multimediakomponente zum Einbetten und Abspielen von Videoinhalten, mit Unterstützung für verschiedene Formate.", + "videoCompKeywords": "Video, Multimedia, Abspielen, Einbetten", + "drawerCompName": "Schublade", + "drawerCompDesc": "Ein verschiebbares Element, das zur zusätzlichen Navigation oder zur Anzeige von Inhalten verwendet werden kann und in der Regel am Rand des Bildschirms erscheint.", + "drawerCompKeywords": "Schublade, Schiebetür, Paneel, Navigation", + "chartCompName": "Tabelle", + "chartCompDesc": "Eine vielseitige Komponente zur Visualisierung von Daten durch verschiedene Arten von Diagrammen und Schaubildern.", + "chartCompKeywords": "Diagramm, Grafik, Daten, Visualisierung", + "carouselCompName": "Bilderkarussell", + "carouselCompDesc": "Eine rotierende Karussellkomponente zur Präsentation von Bildern, Bannern oder Inhaltsfolien.", + "carouselCompKeywords": "Karussell, Bilder, Rotation, Schaufenster", + "imageEditorCompName": "Bild-Editor", + "imageEditorCompDesc": "Eine interaktive Komponente zur Bearbeitung und Manipulation von Bildern, die verschiedene Werkzeuge und Filter bietet.", + "imageEditorCompKeywords": "Bild, Editor, manipulieren, Werkzeuge", + "mermaidCompName": "Nixen-Karten", + "mermaidCompDesc": "Eine Komponente zum Rendern komplexer Diagramme und Flussdiagramme, die auf der Mermaid-Syntax basieren.", + "mermaidCompKeywords": "Meerjungfrau, Charts, Diagramme, Flussdiagramme", + "calendarCompName": "Kalender", + "calendarCompDesc": "Eine Kalenderkomponente zur Anzeige von Terminen und Ereignissen, mit Optionen für Monats-, Wochen- oder Tagesansichten.", + "calendarCompKeywords": "Kalender, Termine, Veranstaltungen, Terminplanung", + "signatureCompName": "Unterschrift", + "signatureCompDesc": "Eine Komponente zur Erfassung digitaler Unterschriften, die für Genehmigungs- und Prüfprozesse nützlich ist.", + "signatureCompKeywords": "Unterschrift, digital, Genehmigung, Überprüfung", + "jsonLottieCompName": "Lottie Animation", + "jsonLottieCompDesc": "Eine Komponente zur Anzeige von Lottie-Animationen, die leichtgewichtige und skalierbare Animationen auf Basis von JSON-Daten bereitstellt.", + "jsonLottieCompKeywords": "lottie, Animation, JSON, skalierbar", + "timelineCompName": "Zeitleiste", + "timelineCompDesc": "Eine Komponente zur Anzeige von Ereignissen oder Aktionen in einer chronologischen Reihenfolge, die visuell entlang einer linearen Zeitleiste dargestellt wird.", + "timelineCompKeywords": "Zeitleiste, Ereignisse, chronologisch, Geschichte", + "commentCompName": "Kommentar", + "commentCompDesc": "Eine Komponente zum Hinzufügen und Anzeigen von Nutzerkommentaren, die Thread-Antworten und Nutzerinteraktion unterstützt.", + "commentCompKeywords": "Kommentar, Diskussion, Benutzerinteraktion, Feedback", + "mentionCompName": "Erwähne", + "mentionCompDesc": "Eine Komponente, die die Erwähnung von Nutzern oder Tags in Textinhalten unterstützt, wie sie typischerweise in sozialen Medien oder kollaborativen Plattformen verwendet wird.", + "mentionCompKeywords": "Erwähnung, Tag, Benutzer, soziale Medien", + "responsiveLayoutCompName": "Reaktionsfähiges Layout", + "responsiveLayoutCompDesc": "Eine Layoutkomponente, die sich an verschiedene Bildschirmgrößen und Geräte anpasst und so ein einheitliches Nutzererlebnis gewährleistet.", + "responsiveLayoutCompKeywords": "Responsive, Layout, anpassen, Bildschirmgröße" + }, + "comp": { + "menuViewDocs": "Dokumentation ansehen", + "menuViewPlayground": "Interaktiven Spielplatz ansehen", + "menuUpgradeToLatest": "Upgrade auf die neueste Version", + "nameNotEmpty": "Kann nicht leer sein", + "nameRegex": "Muss mit einem Buchstaben beginnen und darf nur Buchstaben, Ziffern und Unterstriche (_) enthalten", + "nameJSKeyword": "Kann kein JavaScript-Schlüsselwort sein", + "nameGlobalVariable": "Kann kein globaler Variablenname sein", + "nameExists": "Name {name} Existiert bereits", + "getLatestVersionMetaError": "Die neueste Version konnte nicht abgerufen werden, bitte versuche es später.", + "needNotUpgrade": "Die aktuelle Version ist bereits die neueste.", + "compNotFoundInLatestVersion": "Aktuelle Komponente nicht in der neuesten Version gefunden.", + "upgradeSuccess": "Erfolgreich auf die neueste Version upgegradet.", + "searchProp": "Suche" + }, + "jsonSchemaForm": { + "retry": "Wiederholen", + "resetAfterSubmit": "Zurücksetzen nach erfolgreichem Absenden des Formulars", + "jsonSchema": "JSON-Schema", + "uiSchema": "UI Schema", + "schemaTooltip": "Siehe", + "defaultData": "Vorausgefüllte Formulardaten", + "dataDesc": "Aktuelle Formulardaten", + "required": "Erforderlich", + "maximum": "Der Maximalwert ist {value}", + "minimum": "Der Mindestwert ist {value}", + "exclusiveMaximum": "Sollte kleiner sein als {Wert}", + "exclusiveMinimum": "Sollte größer sein als {Wert}", + "multipleOf": "Sollte ein Vielfaches von {value} sein", + "minLength": "Mindestens {Wert} Zeichen", + "maxLength": "Höchstens {Wert} Zeichen", + "pattern": "Sollte dem Muster {value} entsprechen", + "format": "Sollte dem Format {value} entsprechen" + }, + "select": { + "inputValueDesc": "Eingabe Suchwert" + }, + "customComp": { + "text": "Es ist ein guter Tag.", + "triggerQuery": "Trigger-Abfrage", + "updateData": "Daten aktualisieren", + "updateText": "Ich bin auch in guter Stimmung, jetzt meine eigene Komponente mit Lowcoder zu entwickeln!", + "sdkGlobalVarName": "Lowcoder", + "data": "Daten, die du an die benutzerdefinierte Komponente übergeben willst", + "code": "Code deiner benutzerdefinierten Komponente" + }, + "tree": { + "selectType": "Typ auswählen", + "noSelect": "Keine Auswahl", + "singleSelect": "Einzeln auswählen", + "multiSelect": "Multi Select", + "checkbox": "Kontrollkästchen", + "checkedStrategy": "Geprüfte Strategie", + "showAll": "Alle Knotenpunkte", + "showParent": "Nur übergeordnete Knotenpunkte", + "showChild": "Nur Kind-Knoten", + "autoExpandParent": "Auto Expand Elternteil", + "checkStrictly": "Streng prüfen", + "checkStrictlyTooltip": "TreeNode genau prüfen; Parent TreeNode und Children TreeNodes sind nicht assoziiert", + "treeData": "Baumdaten", + "treeDataDesc": "Aktuelle Baumdaten", + "value": "Standardwerte", + "valueDesc": "Aktuelle Werte", + "expanded": "Erweitert Werte", + "expandedDesc": "Aktuelle erweiterte Werte", + "defaultExpandAll": "Standard Alle Knoten erweitern", + "showLine": "Linie anzeigen", + "showLeafIcon": "Blattsymbol anzeigen", + "treeDataAsia": "Asien", + "treeDataChina": "China", + "treeDataBeijing": "Peking", + "treeDataShanghai": "Shanghai", + "treeDataJapan": "Japan", + "treeDataEurope": "Europa", + "treeDataEngland": "England", + "treeDataFrance": "Frankreich", + "treeDataGermany": "Deutschland", + "treeDataNorthAmerica": "Nord-Amerika", + "helpLabel": "Knotenpunkt Etikett", + "helpValue": "Einzigartiger Knotenpunktwert im Baum", + "helpChildren": "Kinder Knoten", + "helpDisabled": "Deaktiviert den Knotenpunkt", + "helpSelectable": "Ob der Knoten wählbar ist (Single/Multi Select Typ)", + "helpCheckable": "Ob ein Kontrollkästchen angezeigt werden soll (Checkbox-Typ)", + "helpDisableCheckbox": "Deaktiviert das Kontrollkästchen (Checkbox-Typ)" + }, + "moduleContainer": { + "eventTest": "Veranstaltungstest", + "methodTest": "Methode Test", + "inputTest": "Eingangstest" + }, + "password": { + "label": "Passwort", + "visibilityToggle": "Sichtbarkeit anzeigen Toggle" + }, + "richTextEditor": { + "toolbar": "Symbolleiste anpassen", + "toolbarDescription": "Du kannst die Symbolleiste individuell anpassen. Weitere Informationen findest du unter: https://quilljs.com/docs/modules/toolbar/.", + "placeholder": "Bitte eingeben...", + "hideToolbar": "Symbolleiste ausblenden", + "content": "Inhalt", + "title": "Titel", + "save": "Speichern", + "link": "Link: ", + "edit": "bearbeiten", + "remove": "entfernen", + "defaultValue": "Basis Inhalt" + }, + "numberInput": { + "formatter": "Format", + "precision": "Präzision", + "allowNull": "Nullwert zulassen", + "thousandsSeparator": "Tausendertrennzeichen anzeigen", + "controls": "Schaltflächen zum Erhöhen/Verringern anzeigen", + "step": "Schritt", + "standard": "Standard", + "percent": "Prozente" + }, + "slider": { + "step": "Schritt", + "stepTooltip": "Der Wert muss größer als 0 und durch (Max-Min) teilbar sein" + }, + "rating": { + "max": "Maximale Bewertung", + "allowHalf": "Halbe Bewertungspunkte zulassen" + }, + "optionsControl": { + "optionList": "Optionen", + "option": "Option", + "optionI": "Option {i}", + "viewDocs": "Docs ansehen", + "tip": "Die Variablen \\'item\\' und \\'i\\' repräsentieren den Wert und den Index jedes Elements in der Datenmatrix" + }, + "radio": { + "options": "Optionen", + "horizontal": "Horizontal", + "horizontalTooltip": "Das horizontale Layout wickelt sich selbst ein, wenn es keinen Platz mehr hat", + "vertical": "Vertikal", + "verticalTooltip": "Das vertikale Layout wird immer in einer einzigen Spalte angezeigt", + "autoColumns": "Auto Kolonne", + "autoColumnsTooltip": "Das Auto-Spalten-Layout ordnet die Reihenfolge automatisch neu an, wenn es der Platz erlaubt, und zeigt sie als mehrere Spalten an" + }, + "cascader": { + "options": "JSON-Daten zur Anzeige kaskadierender Auswahlen" + }, + "selectInput": { + "valueDesc": "Aktuell ausgewählter Wert", + "selectedIndexDesc": "Der Index des aktuell ausgewählten Wertes oder -1, wenn kein Wert ausgewählt ist", + "selectedLabelDesc": "Die Bezeichnung des aktuell ausgewählten Wertes" + }, + "file": { + "typeErrorMsg": "Muss eine Zahl mit einer gültigen Dateigrößeneinheit oder eine einheitenlose Anzahl von Bytes sein.", + "fileEmptyErrorMsg": "Upload fehlgeschlagen. Die Dateigröße ist leer.", + "fileSizeExceedErrorMsg": "Upload fehlgeschlagen. Die Dateigröße übersteigt das Limit.", + "minSize": "Min Größe", + "minSizeTooltip": "Die Mindestgröße der hochgeladenen Dateien mit optionalen Dateigrößeneinheiten (z. B. \\'5kb\\', \\'10 MB\\'). Wenn keine Einheit angegeben wird, wird der Wert als Anzahl der Bytes betrachtet.", + "maxSize": "Max Größe", + "maxSizeTooltip": "Die maximale Größe der hochgeladenen Dateien mit optionalen Dateigrößeneinheiten (z. B. \\'5kb\\', \\'10 MB\\'). Wenn keine Einheit angegeben wird, wird der Wert als Anzahl der Bytes betrachtet.", + "single": "Single", + "multiple": "Mehrere", + "directory": "Verzeichnis", + "upload": "durchsuchen", + "fileType": "Dateitypen", + "reference": "Bitte beachten Sie", + "fileTypeTooltipUrl": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", + "fileTypeTooltip": "Eindeutige Dateityp-Angaben", + "uploadType": "Upload Typ", + "showUploadList": "Upload-Liste anzeigen", + "maxFiles": "Max Dateien", + "filesValueDesc": "Der Inhalt der aktuell hochgeladenen Datei ist Base64-kodiert", + "filesDesc": "Liste der aktuell hochgeladenen Dateien. Für Details, siehe", + "clearValueDesc": "Alle Dateien löschen", + "parseFiles": "Dateien parsen", + "parsedValueTooltip1": "Wenn parseFiles True ist, werden die hochgeladenen Dateien als Objekt, Array oder String analysiert. Auf die geparsten Daten kann über das Array parsedValue zugegriffen werden.", + "parsedValueTooltip2": "Unterstützt Excel-, JSON-, CSV- und Textdateien. Andere Formate geben Null zurück." + }, + "date": { + "format": "Format", + "formatTip": "Unterstützung: \\'JJJJ-MM-TT HH:mm:ss\\', \\'JJJJ-MM-TT\\', \\'Zeitstempel\\'", + "reference": "Bitte beachten Sie", + "showTime": "Zeit zeigen", + "start": "Startdatum", + "end": "Enddatum", + "year": "Jahr", + "quarter": "Quartal", + "month": "Monat", + "week": "Woche", + "date": "Datum", + "clearAllDesc": "Alle löschen", + "resetAllDesc": "Alle zurücksetzen", + "placeholder": "Datum auswählen", + "placeholderText": "Platzhalter", + "startDate": "Startdatum", + "endDate": "Enddatum" + }, + "time": { + "start": "Startzeit", + "end": "Endzeit", + "formatTip": "Unterstützung: \\'HH:mm:ss\\', \\'Zeitstempel\\'", + "format": "Format", + "placeholder": "Zeit wählen", + "placeholderText": "Platzhalter", + "startTime": "Startzeit", + "endTime": "Endzeit" + }, + "button": { + "prefixIcon": "Präfix-Symbol", + "suffixIcon": "Suffix-Symbol", + "icon": "Icon", + "iconSize": "Icon Größe", + "button": "Formular Schaltfläche", + "formToSubmit": "Formular zum Einreichen", + "default": "Standard", + "submit": "einreichen", + "textDesc": "Derzeit auf der Schaltfläche angezeigter Text", + "loadingDesc": "Befindet sich der Button im Ladezustand? Wenn wahr, wird die aktuelle Schaltfläche geladen", + "formButtonEvent": "Veranstaltung" + }, + "link": { + "link": "Link", + "textDesc": "Derzeit auf dem Link angezeigter Text", + "loadingDesc": "Befindet sich der Link im Ladezustand? Wenn wahr, wird der aktuelle Link geladen" + }, + "scanner": { + "text": "Klicken Sie auf Scannen", + "camera": "Kamera {index}", + "changeCamera": "Kamera wechseln", + "continuous": "Kontinuierliches Scannen", + "uniqueData": "Doppelte Daten ignorieren", + "maskClosable": "Klicke auf die Maske zum Schließen", + "errTip": "Bitte verwende diese Komponente unter HTTPS oder Localhost" + }, + "dropdown": { + "onlyMenu": "Anzeige nur mit Etikett", + "textDesc": "Derzeit auf der Schaltfläche angezeigter Text" + }, + "textShow": { + "text": "### 👋 Hallo, {name}", + "valueTooltip": "Markdown unterstützt die meisten HTML-Tags und -Attribute. iframe, Script und andere Tags sind aus Sicherheitsgründen deaktiviert.", + "verticalAlignment": "Vertikale Ausrichtung", + "horizontalAlignment": "Horizontale Ausrichtung", + "textDesc": "Im aktuellen Textfeld angezeigter Text" + }, + "table": { + "editable": "Editierbar", + "columnNum": "Rubriken", + "viewModeResizable": "Spaltenbreite vom Benutzer angepasst", + "viewModeResizableTooltip": "Ob Nutzer die Spaltenbreite anpassen können.", + "showFilter": "Schaltfläche Filter anzeigen", + "showRefresh": "Schaltfläche \"Aktualisieren\" anzeigen", + "showDownload": "Download-Schaltfläche anzeigen", + "columnSetting": "Schaltfläche Spalteneinstellung anzeigen", + "searchText": "Text suchen", + "searchTextTooltip": "Suche und Filterung der in der Tabelle dargestellten Daten", + "showQuickJumper": "Quick Jumper anzeigen", + "hideOnSinglePage": "Auf einzelner Seite ausblenden", + "showSizeChanger": "Schaltfläche Größenänderer anzeigen", + "pageSizeOptions": "Optionen für die Seitengröße", + "pageSize": "Seitengröße", + "total": "Gesamtzahl der Zeilen", + "totalTooltip": "Der Standardwert ist die Anzahl der aktuellen Datenelemente, die aus der Abfrage abgerufen werden können, z. B: \\'{{query1.data[0].count}}\\'", + "filter": "Filter", + "filterRule": "Filter-Regel", + "chooseColumnName": "Spalte wählen", + "chooseCondition": "Bedingung wählen", + "clear": "Klar", + "columnShows": "Säule zeigt", + "selectAll": "Alle auswählen", + "and": "Und", + "or": "Oder", + "contains": "Enthält", + "notContain": "Enthält nicht", + "equals": "Entspricht", + "isNotEqual": "Ist nicht gleich", + "isEmpty": "Ist leer", + "isNotEmpty": "Ist nicht leer", + "greater": "Größer als", + "greaterThanOrEquals": "Größer als oder gleich", + "lessThan": "Weniger als", + "lessThanOrEquals": "Kleiner als oder gleich", + "action": "Aktion", + "columnValue": "Spalte Wert", + "columnValueTooltip": "\\'{{currentCell}}\\': Aktuelle Zelldaten\n \\'{{currentRow}}\\': Aktuelle Zeilendaten\n \\'{{currentIndex}}\\': Aktueller Datenindex (beginnend bei 0)\n Beispiel: \\'{{currentCell * 5}}\\' Show 5 Times the Original Value Data.", + "imageSrc": "Bildquelle", + "imageSize": "Bildgröße", + "columnTitle": "Titel", + "sortable": "Sortierbar", + "align": "Ausrichtung", + "fixedColumn": "Feste Säule", + "autoWidth": "Auto Breite", + "customColumn": "Benutzerdefinierte Säule", + "auto": "Auto", + "fixed": "Festgelegt", + "columnType": "Säule Typ", + "float": "Schwimmer", + "prefix": "Präfix", + "suffix": "Nachsilbe", + "text": "Text", + "number": "Nummer", + "link": "Link", + "links": "Links", + "tag": "Tag", + "date": "Datum", + "dateTime": "Datum Uhrzeit", + "badgeStatus": "Status", + "button": "Taste", + "image": "Bild", + "boolean": "Boolesche", + "rating": "Bewertung", + "progress": "Fortschritt", + "option": "Operation", + "optionList": "Betriebsliste", + "option1": "Betrieb 1", + "status": "Status", + "statusTooltip": "Optionale Werte: Erfolg, Fehler, Standard, Warnung, Verarbeitung", + "primaryButton": "Primäre", + "defaultButton": "Standard", + "type": "Typ", + "tableSize": "Tabelle Größe", + "hideHeader": "Tabellenüberschrift ausblenden", + "fixedHeader": "Feste Tabellenüberschrift", + "fixedHeaderTooltip": "Kopfzeile wird für vertikal scrollbare Tabelle fixiert", + "fixedToolbar": "Feste Symbolleiste", + "fixedToolbarTooltip": "Die Symbolleiste wird für vertikal scrollbare Tabellen je nach Position fixiert", + "hideBordered": "Spaltenumrandung ausblenden", + "deleteColumn": "Spalte löschen", + "confirmDeleteColumn": "Bestätige Spalte löschen: ", + "small": "S", + "middle": "M", + "large": "L", + "refreshButtonTooltip": "Die aktuellen Daten ändern sich. Klicke auf , um die Spalte neu zu generieren.", + "changeSetDesc": "Ein Objekt, das Änderungen an einer bearbeitbaren Tabelle darstellt, enthält nur die geänderte Zelle. Zeilen gehen zuerst und Spalten gehen als zweites.", + "selectedRowDesc": "Liefert Daten für die aktuell ausgewählte Zeile und zeigt die Zeile an, die ein Klick-Ereignis auslöst, wenn der Nutzer auf eine Schaltfläche/Link in der Zeile klickt", + "selectedRowsDesc": "Nützlich im Mehrfachauswahlmodus, gleich wie SelectedRow", + "pageNoDesc": "Aktuelle Anzeigeseite, beginnend mit 1", + "pageSizeDesc": "Wie viele Zeilen pro Seite", + "sortColumnDesc": "Der Name der aktuell ausgewählten sortierten Spalte", + "sortDesc": "Ob die aktuelle Zeile in absteigender Reihenfolge ist", + "pageOffsetDesc": "Der aktuelle Beginn des Blätterns, der für das Blättern zum Abrufen von Daten verwendet wird. Beispiel: Select * from Users Limit \\'{{table1.pageSize}}\\' Versatz \\'{{table1.pageOffset}}\\'", + "displayDataDesc": "In der aktuellen Tabelle angezeigte Daten", + "selectedIndexDesc": "Ausgewählter Index in der Datenanzeige", + "filterDesc": "Parameter für die Tabellenfilterung", + "dataDesc": "Die JSON-Daten für die Tabelle", + "saveChanges": "Änderungen speichern", + "cancelChanges": "Änderungen abbrechen", + "rowSelectChange": "Zeile auswählen Ändern", + "rowClick": "Reihe Klicken", + "rowExpand": "Reihe Erweitern", + "filterChange": "Filterwechsel", + "sortChange": "Sortieren Ändern", + "pageChange": "Seitenwechsel", + "refresh": "Auffrischen", + "rowColor": "Bedingte Zeilenfarbe", + "rowColorDesc": "Legt die Zeilenfarbe basierend auf den optionalen Variablen bedingt fest: CurrentRow, CurrentOriginalIndex, CurrentIndex, ColumnTitle. Zum Beispiel: \\'{{ currentRow.id > 3 ? %r@\\\"green%r@\\\" : %r@\\\"red%r@\\\" }}\\'", + "cellColor": "Bedingte Zellenfarbe", + "cellColorDesc": "Stelle die Zellenfarbe basierend auf dem Zellenwert mit CurrentCell bedingt ein. Beispiel: \\''{{ currentCell == 3 ? %r@\\\"green%r@\\\" : %r@\\\"red%r@\\\" }}\\'", + "saveChangesNotBind": "Es wurde kein Event Handler für das Speichern von Änderungen konfiguriert. Bitte binde mindestens einen Ereignishandler vor dem Klick.", + "dynamicColumn": "Dynamische Spalteneinstellung verwenden", + "dynamicColumnConfig": "Säuleneinstellung", + "dynamicColumnConfigDesc": "Dynamische Spalteneinstellungen. Akzeptiert ein Array von Spaltennamen. In der Standardeinstellung sind alle Spalten sichtbar. Beispiel: [%r@\\\"id%r@\\\", %r@\\\"name%r@\\\"]", + "position": "Position", + "showDataLoadSpinner": "Spinner beim Laden von Daten anzeigen", + "showValue": "Wert anzeigen", + "expandable": "Ausbaufähig", + "configExpandedView": "Expandierte Ansicht konfigurieren", + "toUpdateRowsDesc": "Ein Array von Objekten für zu aktualisierende Zeilen in bearbeitbaren Tabellen.", + "empty": "Leere", + "falseValues": "Text Wenn Falsch", + "allColumn": "Alle", + "visibleColumn": "Sichtbar", + "emptyColumns": "Derzeit sind keine Spalten sichtbar" + }, + "image": { + "src": "Bildquelle", + "srcDesc": "Die Bildquelle. Kann eine URL, ein Pfad oder ein Base64-String sein. z.B.: data:image/png;base64, AAA... CCC", + "supportPreview": "Unterstützung Klickvorschau (Zoom)", + "supportPreviewTip": "Wirksam, wenn die Bildquelle gültig ist" + }, + "progress": { + "value": "Wert", + "valueTooltip": "Der Prozentsatz der Fertigstellung als Wert zwischen 0 und 100", + "showInfo": "Wert anzeigen", + "valueDesc": "Aktueller Fortschrittswert, der von 0 bis 100 reicht", + "showInfoDesc": "Ob der aktuelle Fortschrittswert angezeigt werden soll" + }, + "fileViewer": { + "invalidURL": "Bitte gib eine gültige URL oder einen Base64-String ein", + "src": "Datei URI", + "srcTooltip": "Vorschau des bereitgestellten Link-Inhalts durch Einbetten von HTML, Base64-kodierte Daten können ebenfalls unterstützt werden, z. B.: data:application/pdf; base64,AAA... CCC", + "srcDesc": "Der Datei-URI" + }, + "divider": { + "title": "Titel", + "align": "Ausrichtung", + "dashed": "Gestrichelt", + "dashedDesc": "Gestrichelte Linie verwenden", + "titleDesc": "Teiler Titel", + "alignDesc": "Teiler Titelausrichtung" + }, + "QRCode": { + "value": "QR Code Inhalt Wert", + "valueTooltip": "Der Wert enthält maximal 2953 Zeichen. Der QR-Code-Wert kann verschiedene Datentypen kodieren, z. B. Textnachrichten, URLs, Kontaktdaten (VCard/meCard), Wi-Fi-Anmeldedaten, E-Mail-Adressen, Telefonnummern, SMS-Nachrichten, Geolocation-Koordinaten, Kalenderereignisdetails, Zahlungsinformationen, Kryptowährungsadressen und App-Download-Links.", + "valueDesc": "Der QR-Code-Inhaltswert", + "level": "Fehlertoleranz Level", + "levelTooltip": "Bezieht sich auf die Fähigkeit des QR-Codes, gescannt zu werden, auch wenn ein Teil des Codes blockiert ist. Je höher die Stufe, desto komplexer ist der Code.", + "includeMargin": "Rand anzeigen", + "image": "Bild in der Mitte anzeigen", + "L": "L (Niedrig)", + "M": "M (Mittel)", + "Q": "Q (Quartil)", + "H": "H (Hoch)", + "maxLength": "Der Inhalt ist zu lang. Setze die Länge auf weniger als 2953 Zeichen" + }, + "jsonExplorer": { + "indent": "Einrückung der einzelnen Ebenen", + "expandToggle": "JSON-Baum erweitern", + "theme": "Farbe Thema", + "valueDesc": "Aktuelle JSON-Daten", + "default": "Standard", + "defaultDark": "Standard Dunkel", + "neutralLight": "Neutrales Licht", + "neutralDark": "Neutral Dunkel", + "azure": "Azurblau", + "darkBlue": "Dunkelblau" + }, + "audio": { + "src": "Audio Source URI oder Base64 String", + "defaultSrcUrl": "https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3", + "autoPlay": "Autoplay", + "loop": "Schleife", + "srcDesc": "Aktuelle Audio-URI oder Base64-String wie data:audio/mpeg;base64,AAA... CCC", + "play": "Spielen", + "playDesc": "Ausgelöst, wenn Audio abgespielt wird", + "pause": "Pause", + "pauseDesc": "Ausgelöst, wenn der Ton pausiert wird", + "ended": "Beendet", + "endedDesc": "Ausgelöst, wenn die Audiowiedergabe endet" + }, + "video": { + "src": "Video Source URI oder Base64 String", + "defaultSrcUrl": "https://www.youtube.com/watch?v=pRpeEdMmmQ0", + "poster": "Poster URL", + "defaultPosterUrl": "", + "autoPlay": "Autoplay", + "loop": "Schleife", + "controls": "Steuerelemente ausblenden", + "volume": "Band", + "playbackRate": "Wiedergaberate", + "posterTooltip": "Der Standardwert ist das erste Bild des Videos", + "autoPlayTooltip": "Nachdem das Video geladen wurde, wird es automatisch abgespielt. Wenn du diesen Wert von True auf False änderst, wird das Video angehalten. (Wenn ein Poster eingestellt ist, wird es über die Schaltfläche Poster abgespielt)", + "controlsTooltip": "Steuerelemente für die Videowiedergabe ausblenden. Wird möglicherweise nicht von jeder Videoquelle vollständig unterstützt.", + "volumeTooltip": "Lege die Lautstärke des Players fest, zwischen 0 und 1", + "playbackRateTooltip": "Lege die Rate des Spielers fest, zwischen 1 und 2", + "srcDesc": "Aktuelle Audio-URI oder Base64-String wie data:video/mp4;base64, AAA... CCC", + "play": "Spielen", + "playDesc": "Ausgelöst, wenn das Video abgespielt wird", + "pause": "Pause", + "pauseDesc": "Ausgelöst, wenn das Video pausiert wird", + "load": "Laden", + "loadDesc": "Ausgelöst, wenn das Laden der Videoressource abgeschlossen ist", + "ended": "Beendet", + "endedDesc": "Ausgelöst, wenn das Video zu Ende gespielt wird", + "currentTimeStamp": "Die aktuelle Abspielposition des Videos in Sekunden", + "duration": "Die Gesamtdauer des Videos in Sekunden" + }, + "media": { + "playDesc": "Beginnt die Wiedergabe der Medien.", + "pauseDesc": "Pausiert die Medienwiedergabe.", + "loadDesc": "Setzt die Medien auf den Anfang zurück und startet die Auswahl der Medienressource neu.", + "seekTo": "Suche nach der angegebenen Anzahl von Sekunden oder einem Bruchteil, wenn der Betrag zwischen 0 und 1 liegt", + "seekToAmount": "Anzahl der Sekunden, oder Bruchteil, wenn sie zwischen 0 und 1 liegt", + "showPreview": "Vorschau anzeigen" + }, + "rangeSlider": { + "start": "Startwert", + "end": "Endwert", + "step": "Schrittweite", + "stepTooltip": "Die Granularität des Schiebereglers, der Wert muss größer als 0 und teilbar durch (Max-Min) sein" + }, + "iconControl": { + "selectIcon": "Wähle ein Symbol", + "insertIcon": "Ein Icon einfügen", + "insertImage": "Ein Bild einfügen oder " + }, + "millisecondsControl": { + "timeoutTypeError": "Bitte gib die korrekte Timeout-Zeit in ms ein, die aktuelle Eingabe ist: {Wert}", + "timeoutLessThanMinError": "Die Eingabe muss größer sein als {links}, die aktuelle Eingabe ist: {Wert}" + }, + "selectionControl": { + "single": "Single", + "multiple": "Mehrere", + "close": "Schließen", + "mode": "Modus wählen" + }, + "container": { + "title": "Angezeigter Container-Titel" + }, + "drawer": { + "placement": "Platzierung der Schubladen", + "size": "Größe", + "top": "Top", + "right": "Rechts", + "bottom": "Unten", + "left": "Links", + "widthTooltip": "Pixel oder Prozentsatz, z.B. 520, 60%", + "heightTooltip": "Pixel, z.B. 378", + "openDrawerDesc": "Offene Schublade", + "closeDrawerDesc": "Schublade schließen", + "width": "Breite der Schublade", + "height": "Höhe der Schublade" + }, + "meeting": { + "logLevel": "Agora SDK Log Level", + "placement": "Platzierung der Meeting-Schubladen", + "meeting": "Meeting-Einstellungen", + "cameraView": "Kameraansicht", + "cameraViewDesc": "Kameraansicht des lokalen Benutzers (Host)", + "screenShared": "Bildschirm geteilt", + "screenSharedDesc": "Vom lokalen Benutzer (Host) geteilter Bildschirm", + "audioUnmuted": "Audio entstummt", + "audioMuted": "Audio stummgeschaltet", + "videoClicked": "Video Geklickt", + "videoOff": "Video aus", + "videoOn": "Video auf", + "size": "Größe", + "top": "Top", + "host": "Gastgeber des Besprechungsraums. Du müsstest den Gastgeber als eigene Anwendungslogik verwalten", + "participants": "Teilnehmer des Besprechungsraums", + "shareScreen": "Vom lokalen Benutzer geteilter Bildschirm", + "appid": "Agora Anwendungs-ID", + "meetingName": "Treffen Name", + "localUserID": "Host-Benutzer-ID", + "userName": "Host-Benutzername", + "rtmToken": "Agora RTM Token", + "rtcToken": "Agora RTC Token", + "noVideo": "Kein Video", + "profileImageUrl": "Profilbild-URL", + "right": "Rechts", + "bottom": "Unten", + "videoId": "Video Stream ID", + "audioStatus": "Audio Status", + "left": "Links", + "widthTooltip": "Pixel oder Prozentsatz, z.B. 520, 60%", + "heightTooltip": "Pixel, z.B. 378", + "openDrawerDesc": "Offene Schublade", + "closeDrawerDesc": "Schublade schließen", + "width": "Breite der Schublade", + "height": "Höhe der Schublade", + "actionBtnDesc": "Aktionstaste", + "broadCast": "Broadcast-Nachrichten", + "title": "Meeting Titel", + "meetingCompName": "Agora Meeting Controller", + "sharingCompName": "Bildschirm teilen Stream", + "videoCompName": "Kamera-Stream", + "videoSharingCompName": "Bildschirm teilen Stream", + "meetingControlCompName": "Steuerungstaste", + "meetingCompDesc": "Meeting-Komponente", + "meetingCompControls": "Meeting-Kontrolle", + "meetingCompKeywords": "Agora Meeting, Web-Meeting, Kollaboration", + "iconSize": "Icon Größe", + "userId": "Host-Benutzer-ID", + "roomId": "Zimmer-ID", + "meetingActive": "Laufendes Treffen", + "messages": "Gesendete Nachrichten" + }, + "settings": { + "title": "Einstellungen", + "userGroups": "Benutzergruppen", + "organization": "Arbeitsräume", + "audit": "Audit-Logs", + "theme": "Themen", + "plugin": "Plugins", + "advanced": "Fortgeschrittene", + "lab": "Labor", + "branding": "Branding", + "oauthProviders": "OAuth-Anbieter", + "appUsage": "App-Nutzungsprotokolle", + "environments": "Umgebungen", + "premium": "Premium" + }, + "memberSettings": { + "admin": "Admin", + "adminGroupRoleInfo": "Admin kann Gruppenmitglieder und Ressourcen verwalten", + "adminOrgRoleInfo": "Admins besitzen alle Ressourcen und können Gruppen verwalten.", + "member": "Mitglied", + "memberGroupRoleInfo": "Mitglied kann Gruppenmitglieder sehen", + "memberOrgRoleInfo": "Mitglieder können nur Ressourcen nutzen oder besuchen, zu denen sie Zugang haben.", + "title": "Mitglieder", + "createGroup": "Gruppe erstellen", + "newGroupPrefix": "Neue Gruppe ", + "allMembers": "Alle Mitglieder", + "deleteModalTitle": "Diese Gruppe löschen", + "deleteModalContent": "Die gelöschte Gruppe kann nicht wiederhergestellt werden. Bist du sicher, dass du die Gruppe löschen willst?", + "addMember": "Mitglieder hinzufügen", + "nameColumn": "Benutzer Name", + "joinTimeColumn": "Beitrittszeit", + "actionColumn": "Operation", + "roleColumn": "Rolle", + "exitGroup": "Ausstiegsgruppe", + "moveOutGroup": "Aus Gruppe entfernen", + "inviteUser": "Mitglieder einladen", + "exitOrg": "Lass", + "exitOrgDesc": "Bist du sicher, dass du diesen Arbeitsplatz verlassen willst?", + "moveOutOrg": "entfernen", + "moveOutOrgDescSaasMode": "Bist du sicher, dass du den Benutzer {name} aus diesem Arbeitsbereich entfernen möchtest?", + "moveOutOrgDesc": "Bist du sicher, dass du Benutzer {name} entfernen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.", + "devGroupTip": "Mitglieder der Entwicklergruppe haben die Berechtigung, Apps und Datenquellen zu erstellen.", + "lastAdminQuit": "Der letzte Administrator kann nicht aussteigen.", + "organizationNotExist": "Der aktuelle Arbeitsbereich ist nicht vorhanden", + "inviteUserHelp": "Du kannst den Einladungslink zum Versenden an den Nutzer kopieren", + "inviteUserLabel": "Einladungslink:", + "inviteCopyLink": "Link kopieren", + "inviteText": "{Benutzername} lädt dich ein, dem Arbeitsbereich %r@\\\"{Organisation}%r@\\\" beizutreten, Klicke auf den Link, um beizutreten: {inviteLink}", + "groupName": "Gruppe Name", + "createTime": "Zeit schaffen", + "manageBtn": "Verwalte", + "userDetail": "Detail", + "syncDeleteTip": "Diese Gruppe wurde aus der Adressbuchquelle gelöscht", + "syncGroupTip": "Diese Gruppe ist eine Adressbuch-Synchronisationsgruppe und kann nicht bearbeitet werden" + }, + "orgSettings": { + "newOrg": "Neuer Arbeitsbereich (Organisation)", + "title": "Arbeitsbereich", + "createOrg": "Arbeitsbereich erstellen (Organisation)", + "deleteModalTitle": "Bist du sicher, dass du diesen Arbeitsbereich löschen willst?", + "deleteModalContent": "Du bist dabei, diesen Arbeitsbereich {permanentlyDelete} zu löschen. Sobald er gelöscht ist, wird der Arbeitsbereich {nichtwiederhergestellt}.", + "permanentlyDelete": "Dauerhaft", + "notRestored": "Kann nicht wiederhergestellt werden", + "deleteModalLabel": "Bitte gib den Arbeitsbereichsnamen {name} ein, um den Vorgang zu bestätigen:", + "deleteModalTip": "Bitte Arbeitsbereichsname eingeben", + "deleteModalErr": "Der Name des Arbeitsbereichs ist inkorrekt", + "deleteModalBtn": "löschen", + "editOrgTitle": "Arbeitsbereich-Informationen bearbeiten", + "orgNameLabel": "Arbeitsbereich Name:", + "orgNameCheckMsg": "Der Name des Arbeitsbereichs darf nicht leer sein", + "orgLogo": "Workspace Logo:", + "logoModify": "Bild ändern", + "inviteSuccessMessage": "Erfolgreich dem Arbeitsbereich beitreten", + "inviteFailMessage": "Beitritt zum Arbeitsbereich fehlgeschlagen", + "uploadErrorMessage": "Upload-Fehler", + "orgName": "Arbeitsbereich Name" + }, + "freeLimit": "Kostenlose Probefahrt", + "tabbedContainer": { + "switchTab": "Registerkarte wechseln", + "switchTabDesc": "Ausgelöst beim Wechsel der Registerkarten", + "tab": "Tabs", + "atLeastOneTabError": "Der Tab-Container hält mindestens einen Tab fest", + "selectedTabKeyDesc": "Aktuell ausgewählte Registerkarte", + "iconPosition": "Icon Position" + }, + "formComp": { + "containerPlaceholder": "Ziehen Sie Komponenten aus dem rechten Fenster oder", + "openDialogButton": "Erstelle ein Formular aus einer deiner Datenquellen", + "resetAfterSubmit": "Zurücksetzen nach erfolgreicher Übermittlung", + "initialData": "Erste Daten", + "disableSubmit": "Abschicken deaktivieren", + "success": "Erfolgreich generiertes Formular", + "selectCompType": "Komponententyp auswählen", + "dataSource": "Datenquelle: ", + "selectSource": "Quelle wählen", + "table": "Tabelle: ", + "selectTable": "Tabelle auswählen", + "columnName": "Spalte Name", + "dataType": "Datentyp", + "compType": "Komponente Typ", + "required": "Erforderlich", + "generateForm": "Formular generieren", + "compSelectionError": "Unkonfigurierter Spaltentyp", + "compTypeNameError": "Der Name des Komponententyps konnte nicht ermittelt werden", + "noDataSourceSelected": "Keine Datenquelle ausgewählt", + "noTableSelected": "Kein Tisch ausgewählt", + "noColumn": "Keine Säule", + "noColumnSelected": "Keine Spalte ausgewählt", + "noDataSourceFound": "Keine unterstützte Datenquelle gefunden. Eine neue Datenquelle erstellen", + "noTableFound": "Es wurden keine Tabellen in dieser Datenquelle gefunden, bitte wähle eine andere Datenquelle", + "noColumnFound": "In dieser Tabelle wurde keine unterstützte Spalte gefunden. Bitte wähle eine andere Tabelle", + "formTitle": "Formular Titel", + "name": "Name", + "nameTooltip": "Der Name des Attributs in den Daten des Formulars ist standardmäßig der Komponentenname, wenn er leer gelassen wird.", + "notSupportMethod": "Nicht unterstützte Methoden: ", + "notValidForm": "Das Formular ist nicht gültig", + "resetDesc": "Formulardaten auf Standardwert zurücksetzen", + "clearDesc": "Formulardaten löschen", + "setDataDesc": "Formulardaten einstellen", + "valuesLengthError": "Parameter Nummer Fehler", + "valueTypeError": "Parameter Typ Fehler", + "dataDesc": "Aktuelle Formulardaten", + "loadingDesc": "Ob das Formular geladen ist?" + }, + "modalComp": { + "close": "Schließen", + "closeDesc": "Ausgelöst, wenn das modale Dialogfeld geschlossen wird", + "openModalDesc": "Öffnen Sie das Dialogfeld", + "closeModalDesc": "Das Dialogfeld schließen", + "visibleDesc": "Ist es sichtbar? Wenn ja, wird das aktuelle Dialogfeld eingeblendet", + "modalHeight": "Modale Höhe", + "modalHeightTooltip": "Pixel, Beispiel: 222", + "modalWidth": "Modale Breite", + "modalWidthTooltip": "Zahl oder Prozentsatz, Beispiel: 520, 60%" + }, + "listView": { + "noOfRows": "Zeilenanzahl", + "noOfRowsTooltip": "Anzahl der Zeilen in der Liste - wird normalerweise auf eine Variable gesetzt (z. B. \\'{{query1.data.length}}\\'), um Abfrageergebnisse zu präsentieren", + "noOfColumns": "Anzahl der Kolonnen", + "itemIndexName": "Datenelement Index Name", + "itemIndexNameDesc": "Der Variablenname, der sich auf den Index des Elements bezieht, Standard: {default}", + "itemDataName": "Datenelement Objektname", + "itemDataNameDesc": "Der Variablenname, der sich auf das Datenobjekt des Items bezieht, Standard als {default}", + "itemsDesc": "Daten der Komponenten in der Liste offenlegen", + "dataDesc": "Die in der aktuellen Liste verwendeten JSON-Daten", + "dataTooltip": "Wenn du nur eine Zahl einträgst, wird dieses Feld als Zeilenzahl betrachtet und die Daten werden als leer angesehen." + }, + "navigation": { + "addText": "Untermenüpunkt hinzufügen", + "logoURL": "Navigation Logo URL", + "horizontalAlignment": "Horizontale Ausrichtung", + "logoURLDesc": "Du kannst ein Logo auf der linken Seite anzeigen, indem du einen URI-Wert oder einen Base64-String eingibst, z.B. data:image/png;base64,AAA... CCC", + "itemsDesc": "Hierarchische Navigationsmenüpunkte" + }, + "droppadbleMenuItem": { + "subMenu": "Untermenü {Nummer}" + }, + "navItemComp": { + "active": "Aktiv" + }, + "iframe": { + "URLDesc": "Die Quell-URL für den IFrame-Inhalt. Achte darauf, dass die URL HTTPS oder localhost ist. Vergewissere dich auch, dass die URL nicht durch die Content Security Policy (CSP) des Browsers blockiert wird. Der Header \\'X-Frame-Options\\' sollte nicht auf \\'DENY\\' oder \\'SAMEORIGIN\\' gesetzt sein.", + "allowDownload": "Downloads zulassen", + "allowSubmitForm": "Formular einreichen zulassen", + "allowMicrophone": "Mikrofon zulassen", + "allowCamera": "Kamera zulassen", + "allowPopup": "Popups zulassen" + }, + "switchComp": { + "defaultValue": "Standard Boolescher Wert", + "open": "Auf", + "close": "Aus", + "openDesc": "Ausgelöst, wenn der Schalter eingeschaltet wird", + "closeDesc": "Ausgelöst, wenn der Schalter ausgeschaltet ist", + "valueDesc": "Aktueller Status des Schalters" + }, + "signature": { + "tips": "Hinweistext", + "signHere": "Hier unterschreiben", + "showUndo": "Rückgängig machen anzeigen", + "showClear": "Löschen anzeigen" + }, + "localStorageComp": { + "valueDesc": "Alle derzeit gespeicherten Datenelemente", + "setItemDesc": "Einen Artikel hinzufügen", + "removeItemDesc": "Einen Artikel entfernen", + "clearItemDesc": "Alle Artikel löschen" + }, + "utilsComp": { + "openUrl": "URL öffnen", + "openApp": "App öffnen", + "copyToClipboard": "In die Zwischenablage kopieren", + "downloadFile": "Datei herunterladen" + }, + "messageComp": { + "info": "Eine Benachrichtigung senden", + "success": "Erfolgsbenachrichtigung senden", + "warn": "Eine Warnmeldung senden", + "error": "Eine Fehlerbenachrichtigung senden" + }, + "themeComp": { + "switchTo": "Thema wechseln" + }, + "transformer": { + "preview": "Vorschau", + "docLink": "Lies mehr über Transformers...", + "previewSuccess": "Vorschau Erfolg", + "previewFail": "Vorschau Fail", + "deleteMessage": "Transformator löschen Erfolg. Du kannst {undoKey} zum Rückgängigmachen verwenden.", + "documentationText": "Transformers sind für die Datenumwandlung und Wiederverwendung deines mehrzeiligen JavaScript-Codes gedacht. Verwende Transformers, um Daten aus Abfragen oder Komponenten an deine lokalen App-Anforderungen anzupassen. Im Gegensatz zu JavaScript-Abfragen sind Transformer nur für Leseoperationen ausgelegt. Das bedeutet, dass du innerhalb eines Transformers keine Abfrage auslösen oder einen temporären Zustand aktualisieren kannst." + }, + "temporaryState": { + "value": "Anfangswert", + "valueTooltip": "Der Anfangswert, der im temporären Status gespeichert wird, kann ein beliebiger gültiger JSON-Wert sein.", + "docLink": "Lies mehr über temporäre Staaten...", + "pathTypeError": "Pfad muss entweder ein String oder ein Array von Werten sein", + "unStructuredError": "Unstrukturierte Daten {prev} können nicht von {path} aktualisiert werden", + "valueDesc": "Vorläufiger Zustandswert", + "deleteMessage": "Der temporäre Status wurde erfolgreich gelöscht. Du kannst {undoKey} zum Rückgängigmachen verwenden.", + "documentationText": "Temporäre Zustände in Lowcoder sind eine leistungsstarke Funktion zur Verwaltung komplexer Variablen, die den Zustand von Komponenten in deiner Anwendung dynamisch aktualisieren. Diese Zustände dienen als Zwischenspeicher für Daten, die sich im Laufe der Zeit aufgrund von Benutzerinteraktionen oder anderen Prozessen ändern können." + }, + "dataResponder": { + "data": "Daten", + "dataDesc": "Daten des aktuellen Datenresponders", + "dataTooltip": "Wenn diese Daten geändert werden, lösen sie nachfolgende Aktionen aus.", + "docLink": "Lies mehr über die Data Responders...", + "deleteMessage": "Der Data Responder wurde erfolgreich gelöscht. Du kannst {undoKey} zum Rückgängigmachen verwenden.", + "documentationText": "Wenn du eine App entwickelst, kannst du den Komponenten Ereignisse zuweisen, um Änderungen an bestimmten Daten zu überwachen. Eine Tabellenkomponente kann zum Beispiel Ereignisse wie %r@\\\"Row select change%r@\\\", %r@\\\"Filter change%r@\\\", %r@\\\"Sort change%r@\\\" und %r@\\\"Page change%r@\\\" haben, um Änderungen in der selectedRow-Eigenschaft zu verfolgen. Für Änderungen in temporären Zuständen, Transformatoren oder Abfrageergebnissen, für die keine Standardereignisse zur Verfügung stehen, werden jedoch Data Responder verwendet. Mit ihnen kannst du alle Datenänderungen erkennen und darauf reagieren." + }, + "theme": { + "title": "Themen", + "createTheme": "Thema erstellen", + "themeName": "Themenname:", + "themeNamePlaceholder": "Bitte gib einen Themennamen ein", + "defaultThemeTip": "Standard-Theme:", + "createdThemeTip": "Das Thema, das du erstellt hast:", + "option": "Option{index}", + "input": "Eingabe", + "confirm": "Ok", + "emptyTheme": "Keine Themen verfügbar", + "click": "", + "toCreate": "", + "nameColumn": "Name", + "defaultTip": "Standard", + "updateTimeColumn": "Update Zeit", + "edit": "bearbeiten", + "cancelDefaultTheme": "Standardthema aufheben", + "setDefaultTheme": "Als Standardthema festlegen", + "copyTheme": "Thema duplizieren", + "setSuccessMsg": "Einstellung Erfolglos", + "cancelSuccessMsg": "Unsetting Erfolglos", + "deleteSuccessMsg": "Löschung Erfolglos", + "checkDuplicateNames": "Der Themenname existiert bereits, bitte gib ihn erneut ein", + "copySuffix": " Kopiere", + "saveSuccessMsg": "Erfolgreich gerettet", + "leaveTipTitle": "Tipps", + "leaveTipContent": "Du bist noch nicht gerettet, bestätigst du den Austritt?", + "leaveTipOkText": "Lass", + "goList": "Zurück zur Liste", + "saveBtn": "Speichern", + "mainColor": "Hauptfarben", + "text": "Textfarben", + "defaultTheme": "Standard", + "yellow": "Gelb", + "green": "Grün", + "previewTitle": "Themenvorschau\nBeispielkomponenten, die deine Themenfarben verwenden", + "dateColumn": "Datum", + "emailColumn": "E-Mail", + "phoneColumn": "Telefon", + "subTitle": "Titel", + "linkLabel": "Link", + "linkUrl": "app.lowcoder.cloud", + "progressLabel": "Fortschritt", + "sliderLabel": "Schieber", + "radioLabel": "Radio", + "checkboxLabel": "Kontrollkästchen", + "buttonLabel": "Formular Schaltfläche", + "switch": "Schalter", + "previewDate": "16/10/2022", + "previewEmail1": "ted.com", + "previewEmail2": "skype.de", + "previewEmail3": "imgur.com", + "previewEmail4": "globo.de", + "previewPhone1": "+63-317-333-0093", + "previewPhone2": "+30-668-580-6521", + "previewPhone3": "+86-369-925-2071", + "previewPhone4": "+7-883-227-8093", + "chartPreviewTitle": "Diagrammstil-Vorschau", + "chartSpending": "Ausgaben", + "chartBudget": "Budget", + "chartAdmin": "Verwaltung", + "chartFinance": "Finanzen", + "chartSales": "Verkäufe", + "chartFunnel": "Trichterdiagramm", + "chartShow": "anzeigen", + "chartClick": "Klick", + "chartVisit": "Besuche", + "chartQuery": "Abfrage", + "chartBuy": "Kaufen" + }, + "pluginSetting": { + "title": "Plugins", + "npmPluginTitle": "npm-Plugins", + "npmPluginDesc": "Richte npm-Plugins für alle Anwendungen im aktuellen Arbeitsbereich ein.", + "npmPluginEmpty": "Es wurden keine npm-Plugins hinzugefügt.", + "npmPluginAddButton": "Ein npm-Plugin hinzufügen", + "saveSuccess": "Erfolgreich gerettet" + }, + "advanced": { + "title": "Fortgeschrittene", + "defaultHomeTitle": "Standard-Homepage", + "defaultHomeHelp": "Die Homepage ist die App, die alle Nicht-Entwickler standardmäßig sehen, wenn sie sich anmelden. Hinweis: Stelle sicher, dass die ausgewählte App auch für Nicht-Entwickler zugänglich ist.", + "defaultHomePlaceholder": "Wähle die Standard-Homepage", + "saveBtn": "Speichern", + "preloadJSTitle": "JavaScript vorladen", + "preloadJSHelp": "Richte vorgeladenen JavaScript-Code für alle Apps im aktuellen Arbeitsbereich ein.", + "preloadCSSTitle": "CSS vorladen", + "preloadCSSHelp": "Richte vorgeladenen CSS-Code für alle Apps im aktuellen Arbeitsbereich ein.", + "preloadCSSApply": "Auf die Startseite des Arbeitsbereichs anwenden", + "preloadLibsTitle": "JavaScript-Bibliothek", + "preloadLibsHelp": "Richte vorgeladene JavaScript-Bibliotheken für alle Anwendungen im aktuellen Arbeitsbereich ein, und das System hat lodash, day.js, uuid, numbro zur direkten Verwendung eingebaut. Die JavaScript-Bibliotheken werden vor der Initialisierung der App geladen, was einen gewissen Einfluss auf die Leistung der App hat.", + "preloadLibsEmpty": "Es wurden keine JavaScript-Bibliotheken hinzugefügt", + "preloadLibsAddBtn": "Eine Bibliothek hinzufügen", + "saveSuccess": "Erfolgreich gerettet", + "AuthOrgTitle": "Willkommensbildschirm des Arbeitsbereichs", + "AuthOrgDescrition": "Die URL, unter der sich deine Nutzer beim aktuellen Arbeitsbereich anmelden können." + }, + "branding": { + "title": "Branding", + "logoTitle": "Logo", + "logoHelp": "Nur .JPG, .SVG oder .PNG", + "faviconTitle": "Favicon", + "faviconHelp": "Nur .JPG, .SVG oder .PNG", + "brandNameTitle": "Markenname", + "headColorTitle": "Kopffarbe", + "save": "Speichern", + "saveSuccessMsg": "Erfolgreich gerettet", + "upload": "Zum Hochladen klicken" + }, + "networkMessage": { + "0": "Verbindung zum Server fehlgeschlagen, bitte überprüfe dein Netzwerk", + "401": "Authentifizierung fehlgeschlagen, bitte melde dich erneut an", + "403": "Keine Erlaubnis, bitte kontaktiere den Administrator für eine Genehmigung", + "500": "Besetzter Dienst, bitte versuche es später noch einmal", + "timeout": "Zeitüberschreitung anfordern" + }, + "share": { + "title": "Teilen", + "viewer": "Betrachter", + "editor": "Herausgeber", + "owner": "Besitzer", + "datasourceViewer": "Kann verwenden", + "datasourceOwner": "Kann Managen" + }, + "debug": { + "title": "Titel", + "switch": "Schalterkomponente: " + }, + "module": { + "emptyText": "Keine Daten", + "circularReference": "Zirkuläre Referenz, aktuelles Modul/Anwendung kann nicht verwendet werden!", + "emptyTestInput": "Das aktuelle Modul hat keinen Eingang zum Testen", + "emptyTestMethod": "Das aktuelle Modul hat keine Methode zum Testen", + "name": "Name", + "input": "Eingabe", + "params": "Params", + "emptyParams": "Es wurden keine Params hinzugefügt", + "emptyInput": "Es wurde keine Eingabe hinzugefügt", + "emptyMethod": "Es wurde keine Methode hinzugefügt", + "emptyOutput": "Es wurde keine Ausgabe hinzugefügt", + "data": "Daten", + "string": "String", + "number": "Nummer", + "array": "Array", + "boolean": "Boolesche", + "query": "Abfrage", + "autoScaleCompHeight": "Bauteilhöhenwaage mit Container", + "excuteMethod": "Methode {name} ausführen", + "method": "Methode", + "action": "Aktion", + "output": "Ausgabe", + "nameExists": "Name {name} bereits vorhanden", + "eventTriggered": "Ereignis {name} wird ausgelöst", + "globalPromptWhenEventTriggered": "Zeigt eine globale Aufforderung an, wenn ein Ereignis ausgelöst wird", + "emptyEventTest": "Das aktuelle Modul hat keine zu prüfenden Ereignisse", + "emptyEvent": "Es wurde kein Ereignis hinzugefügt", + "event": "Veranstaltung" + }, + "resultPanel": { + "returnFunction": "Der Rückgabewert ist eine Funktion.", + "consume": "{time}", + "JSON": "JSON anzeigen" + }, + "createAppButton": { + "creating": "Erstellen...", + "created": "Erstelle {name}" + }, + "apiMessage": { + "authenticationFail": "Benutzerauthentifizierung fehlgeschlagen, bitte melde dich erneut an", + "verifyAccount": "Konto muss verifiziert werden", + "functionNotSupported": "Die aktuelle Version unterstützt diese Funktion nicht. Bitte kontaktiere das Lowcoder Business Team, um dein Konto zu aktualisieren." + }, + "globalErrorMessage": { + "createCompFail": "Komponente erstellen {comp} Fehlgeschlagen", + "notHandledError": "{Methode} Nicht ausgeführte Methode" + }, + "aggregation": { + "navLayout": "Navigationsleiste", + "chooseApp": "App wählen", + "iconTooltip": "Unterstützt Image src Link oder Base64 String wie data:image/png;base64,AAA... CCC", + "hideWhenNoPermission": "Versteckt für nicht autorisierte Benutzer", + "queryParam": "URL-Abfrage-Parameter", + "hashParam": "URL-Hash-Parameter", + "tabBar": "Registerkarte Bar", + "emptyTabTooltip": "Konfiguriere diese Seite im rechten Fensterbereich" + }, + "appSetting": { + "450": "450px (Telefon)", + "800": "800px (Tablet)", + "1440": "1440px (Laptop)", + "1920": "1920px (Breitbild)", + "3200": "3200px (Super Large Screen)", + "title": "Allgemeine App-Einstellungen", + "autofill": "Autofill", + "userDefined": "Benutzerdefiniert", + "default": "Standard", + "tooltip": "Das Popover nach der Einstellung schließen", + "canvasMaxWidth": "Maximale Bildschirmbreite für diese App", + "userDefinedMaxWidth": "Benutzerdefinierte maximale Breite", + "inputUserDefinedPxValue": "Bitte gib einen benutzerdefinierten Pixelwert ein", + "maxWidthTip": "Die maximale Breite sollte größer als oder gleich 350 sein", + "themeSetting": "Angewandter Stil Thema", + "themeSettingDefault": "Standard", + "themeCreate": "Thema erstellen" + }, + "customShortcut": { + "title": "Benutzerdefinierte Abkürzungen", + "shortcut": "Shortcut", + "action": "Aktion", + "empty": "Keine Abkürzungen", + "placeholder": "Shortcut drücken", + "otherPlatform": "Andere", + "space": "Raum" + }, + "profile": { + "orgSettings": "Arbeitsbereich-Einstellungen", + "switchOrg": "Arbeitsbereich wechseln", + "joinedOrg": "Meine Arbeitsbereiche", + "createOrg": "Arbeitsbereich erstellen", + "logout": "Abmelden", + "personalInfo": "Mein Profil", + "bindingSuccess": "Bindung {Quellenname} Erfolg", + "uploadError": "Upload-Fehler", + "editProfilePicture": "Ändern Sie", + "nameCheck": "Der Name darf nicht leer sein", + "name": "Name: ", + "namePlaceholder": "Bitte gib deinen Namen ein", + "toBind": "Zum Binden", + "binding": "Ist Verbindlich", + "bindError": "Parameter Error, Currently Not Supported Binding.", + "bindName": "Binden {name}", + "loginAfterBind": "Nach der Bindung kannst du dich mit {name} anmelden", + "bindEmail": "E-Mail binden:", + "email": "E-Mail", + "emailCheck": "Bitte gib eine gültige E-Mail ein", + "emailPlaceholder": "Bitte gib deine E-Mail ein", + "submit": "einreichen", + "bindEmailSuccess": "Erfolgreiche E-Mail-Bindung", + "passwordModifiedSuccess": "Passwort erfolgreich geändert", + "passwordSetSuccess": "Passwort erfolgreich gesetzt", + "oldPassword": "Altes Passwort:", + "inputCurrentPassword": "Bitte gib dein aktuelles Passwort ein", + "newPassword": "Neues Passwort:", + "inputNewPassword": "Bitte gib dein neues Passwort ein", + "confirmNewPassword": "Bestätige das neue Passwort:", + "inputNewPasswordAgain": "Bitte gib dein neues Passwort erneut ein", + "password": "Passwort:", + "modifyPassword": "Passwort ändern", + "setPassword": "Passwort setzen", + "alreadySetPassword": "Passwort setzen", + "setPassPlaceholder": "Du kannst dich mit Passwort anmelden", + "setPassAfterBind": "Du kannst das Passwort nach der Kontobindung festlegen", + "socialConnections": "Soziale Bindungen" + }, + "shortcut": { + "shortcutList": "Tastaturkürzel", + "click": "Klick", + "global": "Global", + "toggleShortcutList": "Tastaturkurzbefehle umschalten", + "editor": "Herausgeber", + "toggleLeftPanel": "Linkes Fenster umschalten", + "toggleBottomPanel": "Unteres Fenster umschalten", + "toggleRightPanel": "Rechtes Fenster umschalten", + "toggleAllPanels": "Alle Fenster umschalten", + "preview": "Vorschau", + "undo": "Rückgängig machen", + "redo": "Redo", + "showGrid": "Raster anzeigen", + "component": "Komponente", + "multiSelect": "Mehrere auswählen", + "selectAll": "Alle auswählen", + "copy": "Kopiere", + "cut": "Schnitt", + "paste": "Kleister", + "move": "Verschiebe", + "zoom": "Größe ändern", + "delete": "löschen", + "deSelect": "Deselektiere", + "queryEditor": "Abfrage-Editor", + "excuteQuery": "Aktuelle Abfrage ausführen", + "editBox": "Text-Editor", + "formatting": "Format", + "openInLeftPanel": "Im linken Fenster öffnen" + }, + "help": { + "videoText": "Übersicht", + "onBtnText": "OK", + "permissionDenyTitle": "💡 Du kannst keine neue Anwendung oder Datenquelle erstellen?", + "permissionDenyContent": "Du hast nicht die Berechtigung, die Anwendung und die Datenquelle zu erstellen. Bitte kontaktiere den Administrator, um der Entwicklergruppe beizutreten.", + "appName": "Tutorial Anwendung", + "chat": "Chatte mit uns", + "docs": "Dokumentation ansehen", + "editorTutorial": "Editor Tutorial", + "update": "Was gibt's Neues?", + "version": "Version", + "versionWithColon": "Version: ", + "submitIssue": "Ausgabe einreichen" + }, + "header": { + "nameCheckMessage": "Der Name kann nicht leer sein", + "viewOnly": "Nur Ansicht", + "recoverAppSnapshotTitle": "Diese Version wiederherstellen?", + "recoverAppSnapshotContent": "Stelle die aktuelle App auf die Version wieder her, die zum Zeitpunkt {time} erstellt wurde.", + "recoverAppSnapshotMessage": "Diese Version wiederherstellen", + "returnEdit": "Zurück zur Redaktion", + "deploy": "veröffentlichen", + "export": "Exportieren nach JSON", + "editName": "Name bearbeiten", + "duplicate": "Duplizieren {type}", + "snapshot": "Geschichte", + "scriptsAndStyles": "Skripte und Stil", + "appSettings": "App-Einstellungen", + "preview": "Vorschau", + "editError": "History Preview Mode, No Operation is Supported.", + "clone": "Klonen", + "editorMode_layout": "Layout", + "editorMode_logic": "Logik", + "editorMode_both": "Beide" + }, + "userAuth": { + "registerByEmail": "Anmelden", + "email": "E-Mail:", + "inputEmail": "Bitte gib deine E-Mail ein", + "inputValidEmail": "Bitte gib eine gültige E-Mail ein", + "register": "Anmelden", + "userLogin": "Eintragen", + "login": "Eintragen", + "bind": "Binde", + "passwordCheckLength": "Mindestens {min} Zeichen", + "passwordCheckContainsNumberAndLetter": "Muss Buchstaben und Ziffern enthalten", + "passwordCheckSpace": "Kann keine Leerzeichen enthalten", + "welcomeTitle": "Willkommen bei {Produktname}", + "inviteWelcomeTitle": "{Benutzername} lade dich zum Login ein {Produktname}", + "terms": "Begriffe", + "privacy": "Datenschutzrichtlinie", + "registerHint": "Ich habe die Nutzungsbedingungen gelesen und stimme ihnen zu.", + "chooseAccount": "Wähle dein Konto", + "signInLabel": "Melde dich mit {name} an", + "bindAccount": "Konto binden", + "scanQrCode": "Scanne den QR-Code mit {name}", + "invalidThirdPartyParam": "Ungültige Drittpartei Param", + "account": "Konto", + "inputAccount": "Bitte gib dein Konto ein", + "ldapLogin": "LDAP-Anmeldung", + "resetPassword": "Passwort zurücksetzen", + "resetPasswordDesc": "Setze das Passwort von Benutzer {name} zurück. Nach dem Zurücksetzen wird ein neues Passwort generiert.", + "resetSuccess": "Zurücksetzen Erfolglos", + "resetSuccessDesc": "Passwort zurücksetzen war erfolgreich. Das neue Passwort lautet: {Passwort}", + "copyPassword": "Passwort kopieren", + "poweredByLowcoder": "Angetrieben von Lowcoder.cloud" + }, + "preLoad": { + "jsLibraryHelpText": "Füge JavaScript-Bibliotheken über URL-Adressen zu deiner aktuellen Anwendung hinzu. lodash, day.js, uuid, numbro sind zur sofortigen Verwendung in das System integriert. JavaScript-Bibliotheken werden geladen, bevor die Anwendung initialisiert wird, was sich auf die Leistung der Anwendung auswirken kann.", + "exportedAs": "Exportiert als", + "urlTooltip": "URL-Adresse der JavaScript-Bibliothek, [unpkg.com](https://unpkg.com/) oder [jsdelivr.net](https://www.jsdelivr.com/) wird empfohlen", + "recommended": "Empfohlen", + "viewJSLibraryDocument": "Dokument", + "jsLibraryURLError": "Ungültige URL", + "jsLibraryExist": "JavaScript-Bibliothek existiert bereits", + "jsLibraryEmptyContent": "Keine JavaScript-Bibliotheken hinzugefügt", + "jsLibraryDownloadError": "Fehler beim Herunterladen der JavaScript-Bibliothek", + "jsLibraryInstallSuccess": "Die JavaScript-Bibliothek wurde erfolgreich installiert", + "jsLibraryInstallFailed": "Installation der JavaScript-Bibliothek fehlgeschlagen", + "jsLibraryInstallFailedCloud": "Vielleicht ist die Bibliothek in der Sandbox nicht verfügbar, [Dokumentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{Meldung}", + "jsLibraryInstallFailedHost": "{Nachricht}", + "add": "Neu hinzufügen", + "jsHelpText": "Füge eine globale Methode oder Variable zur aktuellen Anwendung hinzu.", + "cssHelpText": "Füge der aktuellen Anwendung Stile hinzu. Die DOM-Struktur kann sich ändern, wenn das System iteriert. Versuche, Stile über Komponenteneigenschaften zu ändern.", + "scriptsAndStyles": "Skripte und Stile", + "jsLibrary": "JavaScript-Bibliothek" + }, + "editorTutorials": { + "component": "Komponente", + "componentContent": "Die rechte Komponentenleiste bietet dir viele vorgefertigte Anwendungsblöcke (Komponenten). Diese können zur Verwendung auf die Leinwand gezogen werden. Mit ein wenig Programmierkenntnissen kannst du auch deine eigenen Komponenten erstellen.", + "canvas": "Segeltuch", + "canvasContent": "Erstelle deine Apps auf dem Canvas mit dem Ansatz \"What You See Is What You Get\". Ziehe die Komponenten einfach per Drag & Drop, um dein Layout zu gestalten, und verwende Tastenkombinationen zum schnellen Bearbeiten wie Löschen, Kopieren und Einfügen. Sobald du eine Komponente ausgewählt hast, kannst du jedes Detail anpassen - vom Styling und Layout bis hin zur Datenbindung und dem logischen Verhalten. Ein weiterer Vorteil ist das responsive Design, das dafür sorgt, dass deine Apps auf jedem Gerät gut aussehen.", + "queryData": "Daten abfragen", + "queryDataContent": "Du kannst hier Datenabfragen erstellen und dich mit MySQL, MongoDB, Redis, Airtable und vielen anderen Datenquellen verbinden. Nachdem du die Abfrage konfiguriert hast, klickst du auf \\'Run\\', um die Daten abzurufen und das Tutorial fortzusetzen.", + "compProperties": "Komponenten-Eigenschaften" + }, + "homeTutorials": { + "createAppContent": "🎉 Willkommen bei {Produktname}, klicke auf \\'App\\' und beginne, deine erste Anwendung zu erstellen.", + "createAppTitle": "App erstellen" + }, + "history": { + "layout": "\\'{0}' Layout-Anpassung", + "upgrade": "Upgrade \\'{0}\\'", + "delete": "Löschen \\'{0}\\'", + "add": "Hinzufügen \\'{0}\\'", + "modify": "Ändern \\'{0}\\'", + "rename": "\\'{1}\\' in \\'{0}\\' umbenennen", + "recover": "Wiederherstellen der '2'-Version", + "recoverVersion": "Version wiederherstellen", + "andSoOn": "und so weiter", + "timeFormat": "MM DD um hh:mm A", + "emptyHistory": "Keine Geschichte", + "currentVersionWithBracket": " (Aktuell)", + "currentVersion": "Aktuelle Version", + "justNow": "Gerade jetzt", + "history": "Geschichte" + }, + "home": { + "allApplications": "Alle Apps", + "allModules": "Alle Module", + "allFolders": "Alle Ordner", + "modules": "Module", + "module": "Modul", + "trash": "Papierkorb", + "queryLibrary": "Abfragebibliothek", + "datasource": "Datenquellen", + "selectDatasourceType": "Datenquellentyp auswählen", + "home": "Startseite | Verwaltungsbereich", + "all": "Alle", + "app": "App", + "navigation": "Navigation", + "navLayout": "PC Navigation", + "navLayoutDesc": "Menü auf der linken Seite für eine einfache Desktop-Navigation.", + "mobileTabLayout": "Mobile Navigation", + "mobileTabLayoutDesc": "Untere Navigationsleiste für reibungsloses mobiles Surfen.", + "folders": "Ordner", + "folder": "Mappe", + "rootFolder": "Wurzel", + "import": "Importieren", + "export": "Exportieren nach JSON", + "inviteUser": "Mitglieder einladen", + "createFolder": "Ordner erstellen", + "createFolderSubTitle": "Name des Ordners:", + "moveToFolder": "In Ordner verschieben", + "moveToTrash": "In den Papierkorb verschieben", + "moveToFolderSubTitle": "Bewege dich zu:", + "folderName": "Name des Ordners:", + "resCardSubTitle": "{time} von {creator}", + "trashEmpty": "Der Papierkorb ist leer.", + "projectEmpty": "Hier ist nichts.", + "projectEmptyCanAdd": "Du hast noch keine Apps. Klicke auf Neu, um loszulegen.", + "name": "Name", + "type": "Typ", + "creator": "Erstellt von", + "lastModified": "Zuletzt geändert", + "deleteTime": "Zeit löschen", + "createTime": "Zeit schaffen", + "datasourceName": "Name der Datenquelle", + "databaseName": "Name der Datenbank", + "nameCheckMessage": "Der Name darf nicht leer sein", + "deleteElementTitle": "Dauerhaft löschen", + "moveToTrashSubTitle": "{type} {name} wird in den Papierkorb verschoben.", + "deleteElementSubTitle": "Lösche {type} {name} dauerhaft, er kann nicht wiederhergestellt werden.", + "deleteSuccessMsg": "Gelöscht erfolgreich", + "deleteErrorMsg": "Gelöschter Fehler", + "recoverSuccessMsg": "Erfolgreich wiederhergestellt", + "newDatasource": "Neue Datenquelle", + "creating": "Erstellen...", + "chooseDataSourceType": "Datenquellentyp auswählen", + "folderAlreadyExists": "Der Ordner existiert bereits", + "newNavLayout": "{Benutzername}'s {name} ", + "newApp": "{Benutzername}'s neuer {name} ", + "importError": "Importfehler, {Meldung}", + "exportError": "Exportfehler, {Meldung}", + "importSuccess": "Erfolg importieren", + "fileUploadError": "Datei-Upload-Fehler", + "fileFormatError": "Fehler im Dateiformat", + "groupWithSquareBrackets": "[Gruppe] ", + "allPermissions": "Besitzer", + "shareLink": "Link teilen: ", + "copyLink": "Link kopieren", + "appPublicMessage": "Mach die App öffentlich. Jeder kann sie sehen.", + "modulePublicMessage": "Mach das Modul öffentlich. Jeder kann es sehen.", + "memberPermissionList": "Mitgliedschaftsberechtigungen: ", + "orgName": "{orgName} admins", + "addMember": "Mitglieder hinzufügen", + "addPermissionPlaceholder": "Bitte gib einen Namen ein, um Mitglieder zu suchen", + "searchMemberOrGroup": "Suche nach Mitgliedern oder Gruppen: ", + "addPermissionErrorMessage": "Berechtigung kann nicht hinzugefügt werden, {Meldung}", + "copyModalTitle": "Klonen", + "copyNameLabel": "{type} Name", + "copyModalfolderLabel": "Zum Ordner hinzufügen", + "copyNamePlaceholder": "Bitte gib einen {type} Namen ein", + "chooseNavType": "Bitte wähle die Art der Navigation", + "createNavigation": "Navigation erstellen" + }, + "carousel": { + "dotPosition": "Position der Navigationspunkte", + "autoPlay": "AutoPlay", + "showDots": "Navigationspunkte anzeigen" + }, + "npm": { + "invalidNpmPackageName": "Ungültiger npm-Paketname oder URL.", + "pluginExisted": "Dieses npm Plugin existierte bereits", + "compNotFound": "Komponente {compName} nicht gefunden.", + "addPluginModalTitle": "Plugin aus einem npm-Repository hinzufügen", + "pluginNameLabel": "URL oder Name des npm-Pakets", + "noCompText": "Keine Komponenten.", + "compsLoading": "Laden...", + "removePluginBtnText": "entfernen", + "addPluginBtnText": "npm-Plugin hinzufügen" + }, + "toggleButton": { + "valueDesc": "Der Standardwert des Toggle-Buttons, zum Beispiel: Falsch", + "trueDefaultText": "Verstecken", + "falseDefaultText": "anzeigen", + "trueLabel": "Text für Wahr", + "falseLabel": "Text für Falsch", + "trueIconLabel": "Icon für Wahr", + "falseIconLabel": "Icon für Falsch", + "iconPosition": "Icon Position", + "showText": "Text anzeigen", + "alignment": "Ausrichtung", + "showBorder": "Grenze anzeigen" + }, + "componentDoc": { + "markdownDemoText": "**Lowcoder** | Erstelle Softwareanwendungen für dein Unternehmen und deine Kunden mit minimaler Programmiererfahrung. Lowcoder ist die beste Alternative zu Retool, Appsmith oder Tooljet.", + "demoText": "Lowcoder | Erstelle Softwareanwendungen für dein Unternehmen und deine Kunden mit minimaler Programmiererfahrung. Lowcoder ist die beste Alternative zu Retool, Appsmith oder Tooljet.", + "submit": "einreichen", + "style": "Stil", + "danger": "Gefahr", + "warning": "Warnung", + "success": "Erfolg", + "menu": "Menü", + "link": "Link", + "customAppearance": "Benutzerdefiniertes Erscheinungsbild", + "search": "Suche", + "pleaseInputNumber": "Bitte eine Nummer eingeben", + "mostValue": "Größter Wert", + "maxRating": "Maximale Bewertung", + "notSelect": "Nicht ausgewählt", + "halfSelect": "Halbe Auswahl", + "pleaseSelect": "Bitte wählen", + "title": "Titel", + "content": "Inhalt", + "componentNotFound": "Komponente ist nicht vorhanden", + "example": "Beispiele", + "defaultMethodDesc": "Den Wert der Eigenschaft {name} festlegen", + "propertyUsage": "Du kannst komponentenbezogene Informationen lesen, indem du über den Komponentennamen auf die Komponenteneigenschaften zugreifst, wo immer du JavaScript schreiben kannst.", + "property": "Eigenschaften", + "propertyName": "Eigenschaft Name", + "propertyType": "Typ", + "propertyDesc": "Beschreibung", + "event": "Veranstaltungen", + "eventName": "Name der Veranstaltung", + "eventDesc": "Beschreibung", + "mehtod": "Methoden", + "methodUsage": "Du kannst mit Komponenten über ihre Methoden interagieren und sie überall dort, wo du JavaScript schreiben kannst, mit ihrem Namen aufrufen. Oder du kannst sie über die Aktion \"Komponente\" eines Ereignisses aufrufen.", + "methodName": "Methode Name", + "methodDesc": "Beschreibung", + "showBorder": "Grenze anzeigen", + "haveTry": "Versuch es selbst", + "settings": "Einstellung", + "settingValues": "Einstellung Wert", + "defaultValue": "Standardwert", + "time": "Zeit", + "date": "Datum", + "noValue": "Keine", + "xAxisType": "X-Achse Typ", + "hAlignType": "Horizontale Ausrichtung", + "leftLeftAlign": "Links-Links-Ausrichtung", + "leftRightAlign": "Links-Rechts-Ausrichtung", + "topLeftAlign": "Ausrichtung von oben nach links", + "topRightAlign": "Ausrichtung oben-rechts", + "validation": "Validierung", + "required": "Erforderlich", + "defaultStartDateValue": "Standard Startdatum", + "defaultEndDateValue": "Standard-Enddatum", + "basicUsage": "Grundlegende Verwendung", + "basicDemoDescription": "Die folgenden Beispiele zeigen die grundlegende Verwendung der Komponente.", + "noDefaultValue": "Kein Standardwert", + "forbid": "Verboten", + "placeholder": "Platzhalter", + "pleaseInputPassword": "Bitte gib ein Passwort ein", + "password": "Passwort", + "textAlign": "Textausrichtung", + "length": "Länge", + "top": "Top", + "pleaseInputName": "Bitte gib deinen Namen ein", + "userName": "Name", + "fixed": "Festgelegt", + "responsive": "Responsive", + "workCount": "Wortzahl", + "cascaderOptions": "Kaskadenoptionen", + "pleaseSelectCity": "Bitte wähle eine Stadt", + "advanced": "Fortgeschrittene", + "showClearIcon": "Löschen-Symbol anzeigen", + "likedFruits": "Favoriten", + "option": "Option", + "singleFileUpload": "Einzelner Datei-Upload", + "multiFileUpload": "Mehrere Dateien hochladen", + "folderUpload": "Ordner hochladen", + "multiFile": "Mehrere Dateien", + "folder": "Mappe", + "open": "Öffnen Sie", + "favoriteFruits": "Lieblingsfrüchte", + "pleaseSelectOneFruit": "Wähle eine Frucht", + "notComplete": "Nicht vollständig", + "complete": "Vollständig", + "echart": "EChart", + "lineChart": "Liniendiagramm", + "basicLineChart": "Grundlegendes Liniendiagramm", + "lineChartType": "Liniendiagramm Typ", + "stackLineChart": "Gestapelte Linie", + "areaLineChart": "Bereich Linie", + "scatterChart": "Punktediagramm", + "scatterShape": "Streuung Form", + "scatterShapeCircle": "Kreis", + "scatterShapeRect": "Rectangle", + "scatterShapeTri": "Dreieck", + "scatterShapeDiamond": "Diamant", + "scatterShapePin": "Stecknadel", + "scatterShapeArrow": "Pfeil", + "pieChart": "Kreisdiagramm", + "basicPieChart": "Grundlegendes Kreisdiagramm", + "pieChatType": "Kreisdiagramm Typ", + "pieChartTypeCircle": "Donut-Tabelle", + "pieChartTypeRose": "Rose Chart", + "titleAlign": "Titel Position", + "color": "Farbe", + "dashed": "Gestrichelt", + "imADivider": "Ich bin eine Trennungslinie", + "tableSize": "Tabelle Größe", + "subMenuItem": "UnterMenü {num}", + "menuItem": "Menü {num}", + "labelText": "Etikett", + "labelPosition": "Etikett - Position", + "labelAlign": "Etikett - Ausrichten", + "optionsOptionType": "Konfiguration Methode", + "styleBackgroundColor": "Hintergrundfarbe", + "styleBorderColor": "Farbe der Umrandung", + "styleColor": "Schriftfarbe", + "selectionMode": "Zeilenauswahl-Modus", + "paginationSetting": "Paginierung Einstellung", + "paginationShowSizeChanger": "Unterstützung der Benutzer bei der Änderung der Anzahl von Einträgen pro Seite", + "paginationShowSizeChangerButton": "Schaltfläche Größenänderer anzeigen", + "paginationShowQuickJumper": "Quick Jumper anzeigen", + "paginationHideOnSinglePage": "Verstecken, wenn es nur eine Seite gibt", + "paginationPageSizeOptions": "Seitengröße", + "chartConfigCompType": "Chart-Typ", + "xConfigType": "X-Achse Typ", + "loading": "Laden", + "disabled": "Behinderte", + "minLength": "Mindestlänge", + "maxLength": "Maximale Länge", + "showCount": "Wortzahl anzeigen", + "autoHeight": "Höhe", + "thousandsSeparator": "Tausendertrennzeichen", + "precision": "Nachkommastellen", + "value": "Standardwert", + "formatter": "Format", + "min": "Mindestwert", + "max": "Maximaler Wert", + "step": "Schrittweite", + "start": "Startzeit", + "end": "Endzeit", + "allowHalf": "Halbe Auswahl zulassen", + "filetype": "Dateityp", + "showUploadList": "Upload-Liste anzeigen", + "uploadType": "Upload Typ", + "allowClear": "Löschen-Symbol anzeigen", + "minSize": "Minimale Dateigröße", + "maxSize": "Maximale Dateigröße", + "maxFiles": "Maximale Anzahl von hochgeladenen Dateien", + "format": "Format", + "minDate": "Minimum Datum", + "maxDate": "Maximales Datum", + "minTime": "Mindestzeit", + "maxTime": "Maximale Zeit", + "text": "Text", + "type": "Typ", + "hideHeader": "Kopfzeile ausblenden", + "hideBordered": "Grenze ausblenden", + "src": "Bild-URL", + "showInfo": "Wert anzeigen", + "mode": "Modus", + "onlyMenu": "Nur Menü", + "horizontalAlignment": "Horizontale Ausrichtung", + "row": "Links", + "column": "Top", + "leftAlign": "Linke Ausrichtung", + "rightAlign": "Rechts ausrichten", + "percent": "Prozentsatz", + "fixedHeight": "Feste Höhe", + "auto": "Anpassungsfähig", + "directory": "Mappe", + "multiple": "Mehrere Dateien", + "singleFile": "Einzelne Datei", + "manual": "Handbuch", + "default": "Standard", + "small": "Klein", + "middle": "Medium", + "large": "Groß", + "single": "Single", + "multi": "Mehrere", + "close": "Schließen", + "ui": "UI-Modus", + "line": "Liniendiagramm", + "scatter": "Punktwolke", + "pie": "Kreisdiagramm", + "basicLine": "Grundlegendes Liniendiagramm", + "stackedLine": "Gestapeltes Liniendiagramm", + "areaLine": "Gebiet Gebietskarte", + "basicPie": "Grundlegendes Kreisdiagramm", + "doughnutPie": "Donut-Tabelle", + "rosePie": "Rose Chart", + "category": "Kategorie Achse", + "circle": "Kreis", + "rect": "Rectangle", + "triangle": "Dreieck", + "diamond": "Diamant", + "pin": "Stecknadel", + "arrow": "Pfeil", + "left": "Links", + "right": "Rechts", + "center": "Zentrum", + "bottom": "Unten", + "justify": "Beide Enden rechtfertigen" + }, + "playground": { + "url": "https://app.lowcoder.cloud/playground/{compType}/1", + "data": "Aktueller Datenstand", + "preview": "Vorschau", + "property": "Eigenschaften", + "console": "Visual Script-Konsole", + "executeMethods": "Ausführen von Methoden", + "noMethods": "Keine Methoden.", + "methodParams": "Parameter der Methode", + "methodParamsHelp": "Parameter der Eingabemethode mit JSON. Zum Beispiel kannst du die Parameter von setValue\\ wie folgt festlegen: [1] oder 1" + }, + "calendar": { + "headerBtnBackground": "Schaltfläche Hintergrund", + "btnText": "Schaltfläche Text", + "title": "Titel", + "selectBackground": "Ausgewählter Hintergrund" + }, + "componentDocExtra": { + "table": "Zusätzliche Dokumentation für die Tabellenkomponente" + }, + "idSource": { + "title": "OAuth-Anbieter", + "form": "E-Mail", + "pay": "Premium", + "enable": "Aktiviere", + "unEnable": "Nicht aktiviert", + "loginType": "Anmeldung Typ", + "status": "Status", + "desc": "Beschreibung", + "manual": "Adressbuch:", + "syncManual": "Adressbuch synchronisieren", + "syncManualSuccess": "Sync Erfolgreich", + "enableRegister": "Registrierung zulassen", + "saveBtn": "Speichern und Aktivieren", + "save": "Speichern", + "none": "Keine", + "formPlaceholder": "Bitte {Label} eingeben", + "formSelectPlaceholder": "Bitte wähle das {label}", + "saveSuccess": "Erfolgreich gerettet", + "dangerLabel": "Gefahrenzone", + "dangerTip": "Die Deaktivierung dieses ID-Anbieters kann dazu führen, dass sich einige Nutzer nicht mehr anmelden können. Gehe mit Vorsicht vor.", + "disable": "Deaktivieren", + "disableSuccess": "Erfolgreich deaktiviert", + "encryptedServer": "-------- Verschlüsselt auf der Serverseite --------", + "disableTip": "Tipps", + "disableContent": "Die Deaktivierung dieses ID-Anbieters kann dazu führen, dass sich einige Nutzer nicht mehr anmelden können. Bist du sicher, dass du fortfahren kannst?", + "manualTip": "", + "lockTip": "Der Inhalt ist gesperrt. Um Änderungen vorzunehmen, klicke bitte auf das {Icon}, um die Sperre aufzuheben.", + "lockModalContent": "Die Änderung des Feldes \"ID-Attribut\" kann erhebliche Auswirkungen auf die Benutzeridentifizierung haben. Bitte vergewissere dich, dass du die Auswirkungen dieser Änderung verstehst, bevor du fortfährst.", + "payUserTag": "Premium" + }, + "slotControl": { + "configSlotView": "Slot-Ansicht konfigurieren" + }, + "jsonLottie": { + "lottieJson": "Lottie JSON", + "speed": "Geschwindigkeit", + "width": "Breite", + "height": "Höhe", + "backgroundColor": "Hintergrundfarbe", + "animationStart": "Animation Start", + "valueDesc": "Aktuelle JSON-Daten", + "loop": "Schleife", + "auto": "Auto", + "onHover": "Beim Schweben", + "singlePlay": "Einzelspiel", + "endlessLoop": "Endlosschleife", + "keepLastFrame": "Letzten Frame anzeigen lassen" + }, + "timeLine": { + "titleColor": "Titel Farbe", + "subTitleColor": "Untertitel Farbe", + "lableColor": "Etikett Farbe", + "value": "Zeitleiste Daten", + "mode": "Bestellung anzeigen", + "left": "Inhalt Rechts", + "right": "Inhalt Links", + "alternate": "Alternative Reihenfolge der Inhalte", + "modeTooltip": "Einstellen, dass der Inhalt links/rechts oder abwechselnd auf beiden Seiten der Zeitleiste angezeigt wird", + "reverse": "Neueste Ereignisse zuerst", + "pending": "Ausstehender Knotenpunkt Text", + "pendingDescription": "Wenn diese Option aktiviert ist, wird ein letzter Knoten mit dem Text und einer Warteanzeige angezeigt.", + "defaultPending": "Kontinuierliche Verbesserung", + "clickTitleEvent": "Klick Titel Ereignis", + "clickTitleEventDesc": "Klick Titel Ereignis", + "Introduction": "Einführung Tasten", + "helpTitle": "Titel der Zeitleiste (erforderlich)", + "helpsubTitle": "Untertitel der Zeitleiste", + "helpLabel": "Beschriftung der Zeitleiste, die zur Anzeige von Daten verwendet wird", + "helpColor": "Zeigt die Farbe des Zeitachsenknotens an", + "helpDot": "Timeline-Knoten als Ameisendesign-Symbole rendern", + "helpTitleColor": "Individuell die Farbe des Knotentitels steuern", + "helpSubTitleColor": "Individuelle Steuerung der Farbe der Knotenuntertitel", + "helpLableColor": "Individuelle Steuerung der Farbe des Knotensymbols", + "valueDesc": "Daten der Zeitleiste", + "clickedObjectDesc": "Daten zum angeklickten Objekt", + "clickedIndexDesc": "Index der angeklickten Objekte" + }, + "comment": { + "value": "Daten der Kommentarliste", + "showSendButton": "Kommentare zulassen", + "title": "Titel", + "titledDefaultValue": "%d Kommentar in Summe", + "placeholder": "Shift + Enter zum Kommentieren; @ oder # für Schnelleingabe eingeben", + "placeholderDec": "Platzhalter", + "buttonTextDec": "Schaltfläche Titel", + "buttonText": "Kommentar", + "mentionList": "Daten der Erwähnungsliste", + "mentionListDec": "Key-Mention Keywords; Value-Mention Listendaten", + "userInfo": "Benutzerinfo", + "dateErr": "Datum Fehler", + "commentList": "Kommentar Liste", + "deletedItem": "Gelöschter Artikel", + "submitedItem": "Eingereichter Artikel", + "deleteAble": "Schaltfläche \"Löschen\" anzeigen", + "Introduction": "Einführung Tasten", + "helpUser": "Benutzerinformationen (erforderlich)", + "helpname": "Nutzername (erforderlich)", + "helpavatar": "Avatar URL (Hohe Priorität)", + "helpdisplayName": "Name anzeigen (niedrige Priorität)", + "helpvalue": "Kommentar Inhalt", + "helpcreatedAt": "Datum erstellen" + }, + "mention": { + "mentionList": "Daten der Erwähnungsliste" + }, + "autoComplete": { + "value": "Auto Complete Value", + "checkedValueFrom": "Geprüfter Wert von", + "ignoreCase": "Suche ignorieren Fall", + "searchLabelOnly": "Nur Label suchen", + "searchFirstPY": "Erste Pinyin-Suche", + "searchCompletePY": "Vollständiges Pinyin suchen", + "searchText": "Text suchen", + "SectionDataName": "AutoVervollständigen Daten", + "valueInItems": "Wert in Positionen", + "type": "Typ", + "antDesign": "AntDesign", + "normal": "Normal", + "selectKey": "Schlüssel", + "selectLable": "Etikett", + "ComponentType": "Komponente Typ", + "colorIcon": "Blau", + "grewIcon": "Grau", + "noneIcon": "Keine", + "small": "Klein", + "large": "Groß", + "componentSize": "Komponente Größe", + "Introduction": "Einführung Tasten", + "helpLabel": "Etikett", + "helpValue": "Wert" + }, + "responsiveLayout": { + "column": "Rubriken", + "atLeastOneColumnError": "Responsive Layout behält mindestens eine Spalte bei", + "columnsPerRow": "Spalten pro Zeile", + "columnsSpacing": "Abstand zwischen den Spalten (px)", + "horizontal": "Horizontal", + "vertical": "Vertikal", + "mobile": "Mobil", + "tablet": "Tablet", + "desktop": "Desktop", + "rowStyle": "Reihe Stil", + "columnStyle": "Säulenstil", + "minWidth": "Min. Breite", + "rowBreak": "Reihenpause", + "matchColumnsHeight": "Höhe der Säulen anpassen", + "rowLayout": "Zeilenlayout", + "columnsLayout": "Spalten Layout" + }, + "navLayout": { + "mode": "Modus", + "modeInline": "Inline", + "modeVertical": "Vertikal", + "width": "Breite", + "widthTooltip": "Pixel oder Prozentsatz, z.B. 520, 60%", + "navStyle": "Menü-Stil", + "navItemStyle": "Menüpunkt Stil" + } +}; \ No newline at end of file diff --git a/client/packages/lowcoder/src/i18n/locales/en.ts b/client/packages/lowcoder/src/i18n/locales/en.ts index 809989764..3a32df08c 100644 --- a/client/packages/lowcoder/src/i18n/locales/en.ts +++ b/client/packages/lowcoder/src/i18n/locales/en.ts @@ -2164,106 +2164,106 @@ export const en = { // nineteenth part - history: { - layout: "'{0}' layout adjustment", - upgrade: "Upgrade '{0}'", - delete: "Delete '{0}'", - add: "Add '{0}'", - modify: "Modify '{0}'", - rename: "Rename '{1}' to '{0}'", - recover: "Recover '{2}''s version", - recoverVersion: "Recover version", - andSoOn: "and so on", - timeFormat: "MM DD at hh:mm A", - emptyHistory: "No history", - currentVersionWithBracket: " (Current)", - currentVersion: "Current version", - justNow: "Just now", - history: "History", - }, - home: { - allApplications: "All Apps", - allModules: "All Modules", - allFolders: "All Folders", - modules: "Modules", - module: "Module", - trash: "Trash", - queryLibrary: "Query Library", - datasource: "Data Sources", - selectDatasourceType: "Select data source type", - home: "Home", - all: "All", - app: "App", - navigation: "Navigation", - navLayout: "PC Navigation", - navLayoutDesc: "Left-side menu for easy desktop navigation.", - mobileTabLayout: "Mobile Navigation", - mobileTabLayoutDesc: "Bottom navigation bar for smooth mobile browsing.", - folders: "Folders", - folder: "Folder", - rootFolder: "Root", - import: "Import", - export: "Export to JSON", - inviteUser: "Invite members", - createFolder: "Create Folder", - createFolderSubTitle: "Folder name:", - moveToFolder: "Move to folder", - moveToTrash: "Move to trash", - moveToFolderSubTitle: 'Move "{name}" to:', - folderName: "Folder name:", - resCardSubTitle: "{time} by {creator}", - trashEmpty: "Trash is empty.", - projectEmpty: "Nothing here.", - projectEmptyCanAdd: "You don't have any apps yet. Click New to get started.", - name: "Name", - type: "Type", - creator: "Created by", - lastModified: "Last modified", - deleteTime: "Delete time", - createTime: "Create time", - datasourceName: "Data source name", - databaseName: "Database name", - nameCheckMessage: "The name cannot be empty", - deleteElementTitle: "Delete permanently", - moveToTrashSubTitle: "{type} {name} will be moved to trash.", - deleteElementSubTitle: "Delete {type} {name} permanently, it cannot be recovered.", - deleteSuccessMsg: "Deleted successfully", - deleteErrorMsg: "Deleted error", - recoverSuccessMsg: "Recovered successfully", - newDatasource: "New data source", - creating: "Creating...", - chooseDataSourceType: "Choose data source type", - folderAlreadyExists: "The folder already exists", - newNavLayout: "{userName}'s {name} ", - newApp: "{userName}'s new {name} ", - importError: "Import error, {message}", - exportError: "Export error, {message}", - importSuccess: "Import success", - fileUploadError: "File upload error", - fileFormatError: "File format error", - groupWithSquareBrackets: "[Group] ", - allPermissions: "Owner", - shareLink: "Share link: ", - copyLink: "Copy link", - appPublicMessage: "Make the app public. Anyone can view.", - modulePublicMessage: "Make the module public. Anyone can view.", - memberPermissionList: "Member permissions: ", - orgName: "{orgName} admins", - addMember: "Add members", - addPermissionPlaceholder: "Please enter a name to search members", - searchMemberOrGroup: "Search for members or groups: ", - addPermissionErrorMessage: "Failed to add permission, {message}", - copyModalTitle: 'Clone "{name}"', - copyNameLabel: "{type} name", - copyModalfolderLabel: "Add to folder", - copyNamePlaceholder: "Please enter a {type} name", - chooseNavType: "Please choose navigation type", - createNavigation: "Create Navigation", - }, - carousel: { - dotPosition: "Navigation Dots position", - autoPlay: "AutoPlay", - showDots: "Show dots", + "history": { + "layout": "'{0}' layout adjustment", + "upgrade": "Upgrade '{0}'", + "delete": "Delete '{0}'", + "add": "Add '{0}'", + "modify": "Modify '{0}'", + "rename": "Rename '{1}' to '{0}'", + "recover": "Recover '{2}' version", + "recoverVersion": "Recover version", + "andSoOn": "and so on", + "timeFormat": "MM DD at hh:mm A", + "emptyHistory": "No history", + "currentVersionWithBracket": " (Current)", + "currentVersion": "Current version", + "justNow": "Just now", + "history": "History" + }, + "home": { + "allApplications": "All Apps", + "allModules": "All Modules", + "allFolders": "All Folders", + "modules": "Modules", + "module": "Module", + "trash": "Trash", + "queryLibrary": "Query Library", + "datasource": "Data Sources", + "selectDatasourceType": "Select Data Source Type", + "home": "Home | Admin Area", + "all": "All", + "app": "App", + "navigation": "Navigation", + "navLayout": "PC Navigation", + "navLayoutDesc": "Left-side menu for easy desktop navigation.", + "mobileTabLayout": "Mobile Navigation", + "mobileTabLayoutDesc": "Bottom navigation bar for smooth mobile browsing.", + "folders": "Folders", + "folder": "Folder", + "rootFolder": "Root", + "import": "Import", + "export": "Export to JSON", + "inviteUser": "Invite members", + "createFolder": "Create Folder", + "createFolderSubTitle": "Folder name:", + "moveToFolder": "Move to folder", + "moveToTrash": "Move to trash", + "moveToFolderSubTitle": 'Move "{name}" to:', + "folderName": "Folder name:", + "resCardSubTitle": "{time} by {creator}", + "trashEmpty": "Trash is empty.", + "projectEmpty": "Nothing here.", + "projectEmptyCanAdd": "You don't have any apps yet. Click New to get started.", + "name": "Name", + "type": "Type", + "creator": "Created by", + "lastModified": "Last modified", + "deleteTime": "Delete time", + "createTime": "Create time", + "datasourceName": "Data source name", + "databaseName": "Database name", + "nameCheckMessage": "The name cannot be empty", + "deleteElementTitle": "Delete permanently", + "moveToTrashSubTitle": "{type} {name} will be moved to trash.", + "deleteElementSubTitle": "Delete {type} {name} permanently, it cannot be recovered.", + "deleteSuccessMsg": "Deleted successfully", + "deleteErrorMsg": "Deleted error", + "recoverSuccessMsg": "Recovered successfully", + "newDatasource": "New data source", + "creating": "Creating...", + "chooseDataSourceType": "Choose data source type", + "folderAlreadyExists": "The folder already exists", + "newNavLayout": "{userName}'s {name} ", + "newApp": "{userName}'s new {name} ", + "importError": "Import error, {message}", + "exportError": "Export error, {message}", + "importSuccess": "Import success", + "fileUploadError": "File upload error", + "fileFormatError": "File format error", + "groupWithSquareBrackets": "[Group] ", + "allPermissions": "Owner", + "shareLink": "Share link: ", + "copyLink": "Copy link", + "appPublicMessage": "Make the app public. Anyone can view.", + "modulePublicMessage": "Make the module public. Anyone can view.", + "memberPermissionList": "Member permissions: ", + "orgName": "{orgName} admins", + "addMember": "Add members", + "addPermissionPlaceholder": "Please enter a name to search members", + "searchMemberOrGroup": "Search for members or groups: ", + "addPermissionErrorMessage": "Failed to add permission, {message}", + "copyModalTitle": 'Clone "{name}"', + "copyNameLabel": "{type} name", + "copyModalfolderLabel": "Add to folder", + "copyNamePlaceholder": "Please enter a {type} name", + "chooseNavType": "Please choose navigation type", + "createNavigation": "Create Navigation" + }, + "carousel": { + "dotPosition": "Navigation Dots position", + "autoPlay": "AutoPlay", + "showDots": "Show Navigation Dots" }, diff --git a/client/packages/lowcoder/src/i18n/locales/index.ts b/client/packages/lowcoder/src/i18n/locales/index.ts index e1ce6572c..f19614538 100644 --- a/client/packages/lowcoder/src/i18n/locales/index.ts +++ b/client/packages/lowcoder/src/i18n/locales/index.ts @@ -1,6 +1,7 @@ // file examples: en, enGB, zh, zhHK // fallback example: current locale is zh-HK, fallback order is zhHK => zh => en export * from "./en"; +export * from "./de"; export * from "./it"; export * from "@lowcoder-ee/i18n/locales/zh"; diff --git a/client/packages/lowcoder/src/i18n/locales/translation_files/de.json b/client/packages/lowcoder/src/i18n/locales/translation_files/de.json new file mode 100644 index 000000000..e40d34b54 --- /dev/null +++ b/client/packages/lowcoder/src/i18n/locales/translation_files/de.json @@ -0,0 +1,2528 @@ +{ + "productName": "Lowcoder", + "productDesc": "Erstelle Softwareanwendungen für dein Unternehmen und deine Kunden mit minimaler Programmiererfahrung. Lowcoder ist eine hervorragende Alternative zu Retool, Appsmith und Tooljet.", + "notSupportedBrowser": "Dein aktueller Browser hat möglicherweise Kompatibilitätsprobleme. Um ein optimales Nutzererlebnis zu gewährleisten, verwende bitte die neueste Version von Chrome.", + "create": "erstellen", + "move": "Verschiebe", + "addItem": "hinzufügen", + "newItem": "Neu", + "copy": "Kopiere", + "rename": "umbenennen", + "delete": "löschen", + "deletePermanently": "Dauerhaft löschen", + "remove": "entfernen", + "recover": "Wiederherstellen", + "edit": "bearbeiten", + "view": "Siehe", + "value": "Wert", + "data": "Daten", + "information": "Informationen", + "success": "Erfolg", + "warning": "Warnung", + "error": "Fehler", + "reference": "Referenz", + "text": "Text", + "label": "Etikett", + "color": "Farbe", + "form": "Formular", + "menu": "Menü", + "menuItem": "Menüpunkt", + "ok": "OK", + "cancel": "Abbrechen", + "finish": "Finish", + "reset": "Zurücksetzen", + "icon": "Icon", + "code": "Code", + "title": "Titel", + "emptyContent": "Leerer Inhalt", + "more": "Mehr", + "search": "Suche", + "back": "Zurück", + "accessControl": "Zugangskontrolle", + "copySuccess": "Erfolgreich kopiert", + "copyError": "Kopierfehler", + "api": { + "publishSuccess": "Erfolgreich veröffentlicht", + "recoverFailed": "Wiederherstellung fehlgeschlagen", + "needUpdate": "Deine aktuelle Version ist veraltet. Bitte aktualisiere auf die neueste Version." + }, + "codeEditor": { + "notSupportAutoFormat": "Der aktuelle Code-Editor unterstützt keine automatische Formatierung.", + "fold": "Falten" + }, + "exportMethod": { + "setDesc": "Eigenschaft einstellen: {Eigenschaft}", + "clearDesc": "Eigenschaft löschen: {Eigenschaft}", + "resetDesc": "Eigenschaft zurücksetzen: {Eigenschaft} auf Standardwert zurücksetzen" + }, + "method": { + "focus": "Fokus setzen", + "focusOptions": "Fokus-Optionen. Siehe HTMLElement.focus()", + "blur": "Fokus entfernen", + "click": "Klick", + "select": "Alle Texte auswählen", + "setSelectionRange": "Start- und Endposition der Textauswahl festlegen", + "selectionStart": "0-basierter Index des ersten ausgewählten Zeichens", + "selectionEnd": "0-basierter Index des Zeichens nach dem letzten ausgewählten Zeichen", + "setRangeText": "Textbereich ersetzen", + "replacement": "String zum Einfügen", + "replaceStart": "0-basierter Index des ersten zu ersetzenden Zeichens", + "replaceEnd": "0-basierter Index des Zeichens nach dem letzten zu ersetzenden Zeichen" + }, + "errorBoundary": { + "encounterError": "Das Laden einer Komponente ist fehlgeschlagen. Bitte überprüfe deine Konfiguration.", + "clickToReload": "Zum Nachladen klicken", + "errorMsg": "Fehler: " + }, + "imgUpload": { + "notSupportError": "Unterstützt nur {types} Bildtypen", + "exceedSizeError": "Die Bildgröße darf {size} nicht überschreiten" + }, + "gridCompOperator": { + "notSupport": "Nicht unterstützt", + "selectAtLeastOneComponent": "Bitte wähle mindestens eine Komponente aus", + "selectCompFirst": "Komponenten vor dem Kopieren auswählen", + "noContainerSelected": "[Bug] Kein Container ausgewählt", + "deleteCompsSuccess": "Erfolgreich gelöscht. Drücke {undoKey} zum Rückgängigmachen.", + "deleteCompsTitle": "Komponenten löschen", + "deleteCompsBody": "Bist du sicher, dass du {compNum} ausgewählte Komponenten löschen willst?", + "cutCompsSuccess": "Erfolgreich ausgeschnitten. Drücke {EinfügenTaste}, um einzufügen, oder {RückgängigTaste}, um den Vorgang rückgängig zu machen." + }, + "leftPanel": { + "queries": "Datenabfragen in deiner App", + "globals": "Globale Datenvariablen", + "propTipsArr": "{Anzahl} Posten", + "propTips": "{Anzahl} Tasten", + "propTipArr": "Posten {Anzahl}", + "propTip": "{Anzahl} Schlüssel", + "stateTab": "Staat", + "settingsTab": "Einstellungen", + "toolbarTitle": "Individualisierung", + "toolbarPreload": "Skripte und Stile", + "components": "Aktive Komponenten", + "modals": "In-App-Modale", + "expandTip": "Klicken, um die Daten zu erweitern", + "collapseTip": "Klicken Sie, um die Daten der Komponente zu reduzieren" + }, + "bottomPanel": { + "title": "Datenabfragen", + "run": "Lauf", + "noSelectedQuery": "Keine Abfrage ausgewählt", + "metaData": "Metadaten der Datenquelle", + "noMetadata": "Keine Metadaten verfügbar", + "metaSearchPlaceholder": "Metadaten suchen", + "allData": "Alle Tische" + }, + "rightPanel": { + "propertyTab": "Eigenschaften", + "noSelectedComps": "Keine Komponenten ausgewählt. Klicke auf eine Komponente, um ihre Eigenschaften anzuzeigen.", + "createTab": "einfügen", + "searchPlaceHolder": "Komponenten oder Module suchen", + "uiComponentTab": "Komponenten", + "extensionTab": "Erweiterungen", + "modulesTab": "Module", + "moduleListTitle": "Module", + "pluginListTitle": "Plugins", + "emptyModules": "Module sind wiederverwendbare Mikro-Apps. Du kannst sie in deine App einbetten.", + "searchNotFound": "Kannst du die richtige Komponente nicht finden? Ein Problem einreichen", + "emptyPlugins": "Keine Plugins hinzugefügt", + "contactUs": "Kontakt", + "issueHere": "hier." + }, + "prop": { + "expand": "Erweitern", + "columns": "Rubriken", + "videokey": "Video Schlüssel", + "rowSelection": "Zeilenauswahl", + "toolbar": "Symbolleiste", + "pagination": "Paginierung", + "logo": "Logo", + "style": "Stil", + "inputs": "Eingänge", + "meta": "Metadaten", + "data": "Daten", + "hide": "Verstecken", + "loading": "Laden", + "disabled": "Behinderte", + "placeholder": "Platzhalter", + "showClear": "Schaltfläche \"Löschen\" anzeigen", + "showSearch": "Durchsuchbar", + "defaultValue": "Standardwert", + "required": "Erforderliches Feld", + "readOnly": "Nur lesen", + "readOnlyTooltip": "Schreibgeschützte Komponenten erscheinen normal, können aber nicht geändert werden.", + "minimum": "Minimum", + "maximum": "Maximum", + "regex": "Regex", + "minLength": "Mindestlänge", + "maxLength": "Maximale Länge", + "height": "Höhe", + "width": "Breite", + "selectApp": "App auswählen", + "showCount": "Anzahl anzeigen", + "textType": "Textart", + "customRule": "Benutzerdefinierte Regel", + "customRuleTooltip": "Eine nicht leere Zeichenkette weist auf einen Fehler hin; eine leere Zeichenkette oder null bedeutet, dass die Validierung erfolgreich war. Beispiel: ", + "manual": "Handbuch", + "map": "Karte", + "json": "JSON", + "use12Hours": "12-Stunden-Format verwenden", + "hourStep": "Stundensprung", + "minuteStep": "Minutenschritt", + "secondStep": "Zweiter Schritt", + "minDate": "Minimum Datum", + "maxDate": "Maximales Datum", + "minTime": "Mindestzeit", + "maxTime": "Maximale Zeit", + "type": "Typ", + "showLabel": "Etikett anzeigen", + "showHeader": "Kopfzeile anzeigen", + "showBody": "Körper zeigen", + "showFooter": "Fußzeile anzeigen", + "maskClosable": "Zum Schließen auf \"Draußen\" klicken", + "showMask": "Maske zeigen" + }, + "autoHeightProp": { + "auto": "Auto", + "fixed": "Festgelegt" + }, + "labelProp": { + "text": "Etikett", + "tooltip": "Tooltip", + "position": "Position", + "left": "Links", + "top": "Top", + "align": "Ausrichtung", + "width": "Breite", + "widthTooltip": "Die Etikettenbreite unterstützt Prozentwerte (%) und Pixel (px)." + }, + "eventHandler": { + "eventHandlers": "Ereignishandler", + "emptyEventHandlers": "Keine Ereignishandler", + "incomplete": "Unvollständige Auswahl", + "inlineEventTitle": "Am {EreignisName}", + "event": "Veranstaltung", + "action": "Aktion", + "noSelect": "Keine Auswahl", + "runQuery": "Eine Datenabfrage ausführen", + "selectQuery": "Datenabfrage auswählen", + "controlComp": "Eine Komponente kontrollieren", + "runScript": "JavaScript ausführen", + "runScriptPlaceHolder": "Code hier schreiben", + "component": "Komponente", + "method": "Methode", + "setTempState": "Einen temporären Statuswert setzen", + "state": "Staat", + "triggerModuleEvent": "Ein Modulereignis auslösen", + "moduleEvent": "Modul Ereignis", + "goToApp": "Zu einer anderen App gehen", + "queryParams": "Abfrage-Parameter", + "hashParams": "Hash-Parameter", + "showNotification": "Eine Benachrichtigung anzeigen", + "text": "Text", + "level": "Level", + "duration": "Dauer", + "notifyDurationTooltip": "Die Zeiteinheit kann \\'s\\' (Sekunde, Standard) oder \\'ms\\' (Millisekunde) sein. Die maximale Dauer ist {max} Sekunden", + "goToURL": "Eine URL öffnen", + "openInNewTab": "In neuem Tab öffnen", + "copyToClipboard": "Einen Wert in die Zwischenablage kopieren", + "copyToClipboardValue": "Wert", + "export": "Daten exportieren", + "exportNoFileType": "Keine Auswahl (optional)", + "fileName": "Datei Name", + "fileNameTooltip": "Füge die Dateierweiterung hinzu, um den Dateityp anzugeben, z. B. \"bild.png\".", + "fileType": "Dateityp", + "condition": "Lauf nur, wenn...", + "conditionTooltip": "Führe den Event-Handler nur aus, wenn die Bedingung \"wahr\" lautet.", + "debounce": "Entprellung für", + "throttle": "Drossel für", + "slowdownTooltip": "Verwende Debounce oder Throttle, um die Häufigkeit der Aktionsauslöser zu steuern. Die Zeiteinheit kann \\'ms\\' (Millisekunde, Standard) oder \\'s\\' (Sekunde) sein.", + "notHandledError": "Nicht gehandhabt", + "currentApp": "Aktuell" + }, + "event": { + "submit": "einreichen", + "submitDesc": "Auslöser beim Einreichen", + "change": "ändern", + "changeDesc": "Auslöser bei Wertänderungen", + "focus": "Fokus", + "focusDesc": "Auslöser im Fokus", + "blur": "Unschärfe", + "blurDesc": "Auslöser bei Unschärfe", + "click": "Klick", + "clickDesc": "Auslöser bei Klick", + "close": "Schließen", + "closeDesc": "Auslöser beim Schließen", + "parse": "Parsen", + "parseDesc": "Auslöser beim Parsen", + "success": "Erfolg", + "successDesc": "Auslöser für den Erfolg", + "delete": "löschen", + "deleteDesc": "Auslöser beim Löschen", + "mention": "Erwähne", + "mentionDesc": "Auslöser bei Erwähnung" + }, + "themeDetail": { + "primary": "Marke Farbe", + "primaryDesc": "Standard-Primärfarbe, die von den meisten Komponenten verwendet wird", + "textDark": "Dunkle Textfarbe", + "textDarkDesc": "Wird verwendet, wenn die Hintergrundfarbe hell ist", + "textLight": "Helle Textfarbe", + "textLightDesc": "Wird verwendet, wenn die Hintergrundfarbe dunkel ist", + "canvas": "Leinwand Farbe", + "canvasDesc": "Standard-Hintergrundfarbe der App", + "primarySurface": "Container Farbe", + "primarySurfaceDesc": "Standard-Hintergrundfarbe für Komponenten wie Tabellen", + "borderRadius": "Radius der Grenze", + "borderRadiusDesc": "Standard-Radius des Rahmens, der von den meisten Komponenten verwendet wird", + "chart": "Chart-Stil", + "chartDesc": "Eingabe für Echarts", + "echartsJson": "Thema JSON", + "margin": "Marge", + "marginDesc": "Standardmarge, die typischerweise für die meisten Komponenten verwendet wird", + "padding": "Polsterung", + "paddingDesc": "Standardpolsterung, die für die meisten Komponenten verwendet wird", + "containerheaderpadding": "Kopfzeilenpolsterung", + "containerheaderpaddingDesc": "Standard-Header-Padding, das für die meisten Komponenten verwendet wird", + "gridColumns": "Rasterspalten", + "gridColumnsDesc": "Standardanzahl von Spalten, die für die meisten Container verwendet wird" + }, + "style": { + "resetTooltip": "Stile zurücksetzen. Lösche das Eingabefeld, um einen einzelnen Stil zurückzusetzen.", + "textColor": "Textfarbe", + "contrastText": "Kontrast Textfarbe", + "generated": "Erzeugt", + "customize": "Anpassen", + "staticText": "Statischer Text", + "accent": "Akzent", + "validate": "Validierungsnachricht", + "border": "Farbe der Umrandung", + "borderRadius": "Radius der Grenze", + "borderWidth": "Breite des Randes", + "background": "Hintergrund", + "headerBackground": "Kopfzeile Hintergrund", + "footerBackground": "Fußzeilen-Hintergrund", + "fill": "Fülle", + "track": "Track", + "links": "Links", + "thumb": "Daumen", + "thumbBorder": "Daumen Rand", + "checked": "Überprüft", + "unchecked": "Ungeprüft", + "handle": "Henkel", + "tags": "Tags", + "tagsText": "Tags Text", + "multiIcon": "Multiselect-Symbol", + "tabText": "Registerkarte Text", + "tabAccent": "Registerkarte Akzent", + "checkedBackground": "Geprüfter Hintergrund", + "uncheckedBackground": "Ungeprüfter Hintergrund", + "uncheckedBorder": "Ungeprüfte Grenze", + "indicatorBackground": "Indikator Hintergrund", + "tableCellText": "Zelle Text", + "selectedRowBackground": "Ausgewählter Zeilenhintergrund", + "hoverRowBackground": "Hover Row Hintergrund", + "alternateRowBackground": "Alternativer Reihenhintergrund", + "tableHeaderBackground": "Kopfzeile Hintergrund", + "tableHeaderText": "Überschrift Text", + "toolbarBackground": "Hintergrund der Symbolleiste", + "toolbarText": "Symbolleiste Text", + "pen": "Stift", + "footerIcon": "Fußzeilen-Symbol", + "tips": "Tipps", + "margin": "Marge", + "padding": "Polsterung", + "marginLeft": "Rand links", + "marginRight": "Rand rechts", + "marginTop": "Marge oben", + "marginBottom": "Marge Unten", + "containerheaderpadding": "Kopfzeilenpolsterung", + "containerfooterpadding": "Fußzeilenpolsterung", + "containerbodypadding": "Körperpolsterung", + "minWidth": "Mindestbreite", + "aspectRatio": "Seitenverhältnis", + "textSize": "Textgröße" + }, + "export": { + "hiddenDesc": "Wenn true, wird die Komponente ausgeblendet", + "disabledDesc": "Wenn true, ist die Komponente deaktiviert und nicht interaktiv", + "visibleDesc": "Wenn true, ist die Komponente sichtbar", + "inputValueDesc": "Aktueller Wert des Eingangs", + "invalidDesc": "Zeigt an, ob der Wert ungültig ist", + "placeholderDesc": "Platzhaltertext, wenn kein Wert eingestellt ist", + "requiredDesc": "Wenn true, ist ein gültiger Wert erforderlich", + "submitDesc": "Formular abschicken", + "richTextEditorValueDesc": "Aktueller Wert des Editors", + "richTextEditorReadOnlyDesc": "Wenn true, ist der Editor schreibgeschützt", + "richTextEditorHideToolBarDesc": "Wenn true, wird die Symbolleiste ausgeblendet", + "jsonEditorDesc": "Aktuelle JSON-Daten", + "sliderValueDesc": "Aktuell ausgewählter Wert", + "sliderMaxValueDesc": "Maximaler Wert des Schiebereglers", + "sliderMinValueDesc": "Mindestwert des Schiebereglers", + "sliderStartDesc": "Wert des gewählten Startpunkts", + "sliderEndDesc": "Wert des ausgewählten Endpunkts", + "ratingValueDesc": "Aktuell ausgewählte Bewertung", + "ratingMaxDesc": "Maximaler Nennwert", + "datePickerValueDesc": "Aktuell ausgewähltes Datum", + "datePickerFormattedValueDesc": "Ausgewähltes Datum formatieren", + "datePickerTimestampDesc": "Zeitstempel des ausgewählten Datums", + "dateRangeStartDesc": "Startdatum des Bereichs", + "dateRangeEndDesc": "Enddatum des Bereichs", + "dateRangeStartTimestampDesc": "Zeitstempel des Startdatums", + "dateRangeEndTimestampDesc": "Zeitstempel des Enddatums", + "dateRangeFormattedValueDesc": "Formatierter Datumsbereich", + "dateRangeFormattedStartValueDesc": "Formatiertes Startdatum", + "dateRangeFormattedEndValueDesc": "Formatiertes Enddatum", + "timePickerValueDesc": "Aktuell gewählte Zeit", + "timePickerFormattedValueDesc": "Formatierte ausgewählte Zeit", + "timeRangeStartDesc": "Startzeit des Angebots", + "timeRangeEndDesc": "Endzeit des Bereichs", + "timeRangeFormattedValueDesc": "Formatierter Zeitbereich", + "timeRangeFormattedStartValueDesc": "Formatierte Startzeit", + "timeRangeFormattedEndValueDesc": "Formatierte Endzeit" + }, + "validationDesc": { + "email": "Bitte gib eine gültige E-Mail Adresse ein", + "url": "Bitte gib eine gültige URL ein", + "regex": "Bitte passe auf das angegebene Muster", + "maxLength": "Zu viele Zeichen, aktuell: {Länge}, maximal: {maxLength}", + "minLength": "Nicht genug Zeichen, aktuell: {length}, minimal: {minLength}", + "maxValue": "Wert überschreitet Maximum, aktuell: {Wert}, Maximum: {max}", + "minValue": "Wert unter Minimum, aktuell: {Wert}, Minimum: {min}", + "maxTime": "Zeit überschreitet Maximum, aktuell: {Zeit}, Maximum: {maxTime}", + "minTime": "Zeit unter Minimum, aktuell: {time}, Minimum: {minTime}", + "maxDate": "Datum überschreitet Maximum, aktuell: {date}, Maximum: {maxDate}", + "minDate": "Datum unter Minimum, aktuell: {date}, Minimum: {minDate}" + }, + "query": { + "noQueries": "Keine Datenabfragen verfügbar.", + "queryTutorialButton": "Ansicht {value} Dokumente", + "datasource": "Deine Datenquellen", + "newDatasource": "Neue Datenquelle", + "generalTab": "Allgemein", + "notificationTab": "Benachrichtigung", + "advancedTab": "Fortgeschrittene", + "showFailNotification": "Benachrichtigung bei Misserfolg anzeigen", + "failCondition": "Versagensbedingungen", + "failConditionTooltip1": "Passe die Fehlerbedingungen und die entsprechenden Benachrichtigungen an.", + "failConditionTooltip2": "Wenn eine Bedingung erfüllt ist, wird die Abfrage als fehlgeschlagen markiert und die entsprechende Benachrichtigung ausgelöst.", + "showSuccessNotification": "Benachrichtigung bei Erfolg anzeigen", + "successMessageLabel": "Erfolgsmeldung", + "successMessage": "Erfolgreich laufen", + "notifyDuration": "Dauer", + "notifyDurationTooltip": "Dauer der Benachrichtigung. Die Zeiteinheit kann \\'s\\' (Sekunde, Standard) oder \\'ms\\' (Millisekunde) sein. Der Standardwert ist {default}s. Das Maximum ist {max}s.", + "successMessageWithName": "{Name} Lauf erfolgreich", + "failMessageWithName": "{Name} Lauf fehlgeschlagen: {Ergebnis}", + "showConfirmationModal": "Bestätigungsmodal vor der Ausführung anzeigen", + "confirmationMessageLabel": "Bestätigungsnachricht", + "confirmationMessage": "Bist du sicher, dass du diese Datenabfrage ausführen willst?", + "newQuery": "Neue Datenabfrage", + "newFolder": "Neue Mappe", + "recentlyUsed": "Kürzlich verwendet", + "folder": "Mappe", + "folderNotEmpty": "Der Ordner ist nicht leer", + "dataResponder": "Data Responder", + "tempState": "Vorläufiger Zustand", + "transformer": "Transformator", + "quickRestAPI": "REST-Abfrage", + "quickStreamAPI": "Stream-Abfrage", + "quickGraphql": "GraphQL-Abfrage", + "lowcoderAPI": "Lowcoder API", + "executeJSCode": "JavaScript-Code ausführen", + "importFromQueryLibrary": "Aus Abfragebibliothek importieren", + "importFromFile": "Aus Datei importieren", + "triggerType": "Ausgelöst, wenn...", + "triggerTypeAuto": "Eingaben ändern oder beim Laden der Seite", + "triggerTypePageLoad": "Wenn die Anwendung (Seite) geladen wird", + "triggerTypeManual": "Nur wenn du sie manuell auslöst", + "chooseDataSource": "Datenquelle wählen", + "method": "Methode", + "updateExceptionDataSourceTitle": "Fehlerhafte Datenquelle aktualisieren", + "updateExceptionDataSourceContent": "Aktualisiere die folgende Abfrage mit der gleichen fehlerhaften Datenquelle:", + "update": "Update", + "disablePreparedStatement": "Vorbereitete Anweisungen deaktivieren", + "disablePreparedStatementTooltip": "Die Deaktivierung von vorbereiteten Anweisungen kann dynamisches SQL erzeugen, erhöht aber das Risiko von SQL-Injection", + "timeout": "Timeout nach", + "timeoutTooltip": "Standardeinheit: ms. Unterstützte Eingabeeinheiten: ms, s. Standardwert: {defaultSeconds} Sekunden. Maximaler Wert: {maxSeconds} Sekunden. Z.B. 300 (d.h. 300ms), 800ms, 5s.", + "periodic": "Diese Datenabfrage regelmäßig ausführen", + "periodicTime": "Zeitraum", + "periodicTimeTooltip": "Zeitraum zwischen aufeinanderfolgenden Ausführungen. Standardeinheit: ms. Unterstützte Eingabeeinheiten: ms, s. Mindestwert: 100 ms. Bei Werten unter 100ms wird die periodische Ausführung deaktiviert. Z.B. 300 (d.h. 300ms), 800ms, 5s.", + "cancelPrevious": "Ignoriere die Ergebnisse früherer unvollendeter Vollstreckungen", + "cancelPreviousTooltip": "Wenn eine neue Ausführung ausgelöst wird, wird das Ergebnis der vorherigen unvollständigen Ausführungen ignoriert, wenn sie nicht abgeschlossen wurden, und diese ignorierten Ausführungen lösen die Ereignisliste der Abfrage nicht aus.", + "dataSourceStatusError": "Wenn eine neue Ausführung ausgelöst wird, wird das Ergebnis der vorherigen nicht abgeschlossenen Ausführungen ignoriert, und die ignorierten Ausführungen lösen die Ereignisliste der Abfrage nicht aus.", + "success": "Erfolg", + "fail": "Versagen", + "successDesc": "Ausgelöst, wenn die Ausführung erfolgreich ist", + "failDesc": "Ausgelöst, wenn die Ausführung fehlschlägt", + "fixedDelayError": "Abfrage nicht ausgeführt", + "execSuccess": "Erfolgreich laufen", + "execFail": "Lauf fehlgeschlagen", + "execIgnored": "Die Ergebnisse dieser Abfrage wurden ignoriert", + "deleteSuccessMessage": "Erfolgreich gelöscht. Du kannst {undoKey} zum Rückgängigmachen verwenden", + "dataExportDesc": "Daten, die durch die aktuelle Abfrage erhalten wurden", + "codeExportDesc": "Aktueller Query Status Code", + "successExportDesc": "Ob die aktuelle Abfrage erfolgreich ausgeführt wurde", + "messageExportDesc": "Von der aktuellen Abfrage zurückgegebene Informationen", + "extraExportDesc": "Andere Daten in der aktuellen Abfrage", + "isFetchingExportDesc": "Ist die aktuelle Abfrage in der Anfrage", + "runTimeExportDesc": "Aktuelle Abfrage-Ausführungszeit (ms)", + "latestEndTimeExportDesc": "Letzte Laufzeit", + "triggerTypeExportDesc": "Auslöser Typ", + "chooseResource": "Wähle eine Ressource", + "createDataSource": "Eine neue Datenquelle erstellen", + "editDataSource": "bearbeiten", + "datasourceName": "Name", + "datasourceNameRuleMessage": "Bitte gib einen Namen für die Datenquelle ein", + "generalSetting": "Allgemeine Einstellungen", + "advancedSetting": "Erweiterte Einstellungen", + "port": "Hafen", + "portRequiredMessage": "Bitte einen Hafen eingeben", + "portErrorMessage": "Bitte gib einen korrekten Port ein", + "connectionType": "Verbindungstyp", + "regular": "Regulär", + "host": "Gastgeber", + "hostRequiredMessage": "Bitte gib einen Host-Domänennamen oder eine IP-Adresse ein", + "userName": "Benutzer Name", + "password": "Passwort", + "encryptedServer": "-------- Verschlüsselt auf der Serverseite --------", + "uriRequiredMessage": "Bitte gib eine URI ein", + "urlRequiredMessage": "Bitte gib eine URL ein", + "uriErrorMessage": "Bitte gib eine korrekte URI ein", + "urlErrorMessage": "Bitte gib eine korrekte URL ein", + "httpRequiredMessage": "Bitte gib http:// oder https:// ein.", + "databaseName": "Datenbank Name", + "databaseNameRequiredMessage": "Bitte gib einen Datenbanknamen ein", + "useSSL": "SSL verwenden", + "userNameRequiredMessage": "Bitte gib deinen Namen ein", + "passwordRequiredMessage": "Bitte gib dein Passwort ein", + "authentication": "Authentifizierung", + "authenticationType": "Authentifizierung Typ", + "sslCertVerificationType": "SSL-Zertifikat-Verifizierung", + "sslCertVerificationTypeDefault": "CA-Zertifikat verifizieren", + "sslCertVerificationTypeSelf": "Selbstsigniertes Zertifikat verifizieren", + "sslCertVerificationTypeDisabled": "Behinderte", + "selfSignedCert": "Selbstsigniertes Zertifikat", + "selfSignedCertRequireMsg": "Bitte gib dein Zertifikat ein", + "enableTurnOffPreparedStatement": "Umschalten von vorbereiteten Anweisungen für Abfragen aktivieren", + "enableTurnOffPreparedStatementTooltip": "Du kannst vorbereitete Anweisungen auf der Registerkarte \"Erweitert\" der Abfrage aktivieren oder deaktivieren.", + "serviceName": "Dienst Name", + "serviceNameRequiredMessage": "Bitte gib deinen Dienstnamen ein", + "useSID": "SID verwenden", + "connectSuccessfully": "Verbindung erfolgreich", + "saveSuccessfully": "Erfolgreich gerettet", + "database": "Datenbank", + "cloudHosting": "Der in der Cloud gehostete Lowcoder kann nicht auf lokale Dienste mit 127.0.0.1 oder localhost zugreifen. Versuche, dich mit öffentlichen Netzwerkdatenquellen zu verbinden oder verwende einen Reverse Proxy für private Dienste.", + "notCloudHosting": "Für den Einsatz von Docker-Hosts verwendet Lowcoder Bridge-Netzwerke, daher sind 127.0.0.1 und localhost als Hostadressen ungültig. Für den Zugriff auf Datenquellen auf lokalen Rechnern siehe", + "howToAccessHostDocLink": "Wie man auf die Host-API/DB zugreift", + "returnList": "Rückgabe", + "chooseDatasourceType": "Datenquellentyp auswählen", + "viewDocuments": "Dokumente ansehen", + "testConnection": "Test Verbindung", + "save": "Speichern", + "whitelist": "Erlaubnisliste", + "whitelistTooltip": "Füge die IP-Adressen von Lowcoder\\ nach Bedarf zu deiner Datenquellen-Zulassungsliste hinzu.", + "address": "Adresse: ", + "nameExists": "Name {Name} existiert bereits", + "jsQueryDocLink": "Über JavaScript Query", + "dynamicDataSourceConfigLoadingText": "Laden einer zusätzlichen Datenquellenkonfiguration...", + "dynamicDataSourceConfigErrText": "Die Konfiguration der zusätzlichen Datenquelle konnte nicht geladen werden.", + "retry": "Wiederholen" + }, + "sqlQuery": { + "keyValuePairs": "Schlüssel-Werte-Paare", + "object": "Objekt", + "allowMultiModify": "Mehrzeilige Änderungen zulassen", + "allowMultiModifyTooltip": "Wenn diese Option ausgewählt ist, werden alle Zeilen, die die Bedingungen erfüllen, bearbeitet. Andernfalls wird nur die erste Zeile, die die Bedingungen erfüllt, bearbeitet.", + "array": "Array", + "insertList": "Liste einfügen", + "insertListTooltip": "Werte werden eingefügt, wenn sie nicht existieren", + "filterRule": "Filter-Regel", + "updateList": "Liste aktualisieren", + "updateListTooltip": "Vorhandene Werte können durch die gleichen Werte der Einfügeliste überschrieben werden", + "sqlMode": "SQL-Modus", + "guiMode": "GUI-Modus", + "operation": "Operation", + "insert": "einfügen", + "upsert": "Einfügen, aber aktualisieren, wenn es einen Konflikt gibt", + "update": "Update", + "delete": "löschen", + "bulkInsert": "Bulk Insert", + "bulkUpdate": "Bulk Update", + "table": "Tabelle", + "primaryKeyColumn": "Primärschlüsselspalte" + }, + "EsQuery": { + "rawCommand": "Roher Befehl", + "queryTutorialButton": "Elasticsearch API Dokumente anzeigen", + "request": "Anfrage" + }, + "googleSheets": { + "rowIndex": "Zeilenindex", + "spreadsheetId": "Tabellenkalkulations-ID", + "sheetName": "Blatt Name", + "readData": "Daten lesen", + "appendData": "Zeile anhängen", + "updateData": "Zeile aktualisieren", + "deleteData": "Zeile löschen", + "clearData": "Reihe löschen", + "serviceAccountRequireMessage": "Bitte gib dein Servicekonto ein", + "ASC": "ASC", + "DESC": "DESC", + "sort": "Sortieren", + "sortPlaceholder": "Name" + }, + "queryLibrary": { + "export": "Exportieren nach JSON", + "noInput": "Die aktuelle Abfrage hat keine Eingabe", + "inputName": "Name", + "inputDesc": "Beschreibung", + "emptyInputs": "Keine Eingaben", + "clickToAdd": "hinzufügen", + "chooseQuery": "Abfrage wählen", + "viewQuery": "Ansicht Abfrage", + "chooseVersion": "Version wählen", + "latest": "Neueste", + "publish": "veröffentlichen", + "historyVersion": "Geschichte Version", + "deleteQueryLabel": "Abfrage löschen", + "deleteQueryContent": "Die Abfrage kann nach dem Löschen nicht wiederhergestellt werden. Die Abfrage löschen?", + "run": "Lauf", + "readOnly": "Nur lesen", + "exit": "Ausfahrt", + "recoverAppSnapshotContent": "Die aktuelle Abfrage zur Version {version} wiederherstellen", + "searchPlaceholder": "Suchabfrage", + "allQuery": "Alle Abfragen", + "deleteQueryTitle": "Abfrage löschen", + "unnamed": "Unbenannt", + "publishNewVersion": "Neue Version veröffentlichen", + "publishSuccess": "Erfolgreich veröffentlicht", + "version": "Version", + "desc": "Beschreibung" + }, + "snowflake": { + "accountIdentifierTooltip": "Siehe ", + "extParamsTooltip": "Zusätzliche Verbindungsparameter konfigurieren" + }, + "lowcoderQuery": { + "queryOrgUsers": "Abfrage Arbeitsbereich Benutzer" + }, + "redisQuery": { + "rawCommand": "Roher Befehl", + "command": "Befehl", + "queryTutorial": "Redis-Befehlsdokumente anzeigen" + }, + "httpQuery": { + "bodyFormDataTooltip": "Wenn {Typ} ausgewählt ist, sollte das Werteformat {Objekt} sein. Beispiel: {Beispiel}", + "text": "Text", + "file": "Datei", + "extraBodyTooltip": "Schlüsselwerte im Extra Body werden an den Body mit den Datentypen JSON oder Form Data angehängt", + "forwardCookies": "Cookies weiterleiten", + "forwardAllCookies": "Alle Cookies weiterleiten" + }, + "smtpQuery": { + "attachment": "Anhang", + "attachmentTooltip": "Kann mit der Datei-Upload-Komponente verwendet werden, die Daten müssen konvertiert werden in: ", + "MIMETypeUrl": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", + "sender": "Sender", + "recipient": "Empfänger", + "carbonCopy": "Durchschlag", + "blindCarbonCopy": "Blindkopie", + "subject": "Thema", + "content": "Inhalt", + "contentTooltip": "Unterstützt die Eingabe von Text oder HTML" + }, + "uiCompCategory": { + "dashboards": "Dashboards & Berichte", + "layout": "Layout & Navigation", + "forms": "Datenerhebung & Formulare", + "collaboration": "Treffen & Zusammenarbeit", + "projectmanagement": "Projektleitung", + "scheduling": "Kalender & Terminplanung", + "documents": "Dokumenten- und Dateiverwaltung", + "itemHandling": "Handhabung von Gegenständen und Unterschriften", + "multimedia": "Multimedia & Animation", + "integration": "Integration & Erweiterung" + }, + "uiComp": { + "autoCompleteCompName": "Auto komplett", + "autoCompleteCompDesc": "Ein Eingabefeld, das während der Eingabe Vorschläge macht und so die Benutzerfreundlichkeit und Genauigkeit verbessert.", + "autoCompleteCompKeywords": "Vorschläge, Autovervollständigen, Tippen, Eingabe", + "inputCompName": "Eingabe", + "inputCompDesc": "Ein einfaches Texteingabefeld, das es den Nutzern ermöglicht, Text einzugeben und zu bearbeiten.", + "inputCompKeywords": "Text, Eingabe, Feld, Bearbeiten", + "textAreaCompName": "Textbereich", + "textAreaCompDesc": "Eine mehrzeilige Texteingabe für längere Inhalte, wie Kommentare oder Beschreibungen.", + "textAreaCompKeywords": "Mehrzeilig, Textarea, Eingabe, Text", + "passwordCompName": "Passwort", + "passwordCompDesc": "Ein sicheres Feld für die Passworteingabe, das die Zeichen für den Datenschutz maskiert.", + "passwordCompKeywords": "Passwort, Sicherheit, Eingabe, versteckt", + "richTextEditorCompName": "Rich Text Editor", + "richTextEditorCompDesc": "Ein fortschrittlicher Texteditor mit umfangreichen Formatierungsoptionen wie Fett, Kursiv und Listen.", + "richTextEditorCompKeywords": "Editor, Text, Formatierung, Rich Content", + "numberInputCompName": "Nummer Eingabe", + "numberInputCompDesc": "Ein Feld speziell für numerische Eingaben, mit Steuerelementen zum Erhöhen und Verringern von Werten.", + "numberInputCompKeywords": "Zahl, Eingabe, Inkrement, Dekrement", + "sliderCompName": "Schieber", + "sliderCompDesc": "Eine grafische Schieberegler-Komponente zur Auswahl eines Wertes oder Bereichs innerhalb einer definierten Skala.", + "sliderCompKeywords": "Schieberegler, Bereich, Eingabe, grafisch", + "rangeSliderCompName": "Schieberegler", + "rangeSliderCompDesc": "Ein Schieberegler mit zwei Griffen zum Auswählen eines Wertebereichs, der zum Filtern oder Festlegen von Grenzen nützlich ist.", + "rangeSliderCompKeywords": "Bereich, Schieberegler, Doppelgriff, Filter", + "ratingCompName": "Bewertung", + "ratingCompDesc": "Eine Komponente zur Erfassung von Nutzerbewertungen, die als Sterne angezeigt werden.", + "ratingCompKeywords": "Bewertung, Sterne, Feedback, Input", + "switchCompName": "Schalter", + "switchCompDesc": "Ein Kippschalter für Ein/Aus- oder Ja/Nein-Entscheidungen.", + "switchCompKeywords": "Kippschalter, Schalter, ein/aus, Steuerung", + "selectCompName": "Wähle", + "selectCompDesc": "Ein Dropdown-Menü zur Auswahl aus einer Liste von Optionen.", + "selectCompKeywords": "Dropdown, auswählen, Optionen, Menü", + "multiSelectCompName": "Multiselect", + "multiSelectCompDesc": "Eine Komponente, die die Auswahl mehrerer Elemente aus einer Dropdown-Liste ermöglicht.", + "multiSelectCompKeywords": "Multiselect, mehrere, Dropdown, Auswahlmöglichkeiten", + "cascaderCompName": "Cascader", + "cascaderCompDesc": "Ein mehrstufiges Dropdown für eine hierarchische Datenauswahl, z. B. für die Auswahl eines Ortes.", + "cascaderCompKeywords": "Kaskade, hierarchisch, Dropdown, Ebenen", + "checkboxCompName": "Kontrollkästchen", + "checkboxCompDesc": "Ein Standard-Kontrollkästchen für Optionen, die an- oder abgewählt werden können.", + "checkboxCompKeywords": "Kontrollkästchen, Optionen, auswählen, umschalten", + "radioCompName": "Radio", + "radioCompDesc": "Optionsfelder für die Auswahl einer Option aus einer Menge, bei der nur eine Auswahl möglich ist.", + "radioCompKeywords": "Radio, Schaltflächen, Auswahl, Einzelauswahl", + "segmentedControlCompName": "Segmentierte Kontrolle", + "segmentedControlCompDesc": "Ein Steuerelement mit unterteilten Optionen zum schnellen Umschalten zwischen mehreren Auswahlmöglichkeiten.", + "segmentedControlCompKeywords": "segmentiert, Kontrolle, umschalten, Optionen", + "fileUploadCompName": "Datei-Upload", + "fileUploadCompDesc": "Eine Komponente zum Hochladen von Dateien, mit Unterstützung für Drag-and-Drop und Dateiauswahl.", + "fileUploadCompKeywords": "Datei, Hochladen, Ziehen und Ablegen, Auswählen", + "dateCompName": "Datum", + "dateCompDesc": "Eine Datumsauswahlkomponente zum Auswählen von Daten aus einer Kalenderoberfläche.", + "dateCompKeywords": "Datum, Picker, Kalender, auswählen", + "dateRangeCompName": "Datumsbereich", + "dateRangeCompDesc": "Eine Komponente zur Auswahl eines Datumsbereichs, nützlich für Buchungssysteme oder Filter.", + "dateRangeCompKeywords": "daterange, auswählen, buchen, filtern", + "timeCompName": "Zeit", + "timeCompDesc": "Eine Zeitauswahlkomponente zur Auswahl bestimmter Tageszeiten.", + "timeCompKeywords": "Zeit, Picker, auswählen, Uhr", + "timeRangeCompName": "Zeitbereich", + "timeRangeCompDesc": "Eine Komponente zur Auswahl einer Zeitspanne, die oft in Zeitplanungsanwendungen verwendet wird.", + "timeRangeCompKeywords": "Zeitbereich, auswählen, planen, Dauer", + "buttonCompName": "Formular Schaltfläche", + "buttonCompDesc": "Eine vielseitige Schaltflächenkomponente zum Absenden von Formularen, Auslösen von Aktionen oder Navigieren.", + "buttonCompKeywords": "Schaltfläche, Abschicken, Aktion, Navigieren", + "linkCompName": "Link", + "linkCompDesc": "Eine Hyperlink-Anzeigekomponente für die Navigation oder die Verknüpfung mit externen Ressourcen.", + "linkCompKeywords": "Link, Hyperlink, Navigation, extern", + "scannerCompName": "Scanner", + "scannerCompDesc": "Eine Komponente zum Scannen von Barcodes, QR-Codes und anderen ähnlichen Daten.", + "scannerCompKeywords": "Scanner, Barcode, QR-Code, scannen", + "dropdownCompName": "Dropdown", + "dropdownCompDesc": "Ein Dropdown-Menü zur kompakten Anzeige einer Liste von Optionen.", + "dropdownCompKeywords": "Dropdown, Menü, Optionen, auswählen", + "toggleButtonCompName": "Umschalttaste", + "toggleButtonCompDesc": "Eine Schaltfläche, die zwischen zwei Zuständen oder Optionen hin- und herschalten kann.", + "toggleButtonCompKeywords": "Kippschalter, Taste, Schalter, Zustand", + "textCompName": "Textanzeige", + "textCompDesc": "Eine einfache Komponente zur Anzeige von statischen oder dynamischen Textinhalten inklusive Markdown-Formatierung.", + "textCompKeywords": "Text, Anzeige, statisch, dynamisch", + "tableCompName": "Tabelle", + "tableCompDesc": "Eine reichhaltige Tabellenkomponente zur Anzeige von Daten in einem strukturierten Tabellenformat, mit Optionen zum Sortieren und Filtern, einer Baumdatenanzeige und erweiterbaren Zeilen.", + "tableCompKeywords": "Tabelle, Daten, Sortierung, Filterung", + "imageCompName": "Bild", + "imageCompDesc": "Eine Komponente zur Anzeige von Bildern, die verschiedene Formate auf Basis von URI- oder Base64-Daten unterstützt.", + "imageCompKeywords": "Bild, Anzeige, Medien, Base64", + "progressCompName": "Fortschritt", + "progressCompDesc": "Ein visueller Indikator für den Fortschritt, der in der Regel verwendet wird, um den Fertigstellungsstatus einer Aufgabe anzuzeigen.", + "progressCompKeywords": "Fortschritt, Indikator, Status, Aufgabe", + "progressCircleCompName": "Fortschrittskreis", + "progressCircleCompDesc": "Eine kreisförmige Fortschrittsanzeige, die oft für Ladezustände oder zeitgebundene Aufgaben verwendet wird.", + "progressCircleCompKeywords": "Kreis, Fortschritt, Indikator, Laden", + "fileViewerCompName": "Dateibetrachter", + "fileViewerCompDesc": "Eine Komponente zum Anzeigen verschiedener Dateitypen, einschließlich Dokumenten und Bildern.", + "fileViewerCompKeywords": "Datei, Betrachter, Dokument, Bild", + "dividerCompName": "Teiler", + "dividerCompDesc": "Eine visuelle Trennkomponente, die verwendet wird, um Inhalte oder Abschnitte in einem Layout zu trennen.", + "dividerCompKeywords": "Teiler, Trenner, Layout, Design", + "qrCodeCompName": "QR-Code", + "qrCodeCompDesc": "Eine Komponente zur Anzeige von QR-Codes, die für das schnelle Scannen und die Informationsübertragung nützlich sind.", + "qrCodeCompKeywords": "QR-Code, Scannen, Barcode, Informationen", + "formCompName": "Formular", + "formCompDesc": "Eine Containerkomponente zur Erstellung strukturierter Formulare mit verschiedenen Eingabearten.", + "formCompKeywords": "Formular, Eingabe, Container, Struktur", + "jsonSchemaFormCompName": "JSON Schema Formular", + "jsonSchemaFormCompDesc": "Eine dynamische Formularkomponente, die auf der Grundlage eines JSON-Schemas erstellt wird.", + "jsonSchemaFormCompKeywords": "JSON, Schema, Formular, dynamisch", + "containerCompName": "Container", + "containerCompDesc": "Ein Allzweck-Container für das Layout und die Organisation von UI-Elementen.", + "containerCompKeywords": "Container, Layout, Organisation, UI", + "collapsibleContainerCompName": "Zusammenklappbarer Container", + "collapsibleContainerCompDesc": "Ein Container, der auf- und zugeklappt werden kann, ideal für die Verwaltung der Sichtbarkeit von Inhalten.", + "collapsibleContainerCompKeywords": "zusammenklappbar, Container, erweitern, zusammenklappen", + "tabbedContainerCompName": "Registerkarten-Container", + "tabbedContainerCompDesc": "Ein Container mit Registerkarten-Navigation, um den Inhalt in einzelnen Bereichen zu organisieren.", + "tabbedContainerCompKeywords": "Registerkarten, Container, Navigation, Panels", + "modalCompName": "Modal", + "modalCompDesc": "Eine modale Pop-up-Komponente zur Anzeige von Inhalten, Warnungen oder Formularen im Fokus.", + "modalCompKeywords": "Modal, Popup, Alarm, Formular", + "listViewCompName": "Listenansicht", + "listViewCompDesc": "Eine Komponente zur Anzeige einer Liste von Elementen oder Daten, in die du andere Komponenten einfügen kannst. Wie ein Repeater.", + "listViewCompKeywords": "Liste, Ansicht, Anzeige, Repeater", + "gridCompName": "Raster", + "gridCompDesc": "Eine flexible Gitterkomponente zur Erstellung strukturierter Layouts mit Zeilen und Spalten als Erweiterung der Komponente Listenansicht.", + "gridCompKeywords": "Gitter, Layout, Zeilen, Spalten", + "navigationCompName": "Navigation", + "navigationCompDesc": "Eine Navigationskomponente zum Erstellen von Menüs, Breadcrumbs oder Tabs für die Website-Navigation.", + "navigationCompKeywords": "Navigation, Menü, Breadcrumbs, Tabs", + "iframeCompName": "IFrame", + "iframeCompDesc": "Eine Inline-Frame-Komponente zum Einbetten externer Webseiten und Anwendungen oder Inhalte in die Anwendung.", + "iframeCompKeywords": "iframe, einbetten, Webseite, Inhalt", + "customCompName": "Benutzerdefinierte Komponente", + "customCompDesc": "Eine flexible, programmierbare Komponente zur Erstellung einzigartiger, benutzerdefinierter UI-Elemente, die auf deine speziellen Bedürfnisse zugeschnitten sind.", + "customCompKeywords": "individuell, benutzerdefiniert, flexibel, programmierbar", + "moduleCompName": "Modul", + "moduleCompDesc": "Verwende Module, um Mikro-Apps zu erstellen, die bestimmte Funktionen oder Merkmale kapseln. Module können dann eingebettet und in allen Apps wiederverwendet werden.", + "moduleCompKeywords": "Modul, Mikro-App, Funktionalität, wiederverwendbar", + "jsonExplorerCompName": "JSON Explorer", + "jsonExplorerCompDesc": "Eine Komponente zum visuellen Erkunden und Interagieren mit JSON-Datenstrukturen.", + "jsonExplorerCompKeywords": "JSON, Entdecker, Daten, Struktur", + "jsonEditorCompName": "JSON-Editor", + "jsonEditorCompDesc": "Eine Editor-Komponente zum Erstellen und Ändern von JSON-Daten mit Validierung und Syntaxhervorhebung.", + "jsonEditorCompKeywords": "JSON, Editor, Ändern, Validieren", + "treeCompName": "Baum", + "treeCompDesc": "Eine Baumstrukturkomponente zur Darstellung von hierarchischen Daten, wie z. B. Dateisystemen oder Organigrammen.", + "treeCompKeywords": "Baum, hierarchisch, Daten, Struktur", + "treeSelectCompName": "Baum wählen", + "treeSelectCompDesc": "Eine Auswahlkomponente, die Optionen in einem hierarchischen Baumformat darstellt und so eine organisierte und verschachtelte Auswahl ermöglicht.", + "treeSelectCompKeywords": "Baum, auswählen, hierarchisch, verschachtelt", + "audioCompName": "Audio", + "audioCompDesc": "Eine Komponente zum Einbetten von Audioinhalten, mit Steuerelementen für die Wiedergabe und die Lautstärkeregelung.", + "audioCompKeywords": "Audio, Wiedergabe, Ton, Musik", + "videoCompName": "Video", + "videoCompDesc": "Eine Multimediakomponente zum Einbetten und Abspielen von Videoinhalten, mit Unterstützung für verschiedene Formate.", + "videoCompKeywords": "Video, Multimedia, Abspielen, Einbetten", + "drawerCompName": "Schublade", + "drawerCompDesc": "Ein verschiebbares Element, das zur zusätzlichen Navigation oder zur Anzeige von Inhalten verwendet werden kann und in der Regel am Rand des Bildschirms erscheint.", + "drawerCompKeywords": "Schublade, Schiebetür, Paneel, Navigation", + "chartCompName": "Tabelle", + "chartCompDesc": "Eine vielseitige Komponente zur Visualisierung von Daten durch verschiedene Arten von Diagrammen und Schaubildern.", + "chartCompKeywords": "Diagramm, Grafik, Daten, Visualisierung", + "carouselCompName": "Bilderkarussell", + "carouselCompDesc": "Eine rotierende Karussellkomponente zur Präsentation von Bildern, Bannern oder Inhaltsfolien.", + "carouselCompKeywords": "Karussell, Bilder, Rotation, Schaufenster", + "imageEditorCompName": "Bild-Editor", + "imageEditorCompDesc": "Eine interaktive Komponente zur Bearbeitung und Manipulation von Bildern, die verschiedene Werkzeuge und Filter bietet.", + "imageEditorCompKeywords": "Bild, Editor, manipulieren, Werkzeuge", + "mermaidCompName": "Nixen-Karten", + "mermaidCompDesc": "Eine Komponente zum Rendern komplexer Diagramme und Flussdiagramme, die auf der Mermaid-Syntax basieren.", + "mermaidCompKeywords": "Meerjungfrau, Charts, Diagramme, Flussdiagramme", + "calendarCompName": "Kalender", + "calendarCompDesc": "Eine Kalenderkomponente zur Anzeige von Terminen und Ereignissen, mit Optionen für Monats-, Wochen- oder Tagesansichten.", + "calendarCompKeywords": "Kalender, Termine, Veranstaltungen, Terminplanung", + "signatureCompName": "Unterschrift", + "signatureCompDesc": "Eine Komponente zur Erfassung digitaler Unterschriften, die für Genehmigungs- und Prüfprozesse nützlich ist.", + "signatureCompKeywords": "Unterschrift, digital, Genehmigung, Überprüfung", + "jsonLottieCompName": "Lottie Animation", + "jsonLottieCompDesc": "Eine Komponente zur Anzeige von Lottie-Animationen, die leichtgewichtige und skalierbare Animationen auf Basis von JSON-Daten bereitstellt.", + "jsonLottieCompKeywords": "lottie, Animation, JSON, skalierbar", + "timelineCompName": "Zeitleiste", + "timelineCompDesc": "Eine Komponente zur Anzeige von Ereignissen oder Aktionen in einer chronologischen Reihenfolge, die visuell entlang einer linearen Zeitleiste dargestellt wird.", + "timelineCompKeywords": "Zeitleiste, Ereignisse, chronologisch, Geschichte", + "commentCompName": "Kommentar", + "commentCompDesc": "Eine Komponente zum Hinzufügen und Anzeigen von Nutzerkommentaren, die Thread-Antworten und Nutzerinteraktion unterstützt.", + "commentCompKeywords": "Kommentar, Diskussion, Benutzerinteraktion, Feedback", + "mentionCompName": "Erwähne", + "mentionCompDesc": "Eine Komponente, die die Erwähnung von Nutzern oder Tags in Textinhalten unterstützt, wie sie typischerweise in sozialen Medien oder kollaborativen Plattformen verwendet wird.", + "mentionCompKeywords": "Erwähnung, Tag, Benutzer, soziale Medien", + "responsiveLayoutCompName": "Reaktionsfähiges Layout", + "responsiveLayoutCompDesc": "Eine Layoutkomponente, die sich an verschiedene Bildschirmgrößen und Geräte anpasst und so ein einheitliches Nutzererlebnis gewährleistet.", + "responsiveLayoutCompKeywords": "Responsive, Layout, anpassen, Bildschirmgröße" + }, + "comp": { + "menuViewDocs": "Dokumentation ansehen", + "menuViewPlayground": "Interaktiven Spielplatz ansehen", + "menuUpgradeToLatest": "Upgrade auf die neueste Version", + "nameNotEmpty": "Kann nicht leer sein", + "nameRegex": "Muss mit einem Buchstaben beginnen und darf nur Buchstaben, Ziffern und Unterstriche (_) enthalten", + "nameJSKeyword": "Kann kein JavaScript-Schlüsselwort sein", + "nameGlobalVariable": "Kann kein globaler Variablenname sein", + "nameExists": "Name {Name} Existiert bereits", + "getLatestVersionMetaError": "Die neueste Version konnte nicht abgerufen werden, bitte versuche es später.", + "needNotUpgrade": "Die aktuelle Version ist bereits die neueste.", + "compNotFoundInLatestVersion": "Aktuelle Komponente nicht in der neuesten Version gefunden.", + "upgradeSuccess": "Erfolgreich auf die neueste Version upgegradet.", + "searchProp": "Suche" + }, + "jsonSchemaForm": { + "retry": "Wiederholen", + "resetAfterSubmit": "Zurücksetzen nach erfolgreichem Absenden des Formulars", + "jsonSchema": "JSON-Schema", + "uiSchema": "UI Schema", + "schemaTooltip": "Siehe", + "defaultData": "Vorausgefüllte Formulardaten", + "dataDesc": "Aktuelle Formulardaten", + "required": "Erforderlich", + "maximum": "Der Maximalwert ist {value}", + "minimum": "Der Mindestwert ist {value}", + "exclusiveMaximum": "Sollte kleiner sein als {Wert}", + "exclusiveMinimum": "Sollte größer sein als {Wert}", + "multipleOf": "Sollte ein Vielfaches von {value} sein", + "minLength": "Mindestens {Wert} Zeichen", + "maxLength": "Höchstens {Wert} Zeichen", + "pattern": "Sollte dem Muster {value} entsprechen", + "format": "Sollte dem Format {value} entsprechen" + }, + "select": { + "inputValueDesc": "Eingabe Suchwert" + }, + "customComp": { + "text": "Es ist ein guter Tag.", + "triggerQuery": "Trigger-Abfrage", + "updateData": "Daten aktualisieren", + "updateText": "Ich bin auch in guter Stimmung, jetzt meine eigene Komponente mit Lowcoder zu entwickeln!", + "sdkGlobalVarName": "Lowcoder", + "data": "Daten, die du an die benutzerdefinierte Komponente übergeben willst", + "code": "Code deiner benutzerdefinierten Komponente" + }, + "tree": { + "selectType": "Typ auswählen", + "noSelect": "Keine Auswahl", + "singleSelect": "Einzeln auswählen", + "multiSelect": "Multi Select", + "checkbox": "Kontrollkästchen", + "checkedStrategy": "Geprüfte Strategie", + "showAll": "Alle Knotenpunkte", + "showParent": "Nur übergeordnete Knotenpunkte", + "showChild": "Nur Kind-Knoten", + "autoExpandParent": "Auto Expand Elternteil", + "checkStrictly": "Streng prüfen", + "checkStrictlyTooltip": "TreeNode genau prüfen; Parent TreeNode und Children TreeNodes sind nicht assoziiert", + "treeData": "Baumdaten", + "treeDataDesc": "Aktuelle Baumdaten", + "value": "Standardwerte", + "valueDesc": "Aktuelle Werte", + "expanded": "Erweitert Werte", + "expandedDesc": "Aktuelle erweiterte Werte", + "defaultExpandAll": "Standard Alle Knoten erweitern", + "showLine": "Linie anzeigen", + "showLeafIcon": "Blattsymbol anzeigen", + "treeDataAsia": "Asien", + "treeDataChina": "China", + "treeDataBeijing": "Peking", + "treeDataShanghai": "Shanghai", + "treeDataJapan": "Japan", + "treeDataEurope": "Europa", + "treeDataEngland": "England", + "treeDataFrance": "Frankreich", + "treeDataGermany": "Deutschland", + "treeDataNorthAmerica": "Nord-Amerika", + "helpLabel": "Knotenpunkt Etikett", + "helpValue": "Einzigartiger Knotenpunktwert im Baum", + "helpChildren": "Kinder Knoten", + "helpDisabled": "Deaktiviert den Knotenpunkt", + "helpSelectable": "Ob der Knoten wählbar ist (Single/Multi Select Typ)", + "helpCheckable": "Ob ein Kontrollkästchen angezeigt werden soll (Checkbox-Typ)", + "helpDisableCheckbox": "Deaktiviert das Kontrollkästchen (Checkbox-Typ)" + }, + "moduleContainer": { + "eventTest": "Veranstaltungstest", + "methodTest": "Methode Test", + "inputTest": "Eingangstest" + }, + "password": { + "label": "Passwort", + "visibilityToggle": "Sichtbarkeit anzeigen Toggle" + }, + "richTextEditor": { + "toolbar": "Symbolleiste anpassen", + "toolbarDescription": "Du kannst die Symbolleiste individuell anpassen. Weitere Informationen findest du unter: https://quilljs.com/docs/modules/toolbar/.", + "placeholder": "Bitte eingeben...", + "hideToolbar": "Symbolleiste ausblenden", + "content": "Inhalt", + "title": "Titel", + "save": "Speichern", + "link": "Link: ", + "edit": "bearbeiten", + "remove": "entfernen", + "defaultValue": "Basis Inhalt" + }, + "numberInput": { + "formatter": "Format", + "precision": "Präzision", + "allowNull": "Nullwert zulassen", + "thousandsSeparator": "Tausendertrennzeichen anzeigen", + "controls": "Schaltflächen zum Erhöhen/Verringern anzeigen", + "step": "Schritt", + "standard": "Standard", + "percent": "Prozente" + }, + "slider": { + "step": "Schritt", + "stepTooltip": "Der Wert muss größer als 0 und durch (Max-Min) teilbar sein" + }, + "rating": { + "max": "Maximale Bewertung", + "allowHalf": "Halbe Bewertungspunkte zulassen" + }, + "optionsControl": { + "optionList": "Optionen", + "option": "Option", + "optionI": "Option {i}", + "viewDocs": "Docs ansehen", + "tip": "Die Variablen \\'item\\' und \\'i\\' repräsentieren den Wert und den Index jedes Elements in der Datenmatrix" + }, + "radio": { + "options": "Optionen", + "horizontal": "Horizontal", + "horizontalTooltip": "Das horizontale Layout wickelt sich selbst ein, wenn es keinen Platz mehr hat", + "vertical": "Vertikal", + "verticalTooltip": "Das vertikale Layout wird immer in einer einzigen Spalte angezeigt", + "autoColumns": "Auto Kolonne", + "autoColumnsTooltip": "Das Auto-Spalten-Layout ordnet die Reihenfolge automatisch neu an, wenn es der Platz erlaubt, und zeigt sie als mehrere Spalten an" + }, + "cascader": { + "options": "JSON-Daten zur Anzeige kaskadierender Auswahlen" + }, + "selectInput": { + "valueDesc": "Aktuell ausgewählter Wert", + "selectedIndexDesc": "Der Index des aktuell ausgewählten Wertes oder -1, wenn kein Wert ausgewählt ist", + "selectedLabelDesc": "Die Bezeichnung des aktuell ausgewählten Wertes" + }, + "file": { + "typeErrorMsg": "Muss eine Zahl mit einer gültigen Dateigrößeneinheit oder eine einheitenlose Anzahl von Bytes sein.", + "fileEmptyErrorMsg": "Upload fehlgeschlagen. Die Dateigröße ist leer.", + "fileSizeExceedErrorMsg": "Upload fehlgeschlagen. Die Dateigröße übersteigt das Limit.", + "minSize": "Min Größe", + "minSizeTooltip": "Die Mindestgröße der hochgeladenen Dateien mit optionalen Dateigrößeneinheiten (z. B. \\'5kb\\', \\'10 MB\\'). Wenn keine Einheit angegeben wird, wird der Wert als Anzahl der Bytes betrachtet.", + "maxSize": "Max Größe", + "maxSizeTooltip": "Die maximale Größe der hochgeladenen Dateien mit optionalen Dateigrößeneinheiten (z. B. \\'5kb\\', \\'10 MB\\'). Wenn keine Einheit angegeben wird, wird der Wert als Anzahl der Bytes betrachtet.", + "single": "Single", + "multiple": "Mehrere", + "directory": "Verzeichnis", + "upload": "durchsuchen", + "fileType": "Dateitypen", + "reference": "Bitte beachten Sie", + "fileTypeTooltipUrl": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", + "fileTypeTooltip": "Eindeutige Dateityp-Angaben", + "uploadType": "Upload Typ", + "showUploadList": "Upload-Liste anzeigen", + "maxFiles": "Max Dateien", + "filesValueDesc": "Der Inhalt der aktuell hochgeladenen Datei ist Base64-kodiert", + "filesDesc": "Liste der aktuell hochgeladenen Dateien. Für Details, siehe", + "clearValueDesc": "Alle Dateien löschen", + "parseFiles": "Dateien parsen", + "parsedValueTooltip1": "Wenn parseFiles True ist, werden die hochgeladenen Dateien als Objekt, Array oder String analysiert. Auf die geparsten Daten kann über das Array parsedValue zugegriffen werden.", + "parsedValueTooltip2": "Unterstützt Excel-, JSON-, CSV- und Textdateien. Andere Formate geben Null zurück." + }, + "date": { + "format": "Format", + "formatTip": "Unterstützung: \\'JJJJ-MM-TT HH:mm:ss\\', \\'JJJJ-MM-TT\\', \\'Zeitstempel\\'", + "reference": "Bitte beachten Sie", + "showTime": "Zeit zeigen", + "start": "Startdatum", + "end": "Enddatum", + "year": "Jahr", + "quarter": "Quartal", + "month": "Monat", + "week": "Woche", + "date": "Datum", + "clearAllDesc": "Alle löschen", + "resetAllDesc": "Alle zurücksetzen", + "placeholder": "Datum auswählen", + "placeholderText": "Platzhalter", + "startDate": "Startdatum", + "endDate": "Enddatum" + }, + "time": { + "start": "Startzeit", + "end": "Endzeit", + "formatTip": "Unterstützung: \\'HH:mm:ss\\', \\'Zeitstempel\\'", + "format": "Format", + "placeholder": "Zeit wählen", + "placeholderText": "Platzhalter", + "startTime": "Startzeit", + "endTime": "Endzeit" + }, + "button": { + "prefixIcon": "Präfix-Symbol", + "suffixIcon": "Suffix-Symbol", + "icon": "Icon", + "iconSize": "Icon Größe", + "button": "Formular Schaltfläche", + "formToSubmit": "Formular zum Einreichen", + "default": "Standard", + "submit": "einreichen", + "textDesc": "Derzeit auf der Schaltfläche angezeigter Text", + "loadingDesc": "Befindet sich der Button im Ladezustand? Wenn wahr, wird die aktuelle Schaltfläche geladen", + "formButtonEvent": "Veranstaltung" + }, + "link": { + "link": "Link", + "textDesc": "Derzeit auf dem Link angezeigter Text", + "loadingDesc": "Befindet sich der Link im Ladezustand? Wenn wahr, wird der aktuelle Link geladen" + }, + "scanner": { + "text": "Klicken Sie auf Scannen", + "camera": "Kamera {index}", + "changeCamera": "Kamera wechseln", + "continuous": "Kontinuierliches Scannen", + "uniqueData": "Doppelte Daten ignorieren", + "maskClosable": "Klicke auf die Maske zum Schließen", + "errTip": "Bitte verwende diese Komponente unter HTTPS oder Localhost" + }, + "dropdown": { + "onlyMenu": "Anzeige nur mit Etikett", + "textDesc": "Derzeit auf der Schaltfläche angezeigter Text" + }, + "textShow": { + "text": "### 👋 Hallo, {Name}", + "valueTooltip": "Markdown unterstützt die meisten HTML-Tags und -Attribute. iframe, Script und andere Tags sind aus Sicherheitsgründen deaktiviert.", + "verticalAlignment": "Vertikale Ausrichtung", + "horizontalAlignment": "Horizontale Ausrichtung", + "textDesc": "Im aktuellen Textfeld angezeigter Text" + }, + "table": { + "editable": "Editierbar", + "columnNum": "Rubriken", + "viewModeResizable": "Spaltenbreite vom Benutzer angepasst", + "viewModeResizableTooltip": "Ob Nutzer die Spaltenbreite anpassen können.", + "showFilter": "Schaltfläche Filter anzeigen", + "showRefresh": "Schaltfläche \"Aktualisieren\" anzeigen", + "showDownload": "Download-Schaltfläche anzeigen", + "columnSetting": "Schaltfläche Spalteneinstellung anzeigen", + "searchText": "Text suchen", + "searchTextTooltip": "Suche und Filterung der in der Tabelle dargestellten Daten", + "showQuickJumper": "Quick Jumper anzeigen", + "hideOnSinglePage": "Auf einzelner Seite ausblenden", + "showSizeChanger": "Schaltfläche Größenänderer anzeigen", + "pageSizeOptions": "Optionen für die Seitengröße", + "pageSize": "Seitengröße", + "total": "Gesamtzahl der Zeilen", + "totalTooltip": "Der Standardwert ist die Anzahl der aktuellen Datenelemente, die aus der Abfrage abgerufen werden können, z. B: \\'{{query1.data[0].count}}\\'", + "filter": "Filter", + "filterRule": "Filter-Regel", + "chooseColumnName": "Spalte wählen", + "chooseCondition": "Bedingung wählen", + "clear": "Klar", + "columnShows": "Säule zeigt", + "selectAll": "Alle auswählen", + "and": "Und", + "or": "Oder", + "contains": "Enthält", + "notContain": "Enthält nicht", + "equals": "Entspricht", + "isNotEqual": "Ist nicht gleich", + "isEmpty": "Ist leer", + "isNotEmpty": "Ist nicht leer", + "greater": "Größer als", + "greaterThanOrEquals": "Größer als oder gleich", + "lessThan": "Weniger als", + "lessThanOrEquals": "Kleiner als oder gleich", + "action": "Aktion", + "columnValue": "Spalte Wert", + "columnValueTooltip": "\\'{{currentCell}}\\': Aktuelle Zelldaten\n \\'{{currentRow}}\\': Aktuelle Zeilendaten\n \\'{{currentIndex}}\\': Aktueller Datenindex (beginnend bei 0)\n Beispiel: \\'{{currentCell * 5}}\\' Show 5 Times the Original Value Data.", + "imageSrc": "Bildquelle", + "imageSize": "Bildgröße", + "columnTitle": "Titel", + "sortable": "Sortierbar", + "align": "Ausrichtung", + "fixedColumn": "Feste Säule", + "autoWidth": "Auto Breite", + "customColumn": "Benutzerdefinierte Säule", + "auto": "Auto", + "fixed": "Festgelegt", + "columnType": "Säule Typ", + "float": "Schwimmer", + "prefix": "Präfix", + "suffix": "Nachsilbe", + "text": "Text", + "number": "Nummer", + "link": "Link", + "links": "Links", + "tag": "Tag", + "date": "Datum", + "dateTime": "Datum Uhrzeit", + "badgeStatus": "Status", + "button": "Taste", + "image": "Bild", + "boolean": "Boolesche", + "rating": "Bewertung", + "progress": "Fortschritt", + "option": "Operation", + "optionList": "Betriebsliste", + "option1": "Betrieb 1", + "status": "Status", + "statusTooltip": "Optionale Werte: Erfolg, Fehler, Standard, Warnung, Verarbeitung", + "primaryButton": "Primäre", + "defaultButton": "Standard", + "type": "Typ", + "tableSize": "Tabelle Größe", + "hideHeader": "Tabellenüberschrift ausblenden", + "fixedHeader": "Feste Tabellenüberschrift", + "fixedHeaderTooltip": "Kopfzeile wird für vertikal scrollbare Tabelle fixiert", + "fixedToolbar": "Feste Symbolleiste", + "fixedToolbarTooltip": "Die Symbolleiste wird für vertikal scrollbare Tabellen je nach Position fixiert", + "hideBordered": "Spaltenumrandung ausblenden", + "deleteColumn": "Spalte löschen", + "confirmDeleteColumn": "Bestätige Spalte löschen: ", + "small": "S", + "middle": "M", + "large": "L", + "refreshButtonTooltip": "Die aktuellen Daten ändern sich. Klicke auf , um die Spalte neu zu generieren.", + "changeSetDesc": "Ein Objekt, das Änderungen an einer bearbeitbaren Tabelle darstellt, enthält nur die geänderte Zelle. Zeilen gehen zuerst und Spalten gehen als zweites.", + "selectedRowDesc": "Liefert Daten für die aktuell ausgewählte Zeile und zeigt die Zeile an, die ein Klick-Ereignis auslöst, wenn der Nutzer auf eine Schaltfläche/Link in der Zeile klickt", + "selectedRowsDesc": "Nützlich im Mehrfachauswahlmodus, gleich wie SelectedRow", + "pageNoDesc": "Aktuelle Anzeigeseite, beginnend mit 1", + "pageSizeDesc": "Wie viele Zeilen pro Seite", + "sortColumnDesc": "Der Name der aktuell ausgewählten sortierten Spalte", + "sortDesc": "Ob die aktuelle Zeile in absteigender Reihenfolge ist", + "pageOffsetDesc": "Der aktuelle Beginn des Blätterns, der für das Blättern zum Abrufen von Daten verwendet wird. Beispiel: Select * from Users Limit \\'{{table1.pageSize}}\\' Versatz \\'{{table1.pageOffset}}\\'", + "displayDataDesc": "In der aktuellen Tabelle angezeigte Daten", + "selectedIndexDesc": "Ausgewählter Index in der Datenanzeige", + "filterDesc": "Parameter für die Tabellenfilterung", + "dataDesc": "Die JSON-Daten für die Tabelle", + "saveChanges": "Änderungen speichern", + "cancelChanges": "Änderungen abbrechen", + "rowSelectChange": "Zeile auswählen Ändern", + "rowClick": "Reihe Klicken", + "rowExpand": "Reihe Erweitern", + "filterChange": "Filterwechsel", + "sortChange": "Sortieren Ändern", + "pageChange": "Seitenwechsel", + "refresh": "Auffrischen", + "rowColor": "Bedingte Zeilenfarbe", + "rowColorDesc": "Legt die Zeilenfarbe basierend auf den optionalen Variablen bedingt fest: CurrentRow, CurrentOriginalIndex, CurrentIndex, ColumnTitle. Zum Beispiel: \\'{{ currentRow.id > 3 ? %r@\\\"green%r@\\\" : %r@\\\"red%r@\\\" }}\\'", + "cellColor": "Bedingte Zellenfarbe", + "cellColorDesc": "Stelle die Zellenfarbe basierend auf dem Zellenwert mit CurrentCell bedingt ein. Beispiel: \\''{{ currentCell == 3 ? %r@\\\"green%r@\\\" : %r@\\\"red%r@\\\" }}\\'", + "saveChangesNotBind": "Es wurde kein Event Handler für das Speichern von Änderungen konfiguriert. Bitte binde mindestens einen Ereignishandler vor dem Klick.", + "dynamicColumn": "Dynamische Spalteneinstellung verwenden", + "dynamicColumnConfig": "Säuleneinstellung", + "dynamicColumnConfigDesc": "Dynamische Spalteneinstellungen. Akzeptiert ein Array von Spaltennamen. In der Standardeinstellung sind alle Spalten sichtbar. Beispiel: [%r@\\\"id%r@\\\", %r@\\\"name%r@\\\"]", + "position": "Position", + "showDataLoadSpinner": "Spinner beim Laden von Daten anzeigen", + "showValue": "Wert anzeigen", + "expandable": "Ausbaufähig", + "configExpandedView": "Expandierte Ansicht konfigurieren", + "toUpdateRowsDesc": "Ein Array von Objekten für zu aktualisierende Zeilen in bearbeitbaren Tabellen.", + "empty": "Leere", + "falseValues": "Text Wenn Falsch", + "allColumn": "Alle", + "visibleColumn": "Sichtbar", + "emptyColumns": "Derzeit sind keine Spalten sichtbar" + }, + "image": { + "src": "Bildquelle", + "srcDesc": "Die Bildquelle. Kann eine URL, ein Pfad oder ein Base64-String sein. z.B.: data:image/png;base64, AAA... CCC", + "supportPreview": "Unterstützung Klickvorschau (Zoom)", + "supportPreviewTip": "Wirksam, wenn die Bildquelle gültig ist" + }, + "progress": { + "value": "Wert", + "valueTooltip": "Der Prozentsatz der Fertigstellung als Wert zwischen 0 und 100", + "showInfo": "Wert anzeigen", + "valueDesc": "Aktueller Fortschrittswert, der von 0 bis 100 reicht", + "showInfoDesc": "Ob der aktuelle Fortschrittswert angezeigt werden soll" + }, + "fileViewer": { + "invalidURL": "Bitte gib eine gültige URL oder einen Base64-String ein", + "src": "Datei URI", + "srcTooltip": "Vorschau des bereitgestellten Link-Inhalts durch Einbetten von HTML, Base64-kodierte Daten können ebenfalls unterstützt werden, z. B.: data:application/pdf; base64,AAA... CCC", + "srcDesc": "Der Datei-URI" + }, + "divider": { + "title": "Titel", + "align": "Ausrichtung", + "dashed": "Gestrichelt", + "dashedDesc": "Gestrichelte Linie verwenden", + "titleDesc": "Teiler Titel", + "alignDesc": "Teiler Titelausrichtung" + }, + "QRCode": { + "value": "QR Code Inhalt Wert", + "valueTooltip": "Der Wert enthält maximal 2953 Zeichen. Der QR-Code-Wert kann verschiedene Datentypen kodieren, z. B. Textnachrichten, URLs, Kontaktdaten (VCard/meCard), Wi-Fi-Anmeldedaten, E-Mail-Adressen, Telefonnummern, SMS-Nachrichten, Geolocation-Koordinaten, Kalenderereignisdetails, Zahlungsinformationen, Kryptowährungsadressen und App-Download-Links.", + "valueDesc": "Der QR-Code-Inhaltswert", + "level": "Fehlertoleranz Level", + "levelTooltip": "Bezieht sich auf die Fähigkeit des QR-Codes, gescannt zu werden, auch wenn ein Teil des Codes blockiert ist. Je höher die Stufe, desto komplexer ist der Code.", + "includeMargin": "Rand anzeigen", + "image": "Bild in der Mitte anzeigen", + "L": "L (Niedrig)", + "M": "M (Mittel)", + "Q": "Q (Quartil)", + "H": "H (Hoch)", + "maxLength": "Der Inhalt ist zu lang. Setze die Länge auf weniger als 2953 Zeichen" + }, + "jsonExplorer": { + "indent": "Einrückung der einzelnen Ebenen", + "expandToggle": "JSON-Baum erweitern", + "theme": "Farbe Thema", + "valueDesc": "Aktuelle JSON-Daten", + "default": "Standard", + "defaultDark": "Standard Dunkel", + "neutralLight": "Neutrales Licht", + "neutralDark": "Neutral Dunkel", + "azure": "Azurblau", + "darkBlue": "Dunkelblau" + }, + "audio": { + "src": "Audio Source URI oder Base64 String", + "defaultSrcUrl": "https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3", + "autoPlay": "Autoplay", + "loop": "Schleife", + "srcDesc": "Aktuelle Audio-URI oder Base64-String wie data:audio/mpeg;base64,AAA... CCC", + "play": "Spielen", + "playDesc": "Ausgelöst, wenn Audio abgespielt wird", + "pause": "Pause", + "pauseDesc": "Ausgelöst, wenn der Ton pausiert wird", + "ended": "Beendet", + "endedDesc": "Ausgelöst, wenn die Audiowiedergabe endet" + }, + "video": { + "src": "Video Source URI oder Base64 String", + "defaultSrcUrl": "https://www.youtube.com/watch?v=pRpeEdMmmQ0", + "poster": "Poster URL", + "defaultPosterUrl": "", + "autoPlay": "Autoplay", + "loop": "Schleife", + "controls": "Steuerelemente ausblenden", + "volume": "Band", + "playbackRate": "Wiedergaberate", + "posterTooltip": "Der Standardwert ist das erste Bild des Videos", + "autoPlayTooltip": "Nachdem das Video geladen wurde, wird es automatisch abgespielt. Wenn du diesen Wert von True auf False änderst, wird das Video angehalten. (Wenn ein Poster eingestellt ist, wird es über die Schaltfläche Poster abgespielt)", + "controlsTooltip": "Steuerelemente für die Videowiedergabe ausblenden. Wird möglicherweise nicht von jeder Videoquelle vollständig unterstützt.", + "volumeTooltip": "Lege die Lautstärke des Players fest, zwischen 0 und 1", + "playbackRateTooltip": "Lege die Rate des Spielers fest, zwischen 1 und 2", + "srcDesc": "Aktuelle Audio-URI oder Base64-String wie data:video/mp4;base64, AAA... CCC", + "play": "Spielen", + "playDesc": "Ausgelöst, wenn das Video abgespielt wird", + "pause": "Pause", + "pauseDesc": "Ausgelöst, wenn das Video pausiert wird", + "load": "Laden", + "loadDesc": "Ausgelöst, wenn das Laden der Videoressource abgeschlossen ist", + "ended": "Beendet", + "endedDesc": "Ausgelöst, wenn das Video zu Ende gespielt wird", + "currentTimeStamp": "Die aktuelle Abspielposition des Videos in Sekunden", + "duration": "Die Gesamtdauer des Videos in Sekunden" + }, + "media": { + "playDesc": "Beginnt die Wiedergabe der Medien.", + "pauseDesc": "Pausiert die Medienwiedergabe.", + "loadDesc": "Setzt die Medien auf den Anfang zurück und startet die Auswahl der Medienressource neu.", + "seekTo": "Suche nach der angegebenen Anzahl von Sekunden oder einem Bruchteil, wenn der Betrag zwischen 0 und 1 liegt", + "seekToAmount": "Anzahl der Sekunden, oder Bruchteil, wenn sie zwischen 0 und 1 liegt", + "showPreview": "Vorschau anzeigen" + }, + "rangeSlider": { + "start": "Startwert", + "end": "Endwert", + "step": "Schrittweite", + "stepTooltip": "Die Granularität des Schiebereglers, der Wert muss größer als 0 und teilbar durch (Max-Min) sein" + }, + "iconControl": { + "selectIcon": "Wähle ein Symbol", + "insertIcon": "Ein Icon einfügen", + "insertImage": "Ein Bild einfügen oder " + }, + "millisecondsControl": { + "timeoutTypeError": "Bitte gib die korrekte Timeout-Zeit in ms ein, die aktuelle Eingabe ist: {Wert}", + "timeoutLessThanMinError": "Die Eingabe muss größer sein als {links}, die aktuelle Eingabe ist: {Wert}" + }, + "selectionControl": { + "single": "Single", + "multiple": "Mehrere", + "close": "Schließen", + "mode": "Modus wählen" + }, + "container": { + "title": "Angezeigter Container-Titel" + }, + "drawer": { + "placement": "Platzierung der Schubladen", + "size": "Größe", + "top": "Top", + "right": "Rechts", + "bottom": "Unten", + "left": "Links", + "widthTooltip": "Pixel oder Prozentsatz, z.B. 520, 60%", + "heightTooltip": "Pixel, z.B. 378", + "openDrawerDesc": "Offene Schublade", + "closeDrawerDesc": "Schublade schließen", + "width": "Breite der Schublade", + "height": "Höhe der Schublade" + }, + "meeting": { + "logLevel": "Agora SDK Log Level", + "placement": "Platzierung der Meeting-Schubladen", + "meeting": "Meeting-Einstellungen", + "cameraView": "Kameraansicht", + "cameraViewDesc": "Kameraansicht des lokalen Benutzers (Host)", + "screenShared": "Bildschirm geteilt", + "screenSharedDesc": "Vom lokalen Benutzer (Host) geteilter Bildschirm", + "audioUnmuted": "Audio entstummt", + "audioMuted": "Audio stummgeschaltet", + "videoClicked": "Video Geklickt", + "videoOff": "Video aus", + "videoOn": "Video auf", + "size": "Größe", + "top": "Top", + "host": "Gastgeber des Besprechungsraums. Du müsstest den Gastgeber als eigene Anwendungslogik verwalten", + "participants": "Teilnehmer des Besprechungsraums", + "shareScreen": "Vom lokalen Benutzer geteilter Bildschirm", + "appid": "Agora Anwendungs-ID", + "meetingName": "Treffen Name", + "localUserID": "Host-Benutzer-ID", + "userName": "Host-Benutzername", + "rtmToken": "Agora RTM Token", + "rtcToken": "Agora RTC Token", + "noVideo": "Kein Video", + "profileImageUrl": "Profilbild-URL", + "right": "Rechts", + "bottom": "Unten", + "videoId": "Video Stream ID", + "audioStatus": "Audio Status", + "left": "Links", + "widthTooltip": "Pixel oder Prozentsatz, z.B. 520, 60%", + "heightTooltip": "Pixel, z.B. 378", + "openDrawerDesc": "Offene Schublade", + "closeDrawerDesc": "Schublade schließen", + "width": "Breite der Schublade", + "height": "Höhe der Schublade", + "actionBtnDesc": "Aktionstaste", + "broadCast": "Broadcast-Nachrichten", + "title": "Meeting Titel", + "meetingCompName": "Agora Meeting Controller", + "sharingCompName": "Bildschirm teilen Stream", + "videoCompName": "Kamera-Stream", + "videoSharingCompName": "Bildschirm teilen Stream", + "meetingControlCompName": "Steuerungstaste", + "meetingCompDesc": "Meeting-Komponente", + "meetingCompControls": "Meeting-Kontrolle", + "meetingCompKeywords": "Agora Meeting, Web-Meeting, Kollaboration", + "iconSize": "Icon Größe", + "userId": "Host-Benutzer-ID", + "roomId": "Zimmer-ID", + "meetingActive": "Laufendes Treffen", + "messages": "Gesendete Nachrichten" + }, + "settings": { + "title": "Einstellungen", + "userGroups": "Benutzergruppen", + "organization": "Arbeitsräume", + "audit": "Audit-Logs", + "theme": "Themen", + "plugin": "Plugins", + "advanced": "Fortgeschrittene", + "lab": "Labor", + "branding": "Branding", + "oauthProviders": "OAuth-Anbieter", + "appUsage": "App-Nutzungsprotokolle", + "environments": "Umgebungen", + "premium": "Premium" + }, + "memberSettings": { + "admin": "Admin", + "adminGroupRoleInfo": "Admin kann Gruppenmitglieder und Ressourcen verwalten", + "adminOrgRoleInfo": "Admins besitzen alle Ressourcen und können Gruppen verwalten.", + "member": "Mitglied", + "memberGroupRoleInfo": "Mitglied kann Gruppenmitglieder sehen", + "memberOrgRoleInfo": "Mitglieder können nur Ressourcen nutzen oder besuchen, zu denen sie Zugang haben.", + "title": "Mitglieder", + "createGroup": "Gruppe erstellen", + "newGroupPrefix": "Neue Gruppe ", + "allMembers": "Alle Mitglieder", + "deleteModalTitle": "Diese Gruppe löschen", + "deleteModalContent": "Die gelöschte Gruppe kann nicht wiederhergestellt werden. Bist du sicher, dass du die Gruppe löschen willst?", + "addMember": "Mitglieder hinzufügen", + "nameColumn": "Benutzer Name", + "joinTimeColumn": "Beitrittszeit", + "actionColumn": "Operation", + "roleColumn": "Rolle", + "exitGroup": "Ausstiegsgruppe", + "moveOutGroup": "Aus Gruppe entfernen", + "inviteUser": "Mitglieder einladen", + "exitOrg": "Lass", + "exitOrgDesc": "Bist du sicher, dass du diesen Arbeitsplatz verlassen willst?", + "moveOutOrg": "entfernen", + "moveOutOrgDescSaasMode": "Bist du sicher, dass du den Benutzer {Name} aus diesem Arbeitsbereich entfernen möchtest?", + "moveOutOrgDesc": "Bist du sicher, dass du Benutzer {Name} entfernen möchtest? Diese Aktion kann nicht rückgängig gemacht werden.", + "devGroupTip": "Mitglieder der Entwicklergruppe haben die Berechtigung, Apps und Datenquellen zu erstellen.", + "lastAdminQuit": "Der letzte Administrator kann nicht aussteigen.", + "organizationNotExist": "Der aktuelle Arbeitsbereich ist nicht vorhanden", + "inviteUserHelp": "Du kannst den Einladungslink zum Versenden an den Nutzer kopieren", + "inviteUserLabel": "Einladungslink:", + "inviteCopyLink": "Link kopieren", + "inviteText": "{Benutzername} lädt dich ein, dem Arbeitsbereich %r@\\\"{Organisation}%r@\\\" beizutreten, Klicke auf den Link, um beizutreten: {inviteLink}", + "groupName": "Gruppe Name", + "createTime": "Zeit schaffen", + "manageBtn": "Verwalte", + "userDetail": "Detail", + "syncDeleteTip": "Diese Gruppe wurde aus der Adressbuchquelle gelöscht", + "syncGroupTip": "Diese Gruppe ist eine Adressbuch-Synchronisationsgruppe und kann nicht bearbeitet werden" + }, + "orgSettings": { + "newOrg": "Neuer Arbeitsbereich (Organisation)", + "title": "Arbeitsbereich", + "createOrg": "Arbeitsbereich erstellen (Organisation)", + "deleteModalTitle": "Bist du sicher, dass du diesen Arbeitsbereich löschen willst?", + "deleteModalContent": "Du bist dabei, diesen Arbeitsbereich {permanentlyDelete} zu löschen. Sobald er gelöscht ist, wird der Arbeitsbereich {nichtwiederhergestellt}.", + "permanentlyDelete": "Dauerhaft", + "notRestored": "Kann nicht wiederhergestellt werden", + "deleteModalLabel": "Bitte gib den Arbeitsbereichsnamen {Name} ein, um den Vorgang zu bestätigen:", + "deleteModalTip": "Bitte Arbeitsbereichsname eingeben", + "deleteModalErr": "Der Name des Arbeitsbereichs ist inkorrekt", + "deleteModalBtn": "löschen", + "editOrgTitle": "Arbeitsbereich-Informationen bearbeiten", + "orgNameLabel": "Arbeitsbereich Name:", + "orgNameCheckMsg": "Der Name des Arbeitsbereichs darf nicht leer sein", + "orgLogo": "Workspace Logo:", + "logoModify": "Bild ändern", + "inviteSuccessMessage": "Erfolgreich dem Arbeitsbereich beitreten", + "inviteFailMessage": "Beitritt zum Arbeitsbereich fehlgeschlagen", + "uploadErrorMessage": "Upload-Fehler", + "orgName": "Arbeitsbereich Name" + }, + "freeLimit": "Kostenlose Probefahrt", + "tabbedContainer": { + "switchTab": "Registerkarte wechseln", + "switchTabDesc": "Ausgelöst beim Wechsel der Registerkarten", + "tab": "Tabs", + "atLeastOneTabError": "Der Tab-Container hält mindestens einen Tab fest", + "selectedTabKeyDesc": "Aktuell ausgewählte Registerkarte", + "iconPosition": "Icon Position" + }, + "formComp": { + "containerPlaceholder": "Ziehen Sie Komponenten aus dem rechten Fenster oder", + "openDialogButton": "Erstelle ein Formular aus einer deiner Datenquellen", + "resetAfterSubmit": "Zurücksetzen nach erfolgreicher Übermittlung", + "initialData": "Erste Daten", + "disableSubmit": "Abschicken deaktivieren", + "success": "Erfolgreich generiertes Formular", + "selectCompType": "Komponententyp auswählen", + "dataSource": "Datenquelle: ", + "selectSource": "Quelle wählen", + "table": "Tabelle: ", + "selectTable": "Tabelle auswählen", + "columnName": "Spalte Name", + "dataType": "Datentyp", + "compType": "Komponente Typ", + "required": "Erforderlich", + "generateForm": "Formular generieren", + "compSelectionError": "Unkonfigurierter Spaltentyp", + "compTypeNameError": "Der Name des Komponententyps konnte nicht ermittelt werden", + "noDataSourceSelected": "Keine Datenquelle ausgewählt", + "noTableSelected": "Kein Tisch ausgewählt", + "noColumn": "Keine Säule", + "noColumnSelected": "Keine Spalte ausgewählt", + "noDataSourceFound": "Keine unterstützte Datenquelle gefunden. Eine neue Datenquelle erstellen", + "noTableFound": "Es wurden keine Tabellen in dieser Datenquelle gefunden, bitte wähle eine andere Datenquelle", + "noColumnFound": "In dieser Tabelle wurde keine unterstützte Spalte gefunden. Bitte wähle eine andere Tabelle", + "formTitle": "Formular Titel", + "name": "Name", + "nameTooltip": "Der Name des Attributs in den Daten des Formulars ist standardmäßig der Komponentenname, wenn er leer gelassen wird.", + "notSupportMethod": "Nicht unterstützte Methoden: ", + "notValidForm": "Das Formular ist nicht gültig", + "resetDesc": "Formulardaten auf Standardwert zurücksetzen", + "clearDesc": "Formulardaten löschen", + "setDataDesc": "Formulardaten einstellen", + "valuesLengthError": "Parameter Nummer Fehler", + "valueTypeError": "Parameter Typ Fehler", + "dataDesc": "Aktuelle Formulardaten", + "loadingDesc": "Ob das Formular geladen ist?" + }, + "modalComp": { + "close": "Schließen", + "closeDesc": "Ausgelöst, wenn das modale Dialogfeld geschlossen wird", + "openModalDesc": "Öffnen Sie das Dialogfeld", + "closeModalDesc": "Das Dialogfeld schließen", + "visibleDesc": "Ist es sichtbar? Wenn ja, wird das aktuelle Dialogfeld eingeblendet", + "modalHeight": "Modale Höhe", + "modalHeightTooltip": "Pixel, Beispiel: 222", + "modalWidth": "Modale Breite", + "modalWidthTooltip": "Zahl oder Prozentsatz, Beispiel: 520, 60%" + }, + "listView": { + "noOfRows": "Zeilenanzahl", + "noOfRowsTooltip": "Anzahl der Zeilen in der Liste - wird normalerweise auf eine Variable gesetzt (z. B. \\'{{query1.data.length}}\\'), um Abfrageergebnisse zu präsentieren", + "noOfColumns": "Anzahl der Kolonnen", + "itemIndexName": "Datenelement Index Name", + "itemIndexNameDesc": "Der Variablenname, der sich auf den Index des Elements bezieht, Standard: {default}", + "itemDataName": "Datenelement Objektname", + "itemDataNameDesc": "Der Variablenname, der sich auf das Datenobjekt des Items bezieht, Standard als {default}", + "itemsDesc": "Daten der Komponenten in der Liste offenlegen", + "dataDesc": "Die in der aktuellen Liste verwendeten JSON-Daten", + "dataTooltip": "Wenn du nur eine Zahl einträgst, wird dieses Feld als Zeilenzahl betrachtet und die Daten werden als leer angesehen." + }, + "navigation": { + "addText": "Untermenüpunkt hinzufügen", + "logoURL": "Navigation Logo URL", + "horizontalAlignment": "Horizontale Ausrichtung", + "logoURLDesc": "Du kannst ein Logo auf der linken Seite anzeigen, indem du einen URI-Wert oder einen Base64-String eingibst, z.B. data:image/png;base64,AAA... CCC", + "itemsDesc": "Hierarchische Navigationsmenüpunkte" + }, + "droppadbleMenuItem": { + "subMenu": "Untermenü {Nummer}" + }, + "navItemComp": { + "active": "Aktiv" + }, + "iframe": { + "URLDesc": "Die Quell-URL für den IFrame-Inhalt. Achte darauf, dass die URL HTTPS oder localhost ist. Vergewissere dich auch, dass die URL nicht durch die Content Security Policy (CSP) des Browsers blockiert wird. Der Header \\'X-Frame-Options\\' sollte nicht auf \\'DENY\\' oder \\'SAMEORIGIN\\' gesetzt sein.", + "allowDownload": "Downloads zulassen", + "allowSubmitForm": "Formular einreichen zulassen", + "allowMicrophone": "Mikrofon zulassen", + "allowCamera": "Kamera zulassen", + "allowPopup": "Popups zulassen" + }, + "switchComp": { + "defaultValue": "Standard Boolescher Wert", + "open": "Auf", + "close": "Aus", + "openDesc": "Ausgelöst, wenn der Schalter eingeschaltet wird", + "closeDesc": "Ausgelöst, wenn der Schalter ausgeschaltet ist", + "valueDesc": "Aktueller Status des Schalters" + }, + "signature": { + "tips": "Hinweistext", + "signHere": "Hier unterschreiben", + "showUndo": "Rückgängig machen anzeigen", + "showClear": "Löschen anzeigen" + }, + "localStorageComp": { + "valueDesc": "Alle derzeit gespeicherten Datenelemente", + "setItemDesc": "Einen Artikel hinzufügen", + "removeItemDesc": "Einen Artikel entfernen", + "clearItemDesc": "Alle Artikel löschen" + }, + "utilsComp": { + "openUrl": "URL öffnen", + "openApp": "App öffnen", + "copyToClipboard": "In die Zwischenablage kopieren", + "downloadFile": "Datei herunterladen" + }, + "messageComp": { + "info": "Eine Benachrichtigung senden", + "success": "Erfolgsbenachrichtigung senden", + "warn": "Eine Warnmeldung senden", + "error": "Eine Fehlerbenachrichtigung senden" + }, + "themeComp": { + "switchTo": "Thema wechseln" + }, + "transformer": { + "preview": "Vorschau", + "docLink": "Lies mehr über Transformers...", + "previewSuccess": "Vorschau Erfolg", + "previewFail": "Vorschau Fail", + "deleteMessage": "Transformator löschen Erfolg. Du kannst {undoKey} zum Rückgängigmachen verwenden.", + "documentationText": "Transformers sind für die Datenumwandlung und Wiederverwendung deines mehrzeiligen JavaScript-Codes gedacht. Verwende Transformers, um Daten aus Abfragen oder Komponenten an deine lokalen App-Anforderungen anzupassen. Im Gegensatz zu JavaScript-Abfragen sind Transformer nur für Leseoperationen ausgelegt. Das bedeutet, dass du innerhalb eines Transformers keine Abfrage auslösen oder einen temporären Zustand aktualisieren kannst." + }, + "temporaryState": { + "value": "Anfangswert", + "valueTooltip": "Der Anfangswert, der im temporären Status gespeichert wird, kann ein beliebiger gültiger JSON-Wert sein.", + "docLink": "Lies mehr über temporäre Staaten...", + "pathTypeError": "Pfad muss entweder ein String oder ein Array von Werten sein", + "unStructuredError": "Unstrukturierte Daten {prev} können nicht von {path} aktualisiert werden", + "valueDesc": "Vorläufiger Zustandswert", + "deleteMessage": "Der temporäre Status wurde erfolgreich gelöscht. Du kannst {undoKey} zum Rückgängigmachen verwenden.", + "documentationText": "Temporäre Zustände in Lowcoder sind eine leistungsstarke Funktion zur Verwaltung komplexer Variablen, die den Zustand von Komponenten in deiner Anwendung dynamisch aktualisieren. Diese Zustände dienen als Zwischenspeicher für Daten, die sich im Laufe der Zeit aufgrund von Benutzerinteraktionen oder anderen Prozessen ändern können." + }, + "dataResponder": { + "data": "Daten", + "dataDesc": "Daten des aktuellen Datenresponders", + "dataTooltip": "Wenn diese Daten geändert werden, lösen sie nachfolgende Aktionen aus.", + "docLink": "Lies mehr über die Data Responders...", + "deleteMessage": "Der Data Responder wurde erfolgreich gelöscht. Du kannst {undoKey} zum Rückgängigmachen verwenden.", + "documentationText": "Wenn du eine App entwickelst, kannst du den Komponenten Ereignisse zuweisen, um Änderungen an bestimmten Daten zu überwachen. Eine Tabellenkomponente kann zum Beispiel Ereignisse wie %r@\\\"Row select change%r@\\\", %r@\\\"Filter change%r@\\\", %r@\\\"Sort change%r@\\\" und %r@\\\"Page change%r@\\\" haben, um Änderungen in der selectedRow-Eigenschaft zu verfolgen. Für Änderungen in temporären Zuständen, Transformatoren oder Abfrageergebnissen, für die keine Standardereignisse zur Verfügung stehen, werden jedoch Data Responder verwendet. Mit ihnen kannst du alle Datenänderungen erkennen und darauf reagieren." + }, + "theme": { + "title": "Themen", + "createTheme": "Thema erstellen", + "themeName": "Themenname:", + "themeNamePlaceholder": "Bitte gib einen Themennamen ein", + "defaultThemeTip": "Standard-Theme:", + "createdThemeTip": "Das Thema, das du erstellt hast:", + "option": "Option{index}", + "input": "Eingabe", + "confirm": "Ok", + "emptyTheme": "Keine Themen verfügbar", + "click": "", + "toCreate": "", + "nameColumn": "Name", + "defaultTip": "Standard", + "updateTimeColumn": "Update Zeit", + "edit": "bearbeiten", + "cancelDefaultTheme": "Standardthema aufheben", + "setDefaultTheme": "Als Standardthema festlegen", + "copyTheme": "Thema duplizieren", + "setSuccessMsg": "Einstellung Erfolglos", + "cancelSuccessMsg": "Unsetting Erfolglos", + "deleteSuccessMsg": "Löschung Erfolglos", + "checkDuplicateNames": "Der Themenname existiert bereits, bitte gib ihn erneut ein", + "copySuffix": " Kopiere", + "saveSuccessMsg": "Erfolgreich gerettet", + "leaveTipTitle": "Tipps", + "leaveTipContent": "Du bist noch nicht gerettet, bestätigst du den Austritt?", + "leaveTipOkText": "Lass", + "goList": "Zurück zur Liste", + "saveBtn": "Speichern", + "mainColor": "Hauptfarben", + "text": "Textfarben", + "defaultTheme": "Standard", + "yellow": "Gelb", + "green": "Grün", + "previewTitle": "Themenvorschau\nBeispielkomponenten, die deine Themenfarben verwenden", + "dateColumn": "Datum", + "emailColumn": "E-Mail", + "phoneColumn": "Telefon", + "subTitle": "Titel", + "linkLabel": "Link", + "linkUrl": "app.lowcoder.cloud", + "progressLabel": "Fortschritt", + "sliderLabel": "Schieber", + "radioLabel": "Radio", + "checkboxLabel": "Kontrollkästchen", + "buttonLabel": "Formular Schaltfläche", + "switch": "Schalter", + "previewDate": "16/10/2022", + "previewEmail1": "ted.com", + "previewEmail2": "skype.de", + "previewEmail3": "imgur.com", + "previewEmail4": "globo.de", + "previewPhone1": "+63-317-333-0093", + "previewPhone2": "+30-668-580-6521", + "previewPhone3": "+86-369-925-2071", + "previewPhone4": "+7-883-227-8093", + "chartPreviewTitle": "Diagrammstil-Vorschau", + "chartSpending": "Ausgaben", + "chartBudget": "Budget", + "chartAdmin": "Verwaltung", + "chartFinance": "Finanzen", + "chartSales": "Verkäufe", + "chartFunnel": "Trichterdiagramm", + "chartShow": "anzeigen", + "chartClick": "Klick", + "chartVisit": "Besuche", + "chartQuery": "Abfrage", + "chartBuy": "Kaufen" + }, + "pluginSetting": { + "title": "Plugins", + "npmPluginTitle": "npm-Plugins", + "npmPluginDesc": "Richte npm-Plugins für alle Anwendungen im aktuellen Arbeitsbereich ein.", + "npmPluginEmpty": "Es wurden keine npm-Plugins hinzugefügt.", + "npmPluginAddButton": "Ein npm-Plugin hinzufügen", + "saveSuccess": "Erfolgreich gerettet" + }, + "advanced": { + "title": "Fortgeschrittene", + "defaultHomeTitle": "Standard-Homepage", + "defaultHomeHelp": "Die Homepage ist die App, die alle Nicht-Entwickler standardmäßig sehen, wenn sie sich anmelden. Hinweis: Stelle sicher, dass die ausgewählte App auch für Nicht-Entwickler zugänglich ist.", + "defaultHomePlaceholder": "Wähle die Standard-Homepage", + "saveBtn": "Speichern", + "preloadJSTitle": "JavaScript vorladen", + "preloadJSHelp": "Richte vorgeladenen JavaScript-Code für alle Apps im aktuellen Arbeitsbereich ein.", + "preloadCSSTitle": "CSS vorladen", + "preloadCSSHelp": "Richte vorgeladenen CSS-Code für alle Apps im aktuellen Arbeitsbereich ein.", + "preloadCSSApply": "Auf die Startseite des Arbeitsbereichs anwenden", + "preloadLibsTitle": "JavaScript-Bibliothek", + "preloadLibsHelp": "Richte vorgeladene JavaScript-Bibliotheken für alle Anwendungen im aktuellen Arbeitsbereich ein, und das System hat lodash, day.js, uuid, numbro zur direkten Verwendung eingebaut. Die JavaScript-Bibliotheken werden vor der Initialisierung der App geladen, was einen gewissen Einfluss auf die Leistung der App hat.", + "preloadLibsEmpty": "Es wurden keine JavaScript-Bibliotheken hinzugefügt", + "preloadLibsAddBtn": "Eine Bibliothek hinzufügen", + "saveSuccess": "Erfolgreich gerettet", + "AuthOrgTitle": "Willkommensbildschirm des Arbeitsbereichs", + "AuthOrgDescrition": "Die URL, unter der sich deine Nutzer beim aktuellen Arbeitsbereich anmelden können." + }, + "branding": { + "title": "Branding", + "logoTitle": "Logo", + "logoHelp": "Nur .JPG, .SVG oder .PNG", + "faviconTitle": "Favicon", + "faviconHelp": "Nur .JPG, .SVG oder .PNG", + "brandNameTitle": "Markenname", + "headColorTitle": "Kopffarbe", + "save": "Speichern", + "saveSuccessMsg": "Erfolgreich gerettet", + "upload": "Zum Hochladen klicken" + }, + "networkMessage": { + "0": "Verbindung zum Server fehlgeschlagen, bitte überprüfe dein Netzwerk", + "401": "Authentifizierung fehlgeschlagen, bitte melde dich erneut an", + "403": "Keine Erlaubnis, bitte kontaktiere den Administrator für eine Genehmigung", + "500": "Besetzter Dienst, bitte versuche es später noch einmal", + "timeout": "Zeitüberschreitung anfordern" + }, + "share": { + "title": "Teilen", + "viewer": "Betrachter", + "editor": "Herausgeber", + "owner": "Besitzer", + "datasourceViewer": "Kann verwenden", + "datasourceOwner": "Kann Managen" + }, + "debug": { + "title": "Titel", + "switch": "Schalterkomponente: " + }, + "module": { + "emptyText": "Keine Daten", + "circularReference": "Zirkuläre Referenz, aktuelles Modul/Anwendung kann nicht verwendet werden!", + "emptyTestInput": "Das aktuelle Modul hat keinen Eingang zum Testen", + "emptyTestMethod": "Das aktuelle Modul hat keine Methode zum Testen", + "name": "Name", + "input": "Eingabe", + "params": "Params", + "emptyParams": "Es wurden keine Params hinzugefügt", + "emptyInput": "Es wurde keine Eingabe hinzugefügt", + "emptyMethod": "Es wurde keine Methode hinzugefügt", + "emptyOutput": "Es wurde keine Ausgabe hinzugefügt", + "data": "Daten", + "string": "String", + "number": "Nummer", + "array": "Array", + "boolean": "Boolesche", + "query": "Abfrage", + "autoScaleCompHeight": "Bauteilhöhenwaage mit Container", + "excuteMethod": "Methode {Name} ausführen", + "method": "Methode", + "action": "Aktion", + "output": "Ausgabe", + "nameExists": "Name {Name} bereits vorhanden", + "eventTriggered": "Ereignis {Name} wird ausgelöst", + "globalPromptWhenEventTriggered": "Zeigt eine globale Aufforderung an, wenn ein Ereignis ausgelöst wird", + "emptyEventTest": "Das aktuelle Modul hat keine zu prüfenden Ereignisse", + "emptyEvent": "Es wurde kein Ereignis hinzugefügt", + "event": "Veranstaltung" + }, + "resultPanel": { + "returnFunction": "Der Rückgabewert ist eine Funktion.", + "consume": "{Zeit}", + "JSON": "JSON anzeigen" + }, + "createAppButton": { + "creating": "Erstellen...", + "created": "Erstelle {Name}" + }, + "apiMessage": { + "authenticationFail": "Benutzerauthentifizierung fehlgeschlagen, bitte melde dich erneut an", + "verifyAccount": "Konto muss verifiziert werden", + "functionNotSupported": "Die aktuelle Version unterstützt diese Funktion nicht. Bitte kontaktiere das Lowcoder Business Team, um dein Konto zu aktualisieren." + }, + "globalErrorMessage": { + "createCompFail": "Komponente erstellen {comp} Fehlgeschlagen", + "notHandledError": "{Methode} Nicht ausgeführte Methode" + }, + "aggregation": { + "navLayout": "Navigationsleiste", + "chooseApp": "App wählen", + "iconTooltip": "Unterstützt Image src Link oder Base64 String wie data:image/png;base64,AAA... CCC", + "hideWhenNoPermission": "Versteckt für nicht autorisierte Benutzer", + "queryParam": "URL-Abfrage-Parameter", + "hashParam": "URL-Hash-Parameter", + "tabBar": "Registerkarte Bar", + "emptyTabTooltip": "Konfiguriere diese Seite im rechten Fensterbereich" + }, + "appSetting": { + "450": "450px (Telefon)", + "800": "800px (Tablet)", + "1440": "1440px (Laptop)", + "1920": "1920px (Breitbild)", + "3200": "3200px (Super Large Screen)", + "title": "Allgemeine App-Einstellungen", + "autofill": "Autofill", + "userDefined": "Benutzerdefiniert", + "default": "Standard", + "tooltip": "Das Popover nach der Einstellung schließen", + "canvasMaxWidth": "Maximale Bildschirmbreite für diese App", + "userDefinedMaxWidth": "Benutzerdefinierte maximale Breite", + "inputUserDefinedPxValue": "Bitte gib einen benutzerdefinierten Pixelwert ein", + "maxWidthTip": "Die maximale Breite sollte größer als oder gleich 350 sein", + "themeSetting": "Angewandter Stil Thema", + "themeSettingDefault": "Standard", + "themeCreate": "Thema erstellen" + }, + "customShortcut": { + "title": "Benutzerdefinierte Abkürzungen", + "shortcut": "Shortcut", + "action": "Aktion", + "empty": "Keine Abkürzungen", + "placeholder": "Shortcut drücken", + "otherPlatform": "Andere", + "space": "Raum" + }, + "profile": { + "orgSettings": "Arbeitsbereich-Einstellungen", + "switchOrg": "Arbeitsbereich wechseln", + "joinedOrg": "Meine Arbeitsbereiche", + "createOrg": "Arbeitsbereich erstellen", + "logout": "Abmelden", + "personalInfo": "Mein Profil", + "bindingSuccess": "Bindung {Quellenname} Erfolg", + "uploadError": "Upload-Fehler", + "editProfilePicture": "Ändern Sie", + "nameCheck": "Der Name darf nicht leer sein", + "name": "Name: ", + "namePlaceholder": "Bitte gib deinen Namen ein", + "toBind": "Zum Binden", + "binding": "Ist Verbindlich", + "bindError": "Parameter Error, Currently Not Supported Binding.", + "bindName": "Binden {Name}", + "loginAfterBind": "Nach der Bindung kannst du dich mit {Name} anmelden", + "bindEmail": "E-Mail binden:", + "email": "E-Mail", + "emailCheck": "Bitte gib eine gültige E-Mail ein", + "emailPlaceholder": "Bitte gib deine E-Mail ein", + "submit": "einreichen", + "bindEmailSuccess": "Erfolgreiche E-Mail-Bindung", + "passwordModifiedSuccess": "Passwort erfolgreich geändert", + "passwordSetSuccess": "Passwort erfolgreich gesetzt", + "oldPassword": "Altes Passwort:", + "inputCurrentPassword": "Bitte gib dein aktuelles Passwort ein", + "newPassword": "Neues Passwort:", + "inputNewPassword": "Bitte gib dein neues Passwort ein", + "confirmNewPassword": "Bestätige das neue Passwort:", + "inputNewPasswordAgain": "Bitte gib dein neues Passwort erneut ein", + "password": "Passwort:", + "modifyPassword": "Passwort ändern", + "setPassword": "Passwort setzen", + "alreadySetPassword": "Passwort setzen", + "setPassPlaceholder": "Du kannst dich mit Passwort anmelden", + "setPassAfterBind": "Du kannst das Passwort nach der Kontobindung festlegen", + "socialConnections": "Soziale Bindungen" + }, + "shortcut": { + "shortcutList": "Tastaturkürzel", + "click": "Klick", + "global": "Global", + "toggleShortcutList": "Tastaturkurzbefehle umschalten", + "editor": "Herausgeber", + "toggleLeftPanel": "Linkes Fenster umschalten", + "toggleBottomPanel": "Unteres Fenster umschalten", + "toggleRightPanel": "Rechtes Fenster umschalten", + "toggleAllPanels": "Alle Fenster umschalten", + "preview": "Vorschau", + "undo": "Rückgängig machen", + "redo": "Redo", + "showGrid": "Raster anzeigen", + "component": "Komponente", + "multiSelect": "Mehrere auswählen", + "selectAll": "Alle auswählen", + "copy": "Kopiere", + "cut": "Schnitt", + "paste": "Kleister", + "move": "Verschiebe", + "zoom": "Größe ändern", + "delete": "löschen", + "deSelect": "Deselektiere", + "queryEditor": "Abfrage-Editor", + "excuteQuery": "Aktuelle Abfrage ausführen", + "editBox": "Text-Editor", + "formatting": "Format", + "openInLeftPanel": "Im linken Fenster öffnen" + }, + "help": { + "videoText": "Übersicht", + "onBtnText": "OK", + "permissionDenyTitle": "💡 Du kannst keine neue Anwendung oder Datenquelle erstellen?", + "permissionDenyContent": "Du hast nicht die Berechtigung, die Anwendung und die Datenquelle zu erstellen. Bitte kontaktiere den Administrator, um der Entwicklergruppe beizutreten.", + "appName": "Tutorial Anwendung", + "chat": "Chatte mit uns", + "docs": "Dokumentation ansehen", + "editorTutorial": "Editor Tutorial", + "update": "Was gibt's Neues?", + "version": "Version", + "versionWithColon": "Version: ", + "submitIssue": "Ausgabe einreichen" + }, + "header": { + "nameCheckMessage": "Der Name kann nicht leer sein", + "viewOnly": "Nur Ansicht", + "recoverAppSnapshotTitle": "Diese Version wiederherstellen?", + "recoverAppSnapshotContent": "Stelle die aktuelle App auf die Version wieder her, die zum Zeitpunkt {time} erstellt wurde.", + "recoverAppSnapshotMessage": "Diese Version wiederherstellen", + "returnEdit": "Zurück zur Redaktion", + "deploy": "veröffentlichen", + "export": "Exportieren nach JSON", + "editName": "Name bearbeiten", + "duplicate": "Duplizieren {Typ}", + "snapshot": "Geschichte", + "scriptsAndStyles": "Skripte und Stil", + "appSettings": "App-Einstellungen", + "preview": "Vorschau", + "editError": "History Preview Mode, No Operation is Supported.", + "clone": "Klonen", + "editorMode_layout": "Layout", + "editorMode_logic": "Logik", + "editorMode_both": "Beide" + }, + "userAuth": { + "registerByEmail": "Anmelden", + "email": "E-Mail:", + "inputEmail": "Bitte gib deine E-Mail ein", + "inputValidEmail": "Bitte gib eine gültige E-Mail ein", + "register": "Anmelden", + "userLogin": "Eintragen", + "login": "Eintragen", + "bind": "Binde", + "passwordCheckLength": "Mindestens {min} Zeichen", + "passwordCheckContainsNumberAndLetter": "Muss Buchstaben und Ziffern enthalten", + "passwordCheckSpace": "Kann keine Leerzeichen enthalten", + "welcomeTitle": "Willkommen bei {Produktname}", + "inviteWelcomeTitle": "{Benutzername} lade dich zum Login ein {Produktname}", + "terms": "Begriffe", + "privacy": "Datenschutzrichtlinie", + "registerHint": "Ich habe die Nutzungsbedingungen gelesen und stimme ihnen zu.", + "chooseAccount": "Wähle dein Konto", + "signInLabel": "Melde dich mit {Name} an", + "bindAccount": "Konto binden", + "scanQrCode": "Scanne den QR-Code mit {Name}", + "invalidThirdPartyParam": "Ungültige Drittpartei Param", + "account": "Konto", + "inputAccount": "Bitte gib dein Konto ein", + "ldapLogin": "LDAP-Anmeldung", + "resetPassword": "Passwort zurücksetzen", + "resetPasswordDesc": "Setze das Passwort von Benutzer {Name} zurück. Nach dem Zurücksetzen wird ein neues Passwort generiert.", + "resetSuccess": "Zurücksetzen Erfolglos", + "resetSuccessDesc": "Passwort zurücksetzen war erfolgreich. Das neue Passwort lautet: {Passwort}", + "copyPassword": "Passwort kopieren", + "poweredByLowcoder": "Angetrieben von Lowcoder.cloud" + }, + "preLoad": { + "jsLibraryHelpText": "Füge JavaScript-Bibliotheken über URL-Adressen zu deiner aktuellen Anwendung hinzu. lodash, day.js, uuid, numbro sind zur sofortigen Verwendung in das System integriert. JavaScript-Bibliotheken werden geladen, bevor die Anwendung initialisiert wird, was sich auf die Leistung der Anwendung auswirken kann.", + "exportedAs": "Exportiert als", + "urlTooltip": "URL-Adresse der JavaScript-Bibliothek, [unpkg.com](https://unpkg.com/) oder [jsdelivr.net](https://www.jsdelivr.com/) wird empfohlen", + "recommended": "Empfohlen", + "viewJSLibraryDocument": "Dokument", + "jsLibraryURLError": "Ungültige URL", + "jsLibraryExist": "JavaScript-Bibliothek existiert bereits", + "jsLibraryEmptyContent": "Keine JavaScript-Bibliotheken hinzugefügt", + "jsLibraryDownloadError": "Fehler beim Herunterladen der JavaScript-Bibliothek", + "jsLibraryInstallSuccess": "Die JavaScript-Bibliothek wurde erfolgreich installiert", + "jsLibraryInstallFailed": "Installation der JavaScript-Bibliothek fehlgeschlagen", + "jsLibraryInstallFailedCloud": "Vielleicht ist die Bibliothek in der Sandbox nicht verfügbar, [Dokumentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{Meldung}", + "jsLibraryInstallFailedHost": "{Nachricht}", + "add": "Neu hinzufügen", + "jsHelpText": "Füge eine globale Methode oder Variable zur aktuellen Anwendung hinzu.", + "cssHelpText": "Füge der aktuellen Anwendung Stile hinzu. Die DOM-Struktur kann sich ändern, wenn das System iteriert. Versuche, Stile über Komponenteneigenschaften zu ändern.", + "scriptsAndStyles": "Skripte und Stile", + "jsLibrary": "JavaScript-Bibliothek" + }, + "editorTutorials": { + "component": "Komponente", + "componentContent": "Die rechte Komponentenleiste bietet dir viele vorgefertigte Anwendungsblöcke (Komponenten). Diese können zur Verwendung auf die Leinwand gezogen werden. Mit ein wenig Programmierkenntnissen kannst du auch deine eigenen Komponenten erstellen.", + "canvas": "Segeltuch", + "canvasContent": "Erstelle deine Apps auf dem Canvas mit dem Ansatz \"What You See Is What You Get\". Ziehe die Komponenten einfach per Drag & Drop, um dein Layout zu gestalten, und verwende Tastenkombinationen zum schnellen Bearbeiten wie Löschen, Kopieren und Einfügen. Sobald du eine Komponente ausgewählt hast, kannst du jedes Detail anpassen - vom Styling und Layout bis hin zur Datenbindung und dem logischen Verhalten. Ein weiterer Vorteil ist das responsive Design, das dafür sorgt, dass deine Apps auf jedem Gerät gut aussehen.", + "queryData": "Daten abfragen", + "queryDataContent": "Du kannst hier Datenabfragen erstellen und dich mit MySQL, MongoDB, Redis, Airtable und vielen anderen Datenquellen verbinden. Nachdem du die Abfrage konfiguriert hast, klickst du auf \\'Run\\', um die Daten abzurufen und das Tutorial fortzusetzen.", + "compProperties": "Komponenten-Eigenschaften" + }, + "homeTutorials": { + "createAppContent": "🎉 Willkommen bei {Produktname}, klicke auf \\'App\\' und beginne, deine erste Anwendung zu erstellen.", + "createAppTitle": "App erstellen" + }, + "history": { + "layout": "\\'{0}' Layout-Anpassung", + "upgrade": "Upgrade \\'{0}\\'", + "delete": "Löschen \\'{0}\\'", + "add": "Hinzufügen \\'{0}\\'", + "modify": "Ändern \\'{0}\\'", + "rename": "\\'{1}\\' in \\'{0}\\' umbenennen", + "recover": "Wiederherstellen der '2'-Version", + "recoverVersion": "Version wiederherstellen", + "andSoOn": "und so weiter", + "timeFormat": "MM DD um hh:mm A", + "emptyHistory": "Keine Geschichte", + "currentVersionWithBracket": " (Aktuell)", + "currentVersion": "Aktuelle Version", + "justNow": "Gerade jetzt", + "history": "Geschichte" + }, + "home": { + "allApplications": "Alle Apps", + "allModules": "Alle Module", + "allFolders": "Alle Ordner", + "modules": "Module", + "module": "Modul", + "trash": "Papierkorb", + "queryLibrary": "Abfragebibliothek", + "datasource": "Datenquellen", + "selectDatasourceType": "Datenquellentyp auswählen", + "home": "Startseite | Verwaltungsbereich", + "all": "Alle", + "app": "App", + "navigation": "Navigation", + "navLayout": "PC Navigation", + "navLayoutDesc": "Menü auf der linken Seite für eine einfache Desktop-Navigation.", + "mobileTabLayout": "Mobile Navigation", + "mobileTabLayoutDesc": "Untere Navigationsleiste für reibungsloses mobiles Surfen.", + "folders": "Ordner", + "folder": "Mappe", + "rootFolder": "Wurzel", + "import": "Importieren", + "export": "Exportieren nach JSON", + "inviteUser": "Mitglieder einladen", + "createFolder": "Ordner erstellen", + "createFolderSubTitle": "Name des Ordners:", + "moveToFolder": "In Ordner verschieben", + "moveToTrash": "In den Papierkorb verschieben", + "moveToFolderSubTitle": "Bewege dich zu:", + "folderName": "Name des Ordners:", + "resCardSubTitle": "{Zeit} von {Ersteller}", + "trashEmpty": "Der Papierkorb ist leer.", + "projectEmpty": "Hier ist nichts.", + "projectEmptyCanAdd": "Du hast noch keine Apps. Klicke auf Neu, um loszulegen.", + "name": "Name", + "type": "Typ", + "creator": "Erstellt von", + "lastModified": "Zuletzt geändert", + "deleteTime": "Zeit löschen", + "createTime": "Zeit schaffen", + "datasourceName": "Name der Datenquelle", + "databaseName": "Name der Datenbank", + "nameCheckMessage": "Der Name darf nicht leer sein", + "deleteElementTitle": "Dauerhaft löschen", + "moveToTrashSubTitle": "{Typ} {Name} wird in den Papierkorb verschoben.", + "deleteElementSubTitle": "Lösche {Typ} {Name} dauerhaft, er kann nicht wiederhergestellt werden.", + "deleteSuccessMsg": "Gelöscht erfolgreich", + "deleteErrorMsg": "Gelöschter Fehler", + "recoverSuccessMsg": "Erfolgreich wiederhergestellt", + "newDatasource": "Neue Datenquelle", + "creating": "Erstellen...", + "chooseDataSourceType": "Datenquellentyp auswählen", + "folderAlreadyExists": "Der Ordner existiert bereits", + "newNavLayout": "{Benutzername}'s {Name} ", + "newApp": "{Benutzername}'s neuer {Name} ", + "importError": "Importfehler, {Meldung}", + "exportError": "Exportfehler, {Meldung}", + "importSuccess": "Erfolg importieren", + "fileUploadError": "Datei-Upload-Fehler", + "fileFormatError": "Fehler im Dateiformat", + "groupWithSquareBrackets": "[Gruppe] ", + "allPermissions": "Besitzer", + "shareLink": "Link teilen: ", + "copyLink": "Link kopieren", + "appPublicMessage": "Mach die App öffentlich. Jeder kann sie sehen.", + "modulePublicMessage": "Mach das Modul öffentlich. Jeder kann es sehen.", + "memberPermissionList": "Mitgliedschaftsberechtigungen: ", + "orgName": "{orgName} admins", + "addMember": "Mitglieder hinzufügen", + "addPermissionPlaceholder": "Bitte gib einen Namen ein, um Mitglieder zu suchen", + "searchMemberOrGroup": "Suche nach Mitgliedern oder Gruppen: ", + "addPermissionErrorMessage": "Berechtigung kann nicht hinzugefügt werden, {Meldung}", + "copyModalTitle": "Klonen", + "copyNameLabel": "{Typ} Name", + "copyModalfolderLabel": "Zum Ordner hinzufügen", + "copyNamePlaceholder": "Bitte gib einen {Typ} Namen ein", + "chooseNavType": "Bitte wähle die Art der Navigation", + "createNavigation": "Navigation erstellen" + }, + "carousel": { + "dotPosition": "Position der Navigationspunkte", + "autoPlay": "AutoPlay", + "showDots": "Navigationspunkte anzeigen" + }, + "npm": { + "invalidNpmPackageName": "Ungültiger npm-Paketname oder URL.", + "pluginExisted": "Dieses npm Plugin existierte bereits", + "compNotFound": "Komponente {compName} nicht gefunden.", + "addPluginModalTitle": "Plugin aus einem npm-Repository hinzufügen", + "pluginNameLabel": "URL oder Name des npm-Pakets", + "noCompText": "Keine Komponenten.", + "compsLoading": "Laden...", + "removePluginBtnText": "entfernen", + "addPluginBtnText": "npm-Plugin hinzufügen" + }, + "toggleButton": { + "valueDesc": "Der Standardwert des Toggle-Buttons, zum Beispiel: Falsch", + "trueDefaultText": "Verstecken", + "falseDefaultText": "anzeigen", + "trueLabel": "Text für Wahr", + "falseLabel": "Text für Falsch", + "trueIconLabel": "Icon für Wahr", + "falseIconLabel": "Icon für Falsch", + "iconPosition": "Icon Position", + "showText": "Text anzeigen", + "alignment": "Ausrichtung", + "showBorder": "Grenze anzeigen" + }, + "componentDoc": { + "markdownDemoText": "**Lowcoder** | Erstelle Softwareanwendungen für dein Unternehmen und deine Kunden mit minimaler Programmiererfahrung. Lowcoder ist die beste Alternative zu Retool, Appsmith oder Tooljet.", + "demoText": "Lowcoder | Erstelle Softwareanwendungen für dein Unternehmen und deine Kunden mit minimaler Programmiererfahrung. Lowcoder ist die beste Alternative zu Retool, Appsmith oder Tooljet.", + "submit": "einreichen", + "style": "Stil", + "danger": "Gefahr", + "warning": "Warnung", + "success": "Erfolg", + "menu": "Menü", + "link": "Link", + "customAppearance": "Benutzerdefiniertes Erscheinungsbild", + "search": "Suche", + "pleaseInputNumber": "Bitte eine Nummer eingeben", + "mostValue": "Größter Wert", + "maxRating": "Maximale Bewertung", + "notSelect": "Nicht ausgewählt", + "halfSelect": "Halbe Auswahl", + "pleaseSelect": "Bitte wählen", + "title": "Titel", + "content": "Inhalt", + "componentNotFound": "Komponente ist nicht vorhanden", + "example": "Beispiele", + "defaultMethodDesc": "Den Wert der Eigenschaft {Name} festlegen", + "propertyUsage": "Du kannst komponentenbezogene Informationen lesen, indem du über den Komponentennamen auf die Komponenteneigenschaften zugreifst, wo immer du JavaScript schreiben kannst.", + "property": "Eigenschaften", + "propertyName": "Eigenschaft Name", + "propertyType": "Typ", + "propertyDesc": "Beschreibung", + "event": "Veranstaltungen", + "eventName": "Name der Veranstaltung", + "eventDesc": "Beschreibung", + "mehtod": "Methoden", + "methodUsage": "Du kannst mit Komponenten über ihre Methoden interagieren und sie überall dort, wo du JavaScript schreiben kannst, mit ihrem Namen aufrufen. Oder du kannst sie über die Aktion \"Komponente\" eines Ereignisses aufrufen.", + "methodName": "Methode Name", + "methodDesc": "Beschreibung", + "showBorder": "Grenze anzeigen", + "haveTry": "Versuch es selbst", + "settings": "Einstellung", + "settingValues": "Einstellung Wert", + "defaultValue": "Standardwert", + "time": "Zeit", + "date": "Datum", + "noValue": "Keine", + "xAxisType": "X-Achse Typ", + "hAlignType": "Horizontale Ausrichtung", + "leftLeftAlign": "Links-Links-Ausrichtung", + "leftRightAlign": "Links-Rechts-Ausrichtung", + "topLeftAlign": "Ausrichtung von oben nach links", + "topRightAlign": "Ausrichtung oben-rechts", + "validation": "Validierung", + "required": "Erforderlich", + "defaultStartDateValue": "Standard Startdatum", + "defaultEndDateValue": "Standard-Enddatum", + "basicUsage": "Grundlegende Verwendung", + "basicDemoDescription": "Die folgenden Beispiele zeigen die grundlegende Verwendung der Komponente.", + "noDefaultValue": "Kein Standardwert", + "forbid": "Verboten", + "placeholder": "Platzhalter", + "pleaseInputPassword": "Bitte gib ein Passwort ein", + "password": "Passwort", + "textAlign": "Textausrichtung", + "length": "Länge", + "top": "Top", + "pleaseInputName": "Bitte gib deinen Namen ein", + "userName": "Name", + "fixed": "Festgelegt", + "responsive": "Responsive", + "workCount": "Wortzahl", + "cascaderOptions": "Kaskadenoptionen", + "pleaseSelectCity": "Bitte wähle eine Stadt", + "advanced": "Fortgeschrittene", + "showClearIcon": "Löschen-Symbol anzeigen", + "likedFruits": "Favoriten", + "option": "Option", + "singleFileUpload": "Einzelner Datei-Upload", + "multiFileUpload": "Mehrere Dateien hochladen", + "folderUpload": "Ordner hochladen", + "multiFile": "Mehrere Dateien", + "folder": "Mappe", + "open": "Öffnen Sie", + "favoriteFruits": "Lieblingsfrüchte", + "pleaseSelectOneFruit": "Wähle eine Frucht", + "notComplete": "Nicht vollständig", + "complete": "Vollständig", + "echart": "EChart", + "lineChart": "Liniendiagramm", + "basicLineChart": "Grundlegendes Liniendiagramm", + "lineChartType": "Liniendiagramm Typ", + "stackLineChart": "Gestapelte Linie", + "areaLineChart": "Bereich Linie", + "scatterChart": "Punktediagramm", + "scatterShape": "Streuung Form", + "scatterShapeCircle": "Kreis", + "scatterShapeRect": "Rectangle", + "scatterShapeTri": "Dreieck", + "scatterShapeDiamond": "Diamant", + "scatterShapePin": "Stecknadel", + "scatterShapeArrow": "Pfeil", + "pieChart": "Kreisdiagramm", + "basicPieChart": "Grundlegendes Kreisdiagramm", + "pieChatType": "Kreisdiagramm Typ", + "pieChartTypeCircle": "Donut-Tabelle", + "pieChartTypeRose": "Rose Chart", + "titleAlign": "Titel Position", + "color": "Farbe", + "dashed": "Gestrichelt", + "imADivider": "Ich bin eine Trennungslinie", + "tableSize": "Tabelle Größe", + "subMenuItem": "UnterMenü {num}", + "menuItem": "Menü {num}", + "labelText": "Etikett", + "labelPosition": "Etikett - Position", + "labelAlign": "Etikett - Ausrichten", + "optionsOptionType": "Konfiguration Methode", + "styleBackgroundColor": "Hintergrundfarbe", + "styleBorderColor": "Farbe der Umrandung", + "styleColor": "Schriftfarbe", + "selectionMode": "Zeilenauswahl-Modus", + "paginationSetting": "Paginierung Einstellung", + "paginationShowSizeChanger": "Unterstützung der Benutzer bei der Änderung der Anzahl von Einträgen pro Seite", + "paginationShowSizeChangerButton": "Schaltfläche Größenänderer anzeigen", + "paginationShowQuickJumper": "Quick Jumper anzeigen", + "paginationHideOnSinglePage": "Verstecken, wenn es nur eine Seite gibt", + "paginationPageSizeOptions": "Seitengröße", + "chartConfigCompType": "Chart-Typ", + "xConfigType": "X-Achse Typ", + "loading": "Laden", + "disabled": "Behinderte", + "minLength": "Mindestlänge", + "maxLength": "Maximale Länge", + "showCount": "Wortzahl anzeigen", + "autoHeight": "Höhe", + "thousandsSeparator": "Tausendertrennzeichen", + "precision": "Nachkommastellen", + "value": "Standardwert", + "formatter": "Format", + "min": "Mindestwert", + "max": "Maximaler Wert", + "step": "Schrittweite", + "start": "Startzeit", + "end": "Endzeit", + "allowHalf": "Halbe Auswahl zulassen", + "filetype": "Dateityp", + "showUploadList": "Upload-Liste anzeigen", + "uploadType": "Upload Typ", + "allowClear": "Löschen-Symbol anzeigen", + "minSize": "Minimale Dateigröße", + "maxSize": "Maximale Dateigröße", + "maxFiles": "Maximale Anzahl von hochgeladenen Dateien", + "format": "Format", + "minDate": "Minimum Datum", + "maxDate": "Maximales Datum", + "minTime": "Mindestzeit", + "maxTime": "Maximale Zeit", + "text": "Text", + "type": "Typ", + "hideHeader": "Kopfzeile ausblenden", + "hideBordered": "Grenze ausblenden", + "src": "Bild-URL", + "showInfo": "Wert anzeigen", + "mode": "Modus", + "onlyMenu": "Nur Menü", + "horizontalAlignment": "Horizontale Ausrichtung", + "row": "Links", + "column": "Top", + "leftAlign": "Linke Ausrichtung", + "rightAlign": "Rechts ausrichten", + "percent": "Prozentsatz", + "fixedHeight": "Feste Höhe", + "auto": "Anpassungsfähig", + "directory": "Mappe", + "multiple": "Mehrere Dateien", + "singleFile": "Einzelne Datei", + "manual": "Handbuch", + "default": "Standard", + "small": "Klein", + "middle": "Medium", + "large": "Groß", + "single": "Single", + "multi": "Mehrere", + "close": "Schließen", + "ui": "UI-Modus", + "line": "Liniendiagramm", + "scatter": "Punktwolke", + "pie": "Kreisdiagramm", + "basicLine": "Grundlegendes Liniendiagramm", + "stackedLine": "Gestapeltes Liniendiagramm", + "areaLine": "Gebiet Gebietskarte", + "basicPie": "Grundlegendes Kreisdiagramm", + "doughnutPie": "Donut-Tabelle", + "rosePie": "Rose Chart", + "category": "Kategorie Achse", + "circle": "Kreis", + "rect": "Rectangle", + "triangle": "Dreieck", + "diamond": "Diamant", + "pin": "Stecknadel", + "arrow": "Pfeil", + "left": "Links", + "right": "Rechts", + "center": "Zentrum", + "bottom": "Unten", + "justify": "Beide Enden rechtfertigen" + }, + "playground": { + "url": "https://app.lowcoder.cloud/playground/{compType}/1", + "data": "Aktueller Datenstand", + "preview": "Vorschau", + "property": "Eigenschaften", + "console": "Visual Script-Konsole", + "executeMethods": "Ausführen von Methoden", + "noMethods": "Keine Methoden.", + "methodParams": "Parameter der Methode", + "methodParamsHelp": "Parameter der Eingabemethode mit JSON. Zum Beispiel kannst du die Parameter von setValue\\ wie folgt festlegen: [1] oder 1" + }, + "calendar": { + "headerBtnBackground": "Schaltfläche Hintergrund", + "btnText": "Schaltfläche Text", + "title": "Titel", + "selectBackground": "Ausgewählter Hintergrund" + }, + "componentDocExtra": { + "table": "Zusätzliche Dokumentation für die Tabellenkomponente" + }, + "idSource": { + "title": "OAuth-Anbieter", + "form": "E-Mail", + "pay": "Premium", + "enable": "Aktiviere", + "unEnable": "Nicht aktiviert", + "loginType": "Anmeldung Typ", + "status": "Status", + "desc": "Beschreibung", + "manual": "Adressbuch:", + "syncManual": "Adressbuch synchronisieren", + "syncManualSuccess": "Sync Erfolgreich", + "enableRegister": "Registrierung zulassen", + "saveBtn": "Speichern und Aktivieren", + "save": "Speichern", + "none": "Keine", + "formPlaceholder": "Bitte {Label} eingeben", + "formSelectPlaceholder": "Bitte wähle das {label}", + "saveSuccess": "Erfolgreich gerettet", + "dangerLabel": "Gefahrenzone", + "dangerTip": "Die Deaktivierung dieses ID-Anbieters kann dazu führen, dass sich einige Nutzer nicht mehr anmelden können. Gehe mit Vorsicht vor.", + "disable": "Deaktivieren", + "disableSuccess": "Erfolgreich deaktiviert", + "encryptedServer": "-------- Verschlüsselt auf der Serverseite --------", + "disableTip": "Tipps", + "disableContent": "Die Deaktivierung dieses ID-Anbieters kann dazu führen, dass sich einige Nutzer nicht mehr anmelden können. Bist du sicher, dass du fortfahren kannst?", + "manualTip": "", + "lockTip": "Der Inhalt ist gesperrt. Um Änderungen vorzunehmen, klicke bitte auf das {Icon}, um die Sperre aufzuheben.", + "lockModalContent": "Die Änderung des Feldes \"ID-Attribut\" kann erhebliche Auswirkungen auf die Benutzeridentifizierung haben. Bitte vergewissere dich, dass du die Auswirkungen dieser Änderung verstehst, bevor du fortfährst.", + "payUserTag": "Premium" + }, + "slotControl": { + "configSlotView": "Slot-Ansicht konfigurieren" + }, + "jsonLottie": { + "lottieJson": "Lottie JSON", + "speed": "Geschwindigkeit", + "width": "Breite", + "height": "Höhe", + "backgroundColor": "Hintergrundfarbe", + "animationStart": "Animation Start", + "valueDesc": "Aktuelle JSON-Daten", + "loop": "Schleife", + "auto": "Auto", + "onHover": "Beim Schweben", + "singlePlay": "Einzelspiel", + "endlessLoop": "Endlosschleife", + "keepLastFrame": "Letzten Frame anzeigen lassen" + }, + "timeLine": { + "titleColor": "Titel Farbe", + "subTitleColor": "Untertitel Farbe", + "lableColor": "Etikett Farbe", + "value": "Zeitleiste Daten", + "mode": "Bestellung anzeigen", + "left": "Inhalt Rechts", + "right": "Inhalt Links", + "alternate": "Alternative Reihenfolge der Inhalte", + "modeTooltip": "Einstellen, dass der Inhalt links/rechts oder abwechselnd auf beiden Seiten der Zeitleiste angezeigt wird", + "reverse": "Neueste Ereignisse zuerst", + "pending": "Ausstehender Knotenpunkt Text", + "pendingDescription": "Wenn diese Option aktiviert ist, wird ein letzter Knoten mit dem Text und einer Warteanzeige angezeigt.", + "defaultPending": "Kontinuierliche Verbesserung", + "clickTitleEvent": "Klick Titel Ereignis", + "clickTitleEventDesc": "Klick Titel Ereignis", + "Introduction": "Einführung Tasten", + "helpTitle": "Titel der Zeitleiste (erforderlich)", + "helpsubTitle": "Untertitel der Zeitleiste", + "helpLabel": "Beschriftung der Zeitleiste, die zur Anzeige von Daten verwendet wird", + "helpColor": "Zeigt die Farbe des Zeitachsenknotens an", + "helpDot": "Timeline-Knoten als Ameisendesign-Symbole rendern", + "helpTitleColor": "Individuell die Farbe des Knotentitels steuern", + "helpSubTitleColor": "Individuelle Steuerung der Farbe der Knotenuntertitel", + "helpLableColor": "Individuelle Steuerung der Farbe des Knotensymbols", + "valueDesc": "Daten der Zeitleiste", + "clickedObjectDesc": "Daten zum angeklickten Objekt", + "clickedIndexDesc": "Index der angeklickten Objekte" + }, + "comment": { + "value": "Daten der Kommentarliste", + "showSendButton": "Kommentare zulassen", + "title": "Titel", + "titledDefaultValue": "%d Kommentar in Summe", + "placeholder": "Shift + Enter zum Kommentieren; @ oder # für Schnelleingabe eingeben", + "placeholderDec": "Platzhalter", + "buttonTextDec": "Schaltfläche Titel", + "buttonText": "Kommentar", + "mentionList": "Daten der Erwähnungsliste", + "mentionListDec": "Key-Mention Keywords; Value-Mention Listendaten", + "userInfo": "Benutzerinfo", + "dateErr": "Datum Fehler", + "commentList": "Kommentar Liste", + "deletedItem": "Gelöschter Artikel", + "submitedItem": "Eingereichter Artikel", + "deleteAble": "Schaltfläche \"Löschen\" anzeigen", + "Introduction": "Einführung Tasten", + "helpUser": "Benutzerinformationen (erforderlich)", + "helpname": "Nutzername (erforderlich)", + "helpavatar": "Avatar URL (Hohe Priorität)", + "helpdisplayName": "Name anzeigen (niedrige Priorität)", + "helpvalue": "Kommentar Inhalt", + "helpcreatedAt": "Datum erstellen" + }, + "mention": { + "mentionList": "Daten der Erwähnungsliste" + }, + "autoComplete": { + "value": "Auto Complete Value", + "checkedValueFrom": "Geprüfter Wert von", + "ignoreCase": "Suche ignorieren Fall", + "searchLabelOnly": "Nur Label suchen", + "searchFirstPY": "Erste Pinyin-Suche", + "searchCompletePY": "Vollständiges Pinyin suchen", + "searchText": "Text suchen", + "SectionDataName": "AutoVervollständigen Daten", + "valueInItems": "Wert in Positionen", + "type": "Typ", + "antDesign": "AntDesign", + "normal": "Normal", + "selectKey": "Schlüssel", + "selectLable": "Etikett", + "ComponentType": "Komponente Typ", + "colorIcon": "Blau", + "grewIcon": "Grau", + "noneIcon": "Keine", + "small": "Klein", + "large": "Groß", + "componentSize": "Komponente Größe", + "Introduction": "Einführung Tasten", + "helpLabel": "Etikett", + "helpValue": "Wert" + }, + "responsiveLayout": { + "column": "Rubriken", + "atLeastOneColumnError": "Responsive Layout behält mindestens eine Spalte bei", + "columnsPerRow": "Spalten pro Zeile", + "columnsSpacing": "Abstand zwischen den Spalten (px)", + "horizontal": "Horizontal", + "vertical": "Vertikal", + "mobile": "Mobil", + "tablet": "Tablet", + "desktop": "Desktop", + "rowStyle": "Reihe Stil", + "columnStyle": "Säulenstil", + "minWidth": "Min. Breite", + "rowBreak": "Reihenpause", + "matchColumnsHeight": "Höhe der Säulen anpassen", + "rowLayout": "Zeilenlayout", + "columnsLayout": "Spalten Layout" + }, + "navLayout": { + "mode": "Modus", + "modeInline": "Inline", + "modeVertical": "Vertikal", + "width": "Breite", + "widthTooltip": "Pixel oder Prozentsatz, z.B. 520, 60%", + "navStyle": "Menü-Stil", + "navItemStyle": "Menüpunkt Stil" + } +} \ No newline at end of file diff --git a/client/packages/lowcoder/src/i18n/locales/translation_files/en.json b/client/packages/lowcoder/src/i18n/locales/translation_files/en.json index 1156b76dd..ac390b96c 100644 --- a/client/packages/lowcoder/src/i18n/locales/translation_files/en.json +++ b/client/packages/lowcoder/src/i18n/locales/translation_files/en.json @@ -1,7 +1,7 @@ { "productName": "Lowcoder", - "productDesc": "Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", - "notSupportedBrowser": "Your current browser may have compatibility issues. For a better user experience, it is recommended to use the latest version of the Chrome browser.", + "productDesc": "Create software applications for your company and customers with minimal coding experience. Lowcoder is an excellent alternative to Retool, Appsmith, and Tooljet.", + "notSupportedBrowser": "Your current browser may have compatibility issues. For an optimal user experience, please use the latest version of Chrome.", "create": "Create", "move": "Move", "addItem": "Add", @@ -9,7 +9,7 @@ "copy": "Copy", "rename": "Rename", "delete": "Delete", - "deletePermanently": "Delete", + "deletePermanently": "Delete Permanently", "remove": "Remove", "recover": "Recover", "edit": "Edit", @@ -26,7 +26,7 @@ "color": "Color", "form": "Form", "menu": "Menu", - "menuItem": "Menu item", + "menuItem": "Menu Item", "ok": "OK", "cancel": "Cancel", "finish": "Finish", @@ -34,153 +34,153 @@ "icon": "Icon", "code": "Code", "title": "Title", - "emptyContent": "Empty content", + "emptyContent": "Empty Content", "more": "More", "search": "Search", "back": "Back", - "accessControl": " Access Control", - "copySuccess": "Copied", - "copyError": "Copy error", + "accessControl": "Access Control", + "copySuccess": "Copied Successfully", + "copyError": "Copy Error", "api": { - "publishSuccess": "Published", - "recoverFailed": "Recovery failed", - "needUpdate": "Your current version is too old, please upgrade to the latest version." + "publishSuccess": "Published Successfully", + "recoverFailed": "Recovery Failed", + "needUpdate": "Your current version is outdated. Please upgrade to the latest version." }, "codeEditor": { - "notSupportAutoFormat": "Current code editor not supports auto formatting", + "notSupportAutoFormat": "The current code editor does not support auto-formatting.", "fold": "Fold" }, "exportMethod": { "setDesc": "Set Property: {property}", "clearDesc": "Clear Property: {property}", - "resetDesc": "Reset Property: {property} to default value" + "resetDesc": "Reset Property: {property} to Default Value" }, "method": { - "focus": "Set focus", + "focus": "Set Focus", "focusOptions": "Focus options. See HTMLElement.focus()", - "blur": "Remove focus", + "blur": "Remove Focus", "click": "Click", - "select": "Select all the text", - "setSelectionRange": "Set the start and end positions of the current text selection", - "selectionStart": "The 0-based index of the first selected character.", - "selectionEnd": "The 0-based index of the character after the last selected character.", - "setRangeText": "Replace a range of text", - "replacement": "The string to insert.", - "replaceStart": "The 0-based index of the first character to replace.", - "replaceEnd": "The 0-based index of the character after the last character to replace." + "select": "Select All Text", + "setSelectionRange": "Set Start and End Positions of Text Selection", + "selectionStart": "0-based Index of First Selected Character", + "selectionEnd": "0-based Index of Character After Last Selected Character", + "setRangeText": "Replace Text Range", + "replacement": "String to Insert", + "replaceStart": "0-based Index of First Character to Replace", + "replaceEnd": "0-based Index of Character After Last Character to Replace" }, "errorBoundary": { - "encounterError": "Component loading failed. Please check your configuration. ", - "clickToReload": "Click to reload", + "encounterError": "Component loading failed. Please check your configuration.", + "clickToReload": "Click to Reload", "errorMsg": "Error: " }, "imgUpload": { - "notSupportError": "Only supports uploading {types} image", - "exceedSizeError": "Image size should not exceed {size}" + "notSupportError": "Supports only {types} image types", + "exceedSizeError": "Image size must not exceed {size}" }, "gridCompOperator": { - "notSupport": "Not supported", + "notSupport": "Not Supported", "selectAtLeastOneComponent": "Please select at least one component", - "selectCompFirst": "Please select components before copy", - "noContainerSelected": "[bug] No selected container", - "deleteCompsSuccess": "Delete success. You can use {undoKey} to undo.", - "deleteCompsTitle": "Delete components", + "selectCompFirst": "Select components before copying", + "noContainerSelected": "[Bug] No container selected", + "deleteCompsSuccess": "Deleted successfully. Press {undoKey} to undo.", + "deleteCompsTitle": "Delete Components", "deleteCompsBody": "Are you sure you want to delete {compNum} selected components?", - "cutCompsSuccess": "Cut success. You can use {pasteKey} to paste, or use {undoKey} to undo." + "cutCompsSuccess": "Cut successfully. Press {pasteKey} to paste, or {undoKey} to undo." }, "leftPanel": { - "queries": "Queries", - "globals": "Globals", - "propTipsArr": "{num} items", - "propTips": "{num} keys", - "propTipArr": "{num} item", - "propTip": "{num} key", + "queries": "Data Queries in your App", + "globals": "Global Data Variables", + "propTipsArr": "{num} Items", + "propTips": "{num} Keys", + "propTipArr": "{num} Item", + "propTip": "{num} Key", "stateTab": "State", "settingsTab": "Settings", - "toolbarTitle": "Other", - "toolbarPreload": "Scripts and style", - "components": "Components", - "modals": "Modals", - "expandTip": "Click to expand {component}'s data", - "collapseTip": "Click to collapse {component}'s data" + "toolbarTitle": "Individualization", + "toolbarPreload": "Scripts and Styles", + "components": "Active Components", + "modals": "in-App Modals", + "expandTip": "Click to Expand {component}'s Data", + "collapseTip": "Click to Collapse {component}'s Data" }, "bottomPanel": { - "title": "Queries", + "title": "Data Queries", "run": "Run", - "noSelectedQuery": "No selected query", - "metaData": "Metadata", - "noMetadata": "No metadata", - "metaSearchPlaceholder": "Search metadata", - "allData": "All tables" + "noSelectedQuery": "No Query Selected", + "metaData": "Datasource Metadata", + "noMetadata": "No Metadata Available", + "metaSearchPlaceholder": "Search Metadata", + "allData": "All Tables" }, "rightPanel": { "propertyTab": "Properties", - "noSelectedComps": "No components selected. Click to select one.", + "noSelectedComps": "No Components selected. Click a Component to view its Properties.", "createTab": "Insert", - "searchPlaceHolder": "Search components or modules", + "searchPlaceHolder": "Search Components or Modules", "uiComponentTab": "Components", "extensionTab": "Extensions", "modulesTab": "Modules", "moduleListTitle": "Modules", "pluginListTitle": "Plugins", - "emptyModules": "Modules are reusable groups of components and queries.", - "searchNotFound": "Can't find a suitable component? Submit an issue", - "emptyPlugins": "No plugins added.", - "contactUs": "Contact us", - "issueHere": " here." + "emptyModules": "Modules are reusable Mikro-Apps. You can embed them in your App.", + "searchNotFound": "Can't find the right component? Submit an issue", + "emptyPlugins": "No Plugins Added", + "contactUs": "Contact Us", + "issueHere": "here." }, "prop": { "expand": "Expand", "columns": "Columns", - "videokey": "video key", - "rowSelection": "Row selection", + "videokey": "Video Key", + "rowSelection": "Row Selection", "toolbar": "Toolbar", "pagination": "Pagination", "logo": "Logo", "style": "Style", "inputs": "Inputs", - "meta": "Meta data", + "meta": "Metadata", "data": "Data", - "hide": "Hidden", + "hide": "Hide", "loading": "Loading", "disabled": "Disabled", "placeholder": "Placeholder", - "showClear": "Show clear button", + "showClear": "Show Clear Button", "showSearch": "Searchable", - "defaultValue": "Default value", - "required": "Required field", - "readOnly": "Read only", - "readOnlyTooltip": "Read only component looks same as normal component, it is focusable and selectable but cannot be modified", + "defaultValue": "Default Value", + "required": "Required Field", + "readOnly": "Read Only", + "readOnlyTooltip": "Read-only components appear normal but cannot be modified.", "minimum": "Minimum", "maximum": "Maximum", "regex": "Regex", - "minLength": "Min length", - "maxLength": "Max length", + "minLength": "Minimum Length", + "maxLength": "Maximum Length", "height": "Height", "width": "Width", - "selectApp": "App", - "showCount": "Show count", - "textType": "Text type", - "customRule": "Custom rule", - "customRuleTooltip": "If the result is non-empty string, it is an error message. If empty or null, the validation passes. Example: ", + "selectApp": "Select App", + "showCount": "Show Count", + "textType": "Text Type", + "customRule": "Custom Rule", + "customRuleTooltip": "Non-empty string indicates an error; empty or null means validation passed. Example: ", "manual": "Manual", - "map": "Mapped", + "map": "Map", "json": "JSON", - "use12Hours": "Use 12-hours for Time Selector", - "hourStep": "Hour step", - "minuteStep": "Minute step", - "secondStep": "Second step", - "minDate": "Min date", - "maxDate": "Max date", - "minTime": "Min time", - "maxTime": "Max time", + "use12Hours": "Use 12-Hour Format", + "hourStep": "Hour Step", + "minuteStep": "Minute Step", + "secondStep": "Second Step", + "minDate": "Minimum Date", + "maxDate": "Maximum Date", + "minTime": "Minimum Time", + "maxTime": "Maximum Time", "type": "Type", - "showLabel": "Show label", - "showHeader": "Show header", - "showBody": "Show body", - "showFooter": "Show footer", - "maskClosable": "Click the mask to close", - "showMask": "Show mask" + "showLabel": "Show Label", + "showHeader": "Show Header", + "showBody": "Show Body", + "showFooter": "Show Footer", + "maskClosable": "Click Outside to Close", + "showMask": "Show Mask" }, "autoHeightProp": { "auto": "Auto", @@ -194,141 +194,141 @@ "top": "Top", "align": "Alignment", "width": "Width", - "widthTooltip": "Width of the label. It supports percentage of the component width (%), pixels (px)" + "widthTooltip": "Label width supports percentages (%) and pixels (px)." }, "eventHandler": { - "eventHandlers": "Event handlers", - "emptyEventHandlers": "No event handlers", - "incomplete": "Incomplete selection", + "eventHandlers": "Event Handlers", + "emptyEventHandlers": "No Event Handlers", + "incomplete": "Incomplete Selection", "inlineEventTitle": "On {eventName}", "event": "Event", "action": "Action", - "noSelect": "No select", - "runQuery": "Run query", - "selectQuery": "Select query", - "controlComp": "Control component", + "noSelect": "No Selection", + "runQuery": "Run a Data Query", + "selectQuery": "Select Data Query", + "controlComp": "Control a Component", "runScript": "Run JavaScript", - "runScriptPlaceHolder": "Write code here", + "runScriptPlaceHolder": "Write Code Here", "component": "Component", "method": "Method", - "setTempState": "Set temporary state", + "setTempState": "Set a Temporary State value", "state": "State", - "triggerModuleEvent": "Trigger module event", - "moduleEvent": "Module event", - "goToApp": "Go to app", - "queryParams": "Query params", - "hashParams": "Hash params", - "showNotification": "Show notification", + "triggerModuleEvent": "Trigger a Module Event", + "moduleEvent": "Module Event", + "goToApp": "Go to an other App", + "queryParams": "Query Parameters", + "hashParams": "Hash Parameters", + "showNotification": "Show a Notification", "text": "Text", "level": "Level", "duration": "Duration", - "notifyDurationTooltip": "Time unit can be s(second, default), ms (millisecond). Max duration is {max} seconds", - "goToURL": "Go to URL", - "openInNewTab": "Open in a new tab", - "copyToClipboard": "Copy to clipboard", + "notifyDurationTooltip": "Time unit can be 's' (second, default) or 'ms' (millisecond). Max duration is {max} seconds", + "goToURL": "Open a URL", + "openInNewTab": "Open in New Tab", + "copyToClipboard": "Copy a value to Clipboard", "copyToClipboardValue": "Value", - "export": "Export data", - "exportNoFileType": "No select (optional)", - "fileName": "File name", - "fileNameTooltip": "Support extension to specify the file type, like image.png.", - "fileType": "File type", - "condition": "Only run when", - "conditionTooltip": "Only run the event handler when this condition evaluates to 'true'", - "debounce": "Debounce", - "throttle": "Throttle", - "slowdownTooltip": "Use debounce or throttle to control how often the action is triggered. Time unit can be ms (millisecond, default), s (second).", - "notHandledError": "Not handled", + "export": "Export Data", + "exportNoFileType": "No Selection (Optional)", + "fileName": "File Name", + "fileNameTooltip": "Include extension to specify file type, e.g., 'image.png'", + "fileType": "File Type", + "condition": "Run Only When...", + "conditionTooltip": "Run the event handler only when this condition evaluates to 'true'", + "debounce": "Debounce for", + "throttle": "Throttle for", + "slowdownTooltip": "Use debounce or throttle to control the frequency of action triggers. Time unit can be 'ms' (millisecond, default) or 's' (second).", + "notHandledError": "Not Handled", "currentApp": "Current" }, "event": { "submit": "Submit", - "submitDesc": "Triggers on submit", + "submitDesc": "Triggers on Submit", "change": "Change", - "changeDesc": "Triggers on value changes", + "changeDesc": "Triggers on Value Changes", "focus": "Focus", - "focusDesc": "Triggers on focus", + "focusDesc": "Triggers on Focus", "blur": "Blur", - "blurDesc": "Triggers on blur", + "blurDesc": "Triggers on Blur", "click": "Click", - "clickDesc": "Triggers on click", + "clickDesc": "Triggers on Click", "close": "Close", - "closeDesc": "Triggers on close", + "closeDesc": "Triggers on Close", "parse": "Parse", - "parseDesc": "Triggers on parse", + "parseDesc": "Triggers on Parse", "success": "Success", - "successDesc": "Triggers on success", + "successDesc": "Triggers on Success", "delete": "Delete", - "deleteDesc": "Triggers on delete", - "mention": "mention", - "mentionDesc": "Triggers on mention" + "deleteDesc": "Triggers on Delete", + "mention": "Mention", + "mentionDesc": "Triggers on Mention" }, "themeDetail": { - "primary": "Brand color", - "primaryDesc": "Most components use the default primary color", - "textDark": "Text dark color", - "textDarkDesc": "Apply when the background color is light", - "textLight": "Text light color", - "textLightDesc": "Apply when the background color is dark", - "canvas": "Canvas color", - "canvasDesc": "The default background color of the app", - "primarySurface": "Container color", - "primarySurfaceDesc": "The default background color for components such as tables", - "borderRadius": "Border radius", - "borderRadiusDesc": "Most components use the default border radius", - "chart": "Chart style", - "chartDesc": "Input Echarts", + "primary": "Brand Color", + "primaryDesc": "Default primary color used by most components", + "textDark": "Dark Text Color", + "textDarkDesc": "Used when the background color is light", + "textLight": "Light Text Color", + "textLightDesc": "Used when the background color is dark", + "canvas": "Canvas Color", + "canvasDesc": "Default background color of the app", + "primarySurface": "Container Color", + "primarySurfaceDesc": "Default background color for components like tables", + "borderRadius": "Border Radius", + "borderRadiusDesc": "Default border radius used by most components", + "chart": "Chart Style", + "chartDesc": "Input for Echarts", "echartsJson": "Theme JSON", "margin": "Margin", - "marginDesc": "The default margin is typically used for most components", + "marginDesc": "Default margin typically used for most components", "padding": "Padding", - "paddingDesc": "The default padding is typically used for most components", + "paddingDesc": "Default padding typically used for most components", "containerheaderpadding": "Header Padding", - "containerheaderpaddingDesc": "The default headerpadding is typically used for most components", + "containerheaderpaddingDesc": "Default header padding typically used for most components", "gridColumns": "Grid Columns", - "gridColumnsDesc": "The default number of columns is typically used for most containers" + "gridColumnsDesc": "Default number of columns typically used for most containers" }, "style": { - "resetTooltip": "Reset styles. Delete the input's value to reset an individual field.", - "textColor": "Text color", - "contrastText": "Contrast text color", + "resetTooltip": "Reset styles. Clear the input field to reset an individual style.", + "textColor": "Text Color", + "contrastText": "Contrast Text Color", "generated": "Generated", "customize": "Customize", - "staticText": "Static text", + "staticText": "Static Text", "accent": "Accent", - "validate": "Validation message", - "border": "Border color", - "borderRadius": "Border radius", - "borderWidth": "Border width", + "validate": "Validation Message", + "border": "Border Color", + "borderRadius": "Border Radius", + "borderWidth": "Border Width", "background": "Background", - "headerBackground": "Header background", - "footerBackground": "Footer background", + "headerBackground": "Header Background", + "footerBackground": "Footer Background", "fill": "Fill", "track": "Track", "links": "Links", "thumb": "Thumb", - "thumbBorder": "Thumb border", + "thumbBorder": "Thumb Border", "checked": "Checked", "unchecked": "Unchecked", "handle": "Handle", "tags": "Tags", - "tagsText": "Tags text", - "multiIcon": "Multiselect icon", - "tabText": "Tab text", - "tabAccent": "Tab accent", - "checkedBackground": "Checked background", - "uncheckedBackground": "Unchecked background", - "uncheckedBorder": "Unchecked border", - "indicatorBackground": "Indicator background", - "tableCellText": "Cell text", - "selectedRowBackground": "Selected row background", - "hoverRowBackground": "Hover row background", - "alternateRowBackground": "Alternate row background", - "tableHeaderBackground": "Header background", - "tableHeaderText": "Header text", - "toolbarBackground": "Toolbar background", - "toolbarText": "Toolbar text", + "tagsText": "Tags Text", + "multiIcon": "Multiselect Icon", + "tabText": "Tab Text", + "tabAccent": "Tab Accent", + "checkedBackground": "Checked Background", + "uncheckedBackground": "Unchecked Background", + "uncheckedBorder": "Unchecked Border", + "indicatorBackground": "Indicator Background", + "tableCellText": "Cell Text", + "selectedRowBackground": "Selected Row Background", + "hoverRowBackground": "Hover Row Background", + "alternateRowBackground": "Alternate Row Background", + "tableHeaderBackground": "Header Background", + "tableHeaderText": "Header Text", + "toolbarBackground": "Toolbar Background", + "toolbarText": "Toolbar Text", "pen": "Pen", - "footerIcon": "Footer icon", + "footerIcon": "Footer Icon", "tips": "Tips", "margin": "Margin", "padding": "Padding", @@ -341,88 +341,88 @@ "containerbodypadding": "Body Padding", "minWidth": "Minimum Width", "aspectRatio": "Aspect Ratio", - "textSize": "Text size" + "textSize": "Text Size" }, "export": { "hiddenDesc": "If true, the component is hidden", - "disabledDesc": "If true, the component will be greyed out and non-interactive", + "disabledDesc": "If true, the component is disabled and non-interactive", "visibleDesc": "If true, the component is visible", "inputValueDesc": "Current value of the input", - "invalidDesc": "Whether the value is invalid", - "placeholderDesc": "Text to display when no value is set", - "requiredDesc": "If true, a valid value must be provided", + "invalidDesc": "Indicates whether the value is invalid", + "placeholderDesc": "Placeholder text when no value is set", + "requiredDesc": "If true, a valid value is required", "submitDesc": "Submit Form", "richTextEditorValueDesc": "Current value of the Editor", "richTextEditorReadOnlyDesc": "If true, the Editor is read-only", - "richTextEditorHideToolBarDesc": "If true, thr toolbar is hidden", - "jsonEditorDesc": "Current json data", + "richTextEditorHideToolBarDesc": "If true, the toolbar is hidden", + "jsonEditorDesc": "Current JSON data", "sliderValueDesc": "Currently selected value", - "sliderMaxValueDesc": "The maximum value of the current interval", - "sliderMinValueDesc": "The minimum value of the current interval", - "sliderStartDesc": "The value of the currently selected starting point", - "sliderEndDesc": "The value of the currently selected end point", - "ratingValueDesc": "The currently selected score", - "ratingMaxDesc": "The maximum score currently set", + "sliderMaxValueDesc": "Maximum value of the slider", + "sliderMinValueDesc": "Minimum value of the slider", + "sliderStartDesc": "Value of the selected starting point", + "sliderEndDesc": "Value of the selected end point", + "ratingValueDesc": "Currently selected rating", + "ratingMaxDesc": "Maximum rating value", "datePickerValueDesc": "Currently selected date", - "datePickerFormattedValueDesc": "Formatted selected date according to the specified format", - "datePickerTimestampDesc": "The currently selected timestamp of the date (s)", - "dateRangeStartDesc": "Currently selected start date", - "dateRangeEndDesc": "Currently selected end date", - "dateRangeStartTimestampDesc": "The currently selected timestamp of the start date (s)", - "dateRangeEndTimestampDesc": "The currently selected timestamp of the end date (s)", - "dateRangeFormattedValueDesc": "Formatted selected date according to the specified format", - "dateRangeFormattedStartValueDesc": "Formatted start date according to the specified format", - "dateRangeFormattedEndValueDesc": "Formatted end date according to the specified format", + "datePickerFormattedValueDesc": "Formatted selected date", + "datePickerTimestampDesc": "Timestamp of the selected date", + "dateRangeStartDesc": "Start date of the range", + "dateRangeEndDesc": "End date of the range", + "dateRangeStartTimestampDesc": "Timestamp of the start date", + "dateRangeEndTimestampDesc": "Timestamp of the end date", + "dateRangeFormattedValueDesc": "Formatted date range", + "dateRangeFormattedStartValueDesc": "Formatted start date", + "dateRangeFormattedEndValueDesc": "Formatted end date", "timePickerValueDesc": "Currently selected time", - "timePickerFormattedValueDesc": "Formatted selected time according to the specified format", - "timeRangeStartDesc": "Currently selected start time", - "timeRangeEndDesc": "Currently selected end time", - "timeRangeFormattedValueDesc": "Formatted selected time according to the specified format", - "timeRangeFormattedStartValueDesc": "Formatted start time according to the specified format", - "timeRangeFormattedEndValueDesc": "Formatted end time according to the specified format" + "timePickerFormattedValueDesc": "Formatted selected time", + "timeRangeStartDesc": "Start time of the range", + "timeRangeEndDesc": "End time of the range", + "timeRangeFormattedValueDesc": "Formatted time range", + "timeRangeFormattedStartValueDesc": "Formatted start time", + "timeRangeFormattedEndValueDesc": "Formatted end time" }, "validationDesc": { "email": "Please enter a valid email address", "url": "Please enter a valid URL", - "regex": "Please enter the content that matches the regex", - "maxLength": "Excessive number of characters, current length {length}, maximum length {maxLength}", - "minLength": "Insufficient number of characters, current length {length}, minimum length {minLength}", - "maxValue": "Greater than the maximum, current {value}, maximum {max}", - "minValue": "Less than the minimum, current {value}, minimum {min}", - "maxTime": "Greater than the maximum time, current time {time}, the maximum time {maxTime}", - "minTime": "Less than the minimum time, current time {time}, the minimum time {minTime}", - "maxDate": "Greater than maximum date, current time {date}, maximum date {maxDate}", - "minDate": "Less than minimum date, current time {date}, minimum date {minDate}" + "regex": "Please match the specified pattern", + "maxLength": "Too many characters, current: {length}, maximum: {maxLength}", + "minLength": "Not enough characters, current: {length}, minimum: {minLength}", + "maxValue": "Value exceeds maximum, current: {value}, maximum: {max}", + "minValue": "Value below minimum, current: {value}, minimum: {min}", + "maxTime": "Time exceeds maximum, current: {time}, maximum: {maxTime}", + "minTime": "Time below minimum, current: {time}, minimum: {minTime}", + "maxDate": "Date exceeds maximum, current: {date}, maximum: {maxDate}", + "minDate": "Date below minimum, current: {date}, minimum: {minDate}" }, "query": { - "noQueries": "No queries available. ", + "noQueries": "No Data Queries available.", "queryTutorialButton": "View {value} documents", - "datasource": "Data sources", - "newDatasource": "New data source", + "datasource": "Your Data Sources", + "newDatasource": "New Data Source", "generalTab": "General", "notificationTab": "Notification", "advancedTab": "Advanced", - "showFailNotification": "Show notification on failure", - "failCondition": "Failure conditions", - "failConditionTooltip1": "Customizes failure condition and corresponding notification.", - "failConditionTooltip2": "If any condition returns true, the query will be marked as failure and triggers corresponding notification.", - "showSuccessNotification": "Show notification on success", - "successMessageLabel": "Success message", - "successMessage": "Run success", + "showFailNotification": "Show Notification on Failure", + "failCondition": "Failure Conditions", + "failConditionTooltip1": "Customize failure conditions and corresponding notifications.", + "failConditionTooltip2": "If any condition returns true, the query is marked as failed and triggers the corresponding notification.", + "showSuccessNotification": "Show Notification on Success", + "successMessageLabel": "Success Message", + "successMessage": "Run Successful", "notifyDuration": "Duration", - "notifyDurationTooltip": "Notification duration. Time unit can be s(second, default), ms(millisecond). Default value is {default}s. Maximum is {max}s.", - "successMessageWithName": "{name} run success", + "notifyDurationTooltip": "Notification duration. Time unit can be 's' (second, default) or 'ms' (millisecond). Default value is {default}s. Maximum is {max}s.", + "successMessageWithName": "{name} run successful", "failMessageWithName": "{name} run failed: {result}", - "showConfirmationModal": "Show a confirmation modal before running", - "confirmationMessageLabel": "Confirmation message", - "confirmationMessage": "Are you sure you want to run this query?", - "newQuery": "New query", + "showConfirmationModal": "Show Confirmation Modal Before Running", + "confirmationMessageLabel": "Confirmation Message", + "confirmationMessage": "Are you sure you want to run this Data Query?", + "newQuery": "New Data Query", "newFolder": "New Folder", - "recentlyUsed": "Recently used", + "recentlyUsed": "Recently Used", "folder": "Folder", "folderNotEmpty": "Folder is not empty", - "dataResponder": "Data responder", - "tempState": "Temporary state", + "dataResponder": "Data Responder", + "tempState": "Temporary State", "transformer": "Transformer", "quickRestAPI": "REST Query", "quickStreamAPI": "Stream Query", @@ -431,141 +431,141 @@ "executeJSCode": "Run JavaScript Code", "importFromQueryLibrary": "Import from Query Library", "importFromFile": "Import from File", - "triggerType": "Triggered when", - "triggerTypeAuto": "Inputs change or on page load", - "triggerTypePageLoad": "On page load", - "triggerTypeManual": "Manually invoked", - "chooseDataSource": "Data source", + "triggerType": "Triggered when...", + "triggerTypeAuto": "Inputs Change or On Page Load", + "triggerTypePageLoad": "When the Application (Page) loads", + "triggerTypeManual": "Only when you trigger it manually", + "chooseDataSource": "Choose Data Source", "method": "Method", - "updateExceptionDataSourceTitle": "Update failing data source", + "updateExceptionDataSourceTitle": "Update Failing Data Source", "updateExceptionDataSourceContent": "Update the following query with the same failing data source:", "update": "Update", - "disablePreparedStatement": "Disable prepared statements", - "disablePreparedStatementTooltip": "Disabling prepared statements can generate SQL dynamically, but risks SQL injection", - "timeout": "Timeout after", - "timeoutTooltip": "Default unit: ms, supported input units: ms, s.\nDefault value: {defaultSeconds} seconds\nMaximum value: {maxSeconds} seconds.\n\nE.g. 300 (i.e. 300ms), 800ms, 5s.", - "periodic": "Run this query periodically", + "disablePreparedStatement": "Disable Prepared Statements", + "disablePreparedStatementTooltip": "Disabling prepared statements can generate dynamic SQL, but increases the risk of SQL injection", + "timeout": "Timeout After", + "timeoutTooltip": "Default unit: ms. Supported input units: ms, s. Default value: {defaultSeconds} seconds. Maximum value: {maxSeconds} seconds. E.g., 300 (i.e., 300ms), 800ms, 5s.", + "periodic": "Run This Data Query Periodically", "periodicTime": "Period", - "periodicTimeTooltip": "Period between successive executions. \nDefault unit: ms, supported input units: ms, s.\nMinimum value: 100ms, periodical execution will be disabled for values below that.\n\nE.g. 300 (i.e. 300ms), 800ms, 5s.", - "cancelPrevious": "Ignore the results of previous uncompleted executions.", - "cancelPreviousTooltip": "", + "periodicTimeTooltip": "Period between successive executions. Default unit: ms. Supported input units: ms, s. Minimum value: 100ms. Periodical execution is disabled for values below 100ms. E.g., 300 (i.e., 300ms), 800ms, 5s.", + "cancelPrevious": "Ignore Results of Previous Uncompleted Executions", + "cancelPreviousTooltip": "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if they did not complete, and these ignored executions will not trigger the event list of the query.", "dataSourceStatusError": "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if the previous executions did not complete, and the ignored executions will not trigger the event list of the query.", "success": "Success", "fail": "Failure", - "successDesc": "Triggered when the execution success", - "failDesc": "Triggered when the execution failed", - "fixedDelayError": "Query not run", - "execSuccess": "run success", - "execFail": "run failed", - "execIgnored": "The results of this query was ignored.", - "deleteSuccessMessage": "Successfully deleted. You can use {undoKey} to undo.", - "dataExportDesc": "Data obtained by the current query", - "codeExportDesc": "Current query status code", - "successExportDesc": "Whether the current query was executed successfully", - "messageExportDesc": "Information returned by the current query", - "extraExportDesc": "Other data in the current query", - "isFetchingExportDesc": "Is the current query in the request", - "runTimeExportDesc": "Current query execution time (ms)", - "latestEndTimeExportDesc": "Last run time", - "triggerTypeExportDesc": "Trigger type", - "chooseResource": "Choose a resource", - "createDataSource": "Create a new data source", + "successDesc": "Triggered When Execution is Successful", + "failDesc": "Triggered When Execution Fails", + "fixedDelayError": "Query Not Run", + "execSuccess": "Run Successful", + "execFail": "Run Failed", + "execIgnored": "The Results of This Query Were Ignored", + "deleteSuccessMessage": "Successfully Deleted. You Can Use {undoKey} to Undo", + "dataExportDesc": "Data Obtained by the Current Query", + "codeExportDesc": "Current Query Status Code", + "successExportDesc": "Whether the Current Query Was Executed Successfully", + "messageExportDesc": "Information Returned by the Current Query", + "extraExportDesc": "Other Data in the Current Query", + "isFetchingExportDesc": "Is the Current Query in the Request", + "runTimeExportDesc": "Current Query Execution Time (ms)", + "latestEndTimeExportDesc": "Last Run Time", + "triggerTypeExportDesc": "Trigger Type", + "chooseResource": "Choose a Resource", + "createDataSource": "Create a New Data Source", "editDataSource": "Edit", "datasourceName": "Name", - "datasourceNameRuleMessage": "Please enter a data source name", - "generalSetting": "General settings", - "advancedSetting": "Advanced settings", + "datasourceNameRuleMessage": "Please Enter a Data Source Name", + "generalSetting": "General Settings", + "advancedSetting": "Advanced Settings", "port": "Port", - "portRequiredMessage": "Please enter a port", - "portErrorMessage": "Please enter a correct port", + "portRequiredMessage": "Please Enter a Port", + "portErrorMessage": "Please Enter a Correct Port", "connectionType": "Connection Type", "regular": "Regular", "host": "Host", - "hostRequiredMessage": "Please enter a host domain name or IP address", - "userName": "User name", + "hostRequiredMessage": "Please Enter a Host Domain Name or IP Address", + "userName": "User Name", "password": "Password", - "encryptedServer": "-------- Encrypted on the server side --------", - "uriRequiredMessage": "Please enter a URI", - "urlRequiredMessage": "Please enter a URL", - "uriErrorMessage": "Please enter a correct URI", - "urlErrorMessage": "Please enter a correct URL", - "httpRequiredMessage": "Please enter http:// or https://", - "databaseName": "Database name", - "databaseNameRequiredMessage": "Please enter a database name", + "encryptedServer": "-------- Encrypted on the Server Side --------", + "uriRequiredMessage": "Please Enter a URI", + "urlRequiredMessage": "Please Enter a URL", + "uriErrorMessage": "Please Enter a Correct URI", + "urlErrorMessage": "Please Enter a Correct URL", + "httpRequiredMessage": "Please Enter http:// or https://", + "databaseName": "Database Name", + "databaseNameRequiredMessage": "Please Enter a Database Name", "useSSL": "Use SSL", - "userNameRequiredMessage": "Please enter your name", - "passwordRequiredMessage": "Please enter your password", + "userNameRequiredMessage": "Please Enter Your Name", + "passwordRequiredMessage": "Please Enter Your Password", "authentication": "Authentication", "authenticationType": "Authentication Type", "sslCertVerificationType": "SSL Cert Verification", "sslCertVerificationTypeDefault": "Verify CA Cert", - "sslCertVerificationTypeSelf": "Verify Self Signed Cert", + "sslCertVerificationTypeSelf": "Verify Self-Signed Cert", "sslCertVerificationTypeDisabled": "Disabled", - "selfSignedCert": "Self-signed Cert", - "selfSignedCertRequireMsg": "Please enter your Certificate", - "enableTurnOffPreparedStatement": "Enable toggling prepared statements for queries", - "enableTurnOffPreparedStatementTooltip": "You can enable or disable prepared statements in query Advanced tab", - "serviceName": "Service name", - "serviceNameRequiredMessage": "Please enter your service name", + "selfSignedCert": "Self-Signed Cert", + "selfSignedCertRequireMsg": "Please Enter Your Certificate", + "enableTurnOffPreparedStatement": "Enable Toggling Prepared Statements for Queries", + "enableTurnOffPreparedStatementTooltip": "You can enable or disable prepared statements in the query's Advanced tab", + "serviceName": "Service Name", + "serviceNameRequiredMessage": "Please Enter Your Service Name", "useSID": "Use SID", - "connectSuccessfully": "Connection successful", - "saveSuccessfully": "Saved", + "connectSuccessfully": "Connection Successful", + "saveSuccessfully": "Saved Successfully", "database": "Database", - "cloudHosting": "Cloud-hosted Lowcoder cannot access your local services with 127.0.0.1 or localhost. Try to connect public network data sources or use a reverse proxy fronting your private services.", - "notCloudHosting": "For docker hosted deployment, Lowcoder uses bridge networks, so 127.0.0.1 and localhost are invalid for host addresses. To visit data sources on your local machine, please refer to this", - "howToAccessHostDocLink": "How do I access the host API/DB", + "cloudHosting": "Cloud-hosted Lowcoder cannot access local services using 127.0.0.1 or localhost. Try connecting to public network data sources or use a reverse proxy for private services.", + "notCloudHosting": "For docker-hosted deployment, Lowcoder uses bridge networks, so 127.0.0.1 and localhost are invalid for host addresses. To access local machine data sources, refer to", + "howToAccessHostDocLink": "How to Access Host API/DB", "returnList": "Return", - "chooseDatasourceType": "Choose data source type", - "viewDocuments": "Documents", - "testConnection": "Test connection", + "chooseDatasourceType": "Choose Data Source Type", + "viewDocuments": "View Documents", + "testConnection": "Test Connection", "save": "Save", "whitelist": "Allowlist", - "whitelistTooltip": "Add the following IP addresses of Lowcoder to your data source allowlist when needed.", + "whitelistTooltip": "Add Lowcoder's IP addresses to your data source allowlist as needed.", "address": "Address: ", - "nameExists": "Name {name} already exist", - "jsQueryDocLink": "About JavaScript query", - "dynamicDataSourceConfigLoadingText": "Extra datasource config loading...", - "dynamicDataSourceConfigErrText": "Fail to load extra datasource config.", + "nameExists": "Name {name} already exists", + "jsQueryDocLink": "About JavaScript Query", + "dynamicDataSourceConfigLoadingText": "Loading extra datasource configuration...", + "dynamicDataSourceConfigErrText": "Failed to load extra datasource configuration.", "retry": "Retry" }, "sqlQuery": { - "keyValuePairs": "Key-value pairs", + "keyValuePairs": "Key-Value Pairs", "object": "Object", - "allowMultiModify": "Allow modify multi-row", - "allowMultiModifyTooltip": "If this parameter is selected, all rows that meet the conditions are operated. Otherwise, only the first row that meets the conditions is operated", + "allowMultiModify": "Allow Multi-Row Modification", + "allowMultiModifyTooltip": "If selected, all rows meeting the conditions are operated on. Otherwise, only the first row meeting the conditions is operated on.", "array": "Array", - "insertList": "Insert list", - "insertListTooltip": "Value inserted when it does not exist", - "filterRule": "Filter rule", - "updateList": "Update list", + "insertList": "Insert List", + "insertListTooltip": "Values inserted when they do not exist", + "filterRule": "Filter Rule", + "updateList": "Update List", "updateListTooltip": "Values updated as they exist can be overridden by the same insertion list values", - "sqlMode": "SQL mode", - "guiMode": "GUI mode", + "sqlMode": "SQL Mode", + "guiMode": "GUI Mode", "operation": "Operation", "insert": "Insert", - "upsert": "Insert, update if conflict", + "upsert": "Insert, but Update if Conflict", "update": "Update", "delete": "Delete", - "bulkInsert": "Bulk insert", - "bulkUpdate": "Bulk update", + "bulkInsert": "Bulk Insert", + "bulkUpdate": "Bulk Update", "table": "Table", - "primaryKeyColumn": "Primary key column" + "primaryKeyColumn": "Primary Key Column" }, "EsQuery": { - "rawCommand": "Raw command", - "queryTutorialButton": "View Elasticsearch API documents", + "rawCommand": "Raw Command", + "queryTutorialButton": "View Elasticsearch API Documents", "request": "Request" }, "googleSheets": { "rowIndex": "Row Index", - "spreadsheetId": "Spreadsheet", + "spreadsheetId": "Spreadsheet ID", "sheetName": "Sheet Name", "readData": "Read Data", "appendData": "Append Row", "updateData": "Update Row", "deleteData": "Delete Row", "clearData": "Clear Row", - "serviceAccountRequireMessage": "Please enter your Service Account", + "serviceAccountRequireMessage": "Please Enter Your Service Account", "ASC": "ASC", "DESC": "DESC", "sort": "Sort", @@ -573,337 +573,401 @@ }, "queryLibrary": { "export": "Export to JSON", - "noInput": "The current query has no input", + "noInput": "The Current Query Has No Input", "inputName": "Name", "inputDesc": "Description", - "emptyInputs": "No inputs", + "emptyInputs": "No Inputs", "clickToAdd": "Add", - "chooseQuery": "Choose query", - "viewQuery": "View query", - "chooseVersion": "Choose version", + "chooseQuery": "Choose Query", + "viewQuery": "View Query", + "chooseVersion": "Choose Version", "latest": "Latest", "publish": "Publish", - "historyVersion": "History version", - "deleteQueryLabel": "Delete query", - "deleteQueryContent": "The query can't be recovered after being deleted. Delete the query?", + "historyVersion": "History Version", + "deleteQueryLabel": "Delete Query", + "deleteQueryContent": "The query cannot be recovered after deletion. Delete the query?", "run": "Run", - "readOnly": "Read only", + "readOnly": "Read Only", "exit": "Exit", - "recoverAppSnapshotContent": "Restore the current query to the version {version}", - "searchPlaceholder": "Search query", - "allQuery": "All queries", - "deleteQueryTitle": "Delete query", + "recoverAppSnapshotContent": "Restore the current query to version {version}", + "searchPlaceholder": "Search Query", + "allQuery": "All Queries", + "deleteQueryTitle": "Delete Query", "unnamed": "Unnamed", - "publishNewVersion": "Publish new version", - "publishSuccess": "Published", + "publishNewVersion": "Publish New Version", + "publishSuccess": "Published Successfully", "version": "Version", "desc": "Description" }, "snowflake": { "accountIdentifierTooltip": "See ", - "extParamsTooltip": "Configure more connection parameters" + "extParamsTooltip": "Configure Additional Connection Parameters" }, "lowcoderQuery": { - "queryOrgUsers": "Query workspace users" + "queryOrgUsers": "Query Workspace Users" }, "redisQuery": { - "rawCommand": "Raw command", + "rawCommand": "Raw Command", "command": "Command", - "queryTutorial": "View Redis Commands documents" + "queryTutorial": "View Redis Commands Documents" }, "httpQuery": { - "bodyFormDataTooltip": "If you select {type}, the format of value should be {object}. Example: {example}", + "bodyFormDataTooltip": "If {type} is selected, the value format should be {object}. Example: {example}", "text": "Text", "file": "File", - "extraBodyTooltip": "Key values in Extra body will be appended in body with JSON or Form Data types", - "forwardCookies": "Forward cookies", - "forwardAllCookies": "Forward all cookies" + "extraBodyTooltip": "Key-values in Extra Body will be appended to the body with JSON or Form Data types", + "forwardCookies": "Forward Cookies", + "forwardAllCookies": "Forward All Cookies" }, "smtpQuery": { "attachment": "Attachment", - "attachmentTooltip": "Can use with file upload component, need convert data to: ", + "attachmentTooltip": "Can be used with file upload component, data needs to be converted to: ", "MIMETypeUrl": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", "sender": "Sender", "recipient": "Recipient", - "carbonCopy": "Carbon copy", - "blindCarbonCopy": "Blind carbon copy", + "carbonCopy": "Carbon Copy", + "blindCarbonCopy": "Blind Carbon Copy", "subject": "Subject", "content": "Content", - "contentTooltip": "Support for input text or HTML" + "contentTooltip": "Supports input text or HTML" }, "uiCompCategory": { "dashboards": "Dashboards & Reporting", "layout": "Layout & Navigation", - "forms": "Data Collection and Forms", + "forms": "Data Collection & Forms", "collaboration": "Meeting & Collaboration", "projectmanagement": "Project Management", - "scheduling": "Calendar and Scheduling", - "documents": "Document and File Management", - "itemHandling": "Item & Signature handling", + "scheduling": "Calendar & Scheduling", + "documents": "Document & File Management", + "itemHandling": "Item & Signature Handling", "multimedia": "Multimedia & Animation", "integration": "Integration & Extension" }, "uiComp": { "autoCompleteCompName": "Auto Complete", - "autoCompleteCompDesc": "Auto Complete input field", + "autoCompleteCompDesc": "An input field that provides suggestions as you type, enhancing user experience and accuracy.", + "autoCompleteCompKeywords": "suggestions, autocomplete, typing, input", + "inputCompName": "Input", - "inputCompDesc": "Text Input field", - "inputCompKeywords": "text, textinput, input", + "inputCompDesc": "A basic text input field allowing users to enter and edit text.", + "inputCompKeywords": "text, input, field, edit", + "textAreaCompName": "Text Area", - "textAreaCompDesc": "Text Area", - "textAreaCompKeywords": "", + "textAreaCompDesc": "A multi-line text input for longer form content, such as comments or descriptions.", + "textAreaCompKeywords": "multiline, textarea, input, text", + "passwordCompName": "Password", - "passwordCompDesc": "Password field", - "passwordCompKeywords": "", + "passwordCompDesc": "A secure field for password input, masking the characters for privacy.", + "passwordCompKeywords": "password, security, input, hidden", + "richTextEditorCompName": "Rich Text Editor", - "richTextEditorCompDesc": "Embeded Rich Text Editor", - "richTextEditorCompKeywords": "Text editing, rich text, editor", + "richTextEditorCompDesc": "An advanced text editor supporting rich formatting options like bold, italics, and lists.", + "richTextEditorCompKeywords": "editor, text, formatting, rich content", + "numberInputCompName": "Number Input", - "numberInputCompDesc": "Number Input field", - "numberInputCompKeywords": "", + "numberInputCompDesc": "A field specifically for numerical input, with controls for incrementing and decrementing values.", + "numberInputCompKeywords": "number, input, increment, decrement", + "sliderCompName": "Slider", - "sliderCompDesc": "Slider component", - "sliderCompKeywords": "", + "sliderCompDesc": "A graphical slider component for selecting a value or range within a defined scale.", + "sliderCompKeywords": "slider, range, input, graphical", + "rangeSliderCompName": "Range Slider", - "rangeSliderCompDesc": "Range Slider input", - "rangeSliderCompKeywords": "", + "rangeSliderCompDesc": "A dual-handle slider to select a range of values, useful for filtering or setting limits.", + "rangeSliderCompKeywords": "range, slider, dual-handle, filter", + "ratingCompName": "Rating", - "ratingCompDesc": "Rating display and input", - "ratingCompKeywords": "", + "ratingCompDesc": "A component for capturing user ratings, displayed as stars.", + "ratingCompKeywords": "rating, stars, feedback, input", + "switchCompName": "Switch", - "switchCompDesc": "Switch display and input", - "switchCompKeywords": "", + "switchCompDesc": "A toggle switch for on/off or yes/no type decisions.", + "switchCompKeywords": "toggle, switch, on/off, control", + "selectCompName": "Select", - "selectCompDesc": "Select component", - "selectCompKeywords": "", + "selectCompDesc": "A dropdown menu for selecting from a list of options.", + "selectCompKeywords": "dropdown, select, options, menu", + "multiSelectCompName": "Multiselect", - "multiSelectCompDesc": "Multiselect component", - "multiSelectCompKeywords": "", + "multiSelectCompDesc": "A component that allows selection of multiple items from a dropdown list.", + "multiSelectCompKeywords": "multiselect, multiple, dropdown, choices", + "cascaderCompName": "Cascader", - "cascaderCompDesc": "Cascader component", - "cascaderCompKeywords": "", + "cascaderCompDesc": "A multi-level dropdown for hierarchical data selection, such as selecting a location.", + "cascaderCompKeywords": "cascader, hierarchical, dropdown, levels", + "checkboxCompName": "Checkbox", - "checkboxCompDesc": "Checkbox component", - "checkboxCompKeywords": "", + "checkboxCompDesc": "A standard checkbox for options that can be selected or deselected.", + "checkboxCompKeywords": "checkbox, options, select, toggle", + "radioCompName": "Radio", - "radioCompDesc": "Radio component", - "radioCompKeywords": "", + "radioCompDesc": "Radio buttons for selecting one option from a set, where only one choice is allowed.", + "radioCompKeywords": "radio, buttons, select, single choice", + "segmentedControlCompName": "Segmented Control", - "segmentedControlCompDesc": "Segmented Control component", - "segmentedControlCompKeywords": "", + "segmentedControlCompDesc": "A control with segmented options for quickly toggling between multiple choices.", + "segmentedControlCompKeywords": "segmented, control, toggle, options", + "fileUploadCompName": "File Upload", - "fileUploadCompDesc": "File Upload component", - "fileUploadCompKeywords": "", + "fileUploadCompDesc": "A component for uploading files, with support for drag-and-drop and file selection.", + "fileUploadCompKeywords": "file, upload, drag and drop, select", + "dateCompName": "Date", - "dateCompDesc": "Date component", - "dateCompKeywords": "", + "dateCompDesc": "A date picker component for selecting dates from a calendar interface.", + "dateCompKeywords": "date, picker, calendar, select", + "dateRangeCompName": "Date Range", - "dateRangeCompDesc": "Date Range component", - "dateRangeCompKeywords": "", + "dateRangeCompDesc": "A component for selecting a range of dates, useful for booking systems or filters.", + "dateRangeCompKeywords": "daterange, select, booking, filter", + "timeCompName": "Time", - "timeCompDesc": "Time component", - "timeCompKeywords": "", + "timeCompDesc": "A time selection component for choosing specific times of the day.", + "timeCompKeywords": "time, picker, select, clock", + "timeRangeCompName": "Time Range", - "timeRangeCompDesc": "Time Range component", - "timeRangeCompKeywords": "", + "timeRangeCompDesc": "A component for selecting a range of time, often used in scheduling applications.", + "timeRangeCompKeywords": "timerange, select, scheduling, duration", + "buttonCompName": "Form Button", - "buttonCompDesc": "Button component", - "buttonCompKeywords": "", + "buttonCompDesc": "A versatile button component for submitting forms, triggering actions, or navigating.", + "buttonCompKeywords": "button, submit, action, navigate", + "linkCompName": "Link", - "linkCompDesc": "Link component", - "linkCompKeywords": "", + "linkCompDesc": "A hyperlink display component for navigation or linking to external resources.", + "linkCompKeywords": "link, hyperlink, navigation, external", + "scannerCompName": "Scanner", - "scannerCompDesc": "Scanner component", - "scannerCompKeywords": "", + "scannerCompDesc": "A component for scanning barcodes, QR codes, and other similar data.", + "scannerCompKeywords": "scanner, barcode, QR code, scan", + "dropdownCompName": "Dropdown", - "dropdownCompDesc": "Dropdown component", - "dropdownCompKeywords": "", + "dropdownCompDesc": "A dropdown menu for compactly displaying a list of options.", + "dropdownCompKeywords": "dropdown, menu, options, select", + "toggleButtonCompName": "Toggle Button", - "toggleButtonCompDesc": "Toggle Button component", - "toggleButtonCompKeywords": "", + "toggleButtonCompDesc": "A button that can toggle between two states or options.", + "toggleButtonCompKeywords": "toggle, button, switch, state", + "textCompName": "Text Display", - "textCompDesc": "Text component", - "textCompKeywords": "", + "textCompDesc": "A simple component for displaying static or dynamic text content inclusive Markdown formatting.", + "textCompKeywords": "text, display, static, dynamic", + "tableCompName": "Table", - "tableCompDesc": "Table component", - "tableCompKeywords": "", + "tableCompDesc": "A rich table component for displaying data in a structured table format, with options for sorting and filtering, tree Data display and extensible Rows.", + "tableCompKeywords": "table, data, sorting, filtering", + "imageCompName": "Image", - "imageCompDesc": "Image component", - "imageCompKeywords": "", + "imageCompDesc": "A component for displaying images, supporting various formats based on URI or Base64 Data.", + "imageCompKeywords": "image, display, media, Base64", + "progressCompName": "Progress", - "progressCompDesc": "Progress component", - "progressCompKeywords": "", - "progressCircleCompName": "Process Circle", - "progressCircleCompDesc": "Process Circle component", - "progressCircleCompKeywords": "", + "progressCompDesc": "A visual indicator of progress, typically used to show the completion status of a task.", + "progressCompKeywords": "progress, indicator, status, task", + + "progressCircleCompName": "Progress Circle", + "progressCircleCompDesc": "A circular progress indicator, often used for loading states or time-bound tasks.", + "progressCircleCompKeywords": "circle, progress, indicator, loading", + "fileViewerCompName": "File Viewer", - "fileViewerCompDesc": "File Viewer component", - "fileViewerCompKeywords": "", + "fileViewerCompDesc": "A component for viewing various types of files, including documents and images.", + "fileViewerCompKeywords": "file, viewer, document, image", + "dividerCompName": "Divider", - "dividerCompDesc": "Divider component", - "dividerCompKeywords": "", + "dividerCompDesc": "A visual divider component, used to separate content or sections in a layout.", + "dividerCompKeywords": "divider, separator, layout, design", + "qrCodeCompName": "QR Code", - "qrCodeCompDesc": "QR Code component", - "qrCodeCompKeywords": "", + "qrCodeCompDesc": "A component for displaying QR codes, useful for quick scanning and information transfer.", + "qrCodeCompKeywords": "QR code, scanning, barcode, information", + "formCompName": "Form", - "formCompDesc": "Form component", - "formCompKeywords": "", + "formCompDesc": "A container component for building structured forms with various input types.", + "formCompKeywords": "form, input, container, structure", + "jsonSchemaFormCompName": "JSON Schema Form", - "jsonSchemaFormCompDesc": "JSON Schema Form component", - "jsonSchemaFormCompKeywords": "", + "jsonSchemaFormCompDesc": "A dynamic form component generated based on a JSON schema.", + "jsonSchemaFormCompKeywords": "JSON, schema, form, dynamic", + "containerCompName": "Container", - "containerCompDesc": "Container component", - "containerCompKeywords": "", + "containerCompDesc": "A general-purpose container for layout and organization of UI elements.", + "containerCompKeywords": "container, layout, organization, UI", + "collapsibleContainerCompName": "Collapsible Container", - "collapsibleContainerCompDesc": "Collapsible Container component", - "collapsibleContainerCompKeywords": "", + "collapsibleContainerCompDesc": "A container that can be expanded or collapsed, ideal for managing content visibility.", + "collapsibleContainerCompKeywords": "collapsible, container, expand, collapse", + "tabbedContainerCompName": "Tabbed Container", - "tabbedContainerCompDesc": "Tabbed Container component", - "tabbedContainerCompKeywords": "", + "tabbedContainerCompDesc": "A container with tabbed navigation for organizing content into separate panels.", + "tabbedContainerCompKeywords": "tabbed, container, navigation, panels", + "modalCompName": "Modal", - "modalCompDesc": "Modal component", - "modalCompKeywords": "", + "modalCompDesc": "A pop-up modal component for displaying content, alerts, or forms in focus.", + "modalCompKeywords": "modal, popup, alert, form", + "listViewCompName": "List View", - "listViewCompDesc": "List View component", - "listViewCompKeywords": "", + "listViewCompDesc": "A component for displaying a list of items or data, where you can place other components inside. Like a repeater.", + "listViewCompKeywords": "list, view, display, repeater", + "gridCompName": "Grid", - "gridCompDesc": "Grid component", - "gridCompKeywords": "", + "gridCompDesc": "A flexible grid component for creating structured layouts with rows and columns as an extension to the List View component.", + "gridCompKeywords": "grid, layout, rows, columns", + "navigationCompName": "Navigation", - "navigationCompDesc": "Navigation component", - "navigationCompKeywords": "", + "navigationCompDesc": "A navigation component for creating menus, breadcrumbs, or tabs for site navigation.", + "navigationCompKeywords": "navigation, menu, breadcrumbs, tabs", + "iframeCompName": "IFrame", - "iframeCompDesc": "IFrame component", - "iframeCompKeywords": "", + "iframeCompDesc": "An inline frame component for embedding external web pages and apps or content within the application.", + "iframeCompKeywords": "iframe, embed, web page, content", + "customCompName": "Custom Component", - "customCompDesc": "Custom Component", - "customCompKeywords": "", + "customCompDesc": "A flexible, programmable component for creating unique, user-defined UI elements tailored to your specific needs.", + "customCompKeywords": "custom, user-defined, flexible, programmable", + "moduleCompName": "Module", - "moduleCompDesc": "Module component", - "moduleCompKeywords": "", + "moduleCompDesc": "Use Modules to create Micro-Apps designed for encapsulating specific functionalities or features. Modules can be then embedded and reused across all Apps.", + "moduleCompKeywords": "module, micro-app, functionality, reusable", + "jsonExplorerCompName": "JSON Explorer", - "jsonExplorerCompDesc": "JSON Explorer component", - "jsonExplorerCompKeywords": "", + "jsonExplorerCompDesc": "A component for visually exploring and interacting with JSON data structures.", + "jsonExplorerCompKeywords": "JSON, explorer, data, structure", + "jsonEditorCompName": "JSON Editor", - "jsonEditorCompDesc": "JSON Editor component", - "jsonEditorCompKeywords": "", + "jsonEditorCompDesc": "An editor component for creating and modifying JSON data with validation and syntax highlighting.", + "jsonEditorCompKeywords": "JSON, editor, modify, validate", + "treeCompName": "Tree", - "treeCompDesc": "Tree component", - "treeCompKeywords": "", + "treeCompDesc": "A tree structure component for displaying hierarchical data, such as file systems or organizational charts.", + "treeCompKeywords": "tree, hierarchical, data, structure", + "treeSelectCompName": "Tree Select", - "treeSelectCompDesc": "Tree Select component", - "treeSelectCompKeywords": "", + "treeSelectCompDesc": "A selection component that presents options in a hierarchical tree format, allowing for organized and nested selections.", + "treeSelectCompKeywords": "tree, select, hierarchical, nested", + "audioCompName": "Audio", - "audioCompDesc": "Audio component", - "audioCompKeywords": "", + "audioCompDesc": "A component for embedding audio content, with controls for playback and volume adjustment.", + "audioCompKeywords": "audio, playback, sound, music", + "videoCompName": "Video", - "sharingCompName": "Sharing", - "videoCompDesc": "Video component", - "videoCompKeywords": "", + "videoCompDesc": "A multimedia component for embedding and playing video content, with support for various formats.", + "videoCompKeywords": "video, multimedia, playback, embed", + "drawerCompName": "Drawer", - "drawerCompDesc": "Drawer component", - "drawerCompKeywords": "", + "drawerCompDesc": "A sliding panel component that can be used for additional navigation or content display, typically emerging from the edge of the screen.", + "drawerCompKeywords": "drawer, sliding, panel, navigation", + "chartCompName": "Chart", - "chartCompDesc": "Chart component", - "chartCompKeywords": "", + "chartCompDesc": "A versatile component for visualizing data through various types of charts and graphs.", + "chartCompKeywords": "chart, graph, data, visualization", + "carouselCompName": "Image Carousel", - "carouselCompDesc": "Image Carousel component", - "carouselCompKeywords": "", + "carouselCompDesc": "A rotating carousel component for showcasing images, banners, or content slides.", + "carouselCompKeywords": "carousel, images, rotation, showcase", + "imageEditorCompName": "Image Editor", - "imageEditorCompDesc": "Image Editor component", - "imageEditorCompKeywords": "", + "imageEditorCompDesc": "An interactive component for editing and manipulating images, offering various tools and filters.", + "imageEditorCompKeywords": "image, editor, manipulate, tools", + "mermaidCompName": "Mermaid Charts", - "mermaidCompDesc": "Render Mermaid Charts based on text", - "mermaidCompKeywords": "", + "mermaidCompDesc": "A component for rendering complex diagrams and flowcharts based on Mermaid syntax.", + "mermaidCompKeywords": "mermaid, charts, diagrams, flowcharts", + "calendarCompName": "Calendar", - "calendarCompDesc": "Calendar component", - "calendarCompKeywords": "", + "calendarCompDesc": "A calendar component for displaying dates and events, with options for month, week, or day views.", + "calendarCompKeywords": "calendar, dates, events, scheduling", + "signatureCompName": "Signature", - "signatureCompDesc": "Signature component", - "signatureCompKeywords": "", + "signatureCompDesc": "A component for capturing digital signatures, useful for approvals and verification processes.", + "signatureCompKeywords": "signature, digital, approval, verification", + "jsonLottieCompName": "Lottie Animation", - "jsonLottieCompDesc": "Lottie Animation", - "jsonLottieCompKeywords": "", - "timelineCompName": "Time Line", - "timelineCompDesc": "Time Line", - "timelineCompKeywords": "", + "jsonLottieCompDesc": "A component for displaying Lottie animations, providing lightweight and scalable animations based on JSON data.", + "jsonLottieCompKeywords": "lottie, animation, JSON, scalable", + + "timelineCompName": "Timeline", + "timelineCompDesc": "A component for displaying events or actions in a chronological order, visually represented along a linear timeline.", + "timelineCompKeywords": "timeline, events, chronological, history", + "commentCompName": "Comment", - "commentCompDesc": "Comment", - "commentCompKeywords": "", - "mentionCompName": "mention", - "mentionCompDesc": "mention", - "mentionCompKeywords": "", - "autoCompleteCompKeywords": "", + "commentCompDesc": "A component for adding and displaying user comments, supporting threaded replies and user interaction.", + "commentCompKeywords": "comment, discussion, user interaction, feedback", + + "mentionCompName": "Mention", + "mentionCompDesc": "A component that supports mentioning users or tags within text content, typically used in social media or collaborative platforms.", + "mentionCompKeywords": "mention, tag, user, social media", + "responsiveLayoutCompName": "Responsive Layout", - "responsiveLayoutCompDesc": "Responsive Layout", - "responsiveLayoutCompKeywords": "" + "responsiveLayoutCompDesc": "A layout component designed to adapt and respond to different screen sizes and devices, ensuring a consistent user experience.", + "responsiveLayoutCompKeywords": "responsive, layout, adapt, screen size" }, "comp": { - "menuViewDocs": "View documentation", - "menuViewPlayground": "View playground", - "menuUpgradeToLatest": "Upgrade to latest version", - "nameNotEmpty": "Can not be empty", - "nameRegex": "Must start with a letter and contain only letters, digits, and underscores (_)", - "nameJSKeyword": "Can not be a Javascript keyword", - "nameGlobalVariable": "Can not be global variable name", - "nameExists": "Name {name} already exist", - "getLatestVersionMetaError": "Failed to fetch latest version, please try later.", - "needNotUpgrade": "Current version is already latest.", - "compNotFoundInLatestVersion": "Current component not found in the latest version.", - "upgradeSuccess": "Successfully upgraded to latest version.", + "menuViewDocs": "View Documentation", + "menuViewPlayground": "View interactive Playground", + "menuUpgradeToLatest": "Upgrade to Latest Version", + "nameNotEmpty": "Cannot Be Empty", + "nameRegex": "Must Start with a Letter and Contain Only Letters, Digits, and Underscores (_)", + "nameJSKeyword": "Cannot Be a JavaScript Keyword", + "nameGlobalVariable": "Cannot Be Global Variable Name", + "nameExists": "Name {name} Already Exists", + "getLatestVersionMetaError": "Failed to Fetch Latest Version, Please Try Later.", + "needNotUpgrade": "Current Version is Already Latest.", + "compNotFoundInLatestVersion": "Current Component Not Found in the Latest Version.", + "upgradeSuccess": "Successfully Upgraded to Latest Version.", "searchProp": "Search" }, "jsonSchemaForm": { "retry": "Retry", - "resetAfterSubmit": "Reset after successful submit", - "jsonSchema": "JSON schema", - "uiSchema": "UI schema", + "resetAfterSubmit": "Reset After Successful Form Submit", + "jsonSchema": "JSON Schema", + "uiSchema": "UI Schema", "schemaTooltip": "See", - "defaultData": "Default data", - "dataDesc": "Current form data", + "defaultData": "Pre-filled Form Data", + "dataDesc": "Current Form Data", "required": "Required", - "maximum": "The maximum value is {value}", - "minimum": "The minimum value is {value}", - "exclusiveMaximum": "Should be less than {value}", - "exclusiveMinimum": "Should be greater than {value}", - "multipleOf": "Should be a multiple of {value}", - "minLength": "At least {value} characters", - "maxLength": "At most {value} characters", - "pattern": "Should match the pattern {value}", - "format": "Should match the format {value}" + "maximum": "The Maximum Value is {value}", + "minimum": "The Minimum Value is {value}", + "exclusiveMaximum": "Should Be Less Than {value}", + "exclusiveMinimum": "Should Be Greater Than {value}", + "multipleOf": "Should Be a Multiple of {value}", + "minLength": "At Least {value} Characters", + "maxLength": "At Most {value} Characters", + "pattern": "Should Match the Pattern {value}", + "format": "Should Match the Format {value}" }, "select": { - "inputValueDesc": "Input search value" + "inputValueDesc": "Input Search Value" }, "customComp": { - "text": "It's a good day.", - "triggerQuery": "Trigger query", - "updateData": "Update data", - "updateText": "I'm also in a good mood!", - "sdkGlobalVarName": "Lowcoder" + "text": "It's a Good Day.", + "triggerQuery": "Trigger Query", + "updateData": "Update Data", + "updateText": "I'm Also in a Good Mood to Develop now my own Custom Component with Lowcoder!", + "sdkGlobalVarName": "Lowcoder", + "data": "Data you want to pass to the Custom Component", + "code": "Code of your Custom Component" }, "tree": { - "selectType": "Select type", - "noSelect": "No select", - "singleSelect": "Single select", - "multiSelect": "Multi select", + "selectType": "Select Type", + "noSelect": "No Select", + "singleSelect": "Single Select", + "multiSelect": "Multi Select", "checkbox": "Checkbox", - "checkedStrategy": "Checked strategy", - "showAll": "All nodes", - "showParent": "Only parent nodes", - "showChild": "Only child nodes", - "autoExpandParent": "Auto expand parent", - "checkStrictly": "Check strictly", - "checkStrictlyTooltip": "Check treeNode precisely; parent treeNode and children treeNodes are not associated", - "treeData": "Tree data", - "treeDataDesc": "Current tree data", - "value": "Default values", - "valueDesc": "Current values", - "expanded": "Expanded values", - "expandedDesc": "Current expanded values", - "defaultExpandAll": "Default expand all nodes", - "showLine": "Show line", - "showLeafIcon": "Show leaf icon", + "checkedStrategy": "Checked Strategy", + "showAll": "All Nodes", + "showParent": "Only Parent Nodes", + "showChild": "Only Child Nodes", + "autoExpandParent": "Auto Expand Parent", + "checkStrictly": "Check Strictly", + "checkStrictlyTooltip": "Check TreeNode Precisely; Parent TreeNode and Children TreeNodes are Not Associated", + "treeData": "Tree Data", + "treeDataDesc": "Current Tree Data", + "value": "Default Values", + "valueDesc": "Current Values", + "expanded": "Expanded Values", + "expandedDesc": "Current Expanded Values", + "defaultExpandAll": "Default Expand All Nodes", + "showLine": "Show Line", + "showLeafIcon": "Show Leaf Icon", "treeDataAsia": "Asia", "treeDataChina": "China", "treeDataBeijing": "Beijing", @@ -914,13 +978,13 @@ "treeDataFrance": "France", "treeDataGermany": "Germany", "treeDataNorthAmerica": "North America", - "helpLabel": "Node label", - "helpValue": "Unique node value in tree", - "helpChildren": "Children nodes", - "helpDisabled": "Disables the node", - "helpSelectable": "Whether node is selectable (single/multi select type)", - "helpCheckable": "Whether display Checkbox (Checkbox type)", - "helpDisableCheckbox": "Disables the Checkbox (Checkbox type)" + "helpLabel": "Node Label", + "helpValue": "Unique Node Value in Tree", + "helpChildren": "Children Nodes", + "helpDisabled": "Disables the Node", + "helpSelectable": "Whether Node is Selectable (Single/Multi Select Type)", + "helpCheckable": "Whether to Display Checkbox (Checkbox Type)", + "helpDisableCheckbox": "Disables the Checkbox (Checkbox Type)" }, "moduleContainer": { "eventTest": "Event Test", @@ -929,206 +993,207 @@ }, "password": { "label": "Password", - "visibilityToggle": "Show visibility toggle" + "visibilityToggle": "Show Visibility Toggle" }, "richTextEditor": { - "toolbar": "Customine Toolbar", - "toolbarDescription": "you can customize the toolbar. Plase refer to: https://quilljs.com/docs/modules/toolbar/ for more details.", - "placeholder": "Please input...", - "hideToolbar": "Hide toolbar", + "toolbar": "Customize Toolbar", + "toolbarDescription": "You can customize the toolbar. Please refer to: https://quilljs.com/docs/modules/toolbar/ for more details.", + "placeholder": "Please Input...", + "hideToolbar": "Hide Toolbar", "content": "Content", "title": "Title", "save": "Save", "link": "Link: ", "edit": "Edit", - "remove": "Remove" + "remove": "Remove", + "defaultValue" : "Base Content" }, "numberInput": { "formatter": "Format", "precision": "Precision", - "allowNull": "Allow null value", - "thousandsSeparator": "Show thousands separator", - "controls": "Show increment/decrement buttons", + "allowNull": "Allow Null Value", + "thousandsSeparator": "Show Thousands Separator", + "controls": "Show Increment/Decrement Buttons", "step": "Step", "standard": "Standard", "percent": "Percent" }, "slider": { "step": "Step", - "stepTooltip": "The value must be greater than 0 and divisible by (max-min)" + "stepTooltip": "The Value Must Be Greater Than 0 and Divisible by (Max-Min)" }, "rating": { - "max": "Max rating", - "allowHalf": "Allow half rating points" + "max": "Max Rating", + "allowHalf": "Allow Half Rating Points" }, "optionsControl": { "optionList": "Options", "option": "Option", "optionI": "Option {i}", - "viewDocs": "View docs", - "tip": "The \"item\" and \"i\" variables represent the value and index of each item in the data array" + "viewDocs": "View Docs", + "tip": "The 'item' and 'i' Variables Represent the Value and Index of Each Item in the Data Array" }, "radio": { "options": "Options", "horizontal": "Horizontal", - "horizontalTooltip": "The horizontal layout wraps itself when it runs out of space", + "horizontalTooltip": "The Horizontal Layout Wraps Itself When It Runs Out of Space", "vertical": "Vertical", - "verticalTooltip": "The vertical layout will always be displayed in a single column", - "autoColumns": "Auto column", - "autoColumnsTooltip": "The auto column layout automatically rearranges the order as space permits and displays as multiple columns" + "verticalTooltip": "The Vertical Layout Will Always Be Displayed in a Single Column", + "autoColumns": "Auto Column", + "autoColumnsTooltip": "The Auto Column Layout Automatically Rearranges the Order as Space Permits and Displays as Multiple Columns" }, "cascader": { - "options": "Data" + "options": "JSON Data to show cascading selections" }, "selectInput": { - "valueDesc": "Currently selected value", - "selectedIndexDesc": "The index of the currently selected value, or -1 if no value is selected", - "selectedLabelDesc": "The label of the currently selected value" + "valueDesc": "Currently Selected Value", + "selectedIndexDesc": "The Index of the Currently Selected Value, or -1 if No Value Is Selected", + "selectedLabelDesc": "The Label of the Currently Selected Value" }, "file": { - "typeErrorMsg": "Must be a number with a valid file size unit, or a unitless number of bytes.", - "fileEmptyErrorMsg": "upload failed. The file size is empty.", - "fileSizeExceedErrorMsg": "upload failed. The file size exceeds the limit.", - "minSize": "Min size", - "minSizeTooltip": "The minimum size of uploaded files with optional file size units (e.g., \"5kb\", \"10 MB\"). If no unit is provided, the value will be considered a number of bytes.", - "maxSize": "Max size", - "maxSizeTooltip": "The maximum size of uploaded files with optional file size units (e.g., \"5kb\", \"10 MB\"). If no unit is provided, the value will be considered a number of bytes.", + "typeErrorMsg": "Must Be a Number with a Valid File Size Unit, or a Unitless Number of Bytes.", + "fileEmptyErrorMsg": "Upload Failed. The File Size Is Empty.", + "fileSizeExceedErrorMsg": "Upload Failed. The File Size Exceeds the Limit.", + "minSize": "Min Size", + "minSizeTooltip": "The Minimum Size of Uploaded Files with Optional File Size Units (e.g., '5kb', '10 MB'). If No Unit Is Provided, the Value Will Be Considered a Number of Bytes.", + "maxSize": "Max Size", + "maxSizeTooltip": "The Maximum Size of Uploaded Files with Optional File Size Units (e.g., '5kb', '10 MB'). If No Unit Is Provided, the Value Will Be Considered a Number of Bytes.", "single": "Single", "multiple": "Multiple", "directory": "Directory", "upload": "Browse", - "fileType": "File types", - "reference": "Please refer to", + "fileType": "File Types", + "reference": "Please Refer to", "fileTypeTooltipUrl": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", - "fileTypeTooltip": "unique file type specifiers", - "uploadType": "Upload type", - "showUploadList": "Show upload list", - "maxFiles": "Max files", - "filesValueDesc": "The contents of the currently uploaded file are Base64 encoded", - "filesDesc": "List of the current uploaded files. For details, refer to", - "clearValueDesc": "Clear all files", - "parseFiles": "Parse files", - "parsedValueTooltip1": "If parseFiles is true, upload files will parse to object, array, or string. Parsed data can be accessed via the parsedValue array.", - "parsedValueTooltip2": "Supports Excel, JSON, CSV, and text files. Other formats will return null." + "fileTypeTooltip": "Unique File Type Specifiers", + "uploadType": "Upload Type", + "showUploadList": "Show Upload List", + "maxFiles": "Max Files", + "filesValueDesc": "The Contents of the Currently Uploaded File Are Base64 Encoded", + "filesDesc": "List of the Current Uploaded Files. For Details, Refer to", + "clearValueDesc": "Clear All Files", + "parseFiles": "Parse Files", + "parsedValueTooltip1": "If parseFiles Is True, Upload Files Will Parse to Object, Array, or String. Parsed Data Can Be Accessed via the parsedValue Array.", + "parsedValueTooltip2": "Supports Excel, JSON, CSV, and Text Files. Other Formats Will Return Null." }, "date": { "format": "Format", - "formatTip": "Support:\nYYYY-MM-DD HH:mm:ss\nYYYY-MM-DD\nTimestamp", - "reference": "Please refer to", - "showTime": "Show time", - "start": "Start date", - "end": "End date", + "formatTip": "Support: 'YYYY-MM-DD HH:mm:ss', 'YYYY-MM-DD', 'Timestamp'", + "reference": "Please Refer to", + "showTime": "Show Time", + "start": "Start Date", + "end": "End Date", "year": "Year", "quarter": "Quarter", "month": "Month", "week": "Week", "date": "Date", - "clearAllDesc": "Clear all", - "resetAllDesc": "Reset all", - "placeholder": "Select date", + "clearAllDesc": "Clear All", + "resetAllDesc": "Reset All", + "placeholder": "Select Date", "placeholderText": "Placeholder", - "startDate": "Start date", - "endDate": "End date" + "startDate": "Start Date", + "endDate": "End Date" }, "time": { - "start": "Start time", - "end": "End time", - "formatTip": "Support:\nHH:mm:ss\nTimestamp", + "start": "Start Time", + "end": "End Time", + "formatTip": "Support: 'HH:mm:ss', 'Timestamp'", "format": "Format", "placeholder": "Select Time", "placeholderText": "Placeholder", - "startTime": "Start time", - "endTime": "End time" + "startTime": "Start Time", + "endTime": "End Time" }, "button": { - "prefixIcon": "Prefix icon", - "suffixIcon": "Suffix icon", + "prefixIcon": "Prefix Icon", + "suffixIcon": "Suffix Icon", "icon": "Icon", - "iconSize": "Icon size", + "iconSize": "Icon Size", "button": "Form Button", - "formToSubmit": "Form to submit", + "formToSubmit": "Form to Submit", "default": "Default", "submit": "Submit", - "textDesc": "Text currently displayed on button", - "loadingDesc": "Is the button in loading state? If true the current button is loading", - "formButtonEvent": "event" + "textDesc": "Text Currently Displayed on Button", + "loadingDesc": "Is the Button in Loading State? If True the Current Button Is Loading", + "formButtonEvent": "Event" }, "link": { "link": "Link", - "textDesc": "Text currently displayed on link", - "loadingDesc": "Is the link in loading state? If true the current link is loading" + "textDesc": "Text Currently Displayed on Link", + "loadingDesc": "Is the Link in Loading State? If True the Current Link Is Loading" }, "scanner": { - "text": "Click scan", + "text": "Click Scan", "camera": "Camera {index}", - "changeCamera": "Switch camera", - "continuous": "Continuous scanning", - "uniqueData": "Ignore duplicate data", - "maskClosable": "Click the mask to close", - "errTip": "Please use this component under https or localhost" + "changeCamera": "Switch Camera", + "continuous": "Continuous Scanning", + "uniqueData": "Ignore Duplicate Data", + "maskClosable": "Click the Mask to Close", + "errTip": "Please Use This Component Under HTTPS or Localhost" }, "dropdown": { - "onlyMenu": "Display with Label only", - "textDesc": "Text currently displayed on button" + "onlyMenu": "Display with Label Only", + "textDesc": "Text Currently Displayed on Button" }, "textShow": { - "text": "### 👋 hello, {name}", - "valueTooltip": "Markdown supports most HTML tags and attributes. iframe, script, and other tags are disabled for security reasons.", - "verticalAlignment": "Vertical alignment", - "horizontalAlignment": "Horizontal alignment", - "textDesc": "Text displayed in the current text box" + "text": "### 👋 Hello, {name}", + "valueTooltip": "Markdown Supports Most HTML Tags and Attributes. iframe, Script, and Other Tags Are Disabled for Security Reasons.", + "verticalAlignment": "Vertical Alignment", + "horizontalAlignment": "Horizontal Alignment", + "textDesc": "Text Displayed in the Current Text Box" }, "table": { "editable": "Editable", "columnNum": "Columns", - "viewModeResizable": "Column width adjusted by user", - "viewModeResizableTooltip": "Whether can adjust column width.", - "showFilter": "Show filter button", - "showRefresh": "Show refresh button", - "showDownload": "Show download button", - "columnSetting": "Show column setting button", - "searchText": "Search text", - "searchTextTooltip": "Search and filter the data presented in the table", - "showQuickJumper": "Show quick jumper", - "hideOnSinglePage": "Hide on single page", - "showSizeChanger": "Show size changer button", - "pageSizeOptions": "Page size options", - "pageSize": "Page size", - "total": "Total row count", - "totalTooltip": "The default value is the number of current data items, which can be obtained from the query, for example: '{{query1.data[0].count}}'", + "viewModeResizable": "Column Width Adjusted by User", + "viewModeResizableTooltip": "Whether Users Can Adjust Column Width.", + "showFilter": "Show Filter Button", + "showRefresh": "Show Refresh Button", + "showDownload": "Show Download Button", + "columnSetting": "Show Column Setting Button", + "searchText": "Search Text", + "searchTextTooltip": "Search and Filter the Data Presented in the Table", + "showQuickJumper": "Show Quick Jumper", + "hideOnSinglePage": "Hide on Single Page", + "showSizeChanger": "Show Size Changer Button", + "pageSizeOptions": "Page Size Options", + "pageSize": "Page Size", + "total": "Total Row Count", + "totalTooltip": "The Default Value is the Number of Current Data Items, Which Can Be Obtained from the Query, for Example: '{{query1.data[0].count}}'", "filter": "Filter", - "filterRule": "Filter rule", - "chooseColumnName": "Choose column", - "chooseCondition": "Choose condition", + "filterRule": "Filter Rule", + "chooseColumnName": "Choose Column", + "chooseCondition": "Choose Condition", "clear": "Clear", - "columnShows": "Column shows", - "selectAll": "Select all", + "columnShows": "Column Shows", + "selectAll": "Select All", "and": "And", "or": "Or", - "contains": "contains", - "notContain": "does not contain", - "equals": "equals", - "isNotEqual": "is not equal", - "isEmpty": "is empty", - "isNotEmpty": "is not empty", - "greater": "greater than", - "greaterThanOrEquals": "greater than or equals", - "lessThan": "less than", - "lessThanOrEquals": "less than or equals", + "contains": "Contains", + "notContain": "Does Not Contain", + "equals": "Equals", + "isNotEqual": "Is Not Equal", + "isEmpty": "Is Empty", + "isNotEmpty": "Is Not Empty", + "greater": "Greater Than", + "greaterThanOrEquals": "Greater Than or Equals", + "lessThan": "Less Than", + "lessThanOrEquals": "Less Than or Equals", "action": "Action", - "columnValue": "Column value", - "columnValueTooltip": "'{{currentCell}}': current cell data\n'{{currentRow}}': current row data\n'{{currentIndex}}': current data index(starting from 0)\nExample: '{{currentCell * 5}}' show 5 times the original value data.", - "imageSrc": "Image source", - "imageSize": "Image size", + "columnValue": "Column Value", + "columnValueTooltip": "'{{currentCell}}': Current Cell Data\n '{{currentRow}}': Current Row Data\n '{{currentIndex}}': Current Data Index (Starting from 0)\n Example: '{{currentCell * 5}}' Show 5 Times the Original Value Data.", + "imageSrc": "Image Source", + "imageSize": "Image Size", "columnTitle": "Title", "sortable": "Sortable", "align": "Alignment", - "fixedColumn": "Fixed column", - "autoWidth": "Auto width", - "customColumn": "Custom column", + "fixedColumn": "Fixed Column", + "autoWidth": "Auto Width", + "customColumn": "Custom Column", "auto": "Auto", "fixed": "Fixed", - "columnType": "Column type", + "columnType": "Column Type", "float": "Float", "prefix": "Prefix", "suffix": "Suffix", @@ -1145,215 +1210,215 @@ "boolean": "Boolean", "rating": "Rating", "progress": "Progress", - "option": "Operation ", - "optionList": "Operation list", + "option": "Operation", + "optionList": "Operation List", "option1": "Operation 1", "status": "Status", - "statusTooltip": "Optional values: success, error, default, warning, processing", + "statusTooltip": "Optional Values: Success, Error, Default, Warning, Processing", "primaryButton": "Primary", "defaultButton": "Default", "type": "Type", - "tableSize": "Table size", - "hideHeader": "Hide table header", - "fixedHeader": "Fixed table header", - "fixedHeaderTooltip": "Header will be fixed for vertically scrollable table", - "fixedToolbar": "Fixed toolbar", - "fixedToolbarTooltip": "Toolbaar will be fixed for vertically scrollable table based on position", - "hideBordered": "Hide column border", - "deleteColumn": "Delete column", - "confirmDeleteColumn": "Confirm delete column: ", + "tableSize": "Table Size", + "hideHeader": "Hide Table Header", + "fixedHeader": "Fixed Table Header", + "fixedHeaderTooltip": "Header Will Be Fixed for Vertically Scrollable Table", + "fixedToolbar": "Fixed Toolbar", + "fixedToolbarTooltip": "Toolbar Will Be Fixed for Vertically Scrollable Table Based on Position", + "hideBordered": "Hide Column Border", + "deleteColumn": "Delete Column", + "confirmDeleteColumn": "Confirm Delete Column: ", "small": "S", "middle": "M", "large": "L", - "refreshButtonTooltip": "The current data changes, click to regenerate the column.", - "changeSetDesc": "An object representing changes to an editable table, only contains the changed cell. Rows go first and columns go second.", - "selectedRowDesc": "Provides data for the currently selected row, indicating the row that triggers a click event if the user clicks a button/link on the row", - "selectedRowsDesc": "Useful in multiple selection mode, same as selectedRow", - "pageNoDesc": "Current display page, starting from 1", - "pageSizeDesc": "How many rows per page", - "sortColumnDesc": "The name of the currently selected sorted column", - "sortDesc": "Whether the current row is in descending order", - "pageOffsetDesc": "The current start of paging, used for paging to get data. Example: select * from users limit '{{table1.pageSize}}' offset '{{table1.pageOffset}}'", - "displayDataDesc": "Data displayed in the current table", - "selectedIndexDesc": "Selected index in display data", + "refreshButtonTooltip": "The Current Data Changes, Click to Regenerate the Column.", + "changeSetDesc": "An Object Representing Changes to an Editable Table, Only Contains the Changed Cell. Rows Go First and Columns Go Second.", + "selectedRowDesc": "Provides Data for the Currently Selected Row, Indicating the Row That Triggers a Click Event If the User Clicks a Button/Link on the Row", + "selectedRowsDesc": "Useful in Multiple Selection Mode, Same as SelectedRow", + "pageNoDesc": "Current Display Page, Starting from 1", + "pageSizeDesc": "How Many Rows per Page", + "sortColumnDesc": "The Name of the Currently Selected Sorted Column", + "sortDesc": "Whether the Current Row Is in Descending Order", + "pageOffsetDesc": "The Current Start of Paging, Used for Paging to Get Data. Example: Select * from Users Limit '{{table1.pageSize}}' Offset '{{table1.pageOffset}}'", + "displayDataDesc": "Data Displayed in the Current Table", + "selectedIndexDesc": "Selected Index in Display Data", "filterDesc": "Table Filtering Parameters", - "dataDesc": "The raw data used in the current table", - "saveChanges": "Save changes", - "cancelChanges": "Cancel changes", - "rowSelectChange": "Row select change", - "rowClick": "Row click", - "rowExpand": "Row expand", - "filterChange": "Filter change", - "sortChange": "Sort change", - "pageChange": "Page change", + "dataDesc": "The JSON Data for the Table", + "saveChanges": "Save Changes", + "cancelChanges": "Cancel Changes", + "rowSelectChange": "Row Select Change", + "rowClick": "Row Click", + "rowExpand": "Row Expand", + "filterChange": "Filter Change", + "sortChange": "Sort Change", + "pageChange": "Page Change", "refresh": "Refresh", - "rowColor": "Conditional row color", - "rowColorDesc": "Conditionally set the row color based on the optional variables:\ncurrentRow, currentOriginalIndex, currentIndex, columnTitle. \nFor example:\n'{{ currentRow.id > 3 ? \"green\" : \"red\" }}'", - "cellColor": "Conditional cell color", - "cellColorDesc": "Conditionally set the cell color based on the cell value using currentCell:\nFor example:\n'{{ currentCell == 3 ? \"green\" : \"red\" }}'", - "saveChangesNotBind": "No event handler configured for saving changes. Please bind at least one event handler before click.", - "dynamicColumn": "Use dynamic column setting", + "rowColor": "Conditional Row Color", + "rowColorDesc": "Conditionally Set the Row Color Based on the Optional Variables: CurrentRow, CurrentOriginalIndex, CurrentIndex, ColumnTitle. For Example: '{{ currentRow.id > 3 ? \"green\" : \"red\" }}'", + "cellColor": "Conditional Cell Color", + "cellColorDesc": "Conditionally Set the Cell Color Based on the Cell Value Using CurrentCell. For Example: '{{ currentCell == 3 ? \"green\" : \"red\" }}'", + "saveChangesNotBind": "No Event Handler Configured for Saving Changes. Please Bind at Least One Event Handler Before Click.", + "dynamicColumn": "Use Dynamic Column Setting", "dynamicColumnConfig": "Column Setting", - "dynamicColumnConfigDesc": "Dynamic column settings. Accepts an array of column names. All columns are visible by default.\nExample: [\"id\", \"name\"]", + "dynamicColumnConfigDesc": "Dynamic Column Settings. Accepts an Array of Column Names. All Columns Are Visible by Default. Example: [\"id\", \"name\"]", "position": "Position", - "showDataLoadSpinner": "Show spinner during data loading", + "showDataLoadSpinner": "Show Spinner During Data Loading", "showValue": "Show Value", "expandable": "Expandable", - "configExpandedView": "Configure expanded view", - "toUpdateRowsDesc": "An array of objects for rows to be updated in editable tables.", + "configExpandedView": "Configure Expanded View", + "toUpdateRowsDesc": "An Array of Objects for Rows to Be Updated in Editable Tables.", "empty": "Empty", - "falseValues": "Text when false", + "falseValues": "Text When False", "allColumn": "All", "visibleColumn": "Visible", - "emptyColumns": "No columns are currently visible" + "emptyColumns": "No Columns Are Currently Visible" }, "image": { - "src": "Image source", - "srcDesc": "The image source", - "supportPreview": "Support click preview", - "supportPreviewTip": "Effective when the image source is valid" + "src": "Image Source", + "srcDesc": "The Image Source. Can be an URL, Path or Base64 String. for Example: data:image/png;base64, AAA... CCC", + "supportPreview": "Support Click Preview (zoom)", + "supportPreviewTip": "Effective When the Image Source is Valid" }, "progress": { "value": "Value", - "valueTooltip": "The percentage complete as a value between 0 and 100", + "valueTooltip": "The Percentage Complete as a Value Between 0 and 100", "showInfo": "Show Value", - "valueDesc": "Current progress value, ranging from 0 to 100", - "showInfoDesc": "Whether to display the current progress value" + "valueDesc": "Current Progress Value, Ranging from 0 to 100", + "showInfoDesc": "Whether to Display the Current Progress Value" }, "fileViewer": { - "invalidURL": "A valid URL was not provided", + "invalidURL": "Please Enter a Valid URL or Base64 String", "src": "File URI", - "srcTooltip": "Preview provided link content by embedding HTML, base64 encoded data can also be supported, for example: data:application/pdf; base64,AAA... CCC", - "srcDesc": "The file URI" + "srcTooltip": "Preview Provided Link Content by Embedding HTML, Base64 Encoded Data Can Also Be Supported, for Example: data:application/pdf; base64,AAA... CCC", + "srcDesc": "The File URI" }, "divider": { "title": "Title", "align": "Alignment", "dashed": "Dashed", - "dashedDesc": "Whether to use dashed line", - "titleDesc": "Divider title", - "alignDesc": "Divider title alignment" + "dashedDesc": "Whether to Use Dashed Line", + "titleDesc": "Divider Title", + "alignDesc": "Divider Title Alignment" }, "QRCode": { - "value": "Value", - "valueTooltip": "The value contains a maximum of 2953 characters", - "level": "Fault tolerance level", - "levelTooltip": "Refers to the QR code is blocked part, can still be scanned out. The higher the level, the more complex the code, and the more blocked it is, the more it can be scanned", - "includeMargin": "Show margin", - "image": "Image", - "valueDesc": "The qrCode value", + "value": "QR Code Content Value", + "valueTooltip": "The Value Contains a Maximum of 2953 Characters. The QR Code Value can encode various data types, including text messages, URLs, contact details (VCard/meCard), Wi-Fi login credentials, email addresses, phone numbers, SMS messages, geolocation coordinates, calendar event details, payment information, cryptocurrency addresses, and app download links", + "valueDesc": "The QR Code Content Value", + "level": "Fault Tolerance Level", + "levelTooltip": "Refers to the QR Code's Ability to Be Scanned Even if Part of It is Blocked. The Higher the Level, the More Complex the Code.", + "includeMargin": "Show Margin", + "image": "Display Image at the Center", "L": "L (Low)", "M": "M (Medium)", "Q": "Q (Quartile)", "H": "H (High)", - "maxLength": "The content is too long. Set the length to less than 2953 characters" + "maxLength": "The Content is Too Long. Set the Length to Less Than 2953 Characters" }, "jsonExplorer": { - "indent": "Indent", + "indent": "Indent of Each Level", "expandToggle": "Expand JSON Tree", - "theme": "Theme", + "theme": "Color Theme", "valueDesc": "Current JSON Data", "default": "Default", - "defaultDark": "Default dark", - "neutralLight": "Neutral light", - "neutralDark": "Neutral dark", + "defaultDark": "Default Dark", + "neutralLight": "Neutral Light", + "neutralDark": "Neutral Dark", "azure": "Azure", - "darkBlue": "Dark blue" + "darkBlue": "Dark Blue" }, "audio": { - "src": "Audio URL", + "src": "Audio Source URI or Base64 String", "defaultSrcUrl": "https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3", "autoPlay": "Autoplay", "loop": "Loop", - "srcDesc": "Current audio URL", + "srcDesc": "Current Audio URI or Base64 String like data:audio/mpeg;base64,AAA... CCC", "play": "Play", - "playDesc": "Triggered when audio is played", + "playDesc": "Triggered When Audio is Played", "pause": "Pause", - "pauseDesc": "Triggered when audio is paused", + "pauseDesc": "Triggered When Audio is Paused", "ended": "Ended", - "endedDesc": "Triggered when the audio ends playing" + "endedDesc": "Triggered When the Audio Ends Playing" }, "video": { - "src": "Video URL", + "src": "Video Source URI or Base64 String", "defaultSrcUrl": "https://www.youtube.com/watch?v=pRpeEdMmmQ0", "poster": "Poster URL", "defaultPosterUrl": "", "autoPlay": "Autoplay", "loop": "Loop", - "controls": "Hide controls", + "controls": "Hide Controls", "volume": "Volume", - "playbackRate": "Playback rate", - "posterTooltip": "The default value is the first frame of the video", - "autoPlayTooltip": "After the video is loaded, it will play automatically. Changing this value from true to false will pause the video. (If a poster is set, it will be played by the poster button)", - "controlsTooltip": "Hide video playback controls. May not be fully supported by every video source.", - "volumeTooltip": "Set the volume of the player, between 0 and 1", - "playbackRateTooltip": "Set the rate of the player, between 1 and 2", - "srcDesc": "Current video URL", + "playbackRate": "Playback Rate", + "posterTooltip": "The Default Value is the First Frame of the Video", + "autoPlayTooltip": "After the Video is Loaded, It Will Play Automatically. Changing This Value from True to False Will Pause the Video. (If a Poster is Set, It Will Be Played by the Poster Button)", + "controlsTooltip": "Hide Video Playback Controls. May Not Be Fully Supported by Every Video Source.", + "volumeTooltip": "Set the Volume of the Player, Between 0 and 1", + "playbackRateTooltip": "Set the Rate of the Player, Between 1 and 2", + "srcDesc": "Current Audio URI or Base64 String like data:video/mp4;base64, AAA... CCC", "play": "Play", - "playDesc": "Triggered when video is played", + "playDesc": "Triggered When Video is Played", "pause": "Pause", - "pauseDesc": "Triggered when video is paused", + "pauseDesc": "Triggered When Video is Paused", "load": "Load", - "loadDesc": "Triggered when the video resource has finished loading", + "loadDesc": "Triggered When the Video Resource has Finished Loading", "ended": "Ended", - "endedDesc": "Triggered when the video ends playing", - "currentTimeStamp": "The current playback position of the video in seconds", - "duration": "The total duration of the video in seconds" + "endedDesc": "Triggered When the Video Ends Playing", + "currentTimeStamp": "The Current Playback Position of the Video in Seconds", + "duration": "The Total Duration of the Video in Seconds" }, "media": { - "playDesc": "Begins playback of the media.", - "pauseDesc": "Pauses the media playback.", - "loadDesc": "Resets the media to the beginning and restart selecting the media resource.", - "seekTo": "Seek to the given number of seconds, or fraction if amount is between 0 and 1", - "seekToAmount": "Number of seconds, or fraction if it is between 0 and 1", - "showPreview": "Show preview" + "playDesc": "Begins Playback of the Media.", + "pauseDesc": "Pauses the Media Playback.", + "loadDesc": "Resets the Media to the Beginning and Restart Selecting the Media Resource.", + "seekTo": "Seek to the Given Number of Seconds, or Fraction if Amount is Between 0 and 1", + "seekToAmount": "Number of Seconds, or Fraction if It is Between 0 and 1", + "showPreview": "Show Preview" }, "rangeSlider": { - "start": "Start value", - "end": "End value", - "step": "Step size", - "stepTooltip": "The slider's granularity, the value must be greater than 0 and divisible by (max-min)" + "start": "Start Value", + "end": "End Value", + "step": "Step Size", + "stepTooltip": "The Slider's Granularity, the Value Must Be Greater Than 0 and Divisible by (Max-Min)" }, "iconControl": { - "selectIcon": "Select an icon", - "insertIcon": "insert an icon", - "insertImage": "Insert an image or " + "selectIcon": "Select an Icon", + "insertIcon": "Insert an Icon", + "insertImage": "Insert an Image or " }, "millisecondsControl": { - "timeoutTypeError": "Please enter the correct timeout period, the current input is: {value}", - "timeoutLessThanMinError": "Input must greater than {left}, the current input is: {value}" + "timeoutTypeError": "Please Enter the Correct Timeout Period in ms, the Current Input is: {value}", + "timeoutLessThanMinError": "Input Must Be Greater Than {left}, the Current Input is: {value}" }, "selectionControl": { "single": "Single", "multiple": "Multiple", "close": "Close", - "mode": "Select mode" + "mode": "Select Mode" }, "container": { - "title": "Container title" + "title": "Displayed Container Title" }, "drawer": { - "placement": "Drawer placement", + "placement": "Drawer Placement", "size": "Size", "top": "Top", "right": "Right", "bottom": "Bottom", "left": "Left", - "widthTooltip": "Number or percentage, e.g. 520, 60%", - "heightTooltip": "Number, e.g. 378", + "widthTooltip": "Pixel or Percentage, e.g. 520, 60%", + "heightTooltip": "Pixel, e.g. 378", "openDrawerDesc": "Open Drawer", "closeDrawerDesc": "Close Drawer", - "width": "Drawer width", - "height": "Drawer height" + "width": "Drawer Width", + "height": "Drawer Height" }, "meeting": { "logLevel": "Agora SDK Log Level", - "placement": "Meeting placement", + "placement": "Meeting Drawer Placement", "meeting": "Meeting Settings", "cameraView": "Camera View", - "cameraViewDesc": "Camera View", + "cameraViewDesc": "Camera View of the Local User (Host)", "screenShared": "Screen Shared", - "screenSharedDesc": "Screen Shared", + "screenSharedDesc": "Screen Shared by the Local User (Host)", "audioUnmuted": "Audio Unmuted", "audioMuted": "Audio Muted", "videoClicked": "Video Clicked", @@ -1361,42 +1426,42 @@ "videoOn": "Video On", "size": "Size", "top": "Top", - "host": "Host of the Meetingroom", - "participants": "Participants of the Meetingroom", - "shareScreen": "Local Screenshare", - "appid": "Agora Application Id", + "host": "Host of the Meeting Room. You would need to manage the host as own Application Logic", + "participants": "Participants of the Meeting Room", + "shareScreen": "Display Screen Shared by the Local User", + "appid": "Agora Application ID", "meetingName": "Meeting Name", - "localUserID": "Host User Id", + "localUserID": "Host User ID", "userName": "Host User Name", "rtmToken": "Agora RTM Token", "rtcToken": "Agora RTC Token", - "noVideo": "No video", - "profileImageUrl": "Profile Image Url", + "noVideo": "No Video", + "profileImageUrl": "Profile Image URL", "right": "Right", "bottom": "Bottom", - "videoId": "Video Stream Id", - "audioStatus": "Audio status", + "videoId": "Video Stream ID", + "audioStatus": "Audio Status", "left": "Left", - "widthTooltip": "Number or percentage, e.g. 520, 60%", - "heightTooltip": "Number, e.g. 378", + "widthTooltip": "Pixel or Percentage, e.g. 520, 60%", + "heightTooltip": "Pixel, e.g. 378", "openDrawerDesc": "Open Drawer", "closeDrawerDesc": "Close Drawer", - "width": "Drawer width", - "height": "Drawer height", + "width": "Drawer Width", + "height": "Drawer Height", "actionBtnDesc": "Action Button", - "broadCast": "BroadCast Messages", + "broadCast": "Broadcast Messages", "title": "Meeting Title", "meetingCompName": "Agora Meeting Controller", - "sharingCompName": "Screen share Stream", + "sharingCompName": "Screen Share Stream", "videoCompName": "Camera Stream", - "videoSharingCompName": "Screen share Stream", + "videoSharingCompName": "Screen Share Stream", "meetingControlCompName": "Control Button", "meetingCompDesc": "Meeting Component", "meetingCompControls": "Meeting Control", "meetingCompKeywords": "Agora Meeting, Web Meeting, Collaboration", "iconSize": "Icon Size", - "userId": "userId", - "roomId": "roomId", + "userId": "Host User ID", + "roomId": "Room ID", "meetingActive": "Ongoing Meeting", "messages": "Broadcasted Messages" }, @@ -1417,151 +1482,143 @@ }, "memberSettings": { "admin": "Admin", - "adminGroupRoleInfo": "Admin can manage group members and resources", - "adminOrgRoleInfo": "Own all resources and can manage groups.", + "adminGroupRoleInfo": "Admin Can Manage Group Members and Resources", + "adminOrgRoleInfo": "Admins Own All Resources and Can Manage Groups.", "member": "Member", - "memberGroupRoleInfo": "Member can view group members", - "memberOrgRoleInfo": "Can only use or visit resources they have access to.", + "memberGroupRoleInfo": "Member Can View Group Members", + "memberOrgRoleInfo": "Members Can Only Use or Visit Resources They Have Access To.", "title": "Members", - "createGroup": "Create group", - "newGroupPrefix": "New group ", - "allMembers": "All members", - "deleteModalTitle": "Delete this group", - "deleteModalContent": "The deleted group cannot be restored. Are you sure to delete the group?", - "addMember": "Add members", - "nameColumn": "User name", - "joinTimeColumn": "Joining time", + "createGroup": "Create Group", + "newGroupPrefix": "New Group ", + "allMembers": "All Members", + "deleteModalTitle": "Delete This Group", + "deleteModalContent": "The Deleted Group Cannot Be Restored. Are You Sure to Delete the Group?", + "addMember": "Add Members", + "nameColumn": "User Name", + "joinTimeColumn": "Joining Time", "actionColumn": "Operation", "roleColumn": "Role", "exitGroup": "Exit Group", - "moveOutGroup": "Remove from group", - "inviteUser": "Invite members", + "moveOutGroup": "Remove from Group", + "inviteUser": "Invite Members", "exitOrg": "Leave", - "exitOrgDesc": "Are you sure you want to leave this workspace.", + "exitOrgDesc": "Are You Sure You Want to Leave This Workspace.", "moveOutOrg": "Remove", - "moveOutOrgDescSaasMode": "Are you sure you want to remove user {name} from this workspace?", - "moveOutOrgDesc": "Are you sure you want to remove user {name}? This action cannot be recovered.", - "devGroupTip": "Members of the developer group have privileges to create apps and data sources.", - "lastAdminQuit": "The last administrator cannot exit.", - "organizationNotExist": "The current workspace does not exist", - "inviteUserHelp": "You can copy the invitation link to send to the user", - "inviteUserLabel": "Invitation link:", + "moveOutOrgDescSaasMode": "Are You Sure You Want to Remove User {name} from This Workspace?", + "moveOutOrgDesc": "Are You Sure You Want to Remove User {name}? This Action Cannot Be Recovered.", + "devGroupTip": "Members of the Developer Group Have Privileges to Create Apps and Data Sources.", + "lastAdminQuit": "The Last Administrator Cannot Exit.", + "organizationNotExist": "The Current Workspace Does Not Exist", + "inviteUserHelp": "You Can Copy the Invitation Link to Send to the User", + "inviteUserLabel": "Invitation Link:", "inviteCopyLink": "Copy Link", - "inviteText": "{userName} invites you to join the workspace \"{organization}\", Click on the link to join: {inviteLink}", - "groupName": "Group name", - "createTime": "Create time", + "inviteText": "{userName} Invites You to Join the Workspace \"{organization}\", Click on the Link to Join: {inviteLink}", + "groupName": "Group Name", + "createTime": "Create Time", "manageBtn": "Manage", "userDetail": "Detail", - "syncDeleteTip": "This group has been deleted from the address book source", - "syncGroupTip": "This group is an address book synchronization group and cannot be edited" + "syncDeleteTip": "This Group Has Been Deleted from the Address Book Source", + "syncGroupTip": "This Group is an Address Book Synchronization Group and Cannot Be Edited" }, "orgSettings": { - "newOrg": "New workspace", + "newOrg": "New Workspace (Organization)", "title": "Workspace", - "createOrg": "Create workspace", - "deleteModalTitle": "Are you sure to delete this workspace?", - "deleteModalContent": "You are about to delete this workspace {permanentlyDelete}. Once deleted, the workspace {notRestored}.", - "permanentlyDelete": "permanently", - "notRestored": "cannot be restored", - "deleteModalLabel": "Please enter workspace name{name}to confirm the operation:", - "deleteModalTip": "Please enter workspace name", - "deleteModalErr": "Workspace name is incorrect", + "createOrg": "Create Workspace (Organization)", + "deleteModalTitle": "Are You Sure to Delete This Workspace?", + "deleteModalContent": "You Are About to Delete This Workspace {permanentlyDelete}. Once Deleted, the Workspace {notRestored}.", + "permanentlyDelete": "Permanently", + "notRestored": "Cannot Be Restored", + "deleteModalLabel": "Please Enter Workspace Name {name} to Confirm the Operation:", + "deleteModalTip": "Please Enter Workspace Name", + "deleteModalErr": "Workspace Name is Incorrect", "deleteModalBtn": "Delete", - "editOrgTitle": "Edit workspace information", - "orgNameLabel": "Workspace name:", - "orgNameCheckMsg": "Workspace name cannot be empty", - "orgLogo": "Workspace logo:", - "logoModify": "Modify picture", - "inviteSuccessMessage": "Join the workspace successfully", - "inviteFailMessage": "Failed to join workspace", - "uploadErrorMessage": "Upload error", - "orgName": "Workspace name" - }, - "freeLimit": "Free trial", + "editOrgTitle": "Edit Workspace Information", + "orgNameLabel": "Workspace Name:", + "orgNameCheckMsg": "Workspace Name Cannot Be Empty", + "orgLogo": "Workspace Logo:", + "logoModify": "Modify Picture", + "inviteSuccessMessage": "Join the Workspace Successfully", + "inviteFailMessage": "Failed to Join Workspace", + "uploadErrorMessage": "Upload Error", + "orgName": "Workspace Name" + }, + "freeLimit": "Free Trial", "tabbedContainer": { - "switchTab": "Switch tab", - "switchTabDesc": "Triggered when switching tabs", + "switchTab": "Switch Tab", + "switchTabDesc": "Triggered When Switching Tabs", "tab": "Tabs", - "atLeastOneTabError": "The Tab container keeps at least one Tab", - "selectedTabKeyDesc": "Currently selected TAB", - "iconPosition": "Icon position" + "atLeastOneTabError": "The Tab Container Keeps at Least One Tab", + "selectedTabKeyDesc": "Currently Selected Tab", + "iconPosition": "Icon Position" }, "formComp": { - "containerPlaceholder": "Drag components from the right pane or", - "openDialogButton": "Generate a Form from your data source", - "resetAfterSubmit": "Reset after successful submit", - "initialData": "Initial data", - "disableSubmit": "Disable submit", - "success": "Form generated successfully", - "selectCompType": "Select component type", - "dataSource": "Data source: ", - "selectSource": "Select source", + "containerPlaceholder": "Drag Components from the Right Pane or", + "openDialogButton": "Generate a Form from one of your Data Sources", + "resetAfterSubmit": "Reset After Successful Submit", + "initialData": "Initial Data", + "disableSubmit": "Disable Submit", + "success": "Form Generated Successfully", + "selectCompType": "Select Component Type", + "dataSource": "Data Source: ", + "selectSource": "Select Source", "table": "Table: ", - "selectTable": "Select table", - "columnName": "Column name", - "dataType": "Data type", - "compType": "Component type", + "selectTable": "Select Table", + "columnName": "Column Name", + "dataType": "Data Type", + "compType": "Component Type", "required": "Required", - "generateForm": "Generate form", - "compSelectionError": "Unconfigured column type", - "compTypeNameError": "Could not get the component type name", - "noDataSourceSelected": "No data source selected", - "noTableSelected": "No table selected", - "noColumn": "No column", - "noColumnSelected": "No column selected", - "noDataSourceFound": "No supported data source found. Create a new data source", - "noTableFound": "No tables were found in this data source, please select another data source", - "noColumnFound": "No supported column was found in this table. Please select another table", - "formTitle": "Form title", + "generateForm": "Generate Form", + "compSelectionError": "Unconfigured Column Type", + "compTypeNameError": "Could Not Get the Component Type Name", + "noDataSourceSelected": "No Data Source Selected", + "noTableSelected": "No Table Selected", + "noColumn": "No Column", + "noColumnSelected": "No Column Selected", + "noDataSourceFound": "No Supported Data Source Found. Create a New Data Source", + "noTableFound": "No Tables Were Found in This Data Source, Please Select Another Data Source", + "noColumnFound": "No Supported Column Was Found in This Table. Please Select Another Table", + "formTitle": "Form Title", "name": "Name", - "nameTooltip": "The attribute name in the data of the form, when left blank, defaults to the component name", - "notSupportMethod": " Not supported methods: ", - "notValidForm": "The form is not valid", - "resetDesc": "Reset form data to default value", - "clearDesc": "Clear form data", - "setDataDesc": "Set form data", - "valuesLengthError": "Parameter number error", - "valueTypeError": "Parameter type error", - "dataDesc": "Current form data", - "loadingDesc": "Whether the form is loading?" + "nameTooltip": "The Attribute Name in the Data of the Form, When Left Blank, Defaults to the Component Name", + "notSupportMethod": "Not Supported Methods: ", + "notValidForm": "The Form is Not Valid", + "resetDesc": "Reset Form Data to Default Value", + "clearDesc": "Clear Form Data", + "setDataDesc": "Set Form Data", + "valuesLengthError": "Parameter Number Error", + "valueTypeError": "Parameter Type Error", + "dataDesc": "Current Form Data", + "loadingDesc": "Whether the Form is Loading?" }, "modalComp": { "close": "Close", - "closeDesc": "Triggered when the dialog box is closed", - "openModalDesc": "Open the dialog box", - "closeModalDesc": "Close the dialog box", - "visibleDesc": "Is it visible? If true, the current dialog box will pop up", - "modalHeight": "Modal height", - "modalHeightTooltip": "Number, example: 222", - "modalWidth": "Modal width", - "modalWidthTooltip": "Number or percentage, example: 520, 60%" + "closeDesc": "Triggered When the Modal Dialog Box is Closed", + "openModalDesc": "Open the Dialog Box", + "closeModalDesc": "Close the Dialog Box", + "visibleDesc": "Is it Visible? If True, the Current Dialog Box Will Pop Up", + "modalHeight": "Modal Height", + "modalHeightTooltip": "Pixel, Example: 222", + "modalWidth": "Modal Width", + "modalWidthTooltip": "Number or Percentage, Example: 520, 60%" }, "listView": { - "noOfRows": "Row count", - "noOfRowsTooltip": "Number of rows in the list - This is usually set to a variable (for example, '{{query1.data.length}}') if you need to present the results of a query.", - "noOfColumns": "Column count", - "itemIndexName": "Item index name", - "itemIndexNameDesc": "the variable name refer to the item's index, default as {default}", - "itemDataName": "Item data name", - "itemDataNameDesc": "the variable name refer to the item's data object, default as {default}", - "itemsDesc": "Exposing data of Comps in list", - "dataDesc": "The raw data used in the current list", - "dataTooltip": "If evaluated as Number, this field will be regarded as row count, and the data will be regarded as empty." + "noOfRows": "Row Count", + "noOfRowsTooltip": "Number of Rows in the List - Usually Set to a Variable (e.g., '{{query1.data.length}}') to Present Query Results", + "noOfColumns": "Column Count", + "itemIndexName": "Data Item Index Name", + "itemIndexNameDesc": "The Variable Name Referring to the Item's Index, Default as {default}", + "itemDataName": "Data Item Object Name", + "itemDataNameDesc": "The Variable Name Referring to the Item's Data Object, Default as {default}", + "itemsDesc": "Exposing Data of Components in List", + "dataDesc": "The JSON Data Used in the Current List", + "dataTooltip": "If You just Set a Number, This Field Will Be Regarded as Row Count, and the Data Will Be Regarded as Empty." }, "navigation": { - "addText": "Add submenu item", - "logoURL": "Logo URL", - "horizontalAlignment": "Horizontal alignment", - "logoURLDesc": "Logo URL value", - "itemsDesc": "Navigation menu items" - }, - "iframe": { - "URLDesc": "The source URL", - "allowDownload": "Downloads", - "allowSubmitForm": "Submit form", - "allowMicrophone": "Microphone", - "allowCamera": "Camera", - "allowPopup": "Popups" + "addText": "Add Submenu Item", + "logoURL": "Navigation Logo URL", + "horizontalAlignment": "Horizontal Alignment", + "logoURLDesc": "You can display a Logo on the left side by entering URI Value or Base64 String like data:image/png;base64,AAA... CCC", + "itemsDesc": "Hierarchical Navigation Menu Items" }, "droppadbleMenuItem": { "subMenu": "Submenu {number}" @@ -1569,100 +1626,112 @@ "navItemComp": { "active": "Active" }, + "iframe": { + "URLDesc": "The Source URL for the IFrame Content. Make sure the URL is HTTPS or localhost. Also make sure the URL is not blocked by the browser's Content Security Policy (CSP). The header 'X-Frame-Options' should not be set to 'DENY' or 'SAMEORIGIN'.", + "allowDownload": "Allow Downloads", + "allowSubmitForm": "Allow Submit Form", + "allowMicrophone": "Allow Microphone", + "allowCamera": "Allow Camera", + "allowPopup": "Allow Popups" + }, "switchComp": { - "open": "Open", - "close": "Close", - "openDesc": "Triggered when the switch is turned on", - "closeDesc": "Triggered when the switch is turned off", - "valueDesc": "Current switch status" + "defaultValue" : "Default Boolean Value", + "open": "On", + "close": "Off", + "openDesc": "Triggered When the Switch is Turned On", + "closeDesc": "Triggered When the Switch is Turned Off", + "valueDesc": "Current Switch Status" }, "signature": { "tips": "Hint Text", - "signHere": "Sign here", - "showUndo": "Show undo", - "showClear": "Show clear" + "signHere": "Sign Here", + "showUndo": "Show Undo", + "showClear": "Show Clear" }, "localStorageComp": { - "valueDesc": "All data items currently stored", - "setItemDesc": "Add an item", - "removeItemDesc": "Remove an item", - "clearItemDesc": "Clear all items" + "valueDesc": "All Data Items Currently Stored", + "setItemDesc": "Add an Item", + "removeItemDesc": "Remove an Item", + "clearItemDesc": "Clear All Items" }, "utilsComp": { "openUrl": "Open URL", "openApp": "Open App", - "copyToClipboard": "Copy to clipboard", - "downloadFile": "Download file" + "copyToClipboard": "Copy to Clipboard", + "downloadFile": "Download File" }, "messageComp": { - "info": "Send a notification", - "success": "Send a success notification", - "warn": "Send a warning notification", - "error": "Send a error notification" + "info": "Send a Notification", + "success": "Send a Success Notification", + "warn": "Send a Warning Notification", + "error": "Send an Error Notification" }, "themeComp": { - "switchTo": "Switch theme" + "switchTo": "Switch Theme" }, "transformer": { "preview": "Preview", - "docLink": "About transformer", - "previewSuccess": "Preview success", - "previewFail": "Preview fail", - "deleteMessage": "Delete transformer success. You can use {undoKey} to undo." + "docLink": "Read More About Transformers...", + "previewSuccess": "Preview Success", + "previewFail": "Preview Fail", + "deleteMessage": "Delete Transformer Success. You Can Use {undoKey} to Undo.", + "documentationText" : "Transformers are designed for data transformation and reuse of your multi-line JavaScript code. Use Transformers to adapt Data from queries or components to your local App needs. Unlike JavaScript query, transformer is designed to do read-only operations, which means that you cannot trigger a query or update a temporary state inside a transformer." }, "temporaryState": { - "value": "Init value", - "valueTooltip": "The initial Value stored in the temporary state can be any valid JSON Value.", - "docLink": "About temporary state", - "pathTypeError": "Path must be either a string or an array of values", - "unStructuredError": "Unstructured data {prev} can't be updated by {path}", - "valueDesc": "Temporary state value", - "deleteMessage": "The temporary state is deleted successfully. You can use {undoKey} to undo." + "value": "Init Value", + "valueTooltip": "The Initial Value Stored in the Temporary State Can Be Any Valid JSON Value.", + "docLink": "Read More About Temporary States...", + "pathTypeError": "Path Must Be Either a String or an Array of Values", + "unStructuredError": "Unstructured Data {prev} Can't Be Updated by {path}", + "valueDesc": "Temporary State Value", + "deleteMessage": "The Temporary State is Deleted Successfully. You Can Use {undoKey} to Undo.", + "documentationText" : "Temporary states in Lowcoder are a powerful feature used to manage complex variables that dynamically update the state of components in your application. These states act as intermediary or transient storage for data that can change over time due to user interactions or other processes." }, "dataResponder": { "data": "Data", - "dataDesc": "Data of current data responder", - "dataTooltip": "When this data is changed, it will trigger subsequent actions.", - "docLink": "About the Data responder", - "deleteMessage": "The data responder is deleted successfully. You can use {undoKey} to undo." + "dataDesc": "Data of Current Data Responder", + "dataTooltip": "When This Data is Changed, It Will Trigger Subsequent Actions.", + "docLink": "Read More About the Data Responders...", + "deleteMessage": "The Data Responder is Deleted Successfully. You Can Use {undoKey} to Undo.", + "documentationText" : "When developing an app, you can assign events to components to monitor changes in specific data. For instance, a Table component might have events like \"Row select change\", \"Filter change\", \"Sort change\", and \"Page change\" to track changes in the selectedRow property. However, for changes in temporary states, transformers, or query results, where standard events are not available, Data responders are utilized. They enable you to detect and react to any data modifications." }, "theme": { "title": "Themes", - "createTheme": "Create theme", - "themeName": "Theme name:", - "themeNamePlaceholder": "Please enter a theme name", - "defaultThemeTip": "Default theme:", - "createdThemeTip": "The theme that you have created:", + "createTheme": "Create Theme", + "themeName": "Theme Name:", + "themeNamePlaceholder": "Please Enter a Theme Name", + "defaultThemeTip": "Default Theme:", + "createdThemeTip": "The Theme That You Have Created:", "option": "Option{index}", "input": "Input", "confirm": "Ok", - "emptyTheme": "No themes available", + "emptyTheme": "No Themes Available", "click": "", "toCreate": "", "nameColumn": "Name", "defaultTip": "Default", - "updateTimeColumn": "Update time", + "updateTimeColumn": "Update Time", "edit": "Edit", - "cancelDefaultTheme": "Unset default theme", - "setDefaultTheme": "Set as default theme", - "copyTheme": "Duplicate theme", - "setSuccessMsg": "Setting succeeded", - "cancelSuccessMsg": "Unsetting succeeded", - "deleteSuccessMsg": "Deletion succeeded", - "checkDuplicateNames": "The theme name already exists, please re-enter it", + "cancelDefaultTheme": "Unset Default Theme", + "setDefaultTheme": "Set as Default Theme", + "copyTheme": "Duplicate Theme", + "setSuccessMsg": "Setting Succeeded", + "cancelSuccessMsg": "Unsetting Succeeded", + "deleteSuccessMsg": "Deletion Succeeded", + "checkDuplicateNames": "The Theme Name Already Exists, Please Re-Enter It", "copySuffix": " Copy", - "saveSuccessMsg": "Saved successfully", + "saveSuccessMsg": "Saved Successfully", "leaveTipTitle": "Tips", - "leaveTipContent": "You haven't saved yet, confirm leaving?", + "leaveTipContent": "You Haven't Saved Yet, Confirm Leaving?", "leaveTipOkText": "Leave", - "goList": "Back to the list", + "goList": "Back to the List", "saveBtn": "Save", - "mainColor": "Main colors", - "text": "Text colors", + "mainColor": "Main Colors", + "text": "Text Colors", "defaultTheme": "Default", "yellow": "Yellow", "green": "Green", - "previewTitle": "Theme preview\nExample components that use your theme colors", + "previewTitle": "Theme Preview\nExample Components That Use Your Theme Colors", "dateColumn": "Date", "emailColumn": "Email", "phoneColumn": "Phone", @@ -1684,7 +1753,7 @@ "previewPhone2": "+30-668-580-6521", "previewPhone3": "+86-369-925-2071", "previewPhone4": "+7-883-227-8093", - "chartPreviewTitle": "Chart style preview", + "chartPreviewTitle": "Chart Style Preview", "chartSpending": "Spending", "chartBudget": "Budget", "chartAdmin": "Administration", @@ -1699,94 +1768,94 @@ }, "pluginSetting": { "title": "Plugins", - "npmPluginTitle": "npm plugins", - "npmPluginDesc": "Set up npm plugins for all applications in the current workspace.", - "npmPluginEmpty": "No npm plugins were added.", - "npmPluginAddButton": "Add a npm plugin", - "saveSuccess": "Saved successfully" + "npmPluginTitle": "npm Plugins", + "npmPluginDesc": "Set Up npm Plugins for All Applications in the Current Workspace.", + "npmPluginEmpty": "No npm Plugins Were Added.", + "npmPluginAddButton": "Add a npm Plugin", + "saveSuccess": "Saved Successfully" }, "advanced": { "title": "Advanced", - "defaultHomeTitle": "Default homepage", - "defaultHomeHelp": "The homepage is the app all non-developers will see by default when they log in. Note: Make sure the selected app is accessible to non-developers.", - "defaultHomePlaceholder": "Select the default homepage", + "defaultHomeTitle": "Default Homepage", + "defaultHomeHelp": "The Homepage is the App All Non-Developers Will See by Default When They Log In. Note: Make Sure the Selected App is Accessible to Non-Developers.", + "defaultHomePlaceholder": "Select the Default Homepage", "saveBtn": "Save", "preloadJSTitle": "Preload JavaScript", - "preloadJSHelp": "Set up preloaded JavaScript code for all apps in the current workspace.", + "preloadJSHelp": "Set Up Preloaded JavaScript Code for All Apps in the Current Workspace.", "preloadCSSTitle": "Preload CSS", - "preloadCSSHelp": " Set up preloaded CSS code for all apps in the current workspace.", - "preloadCSSApply": "Apply to the homepage of the workspace", - "preloadLibsTitle": "JavaScript library", - "preloadLibsHelp": "Set up preloaded JavaScript libraries for all applications in the current workspace, and the system has built-in lodash, day.js, uuid, numbro for direct use. JavaScript libraries are loaded before the app is initialized, so there is a certain impact on app performance.", - "preloadLibsEmpty": "No JavaScript libraries were added", - "preloadLibsAddBtn": "Add a library", - "saveSuccess": "Saved successfully", - "AuthOrgTitle": "Workspace welcome Screen", - "AuthOrgDescrition": "The URL for your users to Sign in to the current workspace." + "preloadCSSHelp": "Set Up Preloaded CSS Code for All Apps in the Current Workspace.", + "preloadCSSApply": "Apply to the Homepage of the Workspace", + "preloadLibsTitle": "JavaScript Library", + "preloadLibsHelp": "Set Up Preloaded JavaScript Libraries for All Applications in the Current Workspace, and the System Has Built-In lodash, day.js, uuid, numbro for Direct Use. JavaScript Libraries are Loaded Before the App is Initialized, So There is a Certain Impact on App Performance.", + "preloadLibsEmpty": "No JavaScript Libraries Were Added", + "preloadLibsAddBtn": "Add a Library", + "saveSuccess": "Saved Successfully", + "AuthOrgTitle": "Workspace Welcome Screen", + "AuthOrgDescrition": "The URL for Your Users to Sign In to the Current Workspace." }, "branding": { "title": "Branding", "logoTitle": "Logo", - "logoHelp": ".JPG, .SVG or .PNG only", + "logoHelp": ".JPG, .SVG or .PNG Only", "faviconTitle": "Favicon", - "faviconHelp": ".JPG, .SVG or .PNG only", + "faviconHelp": ".JPG, .SVG or .PNG Only", "brandNameTitle": "Brand Name", "headColorTitle": "Head Color", "save": "Save", - "saveSuccessMsg": "Saved successfully", - "upload": "Click to upload" + "saveSuccessMsg": "Saved Successfully", + "upload": "Click to Upload" }, "networkMessage": { - "0": "Failed to connect to server, please check your network", - "401": "Authentication failed, please log on again", - "403": "No permission, please contact the administrator for authorization", - "500": "Busy service, please try again later", - "timeout": "Request timeout" + "500": "Busy Service, Please Try Again Later", + "0": "Failed to Connect to Server, Please Check Your Network", + "401": "Authentication Failed, Please Log On Again", + "403": "No Permission, Please Contact the Administrator for Authorization", + "timeout": "Request Timeout" }, "share": { "title": "Share", "viewer": "Viewer", "editor": "Editor", "owner": "Owner", - "datasourceViewer": "Can use", - "datasourceOwner": "Can manage" + "datasourceViewer": "Can Use", + "datasourceOwner": "Can Manage" }, "debug": { "title": "Title", - "switch": "Switch component: " + "switch": "Switch Component: " }, "module": { - "emptyText": "No data", - "circularReference": "Circular reference, current module/application cannot be used!", - "emptyTestInput": "The current module has no input to test", - "emptyTestMethod": "The current module has no method to test", + "emptyText": "No Data", + "circularReference": "Circular Reference, Current Module/Application Cannot Be Used!", + "emptyTestInput": "The Current Module Has No Input to Test", + "emptyTestMethod": "The Current Module Has No Method to Test", "name": "Name", "input": "Input", "params": "Params", - "emptyParams": "No params has been added", - "emptyInput": "No input has been added", - "emptyMethod": "No method has been added", - "emptyOutput": "No output has been added", + "emptyParams": "No Params Has Been Added", + "emptyInput": "No Input Has Been Added", + "emptyMethod": "No Method Has Been Added", + "emptyOutput": "No Output Has Been Added", "data": "Data", "string": "String", "number": "Number", "array": "Array", "boolean": "Boolean", "query": "Query", - "autoScaleCompHeight": "Component height scales with container", - "excuteMethod": "Execute method {name}", + "autoScaleCompHeight": "Component Height Scales with Container", + "excuteMethod": "Execute Method {name}", "method": "Method", "action": "Action", "output": "Output", - "nameExists": "Name {name} already exist", - "eventTriggered": "Event {name} is triggered", - "globalPromptWhenEventTriggered": "Displays a global prompt when an event is triggered", - "emptyEventTest": "The current module has no events to test", - "emptyEvent": "No event has been added", + "nameExists": "Name {name} Already Exist", + "eventTriggered": "Event {name} is Triggered", + "globalPromptWhenEventTriggered": "Displays a Global Prompt When an Event is Triggered", + "emptyEventTest": "The Current Module Has No Events to Test", + "emptyEvent": "No Event Has Been Added", "event": "Event" }, "resultPanel": { - "returnFunction": "The return value is a function.", + "returnFunction": "The Return Value is a Function.", "consume": "{time}", "JSON": "Show JSON" }, @@ -1795,109 +1864,109 @@ "created": "Create {name}" }, "apiMessage": { - "authenticationFail": "User authentication failed, please sign in again", - "verifyAccount": "Need to verify account", - "functionNotSupported": "The current version does not support this function. Please contact the Lowcoder business team to upgrade your account" + "authenticationFail": "User Authentication Failed, Please Sign In Again", + "verifyAccount": "Need to Verify Account", + "functionNotSupported": "The Current Version Does Not Support This Function. Please Contact the Lowcoder Business Team to Upgrade Your Account" }, "globalErrorMessage": { - "createCompFail": "Create component {comp} failed", - "notHandledError": "{method} method not executed" + "createCompFail": "Create Component {comp} Failed", + "notHandledError": "{method} Method Not Executed" }, "aggregation": { - "navLayout": " Navigation bar", - "chooseApp": "Choose app", - "iconTooltip": "Support image link or Base64", - "hideWhenNoPermission": "Hidden for unauthorized users", - "queryParam": "URL Query params", - "hashParam": "URL Hash params", - "tabBar": "Tab bar", - "emptyTabTooltip": "Configure this page on the right pane" + "navLayout": "Navigation Bar", + "chooseApp": "Choose App", + "iconTooltip": "Support Image src Link or Base64 String like data:image/png;base64,AAA... CCC", + "hideWhenNoPermission": "Hidden for Unauthorized Users", + "queryParam": "URL Query Params", + "hashParam": "URL Hash Params", + "tabBar": "Tab Bar", + "emptyTabTooltip": "Configure This Page on the Right Pane" }, "appSetting": { + "title": "General App Settings", "450": "450px (Phone)", "800": "800px (Tablet)", "1440": "1440px (Laptop)", - "1920": "1920px (Wide screen)", - "3200": "3200px (Super large screen)", - "title": "App settings", + "1920": "1920px (Wide Screen)", + "3200": "3200px (Super Large Screen)", "autofill": "Autofill", "userDefined": "Custom", "default": "Default", - "tooltip": "Close the popover after setting", - "canvasMaxWidth": "Maximum canvas width", - "userDefinedMaxWidth": "Custom maximum width", - "inputUserDefinedPxValue": "Please enter a custom pixel value", - "maxWidthTip": "Max width should be greater than or equal to 350", - "themeSetting": "Theme setting", + "tooltip": "Close the Popover After Setting", + "canvasMaxWidth": "Maximum Canvas Width for this App", + "userDefinedMaxWidth": "Custom Maximum Width", + "inputUserDefinedPxValue": "Please Enter a Custom Pixel Value", + "maxWidthTip": "Max Width Should Be Greater Than or Equal to 350", + "themeSetting": "Applied Style Theme", "themeSettingDefault": "Default", - "themeCreate": "Create theme" + "themeCreate": "Create Theme" }, "customShortcut": { - "title": "Custom shortcuts", + "title": "Custom Shortcuts", "shortcut": "Shortcut", "action": "Action", - "empty": "No shortcuts", - "placeholder": "Press shortcut", + "empty": "No Shortcuts", + "placeholder": "Press Shortcut", "otherPlatform": "Other", "space": "Space" }, "profile": { - "orgSettings": "Workspace settings", - "switchOrg": "Switch workspace", - "joinedOrg": "My workspaces", - "createOrg": "Create workspace", - "logout": "Log out", - "personalInfo": "My profile", - "bindingSuccess": "Binding {sourceName} success", - "uploadError": "Upload error", + "orgSettings": "Workspace Settings", + "switchOrg": "Switch Workspace", + "joinedOrg": "My Workspaces", + "createOrg": "Create Workspace", + "logout": "Log Out", + "personalInfo": "My Profile", + "bindingSuccess": "Binding {sourceName} Success", + "uploadError": "Upload Error", "editProfilePicture": "Modify", - "nameCheck": "Name cannot be empty", + "nameCheck": "Name Cannot Be Empty", "name": "Name: ", - "namePlaceholder": "Please enter your name", - "toBind": "To bind", - "binding": "Is binding", - "bindError": "Parameter error, currently not supported binding.", + "namePlaceholder": "Please Enter Your Name", + "toBind": "To Bind", + "binding": "Is Binding", + "bindError": "Parameter Error, Currently Not Supported Binding.", "bindName": "Bind {name}", - "loginAfterBind": "After binding, you can use {name} to log in", - "bindEmail": "Bind email:", - "email": "email", - "emailCheck": "Please enter a valid email", - "emailPlaceholder": "Please enter your email", + "loginAfterBind": "After Binding, You Can Use {name} to Log In", + "bindEmail": "Bind Email:", + "email": "Email", + "emailCheck": "Please Enter a Valid Email", + "emailPlaceholder": "Please Enter Your Email", "submit": "Submit", - "bindEmailSuccess": "Email binding success", - "passwordModifiedSuccess": "Password changed successfully", - "passwordSetSuccess": "Password set successfully", - "oldPassword": "Old password:", - "inputCurrentPassword": "Please enter your current password", - "newPassword": "New password:", - "inputNewPassword": "Please enter your new password", - "confirmNewPassword": "Confirm new password:", - "inputNewPasswordAgain": "Please enter your new password again", + "bindEmailSuccess": "Email Binding Success", + "passwordModifiedSuccess": "Password Changed Successfully", + "passwordSetSuccess": "Password Set Successfully", + "oldPassword": "Old Password:", + "inputCurrentPassword": "Please Enter Your Current Password", + "newPassword": "New Password:", + "inputNewPassword": "Please Enter Your New Password", + "confirmNewPassword": "Confirm New Password:", + "inputNewPasswordAgain": "Please Enter Your New Password Again", "password": "Password:", - "modifyPassword": "Modify password", - "setPassword": "Set password", - "alreadySetPassword": "Password set", - "setPassPlaceholder": "You can login with password", - "setPassAfterBind": "You can set password After Account bind", + "modifyPassword": "Modify Password", + "setPassword": "Set Password", + "alreadySetPassword": "Password Set", + "setPassPlaceholder": "You Can Login with Password", + "setPassAfterBind": "You Can Set Password After Account Bind", "socialConnections": "Social Connections" }, "shortcut": { - "shortcutList": "Keyboard shortcuts", + "shortcutList": "Keyboard Shortcuts", "click": "Click", "global": "Global", - "toggleShortcutList": "Toggle keyboard shortcuts", + "toggleShortcutList": "Toggle Keyboard Shortcuts", "editor": "Editor", - "toggleLeftPanel": "Toggle left pane", - "toggleBottomPanel": "Toggle bottom pane", - "toggleRightPanel": "Toggle right pane", - "toggleAllPanels": "Toggle all panes", + "toggleLeftPanel": "Toggle Left Pane", + "toggleBottomPanel": "Toggle Bottom Pane", + "toggleRightPanel": "Toggle Right Pane", + "toggleAllPanels": "Toggle All Panes", "preview": "Preview", "undo": "Undo", "redo": "Redo", - "showGrid": "Show grid", + "showGrid": "Show Grid", "component": "Component", - "multiSelect": "Select multiple", - "selectAll": "Select all", + "multiSelect": "Select Multiple", + "selectAll": "Select All", "copy": "Copy", "cut": "Cut", "paste": "Paste", @@ -1905,112 +1974,113 @@ "zoom": "Resize", "delete": "Delete", "deSelect": "Deselect", - "queryEditor": "Query editor", - "excuteQuery": "Run current query", - "editBox": "Text editor", + "queryEditor": "Query Editor", + "excuteQuery": "Run Current Query", + "editBox": "Text Editor", "formatting": "Format", - "openInLeftPanel": "Open in left pane" + "openInLeftPanel": "Open in Left Pane" }, "help": { "videoText": "Overview", "onBtnText": "OK", - "permissionDenyTitle": "💡 Unable to create a new application or data source?", - "permissionDenyContent": "You don't have permission to create the application and data source. Please contact the administrator to join the developer group.", - "appName": "Tutorial application", - "chat": "Chat with us", - "docs": "View documentation", - "editorTutorial": "Editor tutorial", - "update": "What's new?", + "permissionDenyTitle": "💡 Unable to Create a New Application or Data Source?", + "permissionDenyContent": "You Don't Have Permission to Create the Application and Data Source. Please Contact the Administrator to Join the Developer Group.", + "appName": "Tutorial Application", + "chat": "Chat with Us", + "docs": "View Documentation", + "editorTutorial": "Editor Tutorial", + "update": "What's New?", "version": "Version", "versionWithColon": "Version: ", - "submitIssue": "Submit an issue" + "submitIssue": "Submit an Issue" }, "header": { - "nameCheckMessage": "The name cannot be empty", - "viewOnly": "View only", - "recoverAppSnapshotTitle": "Restore this version?", - "recoverAppSnapshotContent": "Restore current app to the version created at {time}.", - "recoverAppSnapshotMessage": "Restore this version", - "returnEdit": "Return to editor", + "nameCheckMessage": "The Name Cannot Be Empty", + "viewOnly": "View Only", + "recoverAppSnapshotTitle": "Restore This Version?", + "recoverAppSnapshotContent": "Restore Current App to the Version Created at {time}.", + "recoverAppSnapshotMessage": "Restore This Version", + "returnEdit": "Return to Editor", "deploy": "Publish", "export": "Export to JSON", - "editName": "Edit name", + "editName": "Edit Name", "duplicate": "Duplicate {type}", "snapshot": "History", - "scriptsAndStyles": "Scripts and style", - "appSettings": "App settings", + "scriptsAndStyles": "Scripts and Style", + "appSettings": "App Settings", "preview": "Preview", - "editError": "History preview mode, no operation is supported.", + "editError": "History Preview Mode, No Operation is Supported.", "clone": "Clone", "editorMode_layout": "Layout", "editorMode_logic": "Logic", "editorMode_both": "Both" }, "userAuth": { - "registerByEmail": "Sign up", + "registerByEmail": "Sign Up", "email": "Email:", - "inputEmail": "Please enter your email", - "inputValidEmail": "Please enter a valid email", - "register": "Sign up", - "userLogin": "Sign in", - "login": "Sign in", + "inputEmail": "Please Enter Your Email", + "inputValidEmail": "Please Enter a Valid Email", + "register": "Sign Up", + "userLogin": "Sign In", + "login": "Sign In", "bind": "Bind", - "passwordCheckLength": "At least {min} characters", - "passwordCheckContainsNumberAndLetter": "Must contain letters and numbers", - "passwordCheckSpace": "Cannot contain whitespace characters", - "welcomeTitle": "🎉 Welcome to {productName} 🎉", - "inviteWelcomeTitle": "{username} invite you to login {productName}", + "passwordCheckLength": "At Least {min} Characters", + "passwordCheckContainsNumberAndLetter": "Must Contain Letters and Numbers", + "passwordCheckSpace": "Cannot Contain Whitespace Characters", + "welcomeTitle": "Welcome to {productName}", + "inviteWelcomeTitle": "{username} Invite You to Login {productName}", "terms": "Terms", "privacy": "Privacy Policy", - "registerHint": "I have read and agree to the", - "chooseAccount": "Choose your Account", - "signInLabel": "Sign in with {name}", + "registerHint": "I Have Read and Agree to the", + "chooseAccount": "Choose Your Account", + "signInLabel": "Sign In with {name}", "bindAccount": "Bind Account", - "scanQrCode": "Scan the QR code with {name}", - "invalidThirdPartyParam": "Invalid third-party param", + "scanQrCode": "Scan the QR Code with {name}", + "invalidThirdPartyParam": "Invalid Third-Party Param", "account": "Account", - "inputAccount": "Please enter your account", - "ldapLogin": "LDAP Sign in", + "inputAccount": "Please Enter Your Account", + "ldapLogin": "LDAP Sign In", "resetPassword": "Reset Password", - "resetPasswordDesc": "Reset user {name}'s password. A new password will be generated after reset.", - "resetSuccess": "Reset succeeded", - "resetSuccessDesc": "Password reset succeeded. The new password is: {password}", - "copyPassword": "Copy password", + "resetPasswordDesc": "Reset User {name}'s Password. A New Password Will Be Generated After Reset.", + "resetSuccess": "Reset Succeeded", + "resetSuccessDesc": "Password Reset Succeeded. The New Password is: {password}", + "copyPassword": "Copy Password", "poweredByLowcoder": "Powered by Lowcoder.cloud" }, "preLoad": { - "jsLibraryHelpText": "Add JavaScript libraries to your current application via URL addresses. lodash, day.js, uuid, numbro are built into the system for immediate use. JavaScript libraries are loaded before the application is initialized, which can have an impact on application performance.", - "exportedAs": "Exported as", - "urlTooltip": "URL address of the JavaScript library, [unpkg.com](https://unpkg.com/) or [jsdelivr.net](https://www.jsdelivr.com/) is recommended", + "jsLibraryHelpText": "Add JavaScript Libraries to Your Current Application via URL Addresses. lodash, day.js, uuid, numbro are Built into the System for Immediate Use. JavaScript Libraries are Loaded Before the Application is Initialized, Which Can Have an Impact on Application Performance.", + "exportedAs": "Exported As", + "urlTooltip": "URL Address of the JavaScript Library, [unpkg.com](https://unpkg.com/) or [jsdelivr.net](https://www.jsdelivr.com/) is Recommended", "recommended": "Recommended", "viewJSLibraryDocument": "Document", "jsLibraryURLError": "Invalid URL", - "jsLibraryExist": "JavaScript library already exists", - "jsLibraryEmptyContent": "No JavaScript libraries added", - "jsLibraryDownloadError": "JavaScript library download error", - "jsLibraryInstallSuccess": "JavaScript library installed successfully", - "jsLibraryInstallFailed": "JavaScript library installation failed", - "jsLibraryInstallFailedCloud": "Perhaps the library is not available in the sandbox, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{message}", + "jsLibraryExist": "JavaScript Library Already Exists", + "jsLibraryEmptyContent": "No JavaScript Libraries Added", + "jsLibraryDownloadError": "JavaScript Library Download Error", + "jsLibraryInstallSuccess": "JavaScript Library Installed Successfully", + "jsLibraryInstallFailed": "JavaScript Library Installation Failed", + "jsLibraryInstallFailedCloud": "Perhaps the Library is Not Available in the Sandbox, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{message}", "jsLibraryInstallFailedHost": "{message}", "add": "Add New", - "jsHelpText": "Add a global method or variable to the current application.", - "cssHelpText": "Add styles to the current application. The DOM structure may change as the system iterates. Try to modify styles through component properties.", - "scriptsAndStyles": "Scripts and styles", - "jsLibrary": "JavaScript library" + "jsHelpText": "Add a Global Method or Variable to the Current Application.", + "cssHelpText": "Add Styles to the Current Application. The DOM Structure May Change as the System Iterates. Try to Modify Styles Through Component Properties.", + "scriptsAndStyles": "Scripts and Styles", + "jsLibrary": "JavaScript Library" }, "editorTutorials": { "component": "Component", - "componentContent": "The right component area has tables, buttons, input boxes, selectors, and other components that can be dragged onto the canvas for use.", + "componentContent": "The Right Component Panel offers you many ready made Application Blocks (Components). These Can Be Dragged onto the Canvas for Use. You Can Also Create Your Own Components with a little coding knowledge.", "canvas": "Canvas", - "canvasContent": "What you see on the canvas is what you get, and you can adjust component layout and size by dragging and dropping, and delete/copy/paste components with keyboard shortcuts.", - "queryData": "Query data", - "queryDataContent": "Create a new query here and connect to your MySQL, MongoDB, Redis, Airtable, and other data sources. After configuring the query, click \"Run\" to obtain the data.", - "compProperties": "Component properties" + "canvasContent": "Build your apps on the Canvas with a 'What You See Is What You Get' approach. Simply drag and drop components to design your layout, and use keyboard shortcuts for quick editing like delete, copy, and paste. Once a component is selected, you can fine-tune every detail—from styling and layout to data binding and logical behavior. Plus, enjoy the added benefit of responsive design, ensuring your apps look great on any device.", + "queryData": "Query Data", + "queryDataContent": "You can create Data Queries Here and Connect to Your MySQL, MongoDB, Redis, Airtable, and many Other Data Sources. After Configuring the Query, Click 'Run' to Obtain the Data and continue the Tutorial.", + "compProperties": "Component Properties" }, "homeTutorials": { - "createAppContent": "🎉 Welcome to {productName}, click \"App\" and start to create your first application.", - "createAppTitle": "Create app" + "createAppContent": "🎉 Welcome to {productName}, Click 'App' and Start to Create Your First Application.", + "createAppTitle": "Create App" }, + "history": { "layout": "'{0}' layout adjustment", "upgrade": "Upgrade '{0}'", @@ -2018,7 +2088,7 @@ "add": "Add '{0}'", "modify": "Modify '{0}'", "rename": "Rename '{1}' to '{0}'", - "recover": "Recover '{2}''s version", + "recover": "Recover '{2}' version", "recoverVersion": "Recover version", "andSoOn": "and so on", "timeFormat": "MM DD at hh:mm A", @@ -2037,8 +2107,8 @@ "trash": "Trash", "queryLibrary": "Query Library", "datasource": "Data Sources", - "selectDatasourceType": "Select data source type", - "home": "Home", + "selectDatasourceType": "Select Data Source Type", + "home": "Home | Admin Area", "all": "All", "app": "App", "navigation": "Navigation", @@ -2056,7 +2126,7 @@ "createFolderSubTitle": "Folder name:", "moveToFolder": "Move to folder", "moveToTrash": "Move to trash", - "moveToFolderSubTitle": "Move \"{name}\" to:", + "moveToFolderSubTitle": "Move to:", "folderName": "Folder name:", "resCardSubTitle": "{time} by {creator}", "trashEmpty": "Trash is empty.", @@ -2100,7 +2170,7 @@ "addPermissionPlaceholder": "Please enter a name to search members", "searchMemberOrGroup": "Search for members or groups: ", "addPermissionErrorMessage": "Failed to add permission, {message}", - "copyModalTitle": "Clone \"{name}\"", + "copyModalTitle": "Clone It", "copyNameLabel": "{type} name", "copyModalfolderLabel": "Add to folder", "copyNamePlaceholder": "Please enter a {type} name", @@ -2110,250 +2180,204 @@ "carousel": { "dotPosition": "Navigation Dots position", "autoPlay": "AutoPlay", - "showDots": "Show dots" + "showDots": "Show Navigation Dots" }, "npm": { - "invalidNpmPackageName": "Invalid npm package name or url.", - "pluginExisted": "This npm plugin already existed", - "compNotFound": "Component {compName} not found.", - "addPluginModalTitle": "Add npm plugin", - "pluginNameLabel": "npm package's URL or name", - "noCompText": "No components.", + "invalidNpmPackageName": "Invalid npm Package Name or URL.", + "pluginExisted": "This npm Plugin Already Existed", + "compNotFound": "Component {compName} Not Found.", + "addPluginModalTitle": "Add Plugin from a npm Repository", + "pluginNameLabel": "npm Package's URL or Name", + "noCompText": "No Components.", "compsLoading": "Loading...", "removePluginBtnText": "Remove", - "addPluginBtnText": "Add npm plugin" + "addPluginBtnText": "Add npm Plugin" }, "toggleButton": { - "valueDesc": "The default value of the toggle button, for example: false", + "valueDesc": "The Default Value of the Toggle Button, For Example: False", "trueDefaultText": "Hide", "falseDefaultText": "Show", - "trueLabel": "Text for true", - "falseLabel": "Text for false", - "trueIconLabel": "Icon for true", - "falseIconLabel": "Icon for false", - "iconPosition": "Icon position", - "showText": "Show text", + "trueLabel": "Text for True", + "falseLabel": "Text for False", + "trueIconLabel": "Icon for True", + "falseIconLabel": "Icon for False", + "iconPosition": "Icon Position", + "showText": "Show Text", "alignment": "Alignment", - "showBorder": "Show border" - }, - "docUrls": { - "docHome": "https://docs.lowcoder.cloud/", - "components": "https://app.lowcoder.cloud/components/{compType}", - "module": "https://docs.lowcoder.cloud/lowcoder-documentation/build-applications/create-a-new-app/modules", - "optionList": "", - "terms": "https://lowcoder.cloud/terms", - "privacy": "https://lowcoder.cloud/privacy", - "aboutUs": "https://lowcoder.cloud/about", - "changeLog": "https://github.com/lowcoder-org/lowcoder/releases", - "introVideo": "", - "devNpmPlugin": "https://docs.lowcoder.cloud/lowcoder-extension/develop-data-source-plugins", - "devNpmPluginText": "How to develop npm plugin", - "useHost": "https://docs.lowcoder.cloud/setup-and-run/self-hosting/access-local-database-or-api", - "eventHandlerSlowdown": "https://docs.lowcoder.cloud/build-applications/app-interaction/event-handlers", - "thirdLib": "https://docs.lowcoder.cloud/lowcoder-extension/use-third-party-libraries-in-apps", - "thirdLibUrlText": "Use third-party libraries" - }, - "datasourceTutorial": { - "mysql": "", - "mongodb": "", - "postgres": "", - "redis": "", - "es": "", - "smtp": "", - "clickHouse": "" - }, - "queryTutorial": { - "js": "", - "transformer": "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/transformers", - "tempState": "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/temporary-state" - }, - "customComponent": { - "entryUrl": "https://sdk.lowcoder.cloud/custom_component.html" - }, - "template": { - "cloneUrl": "/apps/template-import/" - }, - "lowcoderUrl": { - "createIssue": "https://github.com/lowcoder-org/lowcoder/issues", - "discord": "https://discord.com/invite/qMG9uTmAx2" + "showBorder": "Show Border" }, "componentDoc": { "markdownDemoText": "**Lowcoder** | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", "demoText": "Lowcoder | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", "submit": "Submit", - "style": "style", + "style": "Style", "danger": "Danger", - "warning": "warning", + "warning": "Warning", "success": "Success", - "menu": "menu", + "menu": "Menu", "link": "Link", "customAppearance": "Custom Appearance", - "search": "search", - "pleaseInputNumber": "Please enter a number", + "search": "Search", + "pleaseInputNumber": "Please Enter a Number", "mostValue": "Most Value", "maxRating": "Maximum Rating", "notSelect": "Not Selected", "halfSelect": "Half Selection", - "pleaseSelect": "Please select", + "pleaseSelect": "Please Select", "title": "Title", "content": "Content", - "componentNotFound": "Component does not exist", + "componentNotFound": "Component Does Not Exist", "example": "Examples", - "defaultMethodDesc": "Set the value of property {name}", - "propertyUsage": "You can read component-related information by accessing component properties by component name anywhere you can write JavaScript.", + "defaultMethodDesc": "Set the Value of Property {name}", + "propertyUsage": "You Can Read Component-Related Information by Accessing Component Properties by Component Name Anywhere You Can Write JavaScript.", "property": "Properties", "propertyName": "Property Name", "propertyType": "Type", "propertyDesc": "Description", "event": "Events", - "eventName": "event name", + "eventName": "Event Name", "eventDesc": "Description", "mehtod": "Methods", - "methodUsage": "You can interact with components through their methods, and you can call them by their name anywhere you can write JavaScript. Or you can call them through the 'Control component' action of an event.", + "methodUsage": "You Can Interact with Components Through Their Methods, and You Can Call Them by Their Name Anywhere You Can Write JavaScript. Or You Can Call Them Through the 'Control Component' Action of an Event.", "methodName": "Method Name", "methodDesc": "Description", "showBorder": "Show Border", - "haveTry": "Try it yourself", + "haveTry": "Try It Yourself", "settings": "Setting", - "settingValues": "Setting value", + "settingValues": "Setting Value", "defaultValue": "Default Value", - "time": "time", - "date": "date", + "time": "Time", + "date": "Date", "noValue": "None", - "xAxisType": "X-axis type", + "xAxisType": "X-Axis Type", "hAlignType": "Horizontal Alignment", - "leftLeftAlign": "Left-left alignment", - "leftRightAlign": "Left-right alignment", - "topLeftAlign": "top-left alignment", - "topRightAlign": "top-right alignment", + "leftLeftAlign": "Left-Left Alignment", + "leftRightAlign": "Left-Right Alignment", + "topLeftAlign": "Top-Left Alignment", + "topRightAlign": "Top-Right Alignment", "validation": "Validation", "required": "Required", "defaultStartDateValue": "Default Start Date", "defaultEndDateValue": "Default End Date", "basicUsage": "Basic Usage", - "basicDemoDescription": "The following examples show the basic usage of the component.", + "basicDemoDescription": "The Following Examples Show the Basic Usage of the Component.", "noDefaultValue": "No Default Value", "forbid": "Forbidden", "placeholder": "Placeholder", - "pleaseInputPassword": "Please enter a password", - "password": "password", + "pleaseInputPassword": "Please Enter a Password", + "password": "Password", "textAlign": "Text Alignment", "length": "Length", "top": "Top", - "pleaseInputName": "Please enter your name", + "pleaseInputName": "Please Enter Your Name", "userName": "Name", "fixed": "Fixed", "responsive": "Responsive", - "workCount": "word count", - "cascaderOptions": "[\n {\n \"value\": \"zhejiang\",\n \"label\": \"Zhejiang\",\n \"children\": [\n {\n \"value\": \"hangzhou\",\n \" label\": \"Hangzhou\",\n \"children\": [\n {\n \"value\": \"xihu\",\n \"label\": \"West Lake\"\n }\n ]\n }\n ]\n },\n {\n \"value\": \"jiangsu\",\n \"label\": \"Jiangsu\",\n \"children\": [\n {\n \"value\": \"nanjing\",\n \"label\" : \"Nanjing\",\n \"children\": [\n {\n \"value\": \"zhonghuamen\",\n \"label\": \"Zhonghuamen\"\n }\n ]\n }\n ]\n } \n]", - "pleaseSelectCity": "Please select a city", + "workCount": "Word Count", + "cascaderOptions": "Cascader Options", + "pleaseSelectCity": "Please Select a City", "advanced": "Advanced", - "showClearIcon": "Show clear icon", - "appleOptionLabel": "🍎 Apple", - "waterMelonOptionLabel": "🍉 Watermelon", - "berryOptionLabel": "🍓 Strawberry", - "lemonOptionLabel": "🍋 Lemon", - "coconutOptionLabel": "🥥 Coconut", + "showClearIcon": "Show Clear Icon", "likedFruits": "Favorites", - "option": "option", - "singleFileUpload": "Single file upload", - "multiFileUpload": "Multiple file upload", + "option": "Option", + "singleFileUpload": "Single File Upload", + "multiFileUpload": "Multiple File Upload", "folderUpload": "Folder Upload", - "multiFile": "multiple files", - "folder": "folder", - "open": "open", + "multiFile": "Multiple Files", + "folder": "Folder", + "open": "Open", "favoriteFruits": "Favorite Fruits", - "pleaseSelectOneFruit": "Select a fruit", - "notComplete": "not complete", + "pleaseSelectOneFruit": "Select a Fruit", + "notComplete": "Not Complete", "complete": "Complete", "echart": "EChart", - "lineChart": "line chart", - "basicLineChart": "Basic line chart", - "lineChartType": "Line chart type", - "stackLineChart": "Stacked line", - "areaLineChart": "Area line", - "scatterChart": "Scatter chart", - "scatterShape": "Scatter shape", + "lineChart": "Line Chart", + "basicLineChart": "Basic Line Chart", + "lineChartType": "Line Chart Type", + "stackLineChart": "Stacked Line", + "areaLineChart": "Area Line", + "scatterChart": "Scatter Chart", + "scatterShape": "Scatter Shape", "scatterShapeCircle": "Circle", "scatterShapeRect": "Rectangle", "scatterShapeTri": "Triangle", - "scatterShapeDiamond": "diamond", + "scatterShapeDiamond": "Diamond", "scatterShapePin": "Pushpin", "scatterShapeArrow": "Arrow", "pieChart": "Pie Chart", - "basicPieChart": "Basic pie chart", + "basicPieChart": "Basic Pie Chart", "pieChatType": "Pie Chart Type", - "pieChartTypeCircle": "Donut chart", - "pieChartTypeRose": "Rose chart", - "titleAlign": "Title position", + "pieChartTypeCircle": "Donut Chart", + "pieChartTypeRose": "Rose Chart", + "titleAlign": "Title Position", "color": "Color", "dashed": "Dashed", - "imADivider": "I am a dividing line", - "tableSize": "Table size", + "imADivider": "I am a Dividing Line", + "tableSize": "Table Size", "subMenuItem": "SubMenu {num}", "menuItem": "Menu {num}", "labelText": "Label", "labelPosition": "Label - Position", "labelAlign": "Label - Align", - "optionsOptionType": "Configuration method", - "styleBackgroundColor": "Background color", - "styleBorderColor": "Border color", - "styleColor": "Font color", - "selectionMode": "Row selection mode", - "paginationSetting": "Pagination setting", - "paginationShowSizeChanger": "Support users to modify the number of entries per page", - "paginationShowSizeChangerButton": "Show size changer button", - "paginationShowQuickJumper": "Show quick jumper", - "paginationHideOnSinglePage": "Hide when there is only one page", - "paginationPageSizeOptions": "Page size", - "chartConfigCompType": "Chart type", - "xConfigType": "X axis type", + "optionsOptionType": "Configuration Method", + "styleBackgroundColor": "Background Color", + "styleBorderColor": "Border Color", + "styleColor": "Font Color", + "selectionMode": "Row Selection Mode", + "paginationSetting": "Pagination Setting", + "paginationShowSizeChanger": "Support Users to Modify the Number of Entries per Page", + "paginationShowSizeChangerButton": "Show Size Changer Button", + "paginationShowQuickJumper": "Show Quick Jumper", + "paginationHideOnSinglePage": "Hide When There is Only One Page", + "paginationPageSizeOptions": "Page Size", + "chartConfigCompType": "Chart Type", + "xConfigType": "X Axis Type", "loading": "Loading", "disabled": "Disabled", - "minLength": "Minimum length", - "maxLength": "Maximum length", - "showCount": "Show word count", + "minLength": "Minimum Length", + "maxLength": "Maximum Length", + "showCount": "Show Word Count", "autoHeight": "Height", - "thousandsSeparator": "thousands separator", - "precision": "Decimal places", - "value": "Default value", + "thousandsSeparator": "Thousands Separator", + "precision": "Decimal Places", + "value": "Default Value", "formatter": "Format", - "min": "Minimum value", - "max": "Maximum value", - "step": "Step size", - "start": "Start time", - "end": "End time", - "allowHalf": "Allow half selection", - "filetype": "File type", - "showUploadList": "Show upload list", + "min": "Minimum Value", + "max": "Maximum Value", + "step": "Step Size", + "start": "Start Time", + "end": "End Time", + "allowHalf": "Allow Half Selection", + "filetype": "File Type", + "showUploadList": "Show Upload List", "uploadType": "Upload Type", - "allowClear": "Show clear icon", - "minSize": "Minimum file size", - "maxSize": "Maximum file size", - "maxFiles": "Maximum number of uploaded files", + "allowClear": "Show Clear Icon", + "minSize": "Minimum File Size", + "maxSize": "Maximum File Size", + "maxFiles": "Maximum Number of Uploaded Files", "format": "Format", - "minDate": "Minimum date", - "maxDate": "Maximum date", - "minTime": "Minimum time", - "maxTime": "Maximum time", + "minDate": "Minimum Date", + "maxDate": "Maximum Date", + "minTime": "Minimum Time", + "maxTime": "Maximum Time", "text": "Text", "type": "Type", - "hideHeader": "Hide header", - "hideBordered": "Hide border", + "hideHeader": "Hide Header", + "hideBordered": "Hide Border", "src": "Image URL", - "showInfo": "Display value", + "showInfo": "Display Value", "mode": "Mode", - "onlyMenu": "Only menu", - "horizontalAlignment": "Horizontal alignment", + "onlyMenu": "Only Menu", + "horizontalAlignment": "Horizontal Alignment", "row": "Left", "column": "Top", - "leftAlign": "Left alignment", - "rightAlign": "Right alignment", - "percent": "percentage", - "fixedHeight": "Fixed height", + "leftAlign": "Left Alignment", + "rightAlign": "Right Alignment", + "percent": "Percentage", + "fixedHeight": "Fixed Height", "auto": "Adaptive", "directory": "Folder", - "multiple": "Multiple files", + "multiple": "Multiple Files", "singleFile": "Single File", "manual": "Manual", "default": "Default", @@ -2363,17 +2387,17 @@ "single": "Single", "multi": "Multiple", "close": "Close", - "ui": "UI mode", - "line": "Line chart", - "scatter": "Scatter plot", - "pie": "Pie chart", - "basicLine": "Basic line chart", - "stackedLine": "Stacked line chart", - "areaLine": "area area map", - "basicPie": "Basic pie chart", - "doughnutPie": "Donut chart", - "rosePie": "Rose chart", - "category": "category axis", + "ui": "UI Mode", + "line": "Line Chart", + "scatter": "Scatter Plot", + "pie": "Pie Chart", + "basicLine": "Basic Line Chart", + "stackedLine": "Stacked Line Chart", + "areaLine": "Area Area Map", + "basicPie": "Basic Pie Chart", + "doughnutPie": "Donut Chart", + "rosePie": "Rose Chart", + "category": "Category Axis", "circle": "Circle", "rect": "Rectangle", "triangle": "Triangle", @@ -2384,27 +2408,27 @@ "right": "Right", "center": "Center", "bottom": "Bottom", - "justify": "Justify both ends" + "justify": "Justify Both Ends" }, "playground": { "url": "https://app.lowcoder.cloud/playground/{compType}/1", - "data": "Data", + "data": "Current Data State", "preview": "Preview", "property": "Properties", - "console": "Console", - "executeMethods": "Execute methods", - "noMethods": "No methods.", - "methodParams": "Method params", - "methodParamsHelp": "Input method params use JSON, for example, you can set setValue's params with: [1] or 1" + "console": "Visual Script Console", + "executeMethods": "Execute Methods", + "noMethods": "No Methods.", + "methodParams": "Method Parameters", + "methodParamsHelp": "Input Method Parameters Using JSON. For Example, You Can Set setValue's Parameters With: [1] or 1" }, "calendar": { - "headerBtnBackground": "Button background", - "btnText": "Button text", + "headerBtnBackground": "Button Background", + "btnText": "Button Text", "title": "Title", - "selectBackground": "Selected background" + "selectBackground": "Selected Background" }, "componentDocExtra": { - "table": "/src/i18n/locales/componentDocExtra/table.md" + "table": "Additional Documentation for Table Component" }, "idSource": { "title": "OAuth Providers", @@ -2412,135 +2436,135 @@ "pay": "Premium", "enable": "Enable", "unEnable": "Not Enabled", - "loginType": "Login type", + "loginType": "Login Type", "status": "Status", "desc": "Description", - "manual": "Address book:", - "syncManual": "Sync Address book", - "syncManualSuccess": "Sync succeeded", - "enableRegister": "Allow registration", - "saveBtn": "Save and enable", + "manual": "Address Book:", + "syncManual": "Sync Address Book", + "syncManualSuccess": "Sync Succeeded", + "enableRegister": "Allow Registration", + "saveBtn": "Save and Enable", "save": "Save", "none": "None", - "formPlaceholder": "Please enter {label}", - "formSelectPlaceholder": "Please select the {label}", - "saveSuccess": "Saved successfully", + "formPlaceholder": "Please Enter {label}", + "formSelectPlaceholder": "Please Select the {label}", + "saveSuccess": "Saved Successfully", "dangerLabel": "Danger Zone", - "dangerTip": "Disabling this ID provider may result in some users being unable to log in. Proceed with caution.", + "dangerTip": "Disabling This ID Provider May Result in Some Users Being Unable to Log In. Proceed With Caution.", "disable": "Disable", - "disableSuccess": "Disabled successfully", - "encryptedServer": "-------- Encrypted on the server side --------", + "disableSuccess": "Disabled Successfully", + "encryptedServer": "-------- Encrypted on the Server Side --------", "disableTip": "Tips", - "disableContent": "Disabling this ID provider may result in some users being unable to log in. Are you sure to proceed?", + "disableContent": "Disabling This ID Provider May Result in Some Users Being Unable to Log In. Are You Sure to Proceed?", "manualTip": "", - "lockTip": "The content is locked. To make changes, please click the{icon}to unlock.", - "lockModalContent": "Changing the 'ID attribute' field can have significant impacts on user identification. Please confirm that you understand the implications of this change before proceeding.", + "lockTip": "The Content is Locked. To Make Changes, Please Click the {icon} to Unlock.", + "lockModalContent": "Changing the 'ID Attribute' Field Can Have Significant Impacts on User Identification. Please Confirm That You Understand the Implications of This Change Before Proceeding.", "payUserTag": "Premium" }, "slotControl": { - "configSlotView": "Configure slot view" + "configSlotView": "Configure Slot View" }, "jsonLottie": { "lottieJson": "Lottie JSON", "speed": "Speed", "width": "Width", "height": "Height", - "backgroundColor": "Background color", + "backgroundColor": "Background Color", "animationStart": "Animation Start", - "valueDesc": "Current json Data", + "valueDesc": "Current JSON Data", "loop": "Loop", - "auto": "auto", - "onHover": "On hover", + "auto": "Auto", + "onHover": "On Hover", "singlePlay": "Single Play", "endlessLoop": "Endless Loop", - "keepLastFrame": "Keep Last Frame" + "keepLastFrame": "Keep Last Frame displayed" }, "timeLine": { - "titleColor": "Title color", - "subTitleColor": "Subtitle color", - "lableColor": "Label color", - "value": "Timeline data", - "mode": "Display order", - "left": "Content right", - "right": "Content left", - "alternate": "Alternate content order", - "modeTooltip": "Set the content to appear left/right or alternately on both sides of the timeline", - "reverse": "Newest events first", - "pending": "Pending node text", - "pendingDescription": "When set, then an last node with the text and a waiting indicator will be displayed.", - "defaultPending": "continuous improvement", + "titleColor": "Title Color", + "subTitleColor": "Subtitle Color", + "lableColor": "Label Color", + "value": "Timeline Data", + "mode": "Display Order", + "left": "Content Right", + "right": "Content Left", + "alternate": "Alternate Content Order", + "modeTooltip": "Set the Content to Appear Left/Right or Alternately on Both Sides of the Timeline", + "reverse": "Newest Events First", + "pending": "Pending Node Text", + "pendingDescription": "When Set, Then a Last Node With the Text and a Waiting Indicator Will Be Displayed.", + "defaultPending": "Continuous Improvement", "clickTitleEvent": "Click Title Event", - "clickTitleEventDesc": "click Title Event", - "Introduction": "Introduction keys", - "helpTitle": "title of timeline(Required)", - "helpsubTitle": "subtitle of timeline", - "helpLabel": "label of timeline,be used to display dates", - "helpColor": "Indicates timeline node color", + "clickTitleEventDesc": "Click Title Event", + "Introduction": "Introduction Keys", + "helpTitle": "Title of Timeline (Required)", + "helpsubTitle": "Subtitle of Timeline", + "helpLabel": "Label of Timeline, Used to Display Dates", + "helpColor": "Indicates Timeline Node Color", "helpDot": "Rendering Timeline Nodes as Ant Design Icons", - "helpTitleColor": "Individually control the color of node title", - "helpSubTitleColor": "Individually control the color of node subtitle", - "helpLableColor": "Individually control the color of node icon", - "valueDesc": "data of timeline", - "clickedObjectDesc": "clicked item data", - "clickedIndexDesc": "clicked item index" + "helpTitleColor": "Individually Control the Color of Node Title", + "helpSubTitleColor": "Individually Control the Color of Node Subtitle", + "helpLableColor": "Individually Control the Color of Node Icon", + "valueDesc": "Data of Timeline", + "clickedObjectDesc": "Clicked Item Data", + "clickedIndexDesc": "Clicked Item Index" }, "comment": { - "value": "comment list data", + "value": "Comment List Data", "showSendButton": "Allowing Comments", - "title": "title", - "titledDefaultValue": "%d comment in total", - "placeholder": "shift + enter to comment;Enter @ or # for quick input", - "placeholderDec": "placeholder", - "buttonTextDec": "button title", - "buttonText": "comment", - "mentionList": "Mention list data", - "mentionListDec": "key-Mention keywords;value-Mention list data", - "userInfo": "user info", - "dateErr": "date error", - "commentList": "comment list", - "deletedItem": "deleted item", - "submitedItem": "submited item", - "deleteAble": "show delete button", - "Introduction": "Introduction keys", - "helpUser": "user info(Required)", - "helpname": "user name(Required)", - "helpavatar": "avatar url(high priority)", - "helpdisplayName": "display name(low priority)", - "helpvalue": "Comment content", - "helpcreatedAt": "create date" + "title": "Title", + "titledDefaultValue": "%d Comment in Total", + "placeholder": "Shift + Enter to Comment; Enter @ or # for Quick Input", + "placeholderDec": "Placeholder", + "buttonTextDec": "Button Title", + "buttonText": "Comment", + "mentionList": "Mention List Data", + "mentionListDec": "Key-Mention Keywords; Value-Mention List Data", + "userInfo": "User Info", + "dateErr": "Date Error", + "commentList": "Comment List", + "deletedItem": "Deleted Item", + "submitedItem": "Submitted Item", + "deleteAble": "Show Delete Button", + "Introduction": "Introduction Keys", + "helpUser": "User Info (Required)", + "helpname": "User Name (Required)", + "helpavatar": "Avatar URL (High Priority)", + "helpdisplayName": "Display Name (Low Priority)", + "helpvalue": "Comment Content", + "helpcreatedAt": "Create Date" }, "mention": { - "mentionList": "Mention list data" + "mentionList": "Mention List Data" }, "autoComplete": { - "value": "auto complete value", - "checkedValueFrom": "checked value from", - "ignoreCase": "search ignore case", - "searchLabelOnly": "search label only", - "searchFirstPY": "search first pinying", - "searchCompletePY": "search complete pinying", - "searchText": "search text", - "SectionDataName": "autoComplete Data", - "valueInItems": "value in items", - "type": "type", + "value": "Auto Complete Value", + "checkedValueFrom": "Checked Value From", + "ignoreCase": "Search Ignore Case", + "searchLabelOnly": "Search Label Only", + "searchFirstPY": "Search First Pinyin", + "searchCompletePY": "Search Complete Pinyin", + "searchText": "Search Text", + "SectionDataName": "AutoComplete Data", + "valueInItems": "Value in Items", + "type": "Type", "antDesign": "AntDesign", "normal": "Normal", - "selectKey": "key", - "selectLable": "label", + "selectKey": "Key", + "selectLable": "Label", "ComponentType": "Component Type", - "colorIcon": "blue", - "grewIcon": "grew", - "noneIcon": "none", - "small": "small", - "large": "large", - "componentSize": "component size", - "Introduction": "Introduction keys", - "helpLabel": "label", - "helpValue": "value" + "colorIcon": "Blue", + "grewIcon": "Grey", + "noneIcon": "None", + "small": "Small", + "large": "Large", + "componentSize": "Component Size", + "Introduction": "Introduction Keys", + "helpLabel": "Label", + "helpValue": "Value" }, "responsiveLayout": { "column": "Columns", - "atLeastOneColumnError": "Responsive layout keeps at least one Column", + "atLeastOneColumnError": "Responsive Layout Keeps at Least One Column", "columnsPerRow": "Columns per Row", "columnsSpacing": "Columns Spacing (px)", "horizontal": "Horizontal", @@ -2561,8 +2585,8 @@ "modeInline": "Inline", "modeVertical": "Vertical", "width": "Width", - "widthTooltip": "Number or percentage, e.g. 520, 60%", + "widthTooltip": "Pixel or Percentage, e.g. 520, 60%", "navStyle": "Menu Style", "navItemStyle": "Menu Item Style" } -} +} \ No newline at end of file diff --git a/client/packages/lowcoder/src/i18n/locales/translation_files/en_corrected.json b/client/packages/lowcoder/src/i18n/locales/translation_files/en_corrected.json deleted file mode 100644 index cb4a10063..000000000 --- a/client/packages/lowcoder/src/i18n/locales/translation_files/en_corrected.json +++ /dev/null @@ -1,2568 +0,0 @@ -{ - "productName": "Lowcoder", - "productDesc": "Create software applications for your company and customers with minimal coding experience. Lowcoder is an excellent alternative to Retool, Appsmith, or Tooljet.", - "notSupportedBrowser": "Your current browser may not be fully compatible. For an optimal user experience, we recommend using the latest version of Chrome.", - "create": "Create", - "move": "Move", - "addItem": "Add", - "newItem": "New", - "copy": "Copy", - "rename": "Rename", - "delete": "Delete", - "deletePermanently": "Delete", - "remove": "Remove", - "recover": "Recover", - "edit": "Edit", - "view": "View", - "value": "Value", - "data": "Data", - "information": "Information", - "success": "Success", - "warning": "Warning", - "error": "Error", - "reference": "Reference", - "text": "Text", - "label": "Label", - "color": "Color", - "form": "Form", - "menu": "Menu", - "menuItem": "Menu item", - "ok": "OK", - "cancel": "Cancel", - "finish": "Finish", - "reset": "Reset", - "icon": "Icon", - "code": "Code", - "title": "Title", - "emptyContent": "Empty content", - "more": "More", - "search": "Search", - "back": "Back", - "accessControl": " Access Control", - "copySuccess": "Copied", - "copyError": "Copy error", - "api": { - "publishSuccess": "Published", - "recoverFailed": "Recovery failed", - "needUpdate": "Your current version is too old, please upgrade to the latest version." - }, - "codeEditor": { - "notSupportAutoFormat": "Current code editor not supports auto formatting", - "fold": "Fold" - }, - "exportMethod": { - "setDesc": "Set Property: {property}", - "clearDesc": "Clear Property: {property}", - "resetDesc": "Reset Property: {property} to default value" - }, - "method": { - "focus": "Set focus", - "focusOptions": "Focus options. See HTMLElement.focus()", - "blur": "Remove focus", - "click": "Click", - "select": "Select all the text", - "setSelectionRange": "Set the start and end positions of the current text selection", - "selectionStart": "The 0-based index of the first selected character.", - "selectionEnd": "The 0-based index of the character after the last selected character.", - "setRangeText": "Replace a range of text", - "replacement": "The string to insert.", - "replaceStart": "The 0-based index of the first character to replace.", - "replaceEnd": "The 0-based index of the character after the last character to replace." - }, - "errorBoundary": { - "encounterError": "Component loading failed. Please check your configuration. ", - "clickToReload": "Click to reload", - "errorMsg": "Error: " - }, - "imgUpload": { - "notSupportError": "Only supports uploading {types} image", - "exceedSizeError": "Image size should not exceed {size}" - }, - "gridCompOperator": { - "notSupport": "Not supported", - "selectAtLeastOneComponent": "Please select at least one component", - "selectCompFirst": "Please select components before copy", - "noContainerSelected": "[bug] No selected container", - "deleteCompsSuccess": "Delete success. You can use {undoKey} to undo.", - "deleteCompsTitle": "Delete components", - "deleteCompsBody": "Are you sure you want to delete {compNum} selected components?", - "cutCompsSuccess": "Cut success. You can use {pasteKey} to paste, or use {undoKey} to undo." - }, - "leftPanel": { - "queries": "Queries", - "globals": "Globals", - "propTipsArr": "{num} items", - "propTips": "{num} keys", - "propTipArr": "{num} item", - "propTip": "{num} key", - "stateTab": "State", - "settingsTab": "Settings", - "toolbarTitle": "Other", - "toolbarPreload": "Scripts and style", - "components": "Components", - "modals": "Modals", - "expandTip": "Click to expand {component}'s data", - "collapseTip": "Click to collapse {component}'s data" - }, - "bottomPanel": { - "title": "Queries", - "run": "Run", - "noSelectedQuery": "No selected query", - "metaData": "Metadata", - "noMetadata": "No metadata", - "metaSearchPlaceholder": "Search metadata", - "allData": "All tables" - }, - "rightPanel": { - "propertyTab": "Properties", - "noSelectedComps": "No components selected. Click to select one.", - "createTab": "Insert", - "searchPlaceHolder": "Search components or modules", - "uiComponentTab": "Components", - "extensionTab": "Extensions", - "modulesTab": "Modules", - "moduleListTitle": "Modules", - "pluginListTitle": "Plugins", - "emptyModules": "Modules are reusable groups of components and queries.", - "searchNotFound": "Can't find a suitable component? Submit an issue", - "emptyPlugins": "No plugins added.", - "contactUs": "Contact us", - "issueHere": " here." - }, - "prop": { - "expand": "Expand", - "columns": "Columns", - "videokey": "video key", - "rowSelection": "Row selection", - "toolbar": "Toolbar", - "pagination": "Pagination", - "logo": "Logo", - "style": "Style", - "inputs": "Inputs", - "meta": "Meta data", - "data": "Data", - "hide": "Hidden", - "loading": "Loading", - "disabled": "Disabled", - "placeholder": "Placeholder", - "showClear": "Show clear button", - "showSearch": "Searchable", - "defaultValue": "Default value", - "required": "Required field", - "readOnly": "Read only", - "readOnlyTooltip": "Read only component looks same as normal component, it is focusable and selectable but cannot be modified", - "minimum": "Minimum", - "maximum": "Maximum", - "regex": "Regex", - "minLength": "Min length", - "maxLength": "Max length", - "height": "Height", - "width": "Width", - "selectApp": "App", - "showCount": "Show count", - "textType": "Text type", - "customRule": "Custom rule", - "customRuleTooltip": "If the result is non-empty string, it is an error message. If empty or null, the validation passes. Example: ", - "manual": "Manual", - "map": "Mapped", - "json": "JSON", - "use12Hours": "Use 12-hours for Time Selector", - "hourStep": "Hour step", - "minuteStep": "Minute step", - "secondStep": "Second step", - "minDate": "Min date", - "maxDate": "Max date", - "minTime": "Min time", - "maxTime": "Max time", - "type": "Type", - "showLabel": "Show label", - "showHeader": "Show header", - "showBody": "Show body", - "showFooter": "Show footer", - "maskClosable": "Click the mask to close", - "showMask": "Show mask" - }, - "autoHeightProp": { - "auto": "Auto", - "fixed": "Fixed" - }, - "labelProp": { - "text": "Label", - "tooltip": "Tooltip", - "position": "Position", - "left": "Left", - "top": "Top", - "align": "Alignment", - "width": "Width", - "widthTooltip": "Width of the label. It supports percentage of the component width (%), pixels (px)" - }, - "eventHandler": { - "eventHandlers": "Event handlers", - "emptyEventHandlers": "No event handlers", - "incomplete": "Incomplete selection", - "inlineEventTitle": "On {eventName}", - "event": "Event", - "action": "Action", - "noSelect": "No select", - "runQuery": "Run query", - "selectQuery": "Select query", - "controlComp": "Control component", - "runScript": "Run JavaScript", - "runScriptPlaceHolder": "Write code here", - "component": "Component", - "method": "Method", - "setTempState": "Set temporary state", - "state": "State", - "triggerModuleEvent": "Trigger module event", - "moduleEvent": "Module event", - "goToApp": "Go to app", - "queryParams": "Query params", - "hashParams": "Hash params", - "showNotification": "Show notification", - "text": "Text", - "level": "Level", - "duration": "Duration", - "notifyDurationTooltip": "Time unit can be s(second, default), ms (millisecond). Max duration is {max} seconds", - "goToURL": "Go to URL", - "openInNewTab": "Open in a new tab", - "copyToClipboard": "Copy to clipboard", - "copyToClipboardValue": "Value", - "export": "Export data", - "exportNoFileType": "No select (optional)", - "fileName": "File name", - "fileNameTooltip": "Support extension to specify the file type, like image.png.", - "fileType": "File type", - "condition": "Only run when", - "conditionTooltip": "Only run the event handler when this condition evaluates to 'true'", - "debounce": "Debounce", - "throttle": "Throttle", - "slowdownTooltip": "Use debounce or throttle to control how often the action is triggered. Time unit can be ms (millisecond, default), s (second).", - "notHandledError": "Not handled", - "currentApp": "Current" - }, - "event": { - "submit": "Submit", - "submitDesc": "Triggers on submit", - "change": "Change", - "changeDesc": "Triggers on value changes", - "focus": "Focus", - "focusDesc": "Triggers on focus", - "blur": "Blur", - "blurDesc": "Triggers on blur", - "click": "Click", - "clickDesc": "Triggers on click", - "close": "Close", - "closeDesc": "Triggers on close", - "parse": "Parse", - "parseDesc": "Triggers on parse", - "success": "Success", - "successDesc": "Triggers on success", - "delete": "Delete", - "deleteDesc": "Triggers on delete", - "mention": "mention", - "mentionDesc": "Triggers on mention" - }, - "themeDetail": { - "primary": "Brand color", - "primaryDesc": "Most components use the default primary color", - "textDark": "Text dark color", - "textDarkDesc": "Apply when the background color is light", - "textLight": "Text light color", - "textLightDesc": "Apply when the background color is dark", - "canvas": "Canvas color", - "canvasDesc": "The default background color of the app", - "primarySurface": "Container color", - "primarySurfaceDesc": "The default background color for components such as tables", - "borderRadius": "Border radius", - "borderRadiusDesc": "Most components use the default border radius", - "chart": "Chart style", - "chartDesc": "Input Echarts", - "echartsJson": "Theme JSON", - "margin": "Margin", - "marginDesc": "The default margin is typically used for most components", - "padding": "Padding", - "paddingDesc": "The default padding is typically used for most components", - "containerheaderpadding": "Header Padding", - "containerheaderpaddingDesc": "The default headerpadding is typically used for most components", - "gridColumns": "Grid Columns", - "gridColumnsDesc": "The default number of columns is typically used for most containers" - }, - "style": { - "resetTooltip": "Reset styles. Delete the input's value to reset an individual field.", - "textColor": "Text color", - "contrastText": "Contrast text color", - "generated": "Generated", - "customize": "Customize", - "staticText": "Static text", - "accent": "Accent", - "validate": "Validation message", - "border": "Border color", - "borderRadius": "Border radius", - "borderWidth": "Border width", - "background": "Background", - "headerBackground": "Header background", - "footerBackground": "Footer background", - "fill": "Fill", - "track": "Track", - "links": "Links", - "thumb": "Thumb", - "thumbBorder": "Thumb border", - "checked": "Checked", - "unchecked": "Unchecked", - "handle": "Handle", - "tags": "Tags", - "tagsText": "Tags text", - "multiIcon": "Multiselect icon", - "tabText": "Tab text", - "tabAccent": "Tab accent", - "checkedBackground": "Checked background", - "uncheckedBackground": "Unchecked background", - "uncheckedBorder": "Unchecked border", - "indicatorBackground": "Indicator background", - "tableCellText": "Cell text", - "selectedRowBackground": "Selected row background", - "hoverRowBackground": "Hover row background", - "alternateRowBackground": "Alternate row background", - "tableHeaderBackground": "Header background", - "tableHeaderText": "Header text", - "toolbarBackground": "Toolbar background", - "toolbarText": "Toolbar text", - "pen": "Pen", - "footerIcon": "Footer icon", - "tips": "Tips", - "margin": "Margin", - "padding": "Padding", - "marginLeft": "Margin Left", - "marginRight": "Margin Right", - "marginTop": "Margin Top", - "marginBottom": "Margin Bottom", - "containerheaderpadding": "Header Padding", - "containerfooterpadding": "Footer Padding", - "containerbodypadding": "Body Padding", - "minWidth": "Minimum Width", - "aspectRatio": "Aspect Ratio", - "textSize": "Text size" - }, - "export": { - "hiddenDesc": "If true, the component is hidden", - "disabledDesc": "If true, the component will be greyed out and non-interactive", - "visibleDesc": "If true, the component is visible", - "inputValueDesc": "Current value of the input", - "invalidDesc": "Whether the value is invalid", - "placeholderDesc": "Text to display when no value is set", - "requiredDesc": "If true, a valid value must be provided", - "submitDesc": "Submit Form", - "richTextEditorValueDesc": "Current value of the Editor", - "richTextEditorReadOnlyDesc": "If true, the Editor is read-only", - "richTextEditorHideToolBarDesc": "If true, thr toolbar is hidden", - "jsonEditorDesc": "Current json data", - "sliderValueDesc": "Currently selected value", - "sliderMaxValueDesc": "The maximum value of the current interval", - "sliderMinValueDesc": "The minimum value of the current interval", - "sliderStartDesc": "The value of the currently selected starting point", - "sliderEndDesc": "The value of the currently selected end point", - "ratingValueDesc": "The currently selected score", - "ratingMaxDesc": "The maximum score currently set", - "datePickerValueDesc": "Currently selected date", - "datePickerFormattedValueDesc": "Formatted selected date according to the specified format", - "datePickerTimestampDesc": "The currently selected timestamp of the date (s)", - "dateRangeStartDesc": "Currently selected start date", - "dateRangeEndDesc": "Currently selected end date", - "dateRangeStartTimestampDesc": "The currently selected timestamp of the start date (s)", - "dateRangeEndTimestampDesc": "The currently selected timestamp of the end date (s)", - "dateRangeFormattedValueDesc": "Formatted selected date according to the specified format", - "dateRangeFormattedStartValueDesc": "Formatted start date according to the specified format", - "dateRangeFormattedEndValueDesc": "Formatted end date according to the specified format", - "timePickerValueDesc": "Currently selected time", - "timePickerFormattedValueDesc": "Formatted selected time according to the specified format", - "timeRangeStartDesc": "Currently selected start time", - "timeRangeEndDesc": "Currently selected end time", - "timeRangeFormattedValueDesc": "Formatted selected time according to the specified format", - "timeRangeFormattedStartValueDesc": "Formatted start time according to the specified format", - "timeRangeFormattedEndValueDesc": "Formatted end time according to the specified format" - }, - "validationDesc": { - "email": "Please enter a valid email address", - "url": "Please enter a valid URL", - "regex": "Please enter the content that matches the regex", - "maxLength": "Excessive number of characters, current length {length}, maximum length {maxLength}", - "minLength": "Insufficient number of characters, current length {length}, minimum length {minLength}", - "maxValue": "Greater than the maximum, current {value}, maximum {max}", - "minValue": "Less than the minimum, current {value}, minimum {min}", - "maxTime": "Greater than the maximum time, current time {time}, the maximum time {maxTime}", - "minTime": "Less than the minimum time, current time {time}, the minimum time {minTime}", - "maxDate": "Greater than maximum date, current time {date}, maximum date {maxDate}", - "minDate": "Less than minimum date, current time {date}, minimum date {minDate}" - }, - "query": { - "noQueries": "No queries available. ", - "queryTutorialButton": "View {value} documents", - "datasource": "Data sources", - "newDatasource": "New data source", - "generalTab": "General", - "notificationTab": "Notification", - "advancedTab": "Advanced", - "showFailNotification": "Show notification on failure", - "failCondition": "Failure conditions", - "failConditionTooltip1": "Customizes failure condition and corresponding notification.", - "failConditionTooltip2": "If any condition returns true, the query will be marked as failure and triggers corresponding notification.", - "showSuccessNotification": "Show notification on success", - "successMessageLabel": "Success message", - "successMessage": "Run success", - "notifyDuration": "Duration", - "notifyDurationTooltip": "Notification duration. Time unit can be s(second, default), ms(millisecond). Default value is {default}s. Maximum is {max}s.", - "successMessageWithName": "{name} run success", - "failMessageWithName": "{name} run failed: {result}", - "showConfirmationModal": "Show a confirmation modal before running", - "confirmationMessageLabel": "Confirmation message", - "confirmationMessage": "Are you sure you want to run this query?", - "newQuery": "New query", - "newFolder": "New Folder", - "recentlyUsed": "Recently used", - "folder": "Folder", - "folderNotEmpty": "Folder is not empty", - "dataResponder": "Data responder", - "tempState": "Temporary state", - "transformer": "Transformer", - "quickRestAPI": "REST Query", - "quickStreamAPI": "Stream Query", - "quickGraphql": "GraphQL Query", - "lowcoderAPI": "Lowcoder API", - "executeJSCode": "Run JavaScript Code", - "importFromQueryLibrary": "Import from Query Library", - "importFromFile": "Import from File", - "triggerType": "Triggered when", - "triggerTypeAuto": "Inputs change or on page load", - "triggerTypePageLoad": "On page load", - "triggerTypeManual": "Manually invoked", - "chooseDataSource": "Data source", - "method": "Method", - "updateExceptionDataSourceTitle": "Update failing data source", - "updateExceptionDataSourceContent": "Update the following query with the same failing data source:", - "update": "Update", - "disablePreparedStatement": "Disable prepared statements", - "disablePreparedStatementTooltip": "Disabling prepared statements can generate SQL dynamically, but risks SQL injection", - "timeout": "Timeout after", - "timeoutTooltip": "Default unit: ms, supported input units: ms, s.\nDefault value: {defaultSeconds} seconds\nMaximum value: {maxSeconds} seconds.\n\nE.g. 300 (i.e. 300ms), 800ms, 5s.", - "periodic": "Run this query periodically", - "periodicTime": "Period", - "periodicTimeTooltip": "Period between successive executions. \nDefault unit: ms, supported input units: ms, s.\nMinimum value: 100ms, periodical execution will be disabled for values below that.\n\nE.g. 300 (i.e. 300ms), 800ms, 5s.", - "cancelPrevious": "Ignore the results of previous uncompleted executions.", - "cancelPreviousTooltip": "", - "dataSourceStatusError": "If a new execution is triggered, the result of the previous uncompleted executions will be ignored if the previous executions did not complete, and the ignored executions will not trigger the event list of the query.", - "success": "Success", - "fail": "Failure", - "successDesc": "Triggered when the execution success", - "failDesc": "Triggered when the execution failed", - "fixedDelayError": "Query not run", - "execSuccess": "run success", - "execFail": "run failed", - "execIgnored": "The results of this query was ignored.", - "deleteSuccessMessage": "Successfully deleted. You can use {undoKey} to undo.", - "dataExportDesc": "Data obtained by the current query", - "codeExportDesc": "Current query status code", - "successExportDesc": "Whether the current query was executed successfully", - "messageExportDesc": "Information returned by the current query", - "extraExportDesc": "Other data in the current query", - "isFetchingExportDesc": "Is the current query in the request", - "runTimeExportDesc": "Current query execution time (ms)", - "latestEndTimeExportDesc": "Last run time", - "triggerTypeExportDesc": "Trigger type", - "chooseResource": "Choose a resource", - "createDataSource": "Create a new data source", - "editDataSource": "Edit", - "datasourceName": "Name", - "datasourceNameRuleMessage": "Please enter a data source name", - "generalSetting": "General settings", - "advancedSetting": "Advanced settings", - "port": "Port", - "portRequiredMessage": "Please enter a port", - "portErrorMessage": "Please enter a correct port", - "connectionType": "Connection Type", - "regular": "Regular", - "host": "Host", - "hostRequiredMessage": "Please enter a host domain name or IP address", - "userName": "User name", - "password": "Password", - "encryptedServer": "-------- Encrypted on the server side --------", - "uriRequiredMessage": "Please enter a URI", - "urlRequiredMessage": "Please enter a URL", - "uriErrorMessage": "Please enter a correct URI", - "urlErrorMessage": "Please enter a correct URL", - "httpRequiredMessage": "Please enter http:// or https://", - "databaseName": "Database name", - "databaseNameRequiredMessage": "Please enter a database name", - "useSSL": "Use SSL", - "userNameRequiredMessage": "Please enter your name", - "passwordRequiredMessage": "Please enter your password", - "authentication": "Authentication", - "authenticationType": "Authentication Type", - "sslCertVerificationType": "SSL Cert Verification", - "sslCertVerificationTypeDefault": "Verify CA Cert", - "sslCertVerificationTypeSelf": "Verify Self Signed Cert", - "sslCertVerificationTypeDisabled": "Disabled", - "selfSignedCert": "Self-signed Cert", - "selfSignedCertRequireMsg": "Please enter your Certificate", - "enableTurnOffPreparedStatement": "Enable toggling prepared statements for queries", - "enableTurnOffPreparedStatementTooltip": "You can enable or disable prepared statements in query Advanced tab", - "serviceName": "Service name", - "serviceNameRequiredMessage": "Please enter your service name", - "useSID": "Use SID", - "connectSuccessfully": "Connection successful", - "saveSuccessfully": "Saved", - "database": "Database", - "cloudHosting": "Cloud-hosted Lowcoder cannot access your local services with 127.0.0.1 or localhost. Try to connect public network data sources or use a reverse proxy fronting your private services.", - "notCloudHosting": "For docker hosted deployment, Lowcoder uses bridge networks, so 127.0.0.1 and localhost are invalid for host addresses. To visit data sources on your local machine, please refer to this", - "howToAccessHostDocLink": "How do I access the host API/DB", - "returnList": "Return", - "chooseDatasourceType": "Choose data source type", - "viewDocuments": "Documents", - "testConnection": "Test connection", - "save": "Save", - "whitelist": "Allowlist", - "whitelistTooltip": "Add the following IP addresses of Lowcoder to your data source allowlist when needed.", - "address": "Address: ", - "nameExists": "Name {name} already exist", - "jsQueryDocLink": "About JavaScript query", - "dynamicDataSourceConfigLoadingText": "Extra datasource config loading...", - "dynamicDataSourceConfigErrText": "Fail to load extra datasource config.", - "retry": "Retry" - }, - "sqlQuery": { - "keyValuePairs": "Key-value pairs", - "object": "Object", - "allowMultiModify": "Allow modify multi-row", - "allowMultiModifyTooltip": "If this parameter is selected, all rows that meet the conditions are operated. Otherwise, only the first row that meets the conditions is operated", - "array": "Array", - "insertList": "Insert list", - "insertListTooltip": "Value inserted when it does not exist", - "filterRule": "Filter rule", - "updateList": "Update list", - "updateListTooltip": "Values updated as they exist can be overridden by the same insertion list values", - "sqlMode": "SQL mode", - "guiMode": "GUI mode", - "operation": "Operation", - "insert": "Insert", - "upsert": "Insert, update if conflict", - "update": "Update", - "delete": "Delete", - "bulkInsert": "Bulk insert", - "bulkUpdate": "Bulk update", - "table": "Table", - "primaryKeyColumn": "Primary key column" - }, - "EsQuery": { - "rawCommand": "Raw command", - "queryTutorialButton": "View Elasticsearch API documents", - "request": "Request" - }, - "googleSheets": { - "rowIndex": "Row Index", - "spreadsheetId": "Spreadsheet", - "sheetName": "Sheet Name", - "readData": "Read Data", - "appendData": "Append Row", - "updateData": "Update Row", - "deleteData": "Delete Row", - "clearData": "Clear Row", - "serviceAccountRequireMessage": "Please enter your Service Account", - "ASC": "ASC", - "DESC": "DESC", - "sort": "Sort", - "sortPlaceholder": "Name" - }, - "queryLibrary": { - "export": "Export to JSON", - "noInput": "The current query has no input", - "inputName": "Name", - "inputDesc": "Description", - "emptyInputs": "No inputs", - "clickToAdd": "Add", - "chooseQuery": "Choose query", - "viewQuery": "View query", - "chooseVersion": "Choose version", - "latest": "Latest", - "publish": "Publish", - "historyVersion": "History version", - "deleteQueryLabel": "Delete query", - "deleteQueryContent": "The query can't be recovered after being deleted. Delete the query?", - "run": "Run", - "readOnly": "Read only", - "exit": "Exit", - "recoverAppSnapshotContent": "Restore the current query to the version {version}", - "searchPlaceholder": "Search query", - "allQuery": "All queries", - "deleteQueryTitle": "Delete query", - "unnamed": "Unnamed", - "publishNewVersion": "Publish new version", - "publishSuccess": "Published", - "version": "Version", - "desc": "Description" - }, - "snowflake": { - "accountIdentifierTooltip": "See ", - "extParamsTooltip": "Configure more connection parameters" - }, - "lowcoderQuery": { - "queryOrgUsers": "Query workspace users" - }, - "redisQuery": { - "rawCommand": "Raw command", - "command": "Command", - "queryTutorial": "View Redis Commands documents" - }, - "httpQuery": { - "bodyFormDataTooltip": "If you select {type}, the format of value should be {object}. Example: {example}", - "text": "Text", - "file": "File", - "extraBodyTooltip": "Key values in Extra body will be appended in body with JSON or Form Data types", - "forwardCookies": "Forward cookies", - "forwardAllCookies": "Forward all cookies" - }, - "smtpQuery": { - "attachment": "Attachment", - "attachmentTooltip": "Can use with file upload component, need convert data to: ", - "MIMETypeUrl": "https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types", - "sender": "Sender", - "recipient": "Recipient", - "carbonCopy": "Carbon copy", - "blindCarbonCopy": "Blind carbon copy", - "subject": "Subject", - "content": "Content", - "contentTooltip": "Support for input text or HTML" - }, - "uiCompCategory": { - "dashboards": "Dashboards & Reporting", - "layout": "Layout & Navigation", - "forms": "Data Collection and Forms", - "collaboration": "Meeting & Collaboration", - "projectmanagement": "Project Management", - "scheduling": "Calendar and Scheduling", - "documents": "Document and File Management", - "itemHandling": "Item & Signature handling", - "multimedia": "Multimedia & Animation", - "integration": "Integration & Extension" - }, - "uiComp": { - "autoCompleteCompName": "Auto Complete", - "autoCompleteCompDesc": "Auto Complete input field", - "inputCompName": "Input", - "inputCompDesc": "Text Input field", - "inputCompKeywords": "text, textinput, input", - "textAreaCompName": "Text Area", - "textAreaCompDesc": "Text Area", - "textAreaCompKeywords": "", - "passwordCompName": "Password", - "passwordCompDesc": "Password field", - "passwordCompKeywords": "", - "richTextEditorCompName": "Rich Text Editor", - "richTextEditorCompDesc": "Embeded Rich Text Editor", - "richTextEditorCompKeywords": "Text editing, rich text, editor", - "numberInputCompName": "Number Input", - "numberInputCompDesc": "Number Input field", - "numberInputCompKeywords": "", - "sliderCompName": "Slider", - "sliderCompDesc": "Slider component", - "sliderCompKeywords": "", - "rangeSliderCompName": "Range Slider", - "rangeSliderCompDesc": "Range Slider input", - "rangeSliderCompKeywords": "", - "ratingCompName": "Rating", - "ratingCompDesc": "Rating display and input", - "ratingCompKeywords": "", - "switchCompName": "Switch", - "switchCompDesc": "Switch display and input", - "switchCompKeywords": "", - "selectCompName": "Select", - "selectCompDesc": "Select component", - "selectCompKeywords": "", - "multiSelectCompName": "Multiselect", - "multiSelectCompDesc": "Multiselect component", - "multiSelectCompKeywords": "", - "cascaderCompName": "Cascader", - "cascaderCompDesc": "Cascader component", - "cascaderCompKeywords": "", - "checkboxCompName": "Checkbox", - "checkboxCompDesc": "Checkbox component", - "checkboxCompKeywords": "", - "radioCompName": "Radio", - "radioCompDesc": "Radio component", - "radioCompKeywords": "", - "segmentedControlCompName": "Segmented Control", - "segmentedControlCompDesc": "Segmented Control component", - "segmentedControlCompKeywords": "", - "fileUploadCompName": "File Upload", - "fileUploadCompDesc": "File Upload component", - "fileUploadCompKeywords": "", - "dateCompName": "Date", - "dateCompDesc": "Date component", - "dateCompKeywords": "", - "dateRangeCompName": "Date Range", - "dateRangeCompDesc": "Date Range component", - "dateRangeCompKeywords": "", - "timeCompName": "Time", - "timeCompDesc": "Time component", - "timeCompKeywords": "", - "timeRangeCompName": "Time Range", - "timeRangeCompDesc": "Time Range component", - "timeRangeCompKeywords": "", - "buttonCompName": "Form Button", - "buttonCompDesc": "Button component", - "buttonCompKeywords": "", - "linkCompName": "Link", - "linkCompDesc": "Link component", - "linkCompKeywords": "", - "scannerCompName": "Scanner", - "scannerCompDesc": "Scanner component", - "scannerCompKeywords": "", - "dropdownCompName": "Dropdown", - "dropdownCompDesc": "Dropdown component", - "dropdownCompKeywords": "", - "toggleButtonCompName": "Toggle Button", - "toggleButtonCompDesc": "Toggle Button component", - "toggleButtonCompKeywords": "", - "textCompName": "Text Display", - "textCompDesc": "Text component", - "textCompKeywords": "", - "tableCompName": "Table", - "tableCompDesc": "Table component", - "tableCompKeywords": "", - "imageCompName": "Image", - "imageCompDesc": "Image component", - "imageCompKeywords": "", - "progressCompName": "Progress", - "progressCompDesc": "Progress component", - "progressCompKeywords": "", - "progressCircleCompName": "Process Circle", - "progressCircleCompDesc": "Process Circle component", - "progressCircleCompKeywords": "", - "fileViewerCompName": "File Viewer", - "fileViewerCompDesc": "File Viewer component", - "fileViewerCompKeywords": "", - "dividerCompName": "Divider", - "dividerCompDesc": "Divider component", - "dividerCompKeywords": "", - "qrCodeCompName": "QR Code", - "qrCodeCompDesc": "QR Code component", - "qrCodeCompKeywords": "", - "formCompName": "Form", - "formCompDesc": "Form component", - "formCompKeywords": "", - "jsonSchemaFormCompName": "JSON Schema Form", - "jsonSchemaFormCompDesc": "JSON Schema Form component", - "jsonSchemaFormCompKeywords": "", - "containerCompName": "Container", - "containerCompDesc": "Container component", - "containerCompKeywords": "", - "collapsibleContainerCompName": "Collapsible Container", - "collapsibleContainerCompDesc": "Collapsible Container component", - "collapsibleContainerCompKeywords": "", - "tabbedContainerCompName": "Tabbed Container", - "tabbedContainerCompDesc": "Tabbed Container component", - "tabbedContainerCompKeywords": "", - "modalCompName": "Modal", - "modalCompDesc": "Modal component", - "modalCompKeywords": "", - "listViewCompName": "List View", - "listViewCompDesc": "List View component", - "listViewCompKeywords": "", - "gridCompName": "Grid", - "gridCompDesc": "Grid component", - "gridCompKeywords": "", - "navigationCompName": "Navigation", - "navigationCompDesc": "Navigation component", - "navigationCompKeywords": "", - "iframeCompName": "IFrame", - "iframeCompDesc": "IFrame component", - "iframeCompKeywords": "", - "customCompName": "Custom Component", - "customCompDesc": "Custom Component", - "customCompKeywords": "", - "moduleCompName": "Module", - "moduleCompDesc": "Module component", - "moduleCompKeywords": "", - "jsonExplorerCompName": "JSON Explorer", - "jsonExplorerCompDesc": "JSON Explorer component", - "jsonExplorerCompKeywords": "", - "jsonEditorCompName": "JSON Editor", - "jsonEditorCompDesc": "JSON Editor component", - "jsonEditorCompKeywords": "", - "treeCompName": "Tree", - "treeCompDesc": "Tree component", - "treeCompKeywords": "", - "treeSelectCompName": "Tree Select", - "treeSelectCompDesc": "Tree Select component", - "treeSelectCompKeywords": "", - "audioCompName": "Audio", - "audioCompDesc": "Audio component", - "audioCompKeywords": "", - "videoCompName": "Video", - "sharingCompName": "Sharing", - "videoCompDesc": "Video component", - "videoCompKeywords": "", - "drawerCompName": "Drawer", - "drawerCompDesc": "Drawer component", - "drawerCompKeywords": "", - "chartCompName": "Chart", - "chartCompDesc": "Chart component", - "chartCompKeywords": "", - "carouselCompName": "Image Carousel", - "carouselCompDesc": "Image Carousel component", - "carouselCompKeywords": "", - "imageEditorCompName": "Image Editor", - "imageEditorCompDesc": "Image Editor component", - "imageEditorCompKeywords": "", - "mermaidCompName": "Mermaid Charts", - "mermaidCompDesc": "Render Mermaid Charts based on text", - "mermaidCompKeywords": "", - "calendarCompName": "Calendar", - "calendarCompDesc": "Calendar component", - "calendarCompKeywords": "", - "signatureCompName": "Signature", - "signatureCompDesc": "Signature component", - "signatureCompKeywords": "", - "jsonLottieCompName": "Lottie Animation", - "jsonLottieCompDesc": "Lottie Animation", - "jsonLottieCompKeywords": "", - "timelineCompName": "Time Line", - "timelineCompDesc": "Time Line", - "timelineCompKeywords": "", - "commentCompName": "Comment", - "commentCompDesc": "Comment", - "commentCompKeywords": "", - "mentionCompName": "mention", - "mentionCompDesc": "mention", - "mentionCompKeywords": "", - "autoCompleteCompKeywords": "", - "responsiveLayoutCompName": "Responsive Layout", - "responsiveLayoutCompDesc": "Responsive Layout", - "responsiveLayoutCompKeywords": "" - }, - "comp": { - "menuViewDocs": "View documentation", - "menuViewPlayground": "View playground", - "menuUpgradeToLatest": "Upgrade to latest version", - "nameNotEmpty": "Can not be empty", - "nameRegex": "Must start with a letter and contain only letters, digits, and underscores (_)", - "nameJSKeyword": "Can not be a Javascript keyword", - "nameGlobalVariable": "Can not be global variable name", - "nameExists": "Name {name} already exist", - "getLatestVersionMetaError": "Failed to fetch latest version, please try later.", - "needNotUpgrade": "Current version is already latest.", - "compNotFoundInLatestVersion": "Current component not found in the latest version.", - "upgradeSuccess": "Successfully upgraded to latest version.", - "searchProp": "Search" - }, - "jsonSchemaForm": { - "retry": "Retry", - "resetAfterSubmit": "Reset after successful submit", - "jsonSchema": "JSON schema", - "uiSchema": "UI schema", - "schemaTooltip": "See", - "defaultData": "Default data", - "dataDesc": "Current form data", - "required": "Required", - "maximum": "The maximum value is {value}", - "minimum": "The minimum value is {value}", - "exclusiveMaximum": "Should be less than {value}", - "exclusiveMinimum": "Should be greater than {value}", - "multipleOf": "Should be a multiple of {value}", - "minLength": "At least {value} characters", - "maxLength": "At most {value} characters", - "pattern": "Should match the pattern {value}", - "format": "Should match the format {value}" - }, - "select": { - "inputValueDesc": "Input search value" - }, - "customComp": { - "text": "It's a good day.", - "triggerQuery": "Trigger query", - "updateData": "Update data", - "updateText": "I'm also in a good mood!", - "sdkGlobalVarName": "Lowcoder" - }, - "tree": { - "selectType": "Select type", - "noSelect": "No select", - "singleSelect": "Single select", - "multiSelect": "Multi select", - "checkbox": "Checkbox", - "checkedStrategy": "Checked strategy", - "showAll": "All nodes", - "showParent": "Only parent nodes", - "showChild": "Only child nodes", - "autoExpandParent": "Auto expand parent", - "checkStrictly": "Check strictly", - "checkStrictlyTooltip": "Check treeNode precisely; parent treeNode and children treeNodes are not associated", - "treeData": "Tree data", - "treeDataDesc": "Current tree data", - "value": "Default values", - "valueDesc": "Current values", - "expanded": "Expanded values", - "expandedDesc": "Current expanded values", - "defaultExpandAll": "Default expand all nodes", - "showLine": "Show line", - "showLeafIcon": "Show leaf icon", - "treeDataAsia": "Asia", - "treeDataChina": "China", - "treeDataBeijing": "Beijing", - "treeDataShanghai": "Shanghai", - "treeDataJapan": "Japan", - "treeDataEurope": "Europe", - "treeDataEngland": "England", - "treeDataFrance": "France", - "treeDataGermany": "Germany", - "treeDataNorthAmerica": "North America", - "helpLabel": "Node label", - "helpValue": "Unique node value in tree", - "helpChildren": "Children nodes", - "helpDisabled": "Disables the node", - "helpSelectable": "Whether node is selectable (single/multi select type)", - "helpCheckable": "Whether display Checkbox (Checkbox type)", - "helpDisableCheckbox": "Disables the Checkbox (Checkbox type)" - }, - "moduleContainer": { - "eventTest": "Event Test", - "methodTest": "Method Test", - "inputTest": "Input Test" - }, - "password": { - "label": "Password", - "visibilityToggle": "Show visibility toggle" - }, - "richTextEditor": { - "toolbar": "Customine Toolbar", - "toolbarDescription": "you can customize the toolbar. Plase refer to: https://quilljs.com/docs/modules/toolbar/ for more details.", - "placeholder": "Please input...", - "hideToolbar": "Hide toolbar", - "content": "Content", - "title": "Title", - "save": "Save", - "link": "Link: ", - "edit": "Edit", - "remove": "Remove" - }, - "numberInput": { - "formatter": "Format", - "precision": "Precision", - "allowNull": "Allow null value", - "thousandsSeparator": "Show thousands separator", - "controls": "Show increment/decrement buttons", - "step": "Step", - "standard": "Standard", - "percent": "Percent" - }, - "slider": { - "step": "Step", - "stepTooltip": "The value must be greater than 0 and divisible by (max-min)" - }, - "rating": { - "max": "Max rating", - "allowHalf": "Allow half rating points" - }, - "optionsControl": { - "optionList": "Options", - "option": "Option", - "optionI": "Option {i}", - "viewDocs": "View docs", - "tip": "The \"item\" and \"i\" variables represent the value and index of each item in the data array" - }, - "radio": { - "options": "Options", - "horizontal": "Horizontal", - "horizontalTooltip": "The horizontal layout wraps itself when it runs out of space", - "vertical": "Vertical", - "verticalTooltip": "The vertical layout will always be displayed in a single column", - "autoColumns": "Auto column", - "autoColumnsTooltip": "The auto column layout automatically rearranges the order as space permits and displays as multiple columns" - }, - "cascader": { - "options": "Data" - }, - "selectInput": { - "valueDesc": "Currently selected value", - "selectedIndexDesc": "The index of the currently selected value, or -1 if no value is selected", - "selectedLabelDesc": "The label of the currently selected value" - }, - "file": { - "typeErrorMsg": "Must be a number with a valid file size unit, or a unitless number of bytes.", - "fileEmptyErrorMsg": "upload failed. The file size is empty.", - "fileSizeExceedErrorMsg": "upload failed. The file size exceeds the limit.", - "minSize": "Min size", - "minSizeTooltip": "The minimum size of uploaded files with optional file size units (e.g., \"5kb\", \"10 MB\"). If no unit is provided, the value will be considered a number of bytes.", - "maxSize": "Max size", - "maxSizeTooltip": "The maximum size of uploaded files with optional file size units (e.g., \"5kb\", \"10 MB\"). If no unit is provided, the value will be considered a number of bytes.", - "single": "Single", - "multiple": "Multiple", - "directory": "Directory", - "upload": "Browse", - "fileType": "File types", - "reference": "Please refer to", - "fileTypeTooltipUrl": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers", - "fileTypeTooltip": "unique file type specifiers", - "uploadType": "Upload type", - "showUploadList": "Show upload list", - "maxFiles": "Max files", - "filesValueDesc": "The contents of the currently uploaded file are Base64 encoded", - "filesDesc": "List of the current uploaded files. For details, refer to", - "clearValueDesc": "Clear all files", - "parseFiles": "Parse files", - "parsedValueTooltip1": "If parseFiles is true, upload files will parse to object, array, or string. Parsed data can be accessed via the parsedValue array.", - "parsedValueTooltip2": "Supports Excel, JSON, CSV, and text files. Other formats will return null." - }, - "date": { - "format": "Format", - "formatTip": "Support:\nYYYY-MM-DD HH:mm:ss\nYYYY-MM-DD\nTimestamp", - "reference": "Please refer to", - "showTime": "Show time", - "start": "Start date", - "end": "End date", - "year": "Year", - "quarter": "Quarter", - "month": "Month", - "week": "Week", - "date": "Date", - "clearAllDesc": "Clear all", - "resetAllDesc": "Reset all", - "placeholder": "Select date", - "placeholderText": "Placeholder", - "startDate": "Start date", - "endDate": "End date" - }, - "time": { - "start": "Start time", - "end": "End time", - "formatTip": "Support:\nHH:mm:ss\nTimestamp", - "format": "Format", - "placeholder": "Select Time", - "placeholderText": "Placeholder", - "startTime": "Start time", - "endTime": "End time" - }, - "button": { - "prefixIcon": "Prefix icon", - "suffixIcon": "Suffix icon", - "icon": "Icon", - "iconSize": "Icon size", - "button": "Form Button", - "formToSubmit": "Form to submit", - "default": "Default", - "submit": "Submit", - "textDesc": "Text currently displayed on button", - "loadingDesc": "Is the button in loading state? If true the current button is loading", - "formButtonEvent": "event" - }, - "link": { - "link": "Link", - "textDesc": "Text currently displayed on link", - "loadingDesc": "Is the link in loading state? If true the current link is loading" - }, - "scanner": { - "text": "Click scan", - "camera": "Camera {index}", - "changeCamera": "Switch camera", - "continuous": "Continuous scanning", - "uniqueData": "Ignore duplicate data", - "maskClosable": "Click the mask to close", - "errTip": "Please use this component under https or localhost" - }, - "dropdown": { - "onlyMenu": "Display with Label only", - "textDesc": "Text currently displayed on button" - }, - "textShow": { - "text": "### \ud83d\udc4b hello, {name}", - "valueTooltip": "Markdown supports most HTML tags and attributes. iframe, script, and other tags are disabled for security reasons.", - "verticalAlignment": "Vertical alignment", - "horizontalAlignment": "Horizontal alignment", - "textDesc": "Text displayed in the current text box" - }, - "table": { - "editable": "Editable", - "columnNum": "Columns", - "viewModeResizable": "Column width adjusted by user", - "viewModeResizableTooltip": "Whether can adjust column width.", - "showFilter": "Show filter button", - "showRefresh": "Show refresh button", - "showDownload": "Show download button", - "columnSetting": "Show column setting button", - "searchText": "Search text", - "searchTextTooltip": "Search and filter the data presented in the table", - "showQuickJumper": "Show quick jumper", - "hideOnSinglePage": "Hide on single page", - "showSizeChanger": "Show size changer button", - "pageSizeOptions": "Page size options", - "pageSize": "Page size", - "total": "Total row count", - "totalTooltip": "The default value is the number of current data items, which can be obtained from the query, for example: '{{query1.data[0].count}}'", - "filter": "Filter", - "filterRule": "Filter rule", - "chooseColumnName": "Choose column", - "chooseCondition": "Choose condition", - "clear": "Clear", - "columnShows": "Column shows", - "selectAll": "Select all", - "and": "And", - "or": "Or", - "contains": "contains", - "notContain": "does not contain", - "equals": "equals", - "isNotEqual": "is not equal", - "isEmpty": "is empty", - "isNotEmpty": "is not empty", - "greater": "greater than", - "greaterThanOrEquals": "greater than or equals", - "lessThan": "less than", - "lessThanOrEquals": "less than or equals", - "action": "Action", - "columnValue": "Column value", - "columnValueTooltip": "'{{currentCell}}': current cell data\n'{{currentRow}}': current row data\n'{{currentIndex}}': current data index(starting from 0)\nExample: '{{currentCell * 5}}' show 5 times the original value data.", - "imageSrc": "Image source", - "imageSize": "Image size", - "columnTitle": "Title", - "sortable": "Sortable", - "align": "Alignment", - "fixedColumn": "Fixed column", - "autoWidth": "Auto width", - "customColumn": "Custom column", - "auto": "Auto", - "fixed": "Fixed", - "columnType": "Column type", - "float": "Float", - "prefix": "Prefix", - "suffix": "Suffix", - "text": "Text", - "number": "Number", - "link": "Link", - "links": "Links", - "tag": "Tag", - "date": "Date", - "dateTime": "Date Time", - "badgeStatus": "Status", - "button": "Button", - "image": "Image", - "boolean": "Boolean", - "rating": "Rating", - "progress": "Progress", - "option": "Operation ", - "optionList": "Operation list", - "option1": "Operation 1", - "status": "Status", - "statusTooltip": "Optional values: success, error, default, warning, processing", - "primaryButton": "Primary", - "defaultButton": "Default", - "type": "Type", - "tableSize": "Table size", - "hideHeader": "Hide table header", - "fixedHeader": "Fixed table header", - "fixedHeaderTooltip": "Header will be fixed for vertically scrollable table", - "fixedToolbar": "Fixed toolbar", - "fixedToolbarTooltip": "Toolbaar will be fixed for vertically scrollable table based on position", - "hideBordered": "Hide column border", - "deleteColumn": "Delete column", - "confirmDeleteColumn": "Confirm delete column: ", - "small": "S", - "middle": "M", - "large": "L", - "refreshButtonTooltip": "The current data changes, click to regenerate the column.", - "changeSetDesc": "An object representing changes to an editable table, only contains the changed cell. Rows go first and columns go second.", - "selectedRowDesc": "Provides data for the currently selected row, indicating the row that triggers a click event if the user clicks a button/link on the row", - "selectedRowsDesc": "Useful in multiple selection mode, same as selectedRow", - "pageNoDesc": "Current display page, starting from 1", - "pageSizeDesc": "How many rows per page", - "sortColumnDesc": "The name of the currently selected sorted column", - "sortDesc": "Whether the current row is in descending order", - "pageOffsetDesc": "The current start of paging, used for paging to get data. Example: select * from users limit '{{table1.pageSize}}' offset '{{table1.pageOffset}}'", - "displayDataDesc": "Data displayed in the current table", - "selectedIndexDesc": "Selected index in display data", - "filterDesc": "Table Filtering Parameters", - "dataDesc": "The raw data used in the current table", - "saveChanges": "Save changes", - "cancelChanges": "Cancel changes", - "rowSelectChange": "Row select change", - "rowClick": "Row click", - "rowExpand": "Row expand", - "filterChange": "Filter change", - "sortChange": "Sort change", - "pageChange": "Page change", - "refresh": "Refresh", - "rowColor": "Conditional row color", - "rowColorDesc": "Conditionally set the row color based on the optional variables:\ncurrentRow, currentOriginalIndex, currentIndex, columnTitle. \nFor example:\n'{{ currentRow.id > 3 ? \"green\" : \"red\" }}'", - "cellColor": "Conditional cell color", - "cellColorDesc": "Conditionally set the cell color based on the cell value using currentCell:\nFor example:\n'{{ currentCell == 3 ? \"green\" : \"red\" }}'", - "saveChangesNotBind": "No event handler configured for saving changes. Please bind at least one event handler before click.", - "dynamicColumn": "Use dynamic column setting", - "dynamicColumnConfig": "Column Setting", - "dynamicColumnConfigDesc": "Dynamic column settings. Accepts an array of column names. All columns are visible by default.\nExample: [\"id\", \"name\"]", - "position": "Position", - "showDataLoadSpinner": "Show spinner during data loading", - "showValue": "Show Value", - "expandable": "Expandable", - "configExpandedView": "Configure expanded view", - "toUpdateRowsDesc": "An array of objects for rows to be updated in editable tables.", - "empty": "Empty", - "falseValues": "Text when false", - "allColumn": "All", - "visibleColumn": "Visible", - "emptyColumns": "No columns are currently visible" - }, - "image": { - "src": "Image source", - "srcDesc": "The image source", - "supportPreview": "Support click preview", - "supportPreviewTip": "Effective when the image source is valid" - }, - "progress": { - "value": "Value", - "valueTooltip": "The percentage complete as a value between 0 and 100", - "showInfo": "Show Value", - "valueDesc": "Current progress value, ranging from 0 to 100", - "showInfoDesc": "Whether to display the current progress value" - }, - "fileViewer": { - "invalidURL": "A valid URL was not provided", - "src": "File URI", - "srcTooltip": "Preview provided link content by embedding HTML, base64 encoded data can also be supported, for example: data:application/pdf; base64,AAA... CCC", - "srcDesc": "The file URI" - }, - "divider": { - "title": "Title", - "align": "Alignment", - "dashed": "Dashed", - "dashedDesc": "Whether to use dashed line", - "titleDesc": "Divider title", - "alignDesc": "Divider title alignment" - }, - "QRCode": { - "value": "Value", - "valueTooltip": "The value contains a maximum of 2953 characters", - "level": "Fault tolerance level", - "levelTooltip": "Refers to the QR code is blocked part, can still be scanned out. The higher the level, the more complex the code, and the more blocked it is, the more it can be scanned", - "includeMargin": "Show margin", - "image": "Image", - "valueDesc": "The qrCode value", - "L": "L (Low)", - "M": "M (Medium)", - "Q": "Q (Quartile)", - "H": "H (High)", - "maxLength": "The content is too long. Set the length to less than 2953 characters" - }, - "jsonExplorer": { - "indent": "Indent", - "expandToggle": "Expand JSON Tree", - "theme": "Theme", - "valueDesc": "Current JSON Data", - "default": "Default", - "defaultDark": "Default dark", - "neutralLight": "Neutral light", - "neutralDark": "Neutral dark", - "azure": "Azure", - "darkBlue": "Dark blue" - }, - "audio": { - "src": "Audio URL", - "defaultSrcUrl": "https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3", - "autoPlay": "Autoplay", - "loop": "Loop", - "srcDesc": "Current audio URL", - "play": "Play", - "playDesc": "Triggered when audio is played", - "pause": "Pause", - "pauseDesc": "Triggered when audio is paused", - "ended": "Ended", - "endedDesc": "Triggered when the audio ends playing" - }, - "video": { - "src": "Video URL", - "defaultSrcUrl": "https://www.youtube.com/watch?v=pRpeEdMmmQ0", - "poster": "Poster URL", - "defaultPosterUrl": "", - "autoPlay": "Autoplay", - "loop": "Loop", - "controls": "Hide controls", - "volume": "Volume", - "playbackRate": "Playback rate", - "posterTooltip": "The default value is the first frame of the video", - "autoPlayTooltip": "After the video is loaded, it will play automatically. Changing this value from true to false will pause the video. (If a poster is set, it will be played by the poster button)", - "controlsTooltip": "Hide video playback controls. May not be fully supported by every video source.", - "volumeTooltip": "Set the volume of the player, between 0 and 1", - "playbackRateTooltip": "Set the rate of the player, between 1 and 2", - "srcDesc": "Current video URL", - "play": "Play", - "playDesc": "Triggered when video is played", - "pause": "Pause", - "pauseDesc": "Triggered when video is paused", - "load": "Load", - "loadDesc": "Triggered when the video resource has finished loading", - "ended": "Ended", - "endedDesc": "Triggered when the video ends playing", - "currentTimeStamp": "The current playback position of the video in seconds", - "duration": "The total duration of the video in seconds" - }, - "media": { - "playDesc": "Begins playback of the media.", - "pauseDesc": "Pauses the media playback.", - "loadDesc": "Resets the media to the beginning and restart selecting the media resource.", - "seekTo": "Seek to the given number of seconds, or fraction if amount is between 0 and 1", - "seekToAmount": "Number of seconds, or fraction if it is between 0 and 1", - "showPreview": "Show preview" - }, - "rangeSlider": { - "start": "Start value", - "end": "End value", - "step": "Step size", - "stepTooltip": "The slider's granularity, the value must be greater than 0 and divisible by (max-min)" - }, - "iconControl": { - "selectIcon": "Select an icon", - "insertIcon": "insert an icon", - "insertImage": "Insert an image or " - }, - "millisecondsControl": { - "timeoutTypeError": "Please enter the correct timeout period, the current input is: {value}", - "timeoutLessThanMinError": "Input must greater than {left}, the current input is: {value}" - }, - "selectionControl": { - "single": "Single", - "multiple": "Multiple", - "close": "Close", - "mode": "Select mode" - }, - "container": { - "title": "Container title" - }, - "drawer": { - "placement": "Drawer placement", - "size": "Size", - "top": "Top", - "right": "Right", - "bottom": "Bottom", - "left": "Left", - "widthTooltip": "Number or percentage, e.g. 520, 60%", - "heightTooltip": "Number, e.g. 378", - "openDrawerDesc": "Open Drawer", - "closeDrawerDesc": "Close Drawer", - "width": "Drawer width", - "height": "Drawer height" - }, - "meeting": { - "logLevel": "Agora SDK Log Level", - "placement": "Meeting placement", - "meeting": "Meeting Settings", - "cameraView": "Camera View", - "cameraViewDesc": "Camera View", - "screenShared": "Screen Shared", - "screenSharedDesc": "Screen Shared", - "audioUnmuted": "Audio Unmuted", - "audioMuted": "Audio Muted", - "videoClicked": "Video Clicked", - "videoOff": "Video Off", - "videoOn": "Video On", - "size": "Size", - "top": "Top", - "host": "Host of the Meetingroom", - "participants": "Participants of the Meetingroom", - "shareScreen": "Local Screenshare", - "appid": "Agora Application Id", - "meetingName": "Meeting Name", - "localUserID": "Host User Id", - "userName": "Host User Name", - "rtmToken": "Agora RTM Token", - "rtcToken": "Agora RTC Token", - "noVideo": "No video", - "profileImageUrl": "Profile Image Url", - "right": "Right", - "bottom": "Bottom", - "videoId": "Video Stream Id", - "audioStatus": "Audio status", - "left": "Left", - "widthTooltip": "Number or percentage, e.g. 520, 60%", - "heightTooltip": "Number, e.g. 378", - "openDrawerDesc": "Open Drawer", - "closeDrawerDesc": "Close Drawer", - "width": "Drawer width", - "height": "Drawer height", - "actionBtnDesc": "Action Button", - "broadCast": "BroadCast Messages", - "title": "Meeting Title", - "meetingCompName": "Agora Meeting Controller", - "sharingCompName": "Screen share Stream", - "videoCompName": "Camera Stream", - "videoSharingCompName": "Screen share Stream", - "meetingControlCompName": "Control Button", - "meetingCompDesc": "Meeting Component", - "meetingCompControls": "Meeting Control", - "meetingCompKeywords": "Agora Meeting, Web Meeting, Collaboration", - "iconSize": "Icon Size", - "userId": "userId", - "roomId": "roomId", - "meetingActive": "Ongoing Meeting", - "messages": "Broadcasted Messages" - }, - "settings": { - "title": "Settings", - "userGroups": "User Groups", - "organization": "Workspaces", - "audit": "Audit Logs", - "theme": "Themes", - "plugin": "Plugins", - "advanced": "Advanced", - "lab": "Lab", - "branding": "Branding", - "oauthProviders": "OAuth Providers", - "appUsage": "App Usage Logs", - "environments": "Environments", - "premium": "Premium" - }, - "memberSettings": { - "admin": "Admin", - "adminGroupRoleInfo": "Admin can manage group members and resources", - "adminOrgRoleInfo": "Own all resources and can manage groups.", - "member": "Member", - "memberGroupRoleInfo": "Member can view group members", - "memberOrgRoleInfo": "Can only use or visit resources they have access to.", - "title": "Members", - "createGroup": "Create group", - "newGroupPrefix": "New group ", - "allMembers": "All members", - "deleteModalTitle": "Delete this group", - "deleteModalContent": "The deleted group cannot be restored. Are you sure to delete the group?", - "addMember": "Add members", - "nameColumn": "User name", - "joinTimeColumn": "Joining time", - "actionColumn": "Operation", - "roleColumn": "Role", - "exitGroup": "Exit Group", - "moveOutGroup": "Remove from group", - "inviteUser": "Invite members", - "exitOrg": "Leave", - "exitOrgDesc": "Are you sure you want to leave this workspace.", - "moveOutOrg": "Remove", - "moveOutOrgDescSaasMode": "Are you sure you want to remove user {name} from this workspace?", - "moveOutOrgDesc": "Are you sure you want to remove user {name}? This action cannot be recovered.", - "devGroupTip": "Members of the developer group have privileges to create apps and data sources.", - "lastAdminQuit": "The last administrator cannot exit.", - "organizationNotExist": "The current workspace does not exist", - "inviteUserHelp": "You can copy the invitation link to send to the user", - "inviteUserLabel": "Invitation link:", - "inviteCopyLink": "Copy Link", - "inviteText": "{userName} invites you to join the workspace \"{organization}\", Click on the link to join: {inviteLink}", - "groupName": "Group name", - "createTime": "Create time", - "manageBtn": "Manage", - "userDetail": "Detail", - "syncDeleteTip": "This group has been deleted from the address book source", - "syncGroupTip": "This group is an address book synchronization group and cannot be edited" - }, - "orgSettings": { - "newOrg": "New workspace", - "title": "Workspace", - "createOrg": "Create workspace", - "deleteModalTitle": "Are you sure to delete this workspace?", - "deleteModalContent": "You are about to delete this workspace {permanentlyDelete}. Once deleted, the workspace {notRestored}.", - "permanentlyDelete": "permanently", - "notRestored": "cannot be restored", - "deleteModalLabel": "Please enter workspace name{name}to confirm the operation:", - "deleteModalTip": "Please enter workspace name", - "deleteModalErr": "Workspace name is incorrect", - "deleteModalBtn": "Delete", - "editOrgTitle": "Edit workspace information", - "orgNameLabel": "Workspace name:", - "orgNameCheckMsg": "Workspace name cannot be empty", - "orgLogo": "Workspace logo:", - "logoModify": "Modify picture", - "inviteSuccessMessage": "Join the workspace successfully", - "inviteFailMessage": "Failed to join workspace", - "uploadErrorMessage": "Upload error", - "orgName": "Workspace name" - }, - "freeLimit": "Free trial", - "tabbedContainer": { - "switchTab": "Switch tab", - "switchTabDesc": "Triggered when switching tabs", - "tab": "Tabs", - "atLeastOneTabError": "The Tab container keeps at least one Tab", - "selectedTabKeyDesc": "Currently selected TAB", - "iconPosition": "Icon position" - }, - "formComp": { - "containerPlaceholder": "Drag components from the right pane or", - "openDialogButton": "Generate a Form from your data source", - "resetAfterSubmit": "Reset after successful submit", - "initialData": "Initial data", - "disableSubmit": "Disable submit", - "success": "Form generated successfully", - "selectCompType": "Select component type", - "dataSource": "Data source: ", - "selectSource": "Select source", - "table": "Table: ", - "selectTable": "Select table", - "columnName": "Column name", - "dataType": "Data type", - "compType": "Component type", - "required": "Required", - "generateForm": "Generate form", - "compSelectionError": "Unconfigured column type", - "compTypeNameError": "Could not get the component type name", - "noDataSourceSelected": "No data source selected", - "noTableSelected": "No table selected", - "noColumn": "No column", - "noColumnSelected": "No column selected", - "noDataSourceFound": "No supported data source found. Create a new data source", - "noTableFound": "No tables were found in this data source, please select another data source", - "noColumnFound": "No supported column was found in this table. Please select another table", - "formTitle": "Form title", - "name": "Name", - "nameTooltip": "The attribute name in the data of the form, when left blank, defaults to the component name", - "notSupportMethod": " Not supported methods: ", - "notValidForm": "The form is not valid", - "resetDesc": "Reset form data to default value", - "clearDesc": "Clear form data", - "setDataDesc": "Set form data", - "valuesLengthError": "Parameter number error", - "valueTypeError": "Parameter type error", - "dataDesc": "Current form data", - "loadingDesc": "Whether the form is loading?" - }, - "modalComp": { - "close": "Close", - "closeDesc": "Triggered when the dialog box is closed", - "openModalDesc": "Open the dialog box", - "closeModalDesc": "Close the dialog box", - "visibleDesc": "Is it visible? If true, the current dialog box will pop up", - "modalHeight": "Modal height", - "modalHeightTooltip": "Number, example: 222", - "modalWidth": "Modal width", - "modalWidthTooltip": "Number or percentage, example: 520, 60%" - }, - "listView": { - "noOfRows": "Row count", - "noOfRowsTooltip": "Number of rows in the list - This is usually set to a variable (for example, '{{query1.data.length}}') if you need to present the results of a query.", - "noOfColumns": "Column count", - "itemIndexName": "Item index name", - "itemIndexNameDesc": "the variable name refer to the item's index, default as {default}", - "itemDataName": "Item data name", - "itemDataNameDesc": "the variable name refer to the item's data object, default as {default}", - "itemsDesc": "Exposing data of Comps in list", - "dataDesc": "The raw data used in the current list", - "dataTooltip": "If evaluated as Number, this field will be regarded as row count, and the data will be regarded as empty." - }, - "navigation": { - "addText": "Add submenu item", - "logoURL": "Logo URL", - "horizontalAlignment": "Horizontal alignment", - "logoURLDesc": "Logo URL value", - "itemsDesc": "Navigation menu items" - }, - "iframe": { - "URLDesc": "The source URL", - "allowDownload": "Downloads", - "allowSubmitForm": "Submit form", - "allowMicrophone": "Microphone", - "allowCamera": "Camera", - "allowPopup": "Popups" - }, - "droppadbleMenuItem": { - "subMenu": "Submenu {number}" - }, - "navItemComp": { - "active": "Active" - }, - "switchComp": { - "open": "Open", - "close": "Close", - "openDesc": "Triggered when the switch is turned on", - "closeDesc": "Triggered when the switch is turned off", - "valueDesc": "Current switch status" - }, - "signature": { - "tips": "Hint Text", - "signHere": "Sign here", - "showUndo": "Show undo", - "showClear": "Show clear" - }, - "localStorageComp": { - "valueDesc": "All data items currently stored", - "setItemDesc": "Add an item", - "removeItemDesc": "Remove an item", - "clearItemDesc": "Clear all items" - }, - "utilsComp": { - "openUrl": "Open URL", - "openApp": "Open App", - "copyToClipboard": "Copy to clipboard", - "downloadFile": "Download file" - }, - "messageComp": { - "info": "Send a notification", - "success": "Send a success notification", - "warn": "Send a warning notification", - "error": "Send a error notification" - }, - "themeComp": { - "switchTo": "Switch theme" - }, - "transformer": { - "preview": "Preview", - "docLink": "About transformer", - "previewSuccess": "Preview success", - "previewFail": "Preview fail", - "deleteMessage": "Delete transformer success. You can use {undoKey} to undo." - }, - "temporaryState": { - "value": "Init value", - "valueTooltip": "The initial Value stored in the temporary state can be any valid JSON Value.", - "docLink": "About temporary state", - "pathTypeError": "Path must be either a string or an array of values", - "unStructuredError": "Unstructured data {prev} can't be updated by {path}", - "valueDesc": "Temporary state value", - "deleteMessage": "The temporary state is deleted successfully. You can use {undoKey} to undo." - }, - "dataResponder": { - "data": "Data", - "dataDesc": "Data of current data responder", - "dataTooltip": "When this data is changed, it will trigger subsequent actions.", - "docLink": "About the Data responder", - "deleteMessage": "The data responder is deleted successfully. You can use {undoKey} to undo." - }, - "theme": { - "title": "Themes", - "createTheme": "Create theme", - "themeName": "Theme name:", - "themeNamePlaceholder": "Please enter a theme name", - "defaultThemeTip": "Default theme:", - "createdThemeTip": "The theme that you have created:", - "option": "Option{index}", - "input": "Input", - "confirm": "Ok", - "emptyTheme": "No themes available", - "click": "", - "toCreate": "", - "nameColumn": "Name", - "defaultTip": "Default", - "updateTimeColumn": "Update time", - "edit": "Edit", - "cancelDefaultTheme": "Unset default theme", - "setDefaultTheme": "Set as default theme", - "copyTheme": "Duplicate theme", - "setSuccessMsg": "Setting succeeded", - "cancelSuccessMsg": "Unsetting succeeded", - "deleteSuccessMsg": "Deletion succeeded", - "checkDuplicateNames": "The theme name already exists, please re-enter it", - "copySuffix": " Copy", - "saveSuccessMsg": "Saved successfully", - "leaveTipTitle": "Tips", - "leaveTipContent": "You haven't saved yet, confirm leaving?", - "leaveTipOkText": "Leave", - "goList": "Back to the list", - "saveBtn": "Save", - "mainColor": "Main colors", - "text": "Text colors", - "defaultTheme": "Default", - "yellow": "Yellow", - "green": "Green", - "previewTitle": "Theme preview\nExample components that use your theme colors", - "dateColumn": "Date", - "emailColumn": "Email", - "phoneColumn": "Phone", - "subTitle": "Title", - "linkLabel": "Link", - "linkUrl": "app.lowcoder.cloud", - "progressLabel": "Progress", - "sliderLabel": "Slider", - "radioLabel": "Radio", - "checkboxLabel": "Checkbox", - "buttonLabel": "Form Button", - "switch": "Switch", - "previewDate": "16/10/2022", - "previewEmail1": "ted.com", - "previewEmail2": "skype.com", - "previewEmail3": "imgur.com", - "previewEmail4": "globo.com", - "previewPhone1": "+63-317-333-0093", - "previewPhone2": "+30-668-580-6521", - "previewPhone3": "+86-369-925-2071", - "previewPhone4": "+7-883-227-8093", - "chartPreviewTitle": "Chart style preview", - "chartSpending": "Spending", - "chartBudget": "Budget", - "chartAdmin": "Administration", - "chartFinance": "Finance", - "chartSales": "Sales", - "chartFunnel": "Funnel Chart", - "chartShow": "Show", - "chartClick": "Click", - "chartVisit": "Visit", - "chartQuery": "Query", - "chartBuy": "Buy" - }, - "pluginSetting": { - "title": "Plugins", - "npmPluginTitle": "npm plugins", - "npmPluginDesc": "Set up npm plugins for all applications in the current workspace.", - "npmPluginEmpty": "No npm plugins were added.", - "npmPluginAddButton": "Add a npm plugin", - "saveSuccess": "Saved successfully" - }, - "advanced": { - "title": "Advanced", - "defaultHomeTitle": "Default homepage", - "defaultHomeHelp": "The homepage is the app all non-developers will see by default when they log in. Note: Make sure the selected app is accessible to non-developers.", - "defaultHomePlaceholder": "Select the default homepage", - "saveBtn": "Save", - "preloadJSTitle": "Preload JavaScript", - "preloadJSHelp": "Set up preloaded JavaScript code for all apps in the current workspace.", - "preloadCSSTitle": "Preload CSS", - "preloadCSSHelp": " Set up preloaded CSS code for all apps in the current workspace.", - "preloadCSSApply": "Apply to the homepage of the workspace", - "preloadLibsTitle": "JavaScript library", - "preloadLibsHelp": "Set up preloaded JavaScript libraries for all applications in the current workspace, and the system has built-in lodash, day.js, uuid, numbro for direct use. JavaScript libraries are loaded before the app is initialized, so there is a certain impact on app performance.", - "preloadLibsEmpty": "No JavaScript libraries were added", - "preloadLibsAddBtn": "Add a library", - "saveSuccess": "Saved successfully", - "AuthOrgTitle": "Workspace welcome Screen", - "AuthOrgDescrition": "The URL for your users to Sign in to the current workspace." - }, - "branding": { - "title": "Branding", - "logoTitle": "Logo", - "logoHelp": ".JPG, .SVG or .PNG only", - "faviconTitle": "Favicon", - "faviconHelp": ".JPG, .SVG or .PNG only", - "brandNameTitle": "Brand Name", - "headColorTitle": "Head Color", - "save": "Save", - "saveSuccessMsg": "Saved successfully", - "upload": "Click to upload" - }, - "networkMessage": { - "0": "Failed to connect to server, please check your network", - "401": "Authentication failed, please log on again", - "403": "No permission, please contact the administrator for authorization", - "500": "Busy service, please try again later", - "timeout": "Request timeout" - }, - "share": { - "title": "Share", - "viewer": "Viewer", - "editor": "Editor", - "owner": "Owner", - "datasourceViewer": "Can use", - "datasourceOwner": "Can manage" - }, - "debug": { - "title": "Title", - "switch": "Switch component: " - }, - "module": { - "emptyText": "No data", - "circularReference": "Circular reference, current module/application cannot be used!", - "emptyTestInput": "The current module has no input to test", - "emptyTestMethod": "The current module has no method to test", - "name": "Name", - "input": "Input", - "params": "Params", - "emptyParams": "No params has been added", - "emptyInput": "No input has been added", - "emptyMethod": "No method has been added", - "emptyOutput": "No output has been added", - "data": "Data", - "string": "String", - "number": "Number", - "array": "Array", - "boolean": "Boolean", - "query": "Query", - "autoScaleCompHeight": "Component height scales with container", - "excuteMethod": "Execute method {name}", - "method": "Method", - "action": "Action", - "output": "Output", - "nameExists": "Name {name} already exist", - "eventTriggered": "Event {name} is triggered", - "globalPromptWhenEventTriggered": "Displays a global prompt when an event is triggered", - "emptyEventTest": "The current module has no events to test", - "emptyEvent": "No event has been added", - "event": "Event" - }, - "resultPanel": { - "returnFunction": "The return value is a function.", - "consume": "{time}", - "JSON": "Show JSON" - }, - "createAppButton": { - "creating": "Creating...", - "created": "Create {name}" - }, - "apiMessage": { - "authenticationFail": "User authentication failed, please sign in again", - "verifyAccount": "Need to verify account", - "functionNotSupported": "The current version does not support this function. Please contact the Lowcoder business team to upgrade your account" - }, - "globalErrorMessage": { - "createCompFail": "Create component {comp} failed", - "notHandledError": "{method} method not executed" - }, - "aggregation": { - "navLayout": " Navigation bar", - "chooseApp": "Choose app", - "iconTooltip": "Support image link or Base64", - "hideWhenNoPermission": "Hidden for unauthorized users", - "queryParam": "URL Query params", - "hashParam": "URL Hash params", - "tabBar": "Tab bar", - "emptyTabTooltip": "Configure this page on the right pane" - }, - "appSetting": { - "450": "450px (Phone)", - "800": "800px (Tablet)", - "1440": "1440px (Laptop)", - "1920": "1920px (Wide screen)", - "3200": "3200px (Super large screen)", - "title": "App settings", - "autofill": "Autofill", - "userDefined": "Custom", - "default": "Default", - "tooltip": "Close the popover after setting", - "canvasMaxWidth": "Maximum canvas width", - "userDefinedMaxWidth": "Custom maximum width", - "inputUserDefinedPxValue": "Please enter a custom pixel value", - "maxWidthTip": "Max width should be greater than or equal to 350", - "themeSetting": "Theme setting", - "themeSettingDefault": "Default", - "themeCreate": "Create theme" - }, - "customShortcut": { - "title": "Custom shortcuts", - "shortcut": "Shortcut", - "action": "Action", - "empty": "No shortcuts", - "placeholder": "Press shortcut", - "otherPlatform": "Other", - "space": "Space" - }, - "profile": { - "orgSettings": "Workspace settings", - "switchOrg": "Switch workspace", - "joinedOrg": "My workspaces", - "createOrg": "Create workspace", - "logout": "Log out", - "personalInfo": "My profile", - "bindingSuccess": "Binding {sourceName} success", - "uploadError": "Upload error", - "editProfilePicture": "Modify", - "nameCheck": "Name cannot be empty", - "name": "Name: ", - "namePlaceholder": "Please enter your name", - "toBind": "To bind", - "binding": "Is binding", - "bindError": "Parameter error, currently not supported binding.", - "bindName": "Bind {name}", - "loginAfterBind": "After binding, you can use {name} to log in", - "bindEmail": "Bind email:", - "email": "email", - "emailCheck": "Please enter a valid email", - "emailPlaceholder": "Please enter your email", - "submit": "Submit", - "bindEmailSuccess": "Email binding success", - "passwordModifiedSuccess": "Password changed successfully", - "passwordSetSuccess": "Password set successfully", - "oldPassword": "Old password:", - "inputCurrentPassword": "Please enter your current password", - "newPassword": "New password:", - "inputNewPassword": "Please enter your new password", - "confirmNewPassword": "Confirm new password:", - "inputNewPasswordAgain": "Please enter your new password again", - "password": "Password:", - "modifyPassword": "Modify password", - "setPassword": "Set password", - "alreadySetPassword": "Password set", - "setPassPlaceholder": "You can login with password", - "setPassAfterBind": "You can set password After Account bind", - "socialConnections": "Social Connections" - }, - "shortcut": { - "shortcutList": "Keyboard shortcuts", - "click": "Click", - "global": "Global", - "toggleShortcutList": "Toggle keyboard shortcuts", - "editor": "Editor", - "toggleLeftPanel": "Toggle left pane", - "toggleBottomPanel": "Toggle bottom pane", - "toggleRightPanel": "Toggle right pane", - "toggleAllPanels": "Toggle all panes", - "preview": "Preview", - "undo": "Undo", - "redo": "Redo", - "showGrid": "Show grid", - "component": "Component", - "multiSelect": "Select multiple", - "selectAll": "Select all", - "copy": "Copy", - "cut": "Cut", - "paste": "Paste", - "move": "Move", - "zoom": "Resize", - "delete": "Delete", - "deSelect": "Deselect", - "queryEditor": "Query editor", - "excuteQuery": "Run current query", - "editBox": "Text editor", - "formatting": "Format", - "openInLeftPanel": "Open in left pane" - }, - "help": { - "videoText": "Overview", - "onBtnText": "OK", - "permissionDenyTitle": "\ud83d\udca1 Unable to create a new application or data source?", - "permissionDenyContent": "You don't have permission to create the application and data source. Please contact the administrator to join the developer group.", - "appName": "Tutorial application", - "chat": "Chat with us", - "docs": "View documentation", - "editorTutorial": "Editor tutorial", - "update": "What's new?", - "version": "Version", - "versionWithColon": "Version: ", - "submitIssue": "Submit an issue" - }, - "header": { - "nameCheckMessage": "The name cannot be empty", - "viewOnly": "View only", - "recoverAppSnapshotTitle": "Restore this version?", - "recoverAppSnapshotContent": "Restore current app to the version created at {time}.", - "recoverAppSnapshotMessage": "Restore this version", - "returnEdit": "Return to editor", - "deploy": "Publish", - "export": "Export to JSON", - "editName": "Edit name", - "duplicate": "Duplicate {type}", - "snapshot": "History", - "scriptsAndStyles": "Scripts and style", - "appSettings": "App settings", - "preview": "Preview", - "editError": "History preview mode, no operation is supported.", - "clone": "Clone", - "editorMode_layout": "Layout", - "editorMode_logic": "Logic", - "editorMode_both": "Both" - }, - "userAuth": { - "registerByEmail": "Sign up", - "email": "Email:", - "inputEmail": "Please enter your email", - "inputValidEmail": "Please enter a valid email", - "register": "Sign up", - "userLogin": "Sign in", - "login": "Sign in", - "bind": "Bind", - "passwordCheckLength": "At least {min} characters", - "passwordCheckContainsNumberAndLetter": "Must contain letters and numbers", - "passwordCheckSpace": "Cannot contain whitespace characters", - "welcomeTitle": "\ud83c\udf89 Welcome to {productName} \ud83c\udf89", - "inviteWelcomeTitle": "{username} invite you to login {productName}", - "terms": "Terms", - "privacy": "Privacy Policy", - "registerHint": "I have read and agree to the", - "chooseAccount": "Choose your Account", - "signInLabel": "Sign in with {name}", - "bindAccount": "Bind Account", - "scanQrCode": "Scan the QR code with {name}", - "invalidThirdPartyParam": "Invalid third-party param", - "account": "Account", - "inputAccount": "Please enter your account", - "ldapLogin": "LDAP Sign in", - "resetPassword": "Reset Password", - "resetPasswordDesc": "Reset user {name}'s password. A new password will be generated after reset.", - "resetSuccess": "Reset succeeded", - "resetSuccessDesc": "Password reset succeeded. The new password is: {password}", - "copyPassword": "Copy password", - "poweredByLowcoder": "Powered by Lowcoder.cloud" - }, - "preLoad": { - "jsLibraryHelpText": "Add JavaScript libraries to your current application via URL addresses. lodash, day.js, uuid, numbro are built into the system for immediate use. JavaScript libraries are loaded before the application is initialized, which can have an impact on application performance.", - "exportedAs": "Exported as", - "urlTooltip": "URL address of the JavaScript library, [unpkg.com](https://unpkg.com/) or [jsdelivr.net](https://www.jsdelivr.com/) is recommended", - "recommended": "Recommended", - "viewJSLibraryDocument": "Document", - "jsLibraryURLError": "Invalid URL", - "jsLibraryExist": "JavaScript library already exists", - "jsLibraryEmptyContent": "No JavaScript libraries added", - "jsLibraryDownloadError": "JavaScript library download error", - "jsLibraryInstallSuccess": "JavaScript library installed successfully", - "jsLibraryInstallFailed": "JavaScript library installation failed", - "jsLibraryInstallFailedCloud": "Perhaps the library is not available in the sandbox, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\n{message}", - "jsLibraryInstallFailedHost": "{message}", - "add": "Add New", - "jsHelpText": "Add a global method or variable to the current application.", - "cssHelpText": "Add styles to the current application. The DOM structure may change as the system iterates. Try to modify styles through component properties.", - "scriptsAndStyles": "Scripts and styles", - "jsLibrary": "JavaScript library" - }, - "editorTutorials": { - "component": "Component", - "componentContent": "The right component area has tables, buttons, input boxes, selectors, and other components that can be dragged onto the canvas for use.", - "canvas": "Canvas", - "canvasContent": "What you see on the canvas is what you get, and you can adjust component layout and size by dragging and dropping, and delete/copy/paste components with keyboard shortcuts.", - "queryData": "Query data", - "queryDataContent": "Create a new query here and connect to your MySQL, MongoDB, Redis, Airtable, and other data sources. After configuring the query, click \"Run\" to obtain the data.", - "compProperties": "Component properties" - }, - "homeTutorials": { - "createAppContent": "\ud83c\udf89 Welcome to {productName}, click \"App\" and start to create your first application.", - "createAppTitle": "Create app" - }, - "history": { - "layout": "'{0}' layout adjustment", - "upgrade": "Upgrade '{0}'", - "delete": "Delete '{0}'", - "add": "Add '{0}'", - "modify": "Modify '{0}'", - "rename": "Rename '{1}' to '{0}'", - "recover": "Recover '{2}''s version", - "recoverVersion": "Recover version", - "andSoOn": "and so on", - "timeFormat": "MM DD at hh:mm A", - "emptyHistory": "No history", - "currentVersionWithBracket": " (Current)", - "currentVersion": "Current version", - "justNow": "Just now", - "history": "History" - }, - "home": { - "allApplications": "All Apps", - "allModules": "All Modules", - "allFolders": "All Folders", - "modules": "Modules", - "module": "Module", - "trash": "Trash", - "queryLibrary": "Query Library", - "datasource": "Data Sources", - "selectDatasourceType": "Select data source type", - "home": "Home", - "all": "All", - "app": "App", - "navigation": "Navigation", - "navLayout": "PC Navigation", - "navLayoutDesc": "Left-side menu for easy desktop navigation.", - "mobileTabLayout": "Mobile Navigation", - "mobileTabLayoutDesc": "Bottom navigation bar for smooth mobile browsing.", - "folders": "Folders", - "folder": "Folder", - "rootFolder": "Root", - "import": "Import", - "export": "Export to JSON", - "inviteUser": "Invite members", - "createFolder": "Create Folder", - "createFolderSubTitle": "Folder name:", - "moveToFolder": "Move to folder", - "moveToTrash": "Move to trash", - "moveToFolderSubTitle": "Move \"{name}\" to:", - "folderName": "Folder name:", - "resCardSubTitle": "{time} by {creator}", - "trashEmpty": "Trash is empty.", - "projectEmpty": "Nothing here.", - "projectEmptyCanAdd": "You don't have any apps yet. Click New to get started.", - "name": "Name", - "type": "Type", - "creator": "Created by", - "lastModified": "Last modified", - "deleteTime": "Delete time", - "createTime": "Create time", - "datasourceName": "Data source name", - "databaseName": "Database name", - "nameCheckMessage": "The name cannot be empty", - "deleteElementTitle": "Delete permanently", - "moveToTrashSubTitle": "{type} {name} will be moved to trash.", - "deleteElementSubTitle": "Delete {type} {name} permanently, it cannot be recovered.", - "deleteSuccessMsg": "Deleted successfully", - "deleteErrorMsg": "Deleted error", - "recoverSuccessMsg": "Recovered successfully", - "newDatasource": "New data source", - "creating": "Creating...", - "chooseDataSourceType": "Choose data source type", - "folderAlreadyExists": "The folder already exists", - "newNavLayout": "{userName}'s {name} ", - "newApp": "{userName}'s new {name} ", - "importError": "Import error, {message}", - "exportError": "Export error, {message}", - "importSuccess": "Import success", - "fileUploadError": "File upload error", - "fileFormatError": "File format error", - "groupWithSquareBrackets": "[Group] ", - "allPermissions": "Owner", - "shareLink": "Share link: ", - "copyLink": "Copy link", - "appPublicMessage": "Make the app public. Anyone can view.", - "modulePublicMessage": "Make the module public. Anyone can view.", - "memberPermissionList": "Member permissions: ", - "orgName": "{orgName} admins", - "addMember": "Add members", - "addPermissionPlaceholder": "Please enter a name to search members", - "searchMemberOrGroup": "Search for members or groups: ", - "addPermissionErrorMessage": "Failed to add permission, {message}", - "copyModalTitle": "Clone \"{name}\"", - "copyNameLabel": "{type} name", - "copyModalfolderLabel": "Add to folder", - "copyNamePlaceholder": "Please enter a {type} name", - "chooseNavType": "Please choose navigation type", - "createNavigation": "Create Navigation" - }, - "carousel": { - "dotPosition": "Navigation Dots position", - "autoPlay": "AutoPlay", - "showDots": "Show dots" - }, - "npm": { - "invalidNpmPackageName": "Invalid npm package name or url.", - "pluginExisted": "This npm plugin already existed", - "compNotFound": "Component {compName} not found.", - "addPluginModalTitle": "Add npm plugin", - "pluginNameLabel": "npm package's URL or name", - "noCompText": "No components.", - "compsLoading": "Loading...", - "removePluginBtnText": "Remove", - "addPluginBtnText": "Add npm plugin" - }, - "toggleButton": { - "valueDesc": "The default value of the toggle button, for example: false", - "trueDefaultText": "Hide", - "falseDefaultText": "Show", - "trueLabel": "Text for true", - "falseLabel": "Text for false", - "trueIconLabel": "Icon for true", - "falseIconLabel": "Icon for false", - "iconPosition": "Icon position", - "showText": "Show text", - "alignment": "Alignment", - "showBorder": "Show border" - }, - "docUrls": { - "docHome": "https://docs.lowcoder.cloud/", - "components": "https://app.lowcoder.cloud/components/{compType}", - "module": "https://docs.lowcoder.cloud/lowcoder-documentation/build-applications/create-a-new-app/modules", - "optionList": "", - "terms": "https://lowcoder.cloud/terms", - "privacy": "https://lowcoder.cloud/privacy", - "aboutUs": "https://lowcoder.cloud/about", - "changeLog": "https://github.com/lowcoder-org/lowcoder/releases", - "introVideo": "", - "devNpmPlugin": "https://docs.lowcoder.cloud/lowcoder-extension/develop-data-source-plugins", - "devNpmPluginText": "How to develop npm plugin", - "useHost": "https://docs.lowcoder.cloud/setup-and-run/self-hosting/access-local-database-or-api", - "eventHandlerSlowdown": "https://docs.lowcoder.cloud/build-applications/app-interaction/event-handlers", - "thirdLib": "https://docs.lowcoder.cloud/lowcoder-extension/use-third-party-libraries-in-apps", - "thirdLibUrlText": "Use third-party libraries" - }, - "datasourceTutorial": { - "mysql": "", - "mongodb": "", - "postgres": "", - "redis": "", - "es": "", - "smtp": "", - "clickHouse": "" - }, - "queryTutorial": { - "js": "", - "transformer": "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/transformers", - "tempState": "https://docs.lowcoder.cloud/business-logic-in-apps/write-javascript/temporary-state" - }, - "customComponent": { - "entryUrl": "https://sdk.lowcoder.cloud/custom_component.html" - }, - "template": { - "cloneUrl": "/apps/template-import/" - }, - "lowcoderUrl": { - "createIssue": "https://github.com/lowcoder-org/lowcoder/issues", - "discord": "https://discord.com/invite/qMG9uTmAx2" - }, - "componentDoc": { - "markdownDemoText": "**Lowcoder** | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", - "demoText": "Lowcoder | Create software applications for your Company and your Customers with minimal coding experience. Lowcoder is the best Retool, Appsmith or Tooljet Alternative.", - "submit": "Submit", - "style": "style", - "danger": "Danger", - "warning": "warning", - "success": "Success", - "menu": "menu", - "link": "Link", - "customAppearance": "Custom Appearance", - "search": "search", - "pleaseInputNumber": "Please enter a number", - "mostValue": "Most Value", - "maxRating": "Maximum Rating", - "notSelect": "Not Selected", - "halfSelect": "Half Selection", - "pleaseSelect": "Please select", - "title": "Title", - "content": "Content", - "componentNotFound": "Component does not exist", - "example": "Examples", - "defaultMethodDesc": "Set the value of property {name}", - "propertyUsage": "You can read component-related information by accessing component properties by component name anywhere you can write JavaScript.", - "property": "Properties", - "propertyName": "Property Name", - "propertyType": "Type", - "propertyDesc": "Description", - "event": "Events", - "eventName": "event name", - "eventDesc": "Description", - "mehtod": "Methods", - "methodUsage": "You can interact with components through their methods, and you can call them by their name anywhere you can write JavaScript. Or you can call them through the 'Control component' action of an event.", - "methodName": "Method Name", - "methodDesc": "Description", - "showBorder": "Show Border", - "haveTry": "Try it yourself", - "settings": "Setting", - "settingValues": "Setting value", - "defaultValue": "Default Value", - "time": "time", - "date": "date", - "noValue": "None", - "xAxisType": "X-axis type", - "hAlignType": "Horizontal Alignment", - "leftLeftAlign": "Left-left alignment", - "leftRightAlign": "Left-right alignment", - "topLeftAlign": "top-left alignment", - "topRightAlign": "top-right alignment", - "validation": "Validation", - "required": "Required", - "defaultStartDateValue": "Default Start Date", - "defaultEndDateValue": "Default End Date", - "basicUsage": "Basic Usage", - "basicDemoDescription": "The following examples show the basic usage of the component.", - "noDefaultValue": "No Default Value", - "forbid": "Forbidden", - "placeholder": "Placeholder", - "pleaseInputPassword": "Please enter a password", - "password": "password", - "textAlign": "Text Alignment", - "length": "Length", - "top": "Top", - "pleaseInputName": "Please enter your name", - "userName": "Name", - "fixed": "Fixed", - "responsive": "Responsive", - "workCount": "word count", - "cascaderOptions": "[\n {\n \"value\": \"zhejiang\",\n \"label\": \"Zhejiang\",\n \"children\": [\n {\n \"value\": \"hangzhou\",\n \" label\": \"Hangzhou\",\n \"children\": [\n {\n \"value\": \"xihu\",\n \"label\": \"West Lake\"\n }\n ]\n }\n ]\n },\n {\n \"value\": \"jiangsu\",\n \"label\": \"Jiangsu\",\n \"children\": [\n {\n \"value\": \"nanjing\",\n \"label\" : \"Nanjing\",\n \"children\": [\n {\n \"value\": \"zhonghuamen\",\n \"label\": \"Zhonghuamen\"\n }\n ]\n }\n ]\n } \n]", - "pleaseSelectCity": "Please select a city", - "advanced": "Advanced", - "showClearIcon": "Show clear icon", - "appleOptionLabel": "\ud83c\udf4e Apple", - "waterMelonOptionLabel": "\ud83c\udf49 Watermelon", - "berryOptionLabel": "\ud83c\udf53 Strawberry", - "lemonOptionLabel": "\ud83c\udf4b Lemon", - "coconutOptionLabel": "\ud83e\udd65 Coconut", - "likedFruits": "Favorites", - "option": "option", - "singleFileUpload": "Single file upload", - "multiFileUpload": "Multiple file upload", - "folderUpload": "Folder Upload", - "multiFile": "multiple files", - "folder": "folder", - "open": "open", - "favoriteFruits": "Favorite Fruits", - "pleaseSelectOneFruit": "Select a fruit", - "notComplete": "not complete", - "complete": "Complete", - "echart": "EChart", - "lineChart": "line chart", - "basicLineChart": "Basic line chart", - "lineChartType": "Line chart type", - "stackLineChart": "Stacked line", - "areaLineChart": "Area line", - "scatterChart": "Scatter chart", - "scatterShape": "Scatter shape", - "scatterShapeCircle": "Circle", - "scatterShapeRect": "Rectangle", - "scatterShapeTri": "Triangle", - "scatterShapeDiamond": "diamond", - "scatterShapePin": "Pushpin", - "scatterShapeArrow": "Arrow", - "pieChart": "Pie Chart", - "basicPieChart": "Basic pie chart", - "pieChatType": "Pie Chart Type", - "pieChartTypeCircle": "Donut chart", - "pieChartTypeRose": "Rose chart", - "titleAlign": "Title position", - "color": "Color", - "dashed": "Dashed", - "imADivider": "I am a dividing line", - "tableSize": "Table size", - "subMenuItem": "SubMenu {num}", - "menuItem": "Menu {num}", - "labelText": "Label", - "labelPosition": "Label - Position", - "labelAlign": "Label - Align", - "optionsOptionType": "Configuration method", - "styleBackgroundColor": "Background color", - "styleBorderColor": "Border color", - "styleColor": "Font color", - "selectionMode": "Row selection mode", - "paginationSetting": "Pagination setting", - "paginationShowSizeChanger": "Support users to modify the number of entries per page", - "paginationShowSizeChangerButton": "Show size changer button", - "paginationShowQuickJumper": "Show quick jumper", - "paginationHideOnSinglePage": "Hide when there is only one page", - "paginationPageSizeOptions": "Page size", - "chartConfigCompType": "Chart type", - "xConfigType": "X axis type", - "loading": "Loading", - "disabled": "Disabled", - "minLength": "Minimum length", - "maxLength": "Maximum length", - "showCount": "Show word count", - "autoHeight": "Height", - "thousandsSeparator": "thousands separator", - "precision": "Decimal places", - "value": "Default value", - "formatter": "Format", - "min": "Minimum value", - "max": "Maximum value", - "step": "Step size", - "start": "Start time", - "end": "End time", - "allowHalf": "Allow half selection", - "filetype": "File type", - "showUploadList": "Show upload list", - "uploadType": "Upload Type", - "allowClear": "Show clear icon", - "minSize": "Minimum file size", - "maxSize": "Maximum file size", - "maxFiles": "Maximum number of uploaded files", - "format": "Format", - "minDate": "Minimum date", - "maxDate": "Maximum date", - "minTime": "Minimum time", - "maxTime": "Maximum time", - "text": "Text", - "type": "Type", - "hideHeader": "Hide header", - "hideBordered": "Hide border", - "src": "Image URL", - "showInfo": "Display value", - "mode": "Mode", - "onlyMenu": "Only menu", - "horizontalAlignment": "Horizontal alignment", - "row": "Left", - "column": "Top", - "leftAlign": "Left alignment", - "rightAlign": "Right alignment", - "percent": "percentage", - "fixedHeight": "Fixed height", - "auto": "Adaptive", - "directory": "Folder", - "multiple": "Multiple files", - "singleFile": "Single File", - "manual": "Manual", - "default": "Default", - "small": "Small", - "middle": "Medium", - "large": "Large", - "single": "Single", - "multi": "Multiple", - "close": "Close", - "ui": "UI mode", - "line": "Line chart", - "scatter": "Scatter plot", - "pie": "Pie chart", - "basicLine": "Basic line chart", - "stackedLine": "Stacked line chart", - "areaLine": "area area map", - "basicPie": "Basic pie chart", - "doughnutPie": "Donut chart", - "rosePie": "Rose chart", - "category": "category axis", - "circle": "Circle", - "rect": "Rectangle", - "triangle": "Triangle", - "diamond": "Diamond", - "pin": "Pushpin", - "arrow": "Arrow", - "left": "Left", - "right": "Right", - "center": "Center", - "bottom": "Bottom", - "justify": "Justify both ends" - }, - "playground": { - "url": "https://app.lowcoder.cloud/playground/{compType}/1", - "data": "Data", - "preview": "Preview", - "property": "Properties", - "console": "Console", - "executeMethods": "Execute methods", - "noMethods": "No methods.", - "methodParams": "Method params", - "methodParamsHelp": "Input method params use JSON, for example, you can set setValue's params with: [1] or 1" - }, - "calendar": { - "headerBtnBackground": "Button background", - "btnText": "Button text", - "title": "Title", - "selectBackground": "Selected background" - }, - "componentDocExtra": { - "table": "/src/i18n/locales/componentDocExtra/table.md" - }, - "idSource": { - "title": "OAuth Providers", - "form": "Email", - "pay": "Premium", - "enable": "Enable", - "unEnable": "Not Enabled", - "loginType": "Login type", - "status": "Status", - "desc": "Description", - "manual": "Address book:", - "syncManual": "Sync Address book", - "syncManualSuccess": "Sync succeeded", - "enableRegister": "Allow registration", - "saveBtn": "Save and enable", - "save": "Save", - "none": "None", - "formPlaceholder": "Please enter {label}", - "formSelectPlaceholder": "Please select the {label}", - "saveSuccess": "Saved successfully", - "dangerLabel": "Danger Zone", - "dangerTip": "Disabling this ID provider may result in some users being unable to log in. Proceed with caution.", - "disable": "Disable", - "disableSuccess": "Disabled successfully", - "encryptedServer": "-------- Encrypted on the server side --------", - "disableTip": "Tips", - "disableContent": "Disabling this ID provider may result in some users being unable to log in. Are you sure to proceed?", - "manualTip": "", - "lockTip": "The content is locked. To make changes, please click the{icon}to unlock.", - "lockModalContent": "Changing the 'ID attribute' field can have significant impacts on user identification. Please confirm that you understand the implications of this change before proceeding.", - "payUserTag": "Premium" - }, - "slotControl": { - "configSlotView": "Configure slot view" - }, - "jsonLottie": { - "lottieJson": "Lottie JSON", - "speed": "Speed", - "width": "Width", - "height": "Height", - "backgroundColor": "Background color", - "animationStart": "Animation Start", - "valueDesc": "Current json Data", - "loop": "Loop", - "auto": "auto", - "onHover": "On hover", - "singlePlay": "Single Play", - "endlessLoop": "Endless Loop", - "keepLastFrame": "Keep Last Frame" - }, - "timeLine": { - "titleColor": "Title color", - "subTitleColor": "Subtitle color", - "lableColor": "Label color", - "value": "Timeline data", - "mode": "Display order", - "left": "Content right", - "right": "Content left", - "alternate": "Alternate content order", - "modeTooltip": "Set the content to appear left/right or alternately on both sides of the timeline", - "reverse": "Newest events first", - "pending": "Pending node text", - "pendingDescription": "When set, then an last node with the text and a waiting indicator will be displayed.", - "defaultPending": "continuous improvement", - "clickTitleEvent": "Click Title Event", - "clickTitleEventDesc": "click Title Event", - "Introduction": "Introduction keys", - "helpTitle": "title of timeline(Required)", - "helpsubTitle": "subtitle of timeline", - "helpLabel": "label of timeline,be used to display dates", - "helpColor": "Indicates timeline node color", - "helpDot": "Rendering Timeline Nodes as Ant Design Icons", - "helpTitleColor": "Individually control the color of node title", - "helpSubTitleColor": "Individually control the color of node subtitle", - "helpLableColor": "Individually control the color of node icon", - "valueDesc": "data of timeline", - "clickedObjectDesc": "clicked item data", - "clickedIndexDesc": "clicked item index" - }, - "comment": { - "value": "comment list data", - "showSendButton": "Allowing Comments", - "title": "title", - "titledDefaultValue": "%d comment in total", - "placeholder": "shift + enter to comment;Enter @ or # for quick input", - "placeholderDec": "placeholder", - "buttonTextDec": "button title", - "buttonText": "comment", - "mentionList": "Mention list data", - "mentionListDec": "key-Mention keywords;value-Mention list data", - "userInfo": "user info", - "dateErr": "date error", - "commentList": "comment list", - "deletedItem": "deleted item", - "submitedItem": "submited item", - "deleteAble": "show delete button", - "Introduction": "Introduction keys", - "helpUser": "user info(Required)", - "helpname": "user name(Required)", - "helpavatar": "avatar url(high priority)", - "helpdisplayName": "display name(low priority)", - "helpvalue": "Comment content", - "helpcreatedAt": "create date" - }, - "mention": { - "mentionList": "Mention list data" - }, - "autoComplete": { - "value": "auto complete value", - "checkedValueFrom": "checked value from", - "ignoreCase": "search ignore case", - "searchLabelOnly": "search label only", - "searchFirstPY": "search first pinying", - "searchCompletePY": "search complete pinying", - "searchText": "search text", - "SectionDataName": "autoComplete Data", - "valueInItems": "value in items", - "type": "type", - "antDesign": "AntDesign", - "normal": "Normal", - "selectKey": "key", - "selectLable": "label", - "ComponentType": "Component Type", - "colorIcon": "blue", - "grewIcon": "grew", - "noneIcon": "none", - "small": "small", - "large": "large", - "componentSize": "component size", - "Introduction": "Introduction keys", - "helpLabel": "label", - "helpValue": "value" - }, - "responsiveLayout": { - "column": "Columns", - "atLeastOneColumnError": "Responsive layout keeps at least one Column", - "columnsPerRow": "Columns per Row", - "columnsSpacing": "Columns Spacing (px)", - "horizontal": "Horizontal", - "vertical": "Vertical", - "mobile": "Mobile", - "tablet": "Tablet", - "desktop": "Desktop", - "rowStyle": "Row Style", - "columnStyle": "Column Style", - "minWidth": "Min. Width", - "rowBreak": "Row Break", - "matchColumnsHeight": "Match Columns Height", - "rowLayout": "Row Layout", - "columnsLayout": "Columns Layout" - }, - "navLayout": { - "mode": "Mode", - "modeInline": "Inline", - "modeVertical": "Vertical", - "width": "Width", - "widthTooltip": "Number or percentage, e.g. 520, 60%", - "navStyle": "Menu Style", - "navItemStyle": "Menu Item Style" - } -} \ No newline at end of file diff --git a/client/packages/lowcoder/src/i18n/locales/translation_files/es.json b/client/packages/lowcoder/src/i18n/locales/translation_files/es.json new file mode 100644 index 000000000..94ec33fe1 --- /dev/null +++ b/client/packages/lowcoder/src/i18n/locales/translation_files/es.json @@ -0,0 +1 @@ +{"productName":"Lowcoder","productDesc":"Crea aplicaciones de software para tu empresa y tus clientes con una experiencia mínima en codificación. Lowcoder es una excelente alternativa a Retool, Appsmith y Tooljet.","notSupportedBrowser":"Tu navegador actual puede tener problemas de compatibilidad. Para una experiencia de usuario óptima, utiliza la última versión de Chrome.","create":"Crea","move":"Muévete","addItem":"Añade","newItem":"Nuevo","copy":"Copia","rename":"Cambia el nombre de","delete":"Borra","deletePermanently":"Borrar permanentemente","remove":"Elimina","recover":"Recupera","edit":"Edita","view":"Ver","value":"Valor","data":"Datos","information":"Información","success":"Éxito","warning":"Advertencia","error":"Error","reference":"Referencia","text":"Texto","label":"Etiqueta","color":"Color","form":"Formulario","menu":"Menú","menuItem":"Elemento del menú","ok":"OK","cancel":"Cancelar","finish":"Acabado","reset":"Restablece","icon":"Icono","code":"Código","title":"Título","emptyContent":"Contenido vacío","more":"Más","search":"Busca en","back":"Volver","accessControl":"Control de acceso","copySuccess":"Copiado correctamente","copyError":"Error de copia","api":{"publishSuccess":"Publicado con éxito","recoverFailed":"Recuperación fallida","needUpdate":"Tu versión actual está obsoleta. Por favor, actualízala a la última versión."},"codeEditor":{"notSupportAutoFormat":"El editor de código actual no admite el autoformateo.","fold":"Pliega"},"exportMethod":{"setDesc":"Establecer propiedad: {propiedad}","clearDesc":"Borrar propiedad: {propiedad}","resetDesc":"Restablecer propiedad: {propiedad} al valor por defecto"},"method":{"focus":"Focalizar","focusOptions":"Opciones de enfoque. Ver HTMLElement.focus()","blur":"Eliminar Enfoque","click":"Haz clic en","select":"Seleccionar todo el texto","setSelectionRange":"Establecer las posiciones inicial y final de la selección de texto","selectionStart":"Índice basado en 0 del primer carácter seleccionado","selectionEnd":"Índice basado en 0 del carácter después del último carácter seleccionado","setRangeText":"Reemplazar rango de texto","replacement":"Cadena a insertar","replaceStart":"Índice basado en 0 del primer carácter a sustituir","replaceEnd":"Índice basado en 0 del carácter después del último carácter a sustituir"},"errorBoundary":{"encounterError":"Error en la carga del componente. Comprueba tu configuración.","clickToReload":"Haz clic para recargar","errorMsg":"Error: "},"imgUpload":{"notSupportError":"Sólo admite tipos de imagen {tipos}","exceedSizeError":"El tamaño de la imagen no debe superar el {tamaño}."},"gridCompOperator":{"notSupport":"No admitido","selectAtLeastOneComponent":"Selecciona al menos un componente","selectCompFirst":"Seleccionar componentes antes de copiar","noContainerSelected":"[Bug] No se ha seleccionado ningún contenedor","deleteCompsSuccess":"Eliminado correctamente. Pulsa {Tecla Deshacer} para deshacer.","deleteCompsTitle":"Eliminar componentes","deleteCompsBody":"¿Estás seguro de que quieres borrar {compNum} componentes seleccionados?","cutCompsSuccess":"Corta con éxito. Pulsa {pegarTecla} para pegar, o {deshacerTecla} para deshacer."},"leftPanel":{"queries":"Consultas de datos en tu app","globals":"Variables de datos globales","propTipsArr":"{num} Elementos","propTips":"{num} Teclas","propTipArr":"{num} Artículo","propTip":"{num} Tecla","stateTab":"Estado","settingsTab":"Ajustes","toolbarTitle":"Individualización","toolbarPreload":"Guiones y estilos","components":"Componentes activos","modals":"Modales in-App","expandTip":"Haz clic para ampliar los datos del {componente}","collapseTip":"Haz clic para contraer los datos del {componente}"},"bottomPanel":{"title":"Consultas de datos","run":"Ejecuta","noSelectedQuery":"No se ha seleccionado ninguna consulta","metaData":"Metadatos de la fuente de datos","noMetadata":"No hay metadatos disponibles","metaSearchPlaceholder":"Buscar metadatos","allData":"Todas las mesas"},"rightPanel":{"propertyTab":"Propiedades","noSelectedComps":"No hay Componentes seleccionados. Haz clic en un Componente para ver sus Propiedades.","createTab":"Inserta","searchPlaceHolder":"Buscar componentes o módulos","uiComponentTab":"Componentes","extensionTab":"Extensiones","modulesTab":"Módulos","moduleListTitle":"Módulos","pluginListTitle":"Plugins","emptyModules":"Los módulos son Mikro-Apps reutilizables. Puedes incrustarlos en tu App.","searchNotFound":"¿No encuentras el componente adecuado? Envía un problema","emptyPlugins":"No se han añadido plugins","contactUs":"Contacta con nosotros","issueHere":"aquí."},"prop":{"expand":"Amplía","columns":"Columnas","videokey":"Llave de vídeo","rowSelection":"Selección de filas","toolbar":"Barra de herramientas","pagination":"Paginación","logo":"Logotipo","style":"Estilo","inputs":"Entradas","meta":"Metadatos","data":"Datos","hide":"Ocultar","loading":"Cargando","disabled":"Discapacitados","placeholder":"Marcador de posición","showClear":"Mostrar botón Borrar","showSearch":"Puedes buscar en","defaultValue":"Valor por defecto","required":"Campo obligatorio","readOnly":"Sólo lectura","readOnlyTooltip":"Los componentes de sólo lectura parecen normales, pero no se pueden modificar.","minimum":"Mínimo","maximum":"Máximo","regex":"Regex","minLength":"Longitud mínima","maxLength":"Longitud máxima","height":"Altura","width":"Anchura","selectApp":"Seleccionar aplicación","showCount":"Mostrar recuento","textType":"Tipo de texto","customRule":"Regla personalizada","customRuleTooltip":"Una cadena no vacía indica un error; vacía o nula significa que la validación se ha superado. Ejemplo: ","manual":"Manual","map":"Mapa","json":"JSON","use12Hours":"Utiliza el formato de 12 horas","hourStep":"Hora Paso","minuteStep":"Paso del minuto","secondStep":"Segundo paso","minDate":"Fecha mínima","maxDate":"Fecha máxima","minTime":"Tiempo mínimo","maxTime":"Tiempo máximo","type":"Tipo","showLabel":"Mostrar etiqueta","showHeader":"Mostrar cabecera","showBody":"Mostrar cuerpo","showFooter":"Mostrar pie de página","maskClosable":"Pulsa Fuera para Cerrar","showMask":"Mostrar máscara"},"autoHeightProp":{"auto":"Auto","fixed":"Fijo"},"labelProp":{"text":"Etiqueta","tooltip":"Información sobre herramientas","position":"Posición","left":"Izquierda","top":"Arriba","align":"Alineación","width":"Anchura","widthTooltip":"La anchura de la etiqueta admite porcentajes (%) y píxeles (px)."},"eventHandler":{"eventHandlers":"Manejadores de eventos","emptyEventHandlers":"Sin manejadores de eventos","incomplete":"Selección incompleta","inlineEventTitle":"En {eventName}","event":"Evento","action":"Acción","noSelect":"Sin selección","runQuery":"Ejecutar una consulta de datos","selectQuery":"Seleccionar consulta de datos","controlComp":"Controlar un componente","runScript":"Ejecutar JavaScript","runScriptPlaceHolder":"Escribe aquí el código","component":"Componente","method":"Método","setTempState":"Establece un valor de Estado Temporal","state":"Estado","triggerModuleEvent":"Activar un evento de módulo","moduleEvent":"Módulo Evento","goToApp":"Ir a otra App","queryParams":"Parámetros de consulta","hashParams":"Parámetros Hash","showNotification":"Mostrar una notificación","text":"Texto","level":"Nivel","duration":"Duración","notifyDurationTooltip":"La unidad de tiempo puede ser \\'s\\' (segundo, por defecto) o \\'ms\\' (milisegundo). La duración máxima es {max} segundos","goToURL":"Abrir una URL","openInNewTab":"Abrir en pestaña nueva","copyToClipboard":"Copiar un valor al Portapapeles","copyToClipboardValue":"Valor","export":"Exportar datos","exportNoFileType":"Sin selección (Opcional)","fileName":"Nombre del archivo","fileNameTooltip":"Incluye la extensión para especificar el tipo de archivo, por ejemplo: \\'imagen.png'","fileType":"Tipo de archivo","condition":"Corre sólo cuando...","conditionTooltip":"Ejecuta el controlador de eventos sólo cuando esta condición se evalúe como \"verdadero\".","debounce":"Rebote para","throttle":"Acelerador para","slowdownTooltip":"Utiliza debounce o throttle para controlar la frecuencia de los disparos de acción. La unidad de tiempo puede ser \\'ms\\' (milisegundo, por defecto) o \\'s\\' (segundo).","notHandledError":"No manipulado","currentApp":"Actual"},"event":{"submit":"Envía","submitDesc":"Activadores al enviar","change":"Cambia","changeDesc":"Activadores de cambios de valor","focus":"Enfoque","focusDesc":"Activadores en Foco","blur":"Desenfocar","blurDesc":"Activadores del desenfoque","click":"Haz clic en","clickDesc":"Activadores al hacer clic","close":"Cerrar","closeDesc":"Desencadenantes al cerrar","parse":"Analiza","parseDesc":"Disparadores en Parse","success":"Éxito","successDesc":"Activadores del éxito","delete":"Borra","deleteDesc":"Activadores al borrar","mention":"Menciona","mentionDesc":"Activadores de la mención"},"themeDetail":{"primary":"Color de la marca","primaryDesc":"Color primario por defecto utilizado por la mayoría de los componentes","textDark":"Color de texto oscuro","textDarkDesc":"Se utiliza cuando el color de fondo es claro","textLight":"Color de texto claro","textLightDesc":"Se utiliza cuando el color de fondo es oscuro","canvas":"Color del lienzo","canvasDesc":"Color de fondo predeterminado de la aplicación","primarySurface":"Color del envase","primarySurfaceDesc":"Color de fondo por defecto para componentes como las tablas","borderRadius":"Radio del borde","borderRadiusDesc":"Radio del borde por defecto utilizado por la mayoría de los componentes","chart":"Estilo gráfico","chartDesc":"Entrada para Echarts","echartsJson":"Tema JSON","margin":"Margen","marginDesc":"Margen por defecto utilizado normalmente para la mayoría de los componentes","padding":"Acolchado","paddingDesc":"Relleno por defecto utilizado normalmente para la mayoría de los componentes","containerheaderpadding":"Relleno de cabecera","containerheaderpaddingDesc":"Relleno de cabecera por defecto utilizado normalmente para la mayoría de los componentes","gridColumns":"Columnas de cuadrícula","gridColumnsDesc":"Número predeterminado de columnas utilizado normalmente para la mayoría de los contenedores"},"style":{"resetTooltip":"Restablecer estilos. Borra el campo de entrada para restablecer un estilo individual.","textColor":"Color del texto","contrastText":"Contraste Color del texto","generated":"Generado","customize":"Personaliza","staticText":"Texto estático","accent":"Acento","validate":"Mensaje de validación","border":"Color del borde","borderRadius":"Radio del borde","borderWidth":"Anchura del borde","background":"Antecedentes","headerBackground":"Fondo de la cabecera","footerBackground":"Fondo de pie de página","fill":"Rellena","track":"Pista","links":"Enlaces","thumb":"Pulgar","thumbBorder":"Borde del pulgar","checked":"Comprobado","unchecked":"Sin marcar","handle":"Asa","tags":"Etiquetas","tagsText":"Etiquetas Texto","multiIcon":"Icono multiselección","tabText":"Texto de la pestaña","tabAccent":"Acento de pestaña","checkedBackground":"Antecedentes comprobados","uncheckedBackground":"Fondo sin marcar","uncheckedBorder":"Frontera sin marcar","indicatorBackground":"Indicador Antecedentes","tableCellText":"Texto celular","selectedRowBackground":"Fondo de fila seleccionado","hoverRowBackground":"Fondo de la fila Hover","alternateRowBackground":"Fondo de fila alternativo","tableHeaderBackground":"Fondo de la cabecera","tableHeaderText":"Texto de cabecera","toolbarBackground":"Fondo de la barra de herramientas","toolbarText":"Texto de la barra de herramientas","pen":"Bolígrafo","footerIcon":"Icono de pie de página","tips":"Consejos","margin":"Margen","padding":"Acolchado","marginLeft":"Margen izquierdo","marginRight":"Margen derecho","marginTop":"Margen superior","marginBottom":"Margen inferior","containerheaderpadding":"Relleno de cabecera","containerfooterpadding":"Relleno de pie de página","containerbodypadding":"Acolchado corporal","minWidth":"Anchura mínima","aspectRatio":"Relación de aspecto","textSize":"Tamaño del texto"},"export":{"hiddenDesc":"Si es verdadero, el componente se oculta","disabledDesc":"Si es verdadero, el componente está desactivado y no es interactivo","visibleDesc":"Si es verdadero, el componente es visible","inputValueDesc":"Valor actual de la entrada","invalidDesc":"Indica si el valor no es válido","placeholderDesc":"Texto de marcador de posición cuando no se establece ningún valor","requiredDesc":"Si es verdadero, se requiere un valor válido","submitDesc":"Enviar formulario","richTextEditorValueDesc":"Valor actual del Editor","richTextEditorReadOnlyDesc":"Si es verdadero, el Editor es de sólo lectura","richTextEditorHideToolBarDesc":"Si es verdadero, la barra de herramientas se oculta","jsonEditorDesc":"Datos JSON actuales","sliderValueDesc":"Valor seleccionado actualmente","sliderMaxValueDesc":"Valor máximo del deslizador","sliderMinValueDesc":"Valor mínimo de la corredera","sliderStartDesc":"Valor del punto de partida seleccionado","sliderEndDesc":"Valor del punto final seleccionado","ratingValueDesc":"Clasificación seleccionada actualmente","ratingMaxDesc":"Valor nominal máximo","datePickerValueDesc":"Fecha seleccionada actualmente","datePickerFormattedValueDesc":"Fecha seleccionada formateada","datePickerTimestampDesc":"Marca de tiempo de la fecha seleccionada","dateRangeStartDesc":"Fecha de inicio del rango","dateRangeEndDesc":"Fecha final del intervalo","dateRangeStartTimestampDesc":"Marca de tiempo de la fecha de inicio","dateRangeEndTimestampDesc":"Marca de tiempo de la fecha de finalización","dateRangeFormattedValueDesc":"Rango de fechas formateado","dateRangeFormattedStartValueDesc":"Fecha de inicio formateada","dateRangeFormattedEndValueDesc":"Fecha final formateada","timePickerValueDesc":"Hora seleccionada actualmente","timePickerFormattedValueDesc":"Hora seleccionada formateada","timeRangeStartDesc":"Hora de inicio del alcance","timeRangeEndDesc":"Hora de finalización del alcance","timeRangeFormattedValueDesc":"Rango de tiempo formateado","timeRangeFormattedStartValueDesc":"Hora de inicio formateada","timeRangeFormattedEndValueDesc":"Hora final formateada"},"validationDesc":{"email":"Introduce una dirección de correo electrónico válida","url":"Por favor, introduce una URL válida","regex":"Concuerda con el patrón especificado","maxLength":"Demasiados caracteres, actual: {longitud}, máximo: {longitudmáxima}","minLength":"No hay suficientes caracteres, actual: {longitud}, mínimo: {longitud mínima}","maxValue":"El valor supera el máximo, actual: {valor}, máximo: {máximo}","minValue":"Valor por debajo del mínimo, actual: {valor}, mínimo: {mín}","maxTime":"El tiempo supera el máximo, actual: {hora}, máximo: {tiempomáx}","minTime":"Tiempo por debajo del mínimo, actual: {hora}, mínimo: {minTime}","maxDate":"La fecha supera el máximo, actual: {fecha}, máximo: {fechaMáx}","minDate":"Fecha por debajo del mínimo, actual: {fecha}, mínimo: {fechaMín}"},"query":{"noQueries":"No hay Consultas de Datos disponibles.","queryTutorialButton":"Ver documentos {valor}","datasource":"Tus fuentes de datos","newDatasource":"Nueva fuente de datos","generalTab":"General","notificationTab":"Notificación","advancedTab":"Avanzado","showFailNotification":"Mostrar notificación en caso de fallo","failCondition":"Condiciones de fallo","failConditionTooltip1":"Personaliza las condiciones de fallo y las notificaciones correspondientes.","failConditionTooltip2":"Si alguna condición devuelve verdadero, la consulta se marca como fallida y activa la notificación correspondiente.","showSuccessNotification":"Mostrar notificación de éxito","successMessageLabel":"Mensaje de éxito","successMessage":"Corre con éxito","notifyDuration":"Duración","notifyDurationTooltip":"Duración de la notificación. La unidad de tiempo puede ser \\'s\\' (segundo, por defecto) o \\'ms\\' (milisegundo). El valor por defecto es {default}s. El máximo es {max}s.","successMessageWithName":"{nombre} ejecutado correctamente","failMessageWithName":"Ha fallado la ejecución de {nombre}: {resultado}","showConfirmationModal":"Mostrar Modal de Confirmación Antes de Ejecutar","confirmationMessageLabel":"Mensaje de confirmación","confirmationMessage":"¿Estás seguro de que quieres ejecutar esta Consulta de Datos?","newQuery":"Nueva consulta de datos","newFolder":"Carpeta nueva","recentlyUsed":"Usado recientemente","folder":"Carpeta","folderNotEmpty":"La carpeta no está vacía","dataResponder":"Respondedor de datos","tempState":"Estado Temporal","transformer":"Transformador","quickRestAPI":"Consulta REST","quickStreamAPI":"Consulta de flujos","quickGraphql":"Consulta GraphQL","lowcoderAPI":"API Lowcoder","executeJSCode":"Ejecutar código JavaScript","importFromQueryLibrary":"Importar desde la biblioteca de consultas","importFromFile":"Importar desde archivo","triggerType":"Se activa cuando...","triggerTypeAuto":"Cambio de entradas o al cargar la página","triggerTypePageLoad":"Cuando se carga la Aplicación (Página)","triggerTypeManual":"Sólo cuando lo activas manualmente","chooseDataSource":"Elegir fuente de datos","method":"Método","updateExceptionDataSourceTitle":"Actualizar fuente de datos que falla","updateExceptionDataSourceContent":"Actualiza la siguiente consulta con la misma fuente de datos que falla:","update":"Actualiza","disablePreparedStatement":"Desactivar Declaraciones Preparadas","disablePreparedStatementTooltip":"Desactivar las sentencias preparadas puede generar SQL dinámico, pero aumenta el riesgo de inyección SQL","timeout":"Tiempo de espera tras","timeoutTooltip":"Unidad por defecto: ms. Unidades de entrada admitidas: ms, s. Valor por defecto: {defaultSeconds} segundos. Valor máximo: {maxSeconds} segundos. Por ejemplo, 300 (es decir, 300ms), 800ms, 5s.","periodic":"Ejecuta periódicamente esta consulta de datos","periodicTime":"Periodo","periodicTimeTooltip":"Periodo entre ejecuciones sucesivas. Unidad por defecto: ms. Unidades de entrada admitidas: ms, s. Valor mínimo: 100ms. La ejecución periódica se desactiva para valores inferiores a 100ms. Por ejemplo, 300 (es decir, 300ms), 800ms, 5s.","cancelPrevious":"Ignorar los resultados de ejecuciones anteriores no completadas","cancelPreviousTooltip":"Si se desencadena una nueva ejecución, se ignorará el resultado de las ejecuciones anteriores no completadas si no se completaron, y estas ejecuciones ignoradas no desencadenarán la lista de eventos de la consulta.","dataSourceStatusError":"Si se desencadena una nueva ejecución, se ignorará el resultado de las ejecuciones anteriores no completadas, y las ejecuciones ignoradas no desencadenarán la lista de eventos de la consulta.","success":"Éxito","fail":"Fallo","successDesc":"Se activa cuando la ejecución tiene éxito","failDesc":"Se activa cuando falla la ejecución","fixedDelayError":"Consulta no ejecutada","execSuccess":"Corre con éxito","execFail":"Error de ejecución","execIgnored":"Los resultados de esta consulta fueron ignorados","deleteSuccessMessage":"Eliminado con éxito. Puedes utilizar {undoKey} para Deshacer","dataExportDesc":"Datos obtenidos por la consulta actual","codeExportDesc":"Código de estado de la consulta actual","successExportDesc":"Si la consulta actual se ha ejecutado correctamente","messageExportDesc":"Información devuelta por la consulta actual","extraExportDesc":"Otros datos de la consulta actual","isFetchingExportDesc":"¿Es la consulta actual de la petición?","runTimeExportDesc":"Tiempo de ejecución de la consulta actual (ms)","latestEndTimeExportDesc":"Último tiempo de ejecución","triggerTypeExportDesc":"Tipo de gatillo","chooseResource":"Elige un Recurso","createDataSource":"Crear una nueva fuente de datos","editDataSource":"Edita","datasourceName":"Nombre","datasourceNameRuleMessage":"Introduce un nombre de fuente de datos","generalSetting":"Configuración general","advancedSetting":"Ajustes avanzados","port":"Puerto","portRequiredMessage":"Introduce un puerto","portErrorMessage":"Introduce un puerto correcto","connectionType":"Tipo de conexión","regular":"Regular","host":"Anfitrión","hostRequiredMessage":"Introduce un nombre de dominio de host o una dirección IP","userName":"Nombre de usuario","password":"Contraseña","encryptedServer":"-------- Cifrado en el lado del servidor --------","uriRequiredMessage":"Introduce un URI","urlRequiredMessage":"Introduce una URL","uriErrorMessage":"Por favor, introduce un URI correcto","urlErrorMessage":"Introduce una URL correcta","httpRequiredMessage":"Introduce http:// o https://","databaseName":"Nombre de la base de datos","databaseNameRequiredMessage":"Introduce el nombre de la base de datos","useSSL":"Utiliza SSL","userNameRequiredMessage":"Introduce tu nombre","passwordRequiredMessage":"Introduce tu contraseña","authentication":"Autenticación","authenticationType":"Tipo de autenticación","sslCertVerificationType":"Verificación de certificados SSL","sslCertVerificationTypeDefault":"Verificar CA Cert","sslCertVerificationTypeSelf":"Verificar certificado autofirmado","sslCertVerificationTypeDisabled":"Discapacitados","selfSignedCert":"Certificado autofirmado","selfSignedCertRequireMsg":"Introduce tu certificado","enableTurnOffPreparedStatement":"Activar la alternancia de sentencias preparadas para consultas","enableTurnOffPreparedStatementTooltip":"Puedes activar o desactivar las sentencias preparadas en la pestaña Avanzado de la consulta","serviceName":"Nombre del servicio","serviceNameRequiredMessage":"Introduce el nombre de tu servicio","useSID":"Utiliza el SID","connectSuccessfully":"Conexión correcta","saveSuccessfully":"Guardado correctamente","database":"Base de datos","cloudHosting":"Lowcoder alojado en la nube no puede acceder a los servicios locales utilizando 127.0.0.1 o localhost. Intenta conectarte a fuentes de datos de la red pública o utiliza un proxy inverso para los servicios privados.","notCloudHosting":"Para el despliegue alojado en Docker, Lowcoder utiliza redes puente, por lo que 127.0.0.1 y localhost no son válidos para las direcciones de host. Para acceder a las fuentes de datos de la máquina local, consulta","howToAccessHostDocLink":"Cómo acceder a la API/DB del host","returnList":"Devuelve","chooseDatasourceType":"Elige el tipo de fuente de datos","viewDocuments":"Ver documentos","testConnection":"Conexión de prueba","save":"Guarda","whitelist":"Lista de permisos","whitelistTooltip":"Añade las direcciones IP de Lowcoder\\ a tu lista de fuentes de datos permitidas según sea necesario.","address":"Dirección: ","nameExists":"El nombre {nombre} ya existe","jsQueryDocLink":"Acerca de la consulta JavaScript","dynamicDataSourceConfigLoadingText":"Cargando configuración extra de fuente de datos...","dynamicDataSourceConfigErrText":"No se ha podido cargar la configuración adicional de la fuente de datos.","retry":"Reintentar"},"sqlQuery":{"keyValuePairs":"Pares clave-valor","object":"Objeto","allowMultiModify":"Permitir la modificación de varias filas","allowMultiModifyTooltip":"Si se selecciona, se operan todas las filas que cumplan las condiciones. En caso contrario, sólo se operará sobre la primera fila que cumpla las condiciones.","array":"Matriz","insertList":"Insertar lista","insertListTooltip":"Valores insertados cuando no existen","filterRule":"Regla de filtrado","updateList":"Actualizar lista","updateListTooltip":"Los valores actualizados tal como existen pueden ser anulados por los mismos valores de la lista de inserción","sqlMode":"Modo SQL","guiMode":"Modo GUI","operation":"Operación","insert":"Inserta","upsert":"Insertar, pero Actualizar si hay conflicto","update":"Actualiza","delete":"Borra","bulkInsert":"Inserción a granel","bulkUpdate":"Actualización masiva","table":"Tabla","primaryKeyColumn":"Columna de clave primaria"},"EsQuery":{"rawCommand":"Comando en bruto","queryTutorialButton":"Ver documentos de la API de Elasticsearch","request":"Solicita"},"googleSheets":{"rowIndex":"Índice de filas","spreadsheetId":"ID de la hoja de cálculo","sheetName":"Nombre de la hoja","readData":"Leer datos","appendData":"Añadir fila","updateData":"Actualizar Fila","deleteData":"Borrar fila","clearData":"Fila clara","serviceAccountRequireMessage":"Introduce tu cuenta de servicio","ASC":"ASC","DESC":"DESC","sort":"Clasificar","sortPlaceholder":"Nombre"},"queryLibrary":{"export":"Exportar a JSON","noInput":"La consulta actual no tiene entrada","inputName":"Nombre","inputDesc":"Descripción","emptyInputs":"Sin entradas","clickToAdd":"Añade","chooseQuery":"Elige Consulta","viewQuery":"Ver consulta","chooseVersion":"Elegir versión","latest":"Lo último en","publish":"Publica","historyVersion":"Historia Versión","deleteQueryLabel":"Borrar consulta","deleteQueryContent":"No se puede recuperar la consulta después de borrarla. ¿Borrar la consulta?","run":"Ejecuta","readOnly":"Sólo lectura","exit":"Salir","recoverAppSnapshotContent":"Restaurar la consulta actual a la versión {versión}","searchPlaceholder":"Consulta de búsqueda","allQuery":"Todas las consultas","deleteQueryTitle":"Borrar consulta","unnamed":"Sin nombre","publishNewVersion":"Publicar nueva versión","publishSuccess":"Publicado con éxito","version":"Versión","desc":"Descripción"},"snowflake":{"accountIdentifierTooltip":"Consulta ","extParamsTooltip":"Configurar parámetros de conexión adicionales"},"lowcoderQuery":{"queryOrgUsers":"Consultar usuarios del espacio de trabajo"},"redisQuery":{"rawCommand":"Comando en bruto","command":"Mando","queryTutorial":"Ver documentos sobre los comandos de Redis"},"httpQuery":{"bodyFormDataTooltip":"Si se selecciona {tipo}, el formato del valor debe ser {objeto}. Ejemplo: {ejemplo}","text":"Texto","file":"Archivo","extraBodyTooltip":"Los valores clave del cuerpo extra se añadirán al cuerpo con tipos de datos JSON o de formulario","forwardCookies":"Adelante Cookies","forwardAllCookies":"Reenviar todas las cookies"},"smtpQuery":{"attachment":"Adjunto","attachmentTooltip":"Puede utilizarse con el componente de carga de archivos, los datos deben convertirse a: ","MIMETypeUrl":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types","sender":"Remitente","recipient":"Destinatario","carbonCopy":"Copia al carbón","blindCarbonCopy":"Copia al carbón ciega","subject":"Asunto","content":"Contenido","contentTooltip":"Admite la introducción de texto o HTML"},"uiCompCategory":{"dashboards":"Cuadros de mando e informes","layout":"Diseño y navegación","forms":"Recogida de datos y formularios","collaboration":"Reunión y colaboración","projectmanagement":"Gestión de proyectos","scheduling":"Calendario y programación","documents":"Gestión de documentos y archivos","itemHandling":"Tramitación de artículos y firmas","multimedia":"Multimedia y animación","integration":"Integración y ampliación"},"uiComp":{"autoCompleteCompName":"Auto Completo","autoCompleteCompDesc":"Un campo de entrada que proporciona sugerencias mientras escribes, mejorando la experiencia del usuario y la precisión.","autoCompleteCompKeywords":"sugerencias, autocompletar, escribir, entrada","inputCompName":"Entrada","inputCompDesc":"Un campo de entrada de texto básico que permite a los usuarios introducir y editar texto.","inputCompKeywords":"texto, entrada, campo, editar","textAreaCompName":"Área de texto","textAreaCompDesc":"Una entrada de texto de varias líneas para contenidos de forma más larga, como comentarios o descripciones.","textAreaCompKeywords":"multilínea, área de texto, entrada, texto","passwordCompName":"Contraseña","passwordCompDesc":"Un campo seguro para introducir la contraseña, enmascarando los caracteres para mayor privacidad.","passwordCompKeywords":"contraseña, seguridad, entrada, oculto","richTextEditorCompName":"Editor de texto enriquecido","richTextEditorCompDesc":"Un editor de texto avanzado que admite numerosas opciones de formato, como negrita, cursiva y listas.","richTextEditorCompKeywords":"editor, texto, formato, contenido enriquecido","numberInputCompName":"Número Entrada","numberInputCompDesc":"Un campo específico para la introducción de datos numéricos, con controles para aumentar y disminuir los valores.","numberInputCompKeywords":"número, entrada, incremento, decremento","sliderCompName":"Deslizador","sliderCompDesc":"Componente gráfico deslizante para seleccionar un valor o rango dentro de una escala definida.","sliderCompKeywords":"deslizador, rango, entrada, gráfico","rangeSliderCompName":"Corredera de alcance","rangeSliderCompDesc":"Un deslizador de doble asa para seleccionar un rango de valores, útil para filtrar o establecer límites.","rangeSliderCompKeywords":"gama, deslizador, doble asa, filtro","ratingCompName":"Clasificación","ratingCompDesc":"Un componente para capturar las valoraciones de los usuarios, mostradas como estrellas.","ratingCompKeywords":"valoración, estrellas, opiniones, aportaciones","switchCompName":"Interruptor","switchCompDesc":"Un interruptor basculante para decisiones del tipo encendido/apagado o sí/no.","switchCompKeywords":"conmutador, interruptor, encendido/apagado, control","selectCompName":"Selecciona","selectCompDesc":"Un menú desplegable para seleccionar entre una lista de opciones.","selectCompKeywords":"desplegable, seleccionar, opciones, menú","multiSelectCompName":"Multiselector","multiSelectCompDesc":"Un componente que permite seleccionar varios elementos de una lista desplegable.","multiSelectCompKeywords":"multiselección, múltiple, desplegable, opciones","cascaderCompName":"Cascader","cascaderCompDesc":"Un desplegable de varios niveles para la selección jerárquica de datos, como la selección de una ubicación.","cascaderCompKeywords":"cascada, jerárquico, desplegable, niveles","checkboxCompName":"Casilla de verificación","checkboxCompDesc":"Una casilla de verificación estándar para opciones que se pueden seleccionar o deseleccionar.","checkboxCompKeywords":"casilla, opciones, seleccionar, alternar","radioCompName":"Radio","radioCompDesc":"Botones de radio para seleccionar una opción de un conjunto, donde sólo se permite una elección.","radioCompKeywords":"radio, botones, seleccionar, elección única","segmentedControlCompName":"Control segmentado","segmentedControlCompDesc":"Un control con opciones segmentadas para alternar rápidamente entre varias opciones.","segmentedControlCompKeywords":"segmentado, control, conmutar, opciones","fileUploadCompName":"Carga de archivos","fileUploadCompDesc":"Un componente para subir archivos, con soporte para arrastrar y soltar y selección de archivos.","fileUploadCompKeywords":"archivo, subir, arrastrar y soltar, seleccionar","dateCompName":"Fecha","dateCompDesc":"Un componente selector de fechas para seleccionar fechas de una interfaz de calendario.","dateCompKeywords":"fecha, selector, calendario, seleccionar","dateRangeCompName":"Rango de fechas","dateRangeCompDesc":"Un componente para seleccionar un intervalo de fechas, útil para sistemas de reservas o filtros.","dateRangeCompKeywords":"daterange, seleccionar, reservar, filtrar","timeCompName":"Tiempo","timeCompDesc":"Un componente de selección de hora para elegir horas concretas del día.","timeCompKeywords":"hora, selector, seleccionar, reloj","timeRangeCompName":"Rango temporal","timeRangeCompDesc":"Componente para seleccionar un intervalo de tiempo, utilizado a menudo en aplicaciones de programación.","timeRangeCompKeywords":"timerange, seleccionar, programación, duración","buttonCompName":"Botón Formulario","buttonCompDesc":"Un componente de botón versátil para enviar formularios, desencadenar acciones o navegar.","buttonCompKeywords":"botón, enviar, acción, navegar","linkCompName":"Enlace","linkCompDesc":"Un componente de visualización de hipervínculos para navegar o enlazar con recursos externos.","linkCompKeywords":"enlace, hipervínculo, navegación, externo","scannerCompName":"Escáner","scannerCompDesc":"Un componente para escanear códigos de barras, códigos QR y otros datos similares.","scannerCompKeywords":"escáner, código de barras, código QR, escanear","dropdownCompName":"Desplegable","dropdownCompDesc":"Un menú desplegable para mostrar de forma compacta una lista de opciones.","dropdownCompKeywords":"desplegable, menú, opciones, seleccionar","toggleButtonCompName":"Botón Alternar","toggleButtonCompDesc":"Un botón que puede alternar entre dos estados u opciones.","toggleButtonCompKeywords":"conmutar, botón, interruptor, estado","textCompName":"Visualización de texto","textCompDesc":"Un componente sencillo para mostrar contenido de texto estático o dinámico con formato Markdown incluido.","textCompKeywords":"texto, visualización, estático, dinámico","tableCompName":"Tabla","tableCompDesc":"Un componente de tabla enriquecido para mostrar datos en formato de tabla estructurada, con opciones de ordenación y filtrado, visualización de Datos en árbol y Filas extensibles.","tableCompKeywords":"tabla, datos, ordenar, filtrar","imageCompName":"Imagen","imageCompDesc":"Un componente para mostrar imágenes, compatible con varios formatos basados en datos URI o Base64.","imageCompKeywords":"imagen, visualización, medios, Base64","progressCompName":"Progreso","progressCompDesc":"Un indicador visual de progreso, utilizado normalmente para mostrar el estado de finalización de una tarea.","progressCompKeywords":"progreso, indicador, estado, tarea","progressCircleCompName":"Círculo de Progreso","progressCircleCompDesc":"Un indicador de progreso circular, utilizado a menudo para estados de carga o tareas con límite de tiempo.","progressCircleCompKeywords":"círculo, progreso, indicador, carga","fileViewerCompName":"Visor de archivos","fileViewerCompDesc":"Un componente para visualizar varios tipos de archivos, incluidos documentos e imágenes.","fileViewerCompKeywords":"archivo, visor, documento, imagen","dividerCompName":"Divisor","dividerCompDesc":"Componente divisor visual, utilizado para separar contenidos o secciones en un diseño.","dividerCompKeywords":"divisor, separador, disposición, diseño","qrCodeCompName":"Código QR","qrCodeCompDesc":"Un componente para mostrar códigos QR, útil para escanearlos rápidamente y transferir información.","qrCodeCompKeywords":"Código QR, escaneo, código de barras, información","formCompName":"Formulario","formCompDesc":"Un componente contenedor para construir formularios estructurados con varios tipos de entrada.","formCompKeywords":"formulario, entrada, contenedor, estructura","jsonSchemaFormCompName":"Formulario de esquema JSON","jsonSchemaFormCompDesc":"Un componente de formulario dinámico generado a partir de un esquema JSON.","jsonSchemaFormCompKeywords":"JSON, esquema, formulario, dinámico","containerCompName":"Contenedor","containerCompDesc":"Un contenedor de uso general para el diseño y la organización de los elementos de la interfaz de usuario.","containerCompKeywords":"contenedor, diseño, organización, IU","collapsibleContainerCompName":"Contenedor plegable","collapsibleContainerCompDesc":"Un contenedor que puede expandirse o colapsarse, ideal para gestionar la visibilidad del contenido.","collapsibleContainerCompKeywords":"plegable, contenedor, expandir, colapsar","tabbedContainerCompName":"Contenedor con pestañas","tabbedContainerCompDesc":"Un contenedor con navegación por pestañas para organizar el contenido en paneles separados.","tabbedContainerCompKeywords":"pestañas, contenedor, navegación, paneles","modalCompName":"Modal","modalCompDesc":"Un componente modal emergente para mostrar contenido, alertas o formularios en foco.","modalCompKeywords":"modal, popup, alerta, formulario","listViewCompName":"Ver lista","listViewCompDesc":"Un componente para mostrar una lista de elementos o datos, en cuyo interior puedes colocar otros componentes. Como un repetidor.","listViewCompKeywords":"lista, vista, visualización, repetidor","gridCompName":"Rejilla","gridCompDesc":"Un componente de cuadrícula flexible para crear diseños estructurados con filas y columnas como extensión del componente Vista Lista.","gridCompKeywords":"cuadrícula, diseño, filas, columnas","navigationCompName":"Navegación","navigationCompDesc":"Un componente de navegación para crear menús, migas de pan o pestañas para la navegación por el sitio.","navigationCompKeywords":"navegación, menú, migas de pan, pestañas","iframeCompName":"IFrame","iframeCompDesc":"Un componente de marco en línea para incrustar páginas web externas y aplicaciones o contenidos dentro de la aplicación.","iframeCompKeywords":"iframe, incrustar, página web, contenido","customCompName":"Componente personalizado","customCompDesc":"Un componente flexible y programable para crear elementos de interfaz de usuario únicos, definidos por el usuario y adaptados a tus necesidades específicas.","customCompKeywords":"personalizado, definido por el usuario, flexible, programable","moduleCompName":"Módulo","moduleCompDesc":"Utiliza Módulos para crear Micro-Apps diseñadas para encapsular funcionalidades o características específicas. Los módulos pueden incrustarse y reutilizarse en todas las aplicaciones.","moduleCompKeywords":"módulo, micro-app, funcionalidad, reutilizable","jsonExplorerCompName":"Explorador JSON","jsonExplorerCompDesc":"Un componente para explorar visualmente e interactuar con estructuras de datos JSON.","jsonExplorerCompKeywords":"JSON, explorador, datos, estructura","jsonEditorCompName":"Editor JSON","jsonEditorCompDesc":"Un componente editor para crear y modificar datos JSON con validación y resaltado de sintaxis.","jsonEditorCompKeywords":"JSON, editor, modificar, validar","treeCompName":"Árbol","treeCompDesc":"Un componente de estructura de árbol para mostrar datos jerárquicos, como sistemas de archivos u organigramas.","treeCompKeywords":"árbol, jerárquico, datos, estructura","treeSelectCompName":"Seleccionar árbol","treeSelectCompDesc":"Un componente de selección que presenta las opciones en formato de árbol jerárquico, permitiendo selecciones organizadas y anidadas.","treeSelectCompKeywords":"árbol, seleccionar, jerárquico, anidado","audioCompName":"Audio","audioCompDesc":"Un componente para incrustar contenido de audio, con controles para la reproducción y el ajuste del volumen.","audioCompKeywords":"audio, reproducción, sonido, música","videoCompName":"Vídeo","videoCompDesc":"Un componente multimedia para incrustar y reproducir contenidos de vídeo, compatible con varios formatos.","videoCompKeywords":"vídeo, multimedia, reproducción, incrustar","drawerCompName":"Cajón","drawerCompDesc":"Componente de un panel deslizante que puede utilizarse para navegación adicional o visualización de contenidos, y que suele emerger del borde de la pantalla.","drawerCompKeywords":"cajón, corredera, panel, navegación","chartCompName":"Gráfico","chartCompDesc":"Un componente versátil para visualizar datos mediante diversos tipos de tablas y gráficos.","chartCompKeywords":"tabla, gráfico, datos, visualización","carouselCompName":"Carrusel de imágenes","carouselCompDesc":"Un componente de carrusel giratorio para mostrar imágenes, banners o diapositivas de contenido.","carouselCompKeywords":"carrusel, imágenes, rotación, escaparate","imageEditorCompName":"Editor de imágenes","imageEditorCompDesc":"Un componente interactivo para editar y manipular imágenes, que ofrece diversas herramientas y filtros.","imageEditorCompKeywords":"imagen, editor, manipular, herramientas","mermaidCompName":"Cartas de sirenas","mermaidCompDesc":"Un componente para representar diagramas y organigramas complejos basados en la sintaxis Mermaid.","mermaidCompKeywords":"sirena, gráficos, diagramas, organigramas","calendarCompName":"Calendario","calendarCompDesc":"Un componente de calendario para mostrar fechas y eventos, con opciones de vistas de mes, semana o día.","calendarCompKeywords":"calendario, fechas, eventos, programación","signatureCompName":"Firma","signatureCompDesc":"Un componente para capturar firmas digitales, útil para procesos de aprobación y verificación.","signatureCompKeywords":"firma, digital, aprobación, verificación","jsonLottieCompName":"Animación Lottie","jsonLottieCompDesc":"Un componente para mostrar animaciones Lottie, que proporciona animaciones ligeras y escalables basadas en datos JSON.","jsonLottieCompKeywords":"lottie, animación, JSON, escalable","timelineCompName":"Cronología","timelineCompDesc":"Componente para mostrar acontecimientos o acciones en orden cronológico, representados visualmente a lo largo de una línea de tiempo lineal.","timelineCompKeywords":"cronología, acontecimientos, cronológico, historia","commentCompName":"Comentario","commentCompDesc":"Un componente para añadir y mostrar comentarios de los usuarios, que admite respuestas en hilos y la interacción de los usuarios.","commentCompKeywords":"comentario, debate, interacción con el usuario, respuesta","mentionCompName":"Menciona","mentionCompDesc":"Componente que permite mencionar usuarios o etiquetas dentro de un contenido de texto, utilizado normalmente en redes sociales o plataformas colaborativas.","mentionCompKeywords":"mencionar, etiquetar, usuario, redes sociales","responsiveLayoutCompName":"Diseño adaptable","responsiveLayoutCompDesc":"Un componente de diseño diseñado para adaptarse y responder a diferentes tamaños de pantalla y dispositivos, garantizando una experiencia de usuario coherente.","responsiveLayoutCompKeywords":"responsive, diseño, adaptar, tamaño pantalla"},"comp":{"menuViewDocs":"Ver documentación","menuViewPlayground":"Ver zona de juegos interactiva","menuUpgradeToLatest":"Actualizar a la última versión","nameNotEmpty":"No puede estar vacío","nameRegex":"Debe empezar por una letra y contener sólo letras, cifras y guiones bajos (_)","nameJSKeyword":"No puede ser una palabra clave JavaScript","nameGlobalVariable":"No puede ser un nombre de variable global","nameExists":"El nombre {nombre} ya existe","getLatestVersionMetaError":"No se ha podido obtener la última versión, inténtalo más tarde.","needNotUpgrade":"La versión actual ya es la última.","compNotFoundInLatestVersion":"Componente actual no encontrado en la última versión.","upgradeSuccess":"Actualizado correctamente a la última versión.","searchProp":"Busca en"},"jsonSchemaForm":{"retry":"Reintentar","resetAfterSubmit":"Restablecer después de enviar correctamente el formulario","jsonSchema":"Esquema JSON","uiSchema":"Esquema de IU","schemaTooltip":"Consulta","defaultData":"Datos de formulario precargados","dataDesc":"Datos del formulario actual","required":"Necesario","maximum":"El valor máximo es {valor}","minimum":"El valor mínimo es {valor}","exclusiveMaximum":"Debe ser inferior a {valor}","exclusiveMinimum":"Debe ser mayor que {valor}","multipleOf":"Debe ser múltiplo de {valor}","minLength":"Al menos {valor} Caracteres","maxLength":"Como máximo {valor} Caracteres","pattern":"Debe coincidir con el patrón {valor}","format":"Debe coincidir con el formato {valor}"},"select":{"inputValueDesc":"Valor de búsqueda de entrada"},"customComp":{"text":"Es un buen día.","triggerQuery":"Consulta desencadenante","updateData":"Actualizar datos","updateText":"¡También estoy de buen humor para desarrollar ahora mi propio componente personalizado con Lowcoder!","sdkGlobalVarName":"Lowcoder","data":"Datos que quieres pasar al Componente personalizado","code":"Código de tu componente personalizado"},"tree":{"selectType":"Selecciona el tipo","noSelect":"No Seleccionar","singleSelect":"Selección única","multiSelect":"Selección múltiple","checkbox":"Casilla de verificación","checkedStrategy":"Estrategia comprobada","showAll":"Todos los nodos","showParent":"Sólo nodos padre","showChild":"Nodos hijos únicos","autoExpandParent":"Auto Expandir Padre","checkStrictly":"Comprobar estrictamente","checkStrictlyTooltip":"Comprueba con precisión el Nodo del Árbol; el Nodo del Árbol padre y los Nodos del Árbol hijos no están asociados","treeData":"Datos del árbol","treeDataDesc":"Datos actuales del árbol","value":"Valores por defecto","valueDesc":"Valores actuales","expanded":"Valores ampliados","expandedDesc":"Valores ampliados actuales","defaultExpandAll":"Por defecto Expandir todos los nodos","showLine":"Mostrar línea","showLeafIcon":"Mostrar icono de hoja","treeDataAsia":"Asia","treeDataChina":"China","treeDataBeijing":"Pekín","treeDataShanghai":"Shanghai","treeDataJapan":"Japón","treeDataEurope":"Europa","treeDataEngland":"Inglaterra","treeDataFrance":"Francia","treeDataGermany":"Alemania","treeDataNorthAmerica":"América del Norte","helpLabel":"Etiqueta de nodo","helpValue":"Valor único del nodo en el árbol","helpChildren":"Niños Nodos","helpDisabled":"Desactiva el Nodo","helpSelectable":"Si el Nodo es Seleccionable (Tipo de Selección Simple/Múltiple)","helpCheckable":"Si mostrar casilla de verificación (Tipo de casilla de verificación)","helpDisableCheckbox":"Desactiva la casilla de verificación (Tipo de casilla de verificación)"},"moduleContainer":{"eventTest":"Prueba de Evento","methodTest":"Método de ensayo","inputTest":"Prueba de entrada"},"password":{"label":"Contraseña","visibilityToggle":"Conmutar visibilidad"},"richTextEditor":{"toolbar":"Personalizar la barra de herramientas","toolbarDescription":"Puedes personalizar la barra de herramientas. Consulta: https://quilljs.com/docs/modules/toolbar/ para más detalles.","placeholder":"Por favor, introduce...","hideToolbar":"Ocultar barra de herramientas","content":"Contenido","title":"Título","save":"Guarda","link":"Enlace: ","edit":"Edita","remove":"Elimina","defaultValue":"Contenido básico"},"numberInput":{"formatter":"Formato","precision":"Precisión","allowNull":"Permitir valor nulo","thousandsSeparator":"Mostrar separador de miles","controls":"Mostrar botones de aumento/disminución","step":"Paso","standard":"Estándar","percent":"Porcentaje"},"slider":{"step":"Paso","stepTooltip":"El valor debe ser mayor que 0 y divisible por (Máx-Mín)"},"rating":{"max":"Clasificación máxima","allowHalf":"Permitir la mitad de puntos de valoración"},"optionsControl":{"optionList":"Opciones","option":"Opción","optionI":"Opción {i}","viewDocs":"Ver documentos","tip":"Las variables \\'item\\' y \\'i\\' representan el valor y el índice de cada elemento de la matriz de datos"},"radio":{"options":"Opciones","horizontal":"Horizontal","horizontalTooltip":"La Disposición Horizontal Se Enrolla Cuando Se Queda Sin Espacio","vertical":"Vertical","verticalTooltip":"El diseño vertical siempre se mostrará en una sola columna","autoColumns":"Columna Auto","autoColumnsTooltip":"La disposición en autocolumnas reordena automáticamente el orden según lo permita el espacio y se muestra como varias columnas"},"cascader":{"options":"Datos JSON para mostrar selecciones en cascada"},"selectInput":{"valueDesc":"Valor seleccionado actualmente","selectedIndexDesc":"El índice del valor seleccionado actualmente, o -1 si no hay ningún valor seleccionado","selectedLabelDesc":"La etiqueta del valor seleccionado actualmente"},"file":{"typeErrorMsg":"Debe ser un número con una unidad de tamaño de archivo válida, o un número de bytes sin unidad.","fileEmptyErrorMsg":"Carga fallida. El tamaño del archivo está vacío.","fileSizeExceedErrorMsg":"Carga fallida. El tamaño del archivo supera el límite.","minSize":"Tamaño mínimo","minSizeTooltip":"El Tamaño Mínimo de los Archivos Subidos con Unidades de Tamaño de Archivo Opcionales (por ejemplo, \\'5kb\\', \\'10 MB\\'). Si no se proporciona ninguna unidad, el valor se considerará un número de bytes.","maxSize":"Tamaño máximo","maxSizeTooltip":"El tamaño máximo de los archivos subidos con unidades opcionales de tamaño de archivo (por ejemplo, \\'5kb\\', \\'10 MB\\'). Si no se proporciona ninguna unidad, el valor se considerará un número de bytes.","single":"Individual","multiple":"Múltiple","directory":"Directorio","upload":"Navega por","fileType":"Tipos de archivos","reference":"Consulta","fileTypeTooltipUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers","fileTypeTooltip":"Especificadores únicos de tipo de archivo","uploadType":"Tipo de carga","showUploadList":"Mostrar lista de cargas","maxFiles":"Archivos Max","filesValueDesc":"El contenido del archivo cargado actualmente está codificado en Base64","filesDesc":"Lista de los archivos cargados actualmente. Para más detalles, consulta","clearValueDesc":"Borrar todos los archivos","parseFiles":"Analizar archivos","parsedValueTooltip1":"Si parseFiles es True, los archivos cargados se convertirán en objetos, matrices o cadenas. Se puede acceder a los datos analizados a través de la matriz parsedValue.","parsedValueTooltip2":"Admite archivos Excel, JSON, CSV y de texto. Otros formatos devolverán un valor nulo."},"date":{"format":"Formato","formatTip":"Admite: \\AAAA-MM-DD HH:mm:ss\", \"AAAA-MM-DD\", \"Timestamp\".","reference":"Consulta","showTime":"Hora del espectáculo","start":"Fecha de inicio","end":"Fecha final","year":"Año","quarter":"Cuarto","month":"Mes","week":"Semana","date":"Fecha","clearAllDesc":"Borrar todo","resetAllDesc":"Restablecer todo","placeholder":"Seleccionar fecha","placeholderText":"Marcador de posición","startDate":"Fecha de inicio","endDate":"Fecha final"},"time":{"start":"Hora de inicio","end":"Fin de los tiempos","formatTip":"Soporte: \\'HH:mm:ss\\', \\'Timestamp\\'","format":"Formato","placeholder":"Selecciona Hora","placeholderText":"Marcador de posición","startTime":"Hora de inicio","endTime":"Fin de los tiempos"},"button":{"prefixIcon":"Icono Prefijo","suffixIcon":"Icono Sufijo","icon":"Icono","iconSize":"Tamaño del icono","button":"Botón Formulario","formToSubmit":"Formulario para enviar","default":"Por defecto","submit":"Envía","textDesc":"Texto mostrado actualmente en el botón","loadingDesc":"¿Está el Botón en Estado de Carga? Si es cierto, el botón actual está cargando","formButtonEvent":"Evento"},"link":{"link":"Enlace","textDesc":"Texto mostrado actualmente en el enlace","loadingDesc":"¿Está el Enlace en Estado de Carga? Si es Verdadero, el Enlace Actual Está Cargando"},"scanner":{"text":"Haz clic en Escanear","camera":"Cámara {índice}","changeCamera":"Cambiar cámara","continuous":"Escaneado continuo","uniqueData":"Ignorar datos duplicados","maskClosable":"Pulsa la Máscara para Cerrar","errTip":"Utiliza este componente bajo HTTPS o Localhost"},"dropdown":{"onlyMenu":"Pantalla sólo con etiqueta","textDesc":"Texto mostrado actualmente en el botón"},"textShow":{"text":"### 👋 Hola, {nombre}","valueTooltip":"Markdown admite la mayoría de etiquetas y atributos HTML. iframe, Script y otras etiquetas están desactivadas por motivos de seguridad.","verticalAlignment":"Alineación vertical","horizontalAlignment":"Alineación horizontal","textDesc":"Texto mostrado en el cuadro de texto actual"},"table":{"editable":"Editable","columnNum":"Columnas","viewModeResizable":"Ancho de columna ajustado por el usuario","viewModeResizableTooltip":"Si los usuarios pueden ajustar el ancho de columna.","showFilter":"Botón Mostrar filtro","showRefresh":"Mostrar botón Actualizar","showDownload":"Mostrar botón de descarga","columnSetting":"Botón Mostrar ajuste de columna","searchText":"Buscar texto","searchTextTooltip":"Buscar y Filtrar los Datos Presentados en la Tabla","showQuickJumper":"Mostrar saltador rápido","hideOnSinglePage":"Ocultar en una sola página","showSizeChanger":"Mostrar botón de cambio de tamaño","pageSizeOptions":"Opciones de tamaño de página","pageSize":"Tamaño de página","total":"Recuento total de filas","totalTooltip":"El valor por defecto es el número de elementos de datos actuales, que se pueden obtener de la consulta, por ejemplo: \\'{{query1.data[0].count}}\\'","filter":"Filtrar","filterRule":"Regla de filtrado","chooseColumnName":"Elegir columna","chooseCondition":"Elegir condición","clear":"Claro","columnShows":"Columnas","selectAll":"Seleccionar todo","and":"Y","or":"O","contains":"Contiene","notContain":"No contiene","equals":"Es igual a","isNotEqual":"No es igual","isEmpty":"Está vacío","isNotEmpty":"No está vacío","greater":"Mayor que","greaterThanOrEquals":"Mayor o igual que","lessThan":"Menos de","lessThanOrEquals":"Menor o igual que","action":"Acción","columnValue":"Valor de columna","columnValueTooltip":"\\'{{currentCell}}\\': Datos celulares actuales{{currentRow}}\\': Datos de la fila actual{{currentIndex}}\\': Índice de Datos Actuales (Empezando por 0)\\n Ejemplo: \\'{{CeldaActual * 5}}' Mostrar 5 Veces el Valor Original de los Datos.","imageSrc":"Fuente de la imagen","imageSize":"Tamaño de la imagen","columnTitle":"Título","sortable":"Clasificable","align":"Alineación","fixedColumn":"Columna fija","autoWidth":"Ancho automático","customColumn":"Columna personalizada","auto":"Auto","fixed":"Fijo","columnType":"Tipo de columna","float":"Flotador","prefix":"Prefijo","suffix":"Sufijo","text":"Texto","number":"Número","link":"Enlace","links":"Enlaces","tag":"Etiqueta","date":"Fecha","dateTime":"Fecha Hora","badgeStatus":"Estado","button":"Botón","image":"Imagen","boolean":"Booleano","rating":"Clasificación","progress":"Progreso","option":"Operación","optionList":"Lista de operaciones","option1":"Operación 1","status":"Estado","statusTooltip":"Valores opcionales: Correcto, Error, Predeterminado, Advertencia, Procesando","primaryButton":"Primaria","defaultButton":"Por defecto","type":"Tipo","tableSize":"Tamaño de la tabla","hideHeader":"Ocultar cabecera de tabla","fixedHeader":"Cabecera de tabla fija","fixedHeaderTooltip":"La cabecera será fija para la tabla desplazable verticalmente","fixedToolbar":"Barra de herramientas fija","fixedToolbarTooltip":"La barra de herramientas se fijará para la tabla desplazable verticalmente en función de la posición","hideBordered":"Ocultar borde de columna","deleteColumn":"Borrar columna","confirmDeleteColumn":"Confirmar Borrar columna: ","small":"S","middle":"M","large":"L","refreshButtonTooltip":"Los Datos Actuales Cambian, Pulsa para Regenerar la Columna.","changeSetDesc":"Un Objeto que Representa Cambios en una Tabla Editable, Sólo Contiene la Celda Cambiada. Las filas van primero y las columnas después.","selectedRowDesc":"Proporciona Datos de la Fila Seleccionada Actualmente, Indicando la Fila que Desencadena un Suceso de Clic Si el Usuario Pulsa un Botón/Link en la Fila","selectedRowsDesc":"Útil en el modo de selección múltiple, igual que SelectedRow","pageNoDesc":"Página de visualización actual, empezando por 1","pageSizeDesc":"Cuántas filas por página","sortColumnDesc":"El nombre de la columna ordenada actualmente seleccionada","sortDesc":"Si la fila actual está en orden descendente","pageOffsetDesc":"El inicio actual de la paginación, utilizado para paginar para obtener datos. Ejemplo: Select * from Usuarios Limit \\'{{table1.pageSize}}\\Desplazamiento{{table1.pageOffset}}\\'","displayDataDesc":"Datos mostrados en la tabla actual","selectedIndexDesc":"Índice seleccionado en Mostrar datos","filterDesc":"Parámetros de filtrado de tablas","dataDesc":"Los datos JSON de la tabla","saveChanges":"Guardar cambios","cancelChanges":"Cancelar cambios","rowSelectChange":"Cambio de selección de fila","rowClick":"Fila Clic","rowExpand":"Fila Ampliar","filterChange":"Cambio de filtro","sortChange":"Ordenar Cambio","pageChange":"Cambio de página","refresh":"Actualiza","rowColor":"Color de fila condicional","rowColorDesc":"Establece Condicionalmente el Color de la Fila en Función de las Variables Opcionales: FilaActual, ÍndiceOriginalActual, ÍndiceActual, TítuloDeColumna. Por ejemplo \\'{{ filaactual.id > 3 ? \"verde%r@\\\" : \"rojo%r@\\\" }}\\'","cellColor":"Color de celda condicional","cellColorDesc":"Establece condicionalmente el color de la celda en función del valor de la celda utilizando CeldaActual. Por ejemplo \\'{{ celdaactual == 3 ? \"verde%r@\\\" : \"rojo%r@\\\" }}\\'","saveChangesNotBind":"No se ha configurado ningún controlador de eventos para guardar los cambios. Por favor, vincula al menos un controlador de eventos antes de hacer clic.","dynamicColumn":"Utilizar la configuración dinámica de columnas","dynamicColumnConfig":"Ajuste de columna","dynamicColumnConfigDesc":"Configuración Dinámica de Columnas. Acepta una Matriz de Nombres de Columna. Todas las Columnas son Visibles por Defecto. Ejemplo: [%r@\\\"id%r@\\\", %r@\\\"name%r@\\\"]","position":"Posición","showDataLoadSpinner":"Mostrar la rueda giratoria durante la carga de datos","showValue":"Mostrar valor","expandable":"Ampliable","configExpandedView":"Configurar vista ampliada","toUpdateRowsDesc":"Una matriz de objetos para filas a actualizar en tablas editables.","empty":"Vacío","falseValues":"Texto cuando es falso","allColumn":"Todos","visibleColumn":"Visible","emptyColumns":"Actualmente no hay columnas visibles"},"image":{"src":"Fuente de la imagen","srcDesc":"La fuente de la imagen. Puede ser una URL, una ruta o una cadena Base64. Por ejemplo: data:image/png;base64, AAA... CCC","supportPreview":"Soporte Haz clic en Vista previa (zoom)","supportPreviewTip":"Efectivo cuando la fuente de la imagen es válida"},"progress":{"value":"Valor","valueTooltip":"El Porcentaje Completo como valor entre 0 y 100","showInfo":"Mostrar valor","valueDesc":"Valor de progreso actual, de 0 a 100","showInfoDesc":"Si mostrar el valor de progreso actual"},"fileViewer":{"invalidURL":"Introduce una URL válida o una cadena Base64","src":"URI del archivo","srcTooltip":"Previsualiza el contenido del enlace proporcionado incrustando HTML, también se pueden admitir datos codificados en base64, por ejemplo: data:application/pdf; base64,AAA... CCC","srcDesc":"La URI del archivo"},"divider":{"title":"Título","align":"Alineación","dashed":"Guiones","dashedDesc":"Si utilizar línea discontinua","titleDesc":"Título del divisor","alignDesc":"Alineación del título del divisor"},"QRCode":{"value":"Valor del contenido del código QR","valueTooltip":"El valor contiene un máximo de 2953 caracteres. El valor del código QR puede codificar varios tipos de datos, como mensajes de texto, URL, datos de contacto (VCard/meCard), credenciales de inicio de sesión Wi-Fi, direcciones de correo electrónico, números de teléfono, mensajes SMS, coordenadas de geolocalización, detalles de eventos del calendario, información de pago, direcciones de criptomonedas y enlaces de descarga de aplicaciones.","valueDesc":"El valor del contenido del código QR","level":"Nivel de tolerancia a fallos","levelTooltip":"Se refiere a la capacidad del código QR para ser escaneado aunque parte de él esté bloqueada. Cuanto más alto es el nivel, más complejo es el código.","includeMargin":"Mostrar margen","image":"Mostrar imagen en el centro","L":"L (Bajo)","M":"M (Medio)","Q":"Q (Cuartil)","H":"H (Alto)","maxLength":"El contenido es demasiado largo. Ajusta la longitud a menos de 2953 caracteres"},"jsonExplorer":{"indent":"Sangría de cada nivel","expandToggle":"Expandir árbol JSON","theme":"Tema del color","valueDesc":"Datos JSON actuales","default":"Por defecto","defaultDark":"Por defecto Oscuro","neutralLight":"Luz neutra","neutralDark":"Neutro Oscuro","azure":"Azure","darkBlue":"Azul oscuro"},"audio":{"src":"URI de la fuente de audio o cadena Base64","defaultSrcUrl":"https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3","autoPlay":"Reproducción automática","loop":"Bucle","srcDesc":"URI de audio actual o cadena Base64 como data:audio/mpeg;base64,AAA... CCC","play":"Juega a","playDesc":"Se activa cuando se reproduce audio","pause":"Pausa","pauseDesc":"Se activa cuando se pausa el audio","ended":"Finalizado","endedDesc":"Se activa cuando el audio termina de reproducirse"},"video":{"src":"URI de la fuente de vídeo o cadena Base64","defaultSrcUrl":"https://www.youtube.com/watch?v=pRpeEdMmmQ0","poster":"URL del póster","defaultPosterUrl":"","autoPlay":"Reproducción automática","loop":"Bucle","controls":"Ocultar controles","volume":"Volumen","playbackRate":"Velocidad de reproducción","posterTooltip":"El valor por defecto es el primer fotograma del vídeo","autoPlayTooltip":"Después de cargar el vídeo, se reproducirá automáticamente. Si cambias este valor de Verdadero a Falso, el vídeo se pausará. (Si se establece un Póster, se reproducirá mediante el Botón de Póster)","controlsTooltip":"Ocultar controles de reproducción de vídeo. Puede no ser totalmente compatible con todas las fuentes de vídeo.","volumeTooltip":"Ajustar el Volumen del Reproductor, Entre 0 y 1","playbackRateTooltip":"Ajustar la velocidad del reproductor, entre 1 y 2","srcDesc":"URI de audio actual o cadena Base64 como data:video/mp4;base64, AAA... CCC","play":"Juega a","playDesc":"Se activa cuando se reproduce el vídeo","pause":"Pausa","pauseDesc":"Se activa al pausar el vídeo","load":"Carga","loadDesc":"Se activa cuando el recurso de vídeo ha terminado de cargarse","ended":"Finalizado","endedDesc":"Se activa cuando el vídeo termina de reproducirse","currentTimeStamp":"La posición actual de reproducción del vídeo en segundos","duration":"La duración total del vídeo en segundos"},"media":{"playDesc":"Inicia la reproducción del medio.","pauseDesc":"Pausa la reproducción multimedia.","loadDesc":"Restablece el Medio al Principio y Reinicia Seleccionando el Recurso Multimedia.","seekTo":"Buscar hasta el número de segundos dado, o fracción si la cantidad está entre 0 y 1","seekToAmount":"Número de segundos, o fracción si está entre 0 y 1","showPreview":"Avance del espectáculo"},"rangeSlider":{"start":"Valor inicial","end":"Valor final","step":"Tamaño del paso","stepTooltip":"Granularidad del deslizador, el valor debe ser mayor que 0 y divisible por (Max-Min)"},"iconControl":{"selectIcon":"Selecciona un icono","insertIcon":"Insertar un icono","insertImage":"Insertar una imagen o "},"millisecondsControl":{"timeoutTypeError":"Por favor, introduce el periodo de tiempo de espera correcto en ms, la entrada actual es: {valor}","timeoutLessThanMinError":"La entrada debe ser mayor que {izquierda}, la entrada actual es: {valor}"},"selectionControl":{"single":"Individual","multiple":"Múltiple","close":"Cerrar","mode":"Seleccionar modo"},"container":{"title":"Título del contenedor mostrado"},"drawer":{"placement":"Colocación de los cajones","size":"Talla","top":"Arriba","right":"A la derecha","bottom":"Fondo","left":"Izquierda","widthTooltip":"Píxel o Porcentaje, por ejemplo 520, 60%.","heightTooltip":"Píxel, por ejemplo 378","openDrawerDesc":"Cajón abierto","closeDrawerDesc":"Cerrar cajón","width":"Ancho del cajón","height":"Altura del cajón"},"meeting":{"logLevel":"Agora SDK Nivel de registro","placement":"Colocación del cajón de reunión","meeting":"Ajustes de la reunión","cameraView":"Vista de cámara","cameraViewDesc":"Vista de cámara del usuario local (anfitrión)","screenShared":"Pantalla compartida","screenSharedDesc":"Pantalla compartida por el usuario local (anfitrión)","audioUnmuted":"Audio sin silenciar","audioMuted":"Audio silenciado","videoClicked":"Vídeo pulsado","videoOff":"Vídeo apagado","videoOn":"Vídeo","size":"Talla","top":"Arriba","host":"Anfitrión de la Sala de Reuniones. Tendrías que gestionar el anfitrión como una Aplicación Lógica propia","participants":"Participantes de la Sala de Reuniones","shareScreen":"Pantalla compartida por el usuario local","appid":"ID de la aplicación Ágora","meetingName":"Nombre de la reunión","localUserID":"ID de usuario del host","userName":"Nombre de usuario del host","rtmToken":"Ficha Agora RTM","rtcToken":"Ficha Agora RTC","noVideo":"Sin vídeo","profileImageUrl":"URL de la imagen del perfil","right":"A la derecha","bottom":"Fondo","videoId":"ID del flujo de vídeo","audioStatus":"Estado del audio","left":"Izquierda","widthTooltip":"Píxel o Porcentaje, por ejemplo 520, 60%.","heightTooltip":"Píxel, por ejemplo 378","openDrawerDesc":"Cajón abierto","closeDrawerDesc":"Cerrar cajón","width":"Ancho del cajón","height":"Altura del cajón","actionBtnDesc":"Botón de acción","broadCast":"Transmitir mensajes","title":"Título de la reunión","meetingCompName":"Controlador de Reuniones Agora","sharingCompName":"Compartir pantalla Stream","videoCompName":"Flujo de cámara","videoSharingCompName":"Compartir pantalla Stream","meetingControlCompName":"Botón de control","meetingCompDesc":"Componente de la reunión","meetingCompControls":"Control de reuniones","meetingCompKeywords":"Reunión Ágora, Reunión Web, Colaboración","iconSize":"Tamaño del icono","userId":"ID de usuario del host","roomId":"Identificación de la habitación","meetingActive":"Reunión en curso","messages":"Mensajes emitidos"},"settings":{"title":"Ajustes","userGroups":"Grupos de usuarios","organization":"Espacios de trabajo","audit":"Registros de auditoría","theme":"Temas","plugin":"Plugins","advanced":"Avanzado","lab":"Laboratorio","branding":"Marca","oauthProviders":"Proveedores OAuth","appUsage":"Registros de uso de la aplicación","environments":"Entornos","premium":"Premium"},"memberSettings":{"admin":"Admin","adminGroupRoleInfo":"El administrador puede gestionar los miembros y recursos del grupo","adminOrgRoleInfo":"Los administradores son propietarios de todos los recursos y pueden gestionar grupos.","member":"Miembro","memberGroupRoleInfo":"Los miembros pueden ver a los miembros del grupo","memberOrgRoleInfo":"Los miembros sólo pueden utilizar o visitar los recursos a los que tienen acceso.","title":"Miembros","createGroup":"Crear grupo","newGroupPrefix":"Nuevo Grupo ","allMembers":"Todos los miembros","deleteModalTitle":"Eliminar este grupo","deleteModalContent":"No se puede restaurar el grupo eliminado. ¿Estás Seguro de Borrar el Grupo?","addMember":"Añadir miembros","nameColumn":"Nombre de usuario","joinTimeColumn":"Hora de incorporación","actionColumn":"Operación","roleColumn":"Papel","exitGroup":"Grupo de salida","moveOutGroup":"Eliminar del Grupo","inviteUser":"Invitar a miembros","exitOrg":"Deja","exitOrgDesc":"¿Estás seguro de que quieres dejar este espacio de trabajo?","moveOutOrg":"Elimina","moveOutOrgDescSaasMode":"¿Estás seguro de que quieres eliminar al usuario {nombre} de este espacio de trabajo?","moveOutOrgDesc":"¿Estás seguro de que quieres eliminar al usuario {nombre}? Esta acción no se puede recuperar.","devGroupTip":"Los miembros del Grupo de Desarrolladores tienen privilegios para crear aplicaciones y fuentes de datos.","lastAdminQuit":"El último administrador no puede salir.","organizationNotExist":"El espacio de trabajo actual no existe","inviteUserHelp":"Puedes copiar el enlace de invitación para enviarlo al usuario","inviteUserLabel":"Enlace de invitación:","inviteCopyLink":"Copiar enlace","inviteText":"{userName} Te invita a unirte al espacio de trabajo \"{organization}%r@\\\", Haz clic en el enlace para unirte: {inviteLink}","groupName":"Nombre del grupo","createTime":"Crear Tiempo","manageBtn":"Gestiona","userDetail":"Detalle","syncDeleteTip":"Este grupo ha sido eliminado de la Agenda Fuente","syncGroupTip":"Este grupo es un grupo de sincronización de la Agenda y no se puede editar"},"orgSettings":{"newOrg":"Nuevo espacio de trabajo (Organización)","title":"Espacio de trabajo","createOrg":"Crear espacio de trabajo (Organización)","deleteModalTitle":"¿Estás seguro de eliminar este espacio de trabajo?","deleteModalContent":"Estás a punto de Eliminar este Espacio de Trabajo {permanentementeEliminado}. Una vez Eliminado, el Espacio de Trabajo {noSeRestaura}.","permanentlyDelete":"Permanentemente","notRestored":"No se puede restaurar","deleteModalLabel":"Introduce el nombre del espacio de trabajo {nombre} para confirmar la operación:","deleteModalTip":"Introduce el nombre del espacio de trabajo","deleteModalErr":"El nombre del espacio de trabajo es incorrecto","deleteModalBtn":"Borra","editOrgTitle":"Editar información del espacio de trabajo","orgNameLabel":"Nombre del espacio de trabajo:","orgNameCheckMsg":"El nombre del espacio de trabajo no puede estar vacío","orgLogo":"Logotipo del Espacio de Trabajo:","logoModify":"Modificar imagen","inviteSuccessMessage":"Únete con éxito al espacio de trabajo","inviteFailMessage":"Error al unirse al espacio de trabajo","uploadErrorMessage":"Error de carga","orgName":"Nombre del espacio de trabajo"},"freeLimit":"Prueba gratuita","tabbedContainer":{"switchTab":"Pestaña Interruptor","switchTabDesc":"Se activa al cambiar de pestaña","tab":"Fichas","atLeastOneTabError":"El Contenedor de Pestañas Guarda al Menos Una Pestaña","selectedTabKeyDesc":"Pestaña \"Seleccionado actualmente","iconPosition":"Icono Posición"},"formComp":{"containerPlaceholder":"Arrastra componentes desde el panel derecho o","openDialogButton":"Generar un Formulario a partir de una de tus Fuentes de Datos","resetAfterSubmit":"Reiniciar después de enviar correctamente","initialData":"Datos iniciales","disableSubmit":"Desactivar Enviar","success":"Formulario generado correctamente","selectCompType":"Selecciona el tipo de componente","dataSource":"Fuente de datos: ","selectSource":"Seleccionar fuente","table":"Tabla: ","selectTable":"Seleccionar tabla","columnName":"Nombre de la columna","dataType":"Tipo de datos","compType":"Tipo de componente","required":"Necesario","generateForm":"Generar formulario","compSelectionError":"Tipo de columna no configurada","compTypeNameError":"No se ha podido obtener el nombre del tipo de componente","noDataSourceSelected":"No se ha seleccionado ninguna fuente de datos","noTableSelected":"No hay mesa seleccionada","noColumn":"Sin columna","noColumnSelected":"Sin columna seleccionada","noDataSourceFound":"No se ha encontrado ninguna fuente de datos compatible. Crear una nueva fuente de datos","noTableFound":"No se encontraron tablas en esta fuente de datos, por favor selecciona otra fuente de datos","noColumnFound":"No se ha encontrado ninguna columna compatible en esta tabla. Selecciona otra tabla","formTitle":"Título del formulario","name":"Nombre","nameTooltip":"El Nombre del Atributo en los Datos del Formulario, si se deja en blanco, es por defecto el Nombre del Componente","notSupportMethod":"Métodos no admitidos: ","notValidForm":"El formulario no es válido","resetDesc":"Restablecer los datos del formulario al valor por defecto","clearDesc":"Borrar datos del formulario","setDataDesc":"Establecer datos del formulario","valuesLengthError":"Número de parámetro Error","valueTypeError":"Tipo de parámetro Error","dataDesc":"Datos del formulario actual","loadingDesc":"¿Si el formulario está cargando?"},"modalComp":{"close":"Cerrar","closeDesc":"Se activa cuando se cierra el cuadro de diálogo modal","openModalDesc":"Abrir el Cuadro de Diálogo","closeModalDesc":"Cerrar el Cuadro de Diálogo","visibleDesc":"¿Es Visible? Si es Verdadero, Aparecerá el Cuadro de Diálogo Actual","modalHeight":"Altura modal","modalHeightTooltip":"Píxel, Ejemplo: 222","modalWidth":"Anchura modal","modalWidthTooltip":"Número o porcentaje, Ejemplo: 520, 60%"},"listView":{"noOfRows":"Recuento de filas","noOfRowsTooltip":"Número de filas de la lista - Suele establecerse en una variable (por ejemplo, \\'{{query1.data.length}}\\') para presentar los resultados de la consulta","noOfColumns":"Recuento de columnas","itemIndexName":"Elemento de datos Índice Nombre","itemIndexNameDesc":"El nombre de la variable que se refiere al índice del elemento, por defecto como {por defecto}.","itemDataName":"Elemento de datos Nombre del objeto","itemDataNameDesc":"El nombre de la variable que se refiere al objeto de datos del elemento, por defecto como {default}.","itemsDesc":"Exponer datos de componentes en lista","dataDesc":"Los datos JSON utilizados en la lista actual","dataTooltip":"Si sólo pones un Número, Este Campo Se Considerará Como Recuento De Filas, Y Los Datos Se Considerarán Vacíos."},"navigation":{"addText":"Añadir elemento de submenú","logoURL":"Navegación Logo URL","horizontalAlignment":"Alineación horizontal","logoURLDesc":"Puedes mostrar un Logotipo en el lado izquierdo introduciendo un Valor URI o una Cadena Base64 como data:image/png;base64,AAA... CCC","itemsDesc":"Elementos del menú de navegación jerárquica"},"droppadbleMenuItem":{"subMenu":"Submenú {número}"},"navItemComp":{"active":"Activo"},"iframe":{"URLDesc":"La URL de origen del contenido del IFrame. Asegúrate de que la URL es HTTPS o localhost. Asegúrate también de que la URL no está bloqueada por la Política de Seguridad de Contenidos (CSP) del navegador. La cabecera \\'X-Frame-Options\\' no debe tener el valor \\'DENY\\' o \\'SAMEORIGIN\\'.","allowDownload":"Permitir descargas","allowSubmitForm":"Permitir Enviar Formulario","allowMicrophone":"Permitir micrófono","allowCamera":"Permitir cámara","allowPopup":"Permitir ventanas emergentes"},"switchComp":{"defaultValue":"Valor booleano por defecto","open":"En","close":"Fuera de","openDesc":"Se activa al encender el interruptor","closeDesc":"Se activa cuando el interruptor está apagado","valueDesc":"Estado actual del interruptor"},"signature":{"tips":"Texto de sugerencia","signHere":"Firma aquí","showUndo":"Mostrar Deshacer","showClear":"Mostrar Borrar"},"localStorageComp":{"valueDesc":"Todos los datos almacenados actualmente","setItemDesc":"Añadir un elemento","removeItemDesc":"Eliminar un elemento","clearItemDesc":"Borrar todos los artículos"},"utilsComp":{"openUrl":"Abrir URL","openApp":"Abrir App","copyToClipboard":"Copiar al portapapeles","downloadFile":"Descargar archivo"},"messageComp":{"info":"Enviar una notificación","success":"Enviar una notificación de éxito","warn":"Enviar una notificación de advertencia","error":"Enviar una notificación de error"},"themeComp":{"switchTo":"Cambiar tema"},"transformer":{"preview":"Vista previa","docLink":"Leer más sobre Transformers...","previewSuccess":"Vista previa Éxito","previewFail":"Vista previa Fracaso","deleteMessage":"Eliminar Transformador con éxito. Puedes usar {undoKey} para Deshacer.","documentationText":"Los Transformadores están diseñados para transformar datos y reutilizar tu código JavaScript multilínea. Utiliza Transformadores para adaptar datos de consultas o componentes a las necesidades de tu App local. A diferencia de la consulta JavaScript, el transformador está diseñado para realizar operaciones de sólo lectura, lo que significa que no puedes lanzar una consulta o actualizar un estado temporal dentro de un transformador."},"temporaryState":{"value":"Valor inicial","valueTooltip":"El valor inicial almacenado en el estado temporal puede ser cualquier valor JSON válido.","docLink":"Leer más sobre los Estados Temporales...","pathTypeError":"La ruta debe ser una cadena o una matriz de valores","unStructuredError":"Los datos no estructurados {prev} no pueden ser actualizados por {path}.","valueDesc":"Valor Temporal del Estado","deleteMessage":"El Estado Temporal se Borra con Éxito. Puedes Usar {undoKey} para Deshacer.","documentationText":"Los estados temporales en Lowcoder son una potente función utilizada para gestionar variables complejas que actualizan dinámicamente el estado de los componentes de tu aplicación. Estos estados actúan como almacenamiento intermedio o transitorio de datos que pueden cambiar con el tiempo debido a interacciones del usuario u otros procesos."},"dataResponder":{"data":"Datos","dataDesc":"Datos del respondedor de datos actual","dataTooltip":"Cuando se modifiquen estos datos, se desencadenarán acciones posteriores.","docLink":"Más información sobre los respondedores de datos...","deleteMessage":"El Respondedor de datos se ha eliminado correctamente. Puedes utilizar {undoKey} para Deshacer.","documentationText":"Al desarrollar una aplicación, puedes asignar eventos a los componentes para controlar los cambios en datos concretos. Por ejemplo, un componente Tabla puede tener eventos como %r@\\\"Cambio de selección de fila%r@\\\", %r@\\\"Cambio de filtro%r@\\\", %r@\\\"Cambio de ordenación%r@\\\" y %r@\\\"Cambio de página%r@\\\" para controlar los cambios en la propiedad Fila seleccionada. Sin embargo, para los cambios en estados temporales, transformadores o resultados de consulta, en los que no se dispone de eventos estándar, se utilizan los Respondedores de datos. Te permiten detectar y reaccionar ante cualquier modificación de los datos."},"theme":{"title":"Temas","createTheme":"Crear tema","themeName":"Nombre del tema:","themeNamePlaceholder":"Introduce un nombre de tema","defaultThemeTip":"Tema por defecto:","createdThemeTip":"El tema que has creado:","option":"Opción{índice}","input":"Entrada","confirm":"Ok","emptyTheme":"No hay temas disponibles","click":"","toCreate":"","nameColumn":"Nombre","defaultTip":"Por defecto","updateTimeColumn":"Hora de actualización","edit":"Edita","cancelDefaultTheme":"Desactivar tema por defecto","setDefaultTheme":"Establecer como tema por defecto","copyTheme":"Tema duplicado","setSuccessMsg":"Ajuste superado","cancelSuccessMsg":"Desajuste conseguido","deleteSuccessMsg":"Supresión superada","checkDuplicateNames":"El nombre del tema ya existe, por favor, introdúcelo de nuevo","copySuffix":" Copia","saveSuccessMsg":"Guardado correctamente","leaveTipTitle":"Consejos","leaveTipContent":"¿Aún no te has salvado, confirma que te vas?","leaveTipOkText":"Deja","goList":"Volver a la lista","saveBtn":"Guarda","mainColor":"Colores principales","text":"Colores del texto","defaultTheme":"Por defecto","yellow":"Amarillo","green":"Verde","previewTitle":"Vista previa del tema\\nComponentes de ejemplo que utilizan los colores de tu tema","dateColumn":"Fecha","emailColumn":"Envía un correo electrónico a","phoneColumn":"Teléfono","subTitle":"Título","linkLabel":"Enlace","linkUrl":"app.lowcoder.nube","progressLabel":"Progreso","sliderLabel":"Deslizador","radioLabel":"Radio","checkboxLabel":"Casilla de verificación","buttonLabel":"Botón Formulario","switch":"Interruptor","previewDate":"16/10/2022","previewEmail1":"ted.com","previewEmail2":"skype.com","previewEmail3":"imgur.com","previewEmail4":"globo.com","previewPhone1":"+63-317-333-0093","previewPhone2":"+30-668-580-6521","previewPhone3":"+86-369-925-2071","previewPhone4":"+7-883-227-8093","chartPreviewTitle":"Vista previa del estilo de gráfico","chartSpending":"Gastar","chartBudget":"Presupuesto","chartAdmin":"Administración","chartFinance":"Finanzas","chartSales":"Ventas","chartFunnel":"Gráfico de embudo","chartShow":"Mostrar","chartClick":"Haz clic en","chartVisit":"Visita","chartQuery":"Consulta","chartBuy":"Comprar"},"pluginSetting":{"title":"Plugins","npmPluginTitle":"Plugins npm","npmPluginDesc":"Configurar plugins npm para todas las aplicaciones del espacio de trabajo actual.","npmPluginEmpty":"No se han añadido plugins npm.","npmPluginAddButton":"Añadir un plugin npm","saveSuccess":"Guardado correctamente"},"advanced":{"title":"Avanzado","defaultHomeTitle":"Página de inicio por defecto","defaultHomeHelp":"La página de inicio es la aplicación que todos los no desarrolladores verán por defecto cuando se conecten. Nota: Asegúrate de que la aplicación seleccionada es accesible para los no desarrolladores.","defaultHomePlaceholder":"Selecciona la página de inicio predeterminada","saveBtn":"Guarda","preloadJSTitle":"Precargar JavaScript","preloadJSHelp":"Configurar código JavaScript precargado para todas las aplicaciones del espacio de trabajo actual.","preloadCSSTitle":"Precargar CSS","preloadCSSHelp":"Configura el código CSS precargado para todas las aplicaciones del espacio de trabajo actual.","preloadCSSApply":"Aplicar a la página de inicio del espacio de trabajo","preloadLibsTitle":"Biblioteca JavaScript","preloadLibsHelp":"Configura Bibliotecas JavaScript Precargadas para Todas las Aplicaciones en el Espacio de Trabajo Actual, y el Sistema Tiene Incorporadas lodash, day.js, uuid, numbro para Uso Directo. Las Bibliotecas JavaScript Se Cargan Antes De Inicializar La Aplicación, Por Lo Que Hay Un Cierto Impacto En El Rendimiento De La Aplicación.","preloadLibsEmpty":"No se han añadido bibliotecas JavaScript","preloadLibsAddBtn":"Añadir una biblioteca","saveSuccess":"Guardado correctamente","AuthOrgTitle":"Pantalla de bienvenida al espacio de trabajo","AuthOrgDescrition":"La URL para que tus usuarios inicien sesión en el espacio de trabajo actual."},"branding":{"title":"Marca","logoTitle":"Logotipo","logoHelp":"Sólo .JPG, .SVG o .PNG","faviconTitle":"Favicon","faviconHelp":"Sólo .JPG, .SVG o .PNG","brandNameTitle":"Marca","headColorTitle":"Color de la cabeza","save":"Guarda","saveSuccessMsg":"Guardado correctamente","upload":"Haz clic para cargar"},"networkMessage":{"0":"No se ha podido conectar con el servidor, comprueba la red","401":"Autenticación fallida, por favor, inicia sesión de nuevo","403":"Sin permiso, ponte en contacto con el administrador para obtener autorización","500":"Servicio ocupado, inténtalo más tarde","timeout":"Tiempo de espera de la solicitud"},"share":{"title":"Comparte","viewer":"Visor","editor":"Editor","owner":"Propietario","datasourceViewer":"Se puede utilizar","datasourceOwner":"Puede gestionar"},"debug":{"title":"Título","switch":"Componente del interruptor: "},"module":{"emptyText":"Sin datos","circularReference":"Referencia circular, ¡no se puede utilizar el módulo/aplicación actual!","emptyTestInput":"El módulo actual no tiene entrada para comprobar","emptyTestMethod":"El módulo actual no tiene ningún método para probar","name":"Nombre","input":"Entrada","params":"Parámetros","emptyParams":"No se ha añadido ningún parámetro","emptyInput":"No se ha añadido ninguna entrada","emptyMethod":"No se ha añadido ningún método","emptyOutput":"No se ha añadido ninguna salida","data":"Datos","string":"Cadena","number":"Número","array":"Matriz","boolean":"Booleano","query":"Consulta","autoScaleCompHeight":"Básculas de altura de componentes con contenedor","excuteMethod":"Ejecutar método {nombre}","method":"Método","action":"Acción","output":"Salida","nameExists":"Nombre {name} Ya existe","eventTriggered":"Evento {nombre} activado","globalPromptWhenEventTriggered":"Muestra un aviso global cuando se activa un evento","emptyEventTest":"El módulo actual no tiene eventos que probar","emptyEvent":"No se ha añadido ningún evento","event":"Evento"},"resultPanel":{"returnFunction":"El valor de retorno es una función.","consume":"{tiempo}","JSON":"Mostrar JSON"},"createAppButton":{"creating":"Crear...","created":"Crear {nombre}"},"apiMessage":{"authenticationFail":"Ha fallado la autenticación de usuario, por favor, inicia sesión de nuevo","verifyAccount":"Necesidad de verificar la cuenta","functionNotSupported":"La versión actual no soporta esta función. Ponte en contacto con el equipo comercial de Lowcoder para actualizar tu cuenta."},"globalErrorMessage":{"createCompFail":"Crear componente {comp} Fallido","notHandledError":"{método} Método no ejecutado"},"aggregation":{"navLayout":"Barra de navegación","chooseApp":"Elegir aplicación","iconTooltip":"Admite enlace src de imagen o cadena base64 como data:image/png;base64,AAA... CCC","hideWhenNoPermission":"Oculto para usuarios no autorizados","queryParam":"Parámetros de consulta URL","hashParam":"Parámetros Hash de URL","tabBar":"Barra de pestañas","emptyTabTooltip":"Configurar esta página en el panel derecho"},"appSetting":{"450":"450px (Teléfono)","800":"800px (Tableta)","1440":"1440px (Portátil)","1920":"1920px (Pantalla ancha)","3200":"3200px (Pantalla supergrande)","title":"Configuración general de la aplicación","autofill":"Autorrelleno","userDefined":"Personalizado","default":"Por defecto","tooltip":"Cerrar la ventana emergente después de ajustar","canvasMaxWidth":"Ancho máximo del lienzo para esta aplicación","userDefinedMaxWidth":"Ancho máximo personalizado","inputUserDefinedPxValue":"Introduce un valor de píxel personalizado","maxWidthTip":"La anchura máxima debe ser mayor o igual que 350","themeSetting":"Tema Estilo Aplicado","themeSettingDefault":"Por defecto","themeCreate":"Crear tema"},"customShortcut":{"title":"Atajos personalizados","shortcut":"Atajo","action":"Acción","empty":"Sin atajos","placeholder":"Pulsa Atajo","otherPlatform":"Otros","space":"Espacio"},"profile":{"orgSettings":"Configuración del espacio de trabajo","switchOrg":"Cambiar de espacio de trabajo","joinedOrg":"Mis espacios de trabajo","createOrg":"Crear espacio de trabajo","logout":"Cerrar sesión","personalInfo":"Mi perfil","bindingSuccess":"Vinculación {nombreFuente} Éxito","uploadError":"Error de carga","editProfilePicture":"Modifica","nameCheck":"El nombre no puede estar vacío","name":"Nombre: ","namePlaceholder":"Introduce tu nombre","toBind":"Encuadernar","binding":"Es vinculante","bindError":"Error de parámetro, actualmente no admitido Vinculación.","bindName":"Enlazar {nombre}","loginAfterBind":"Después de vincular, puedes utilizar {nombre} para iniciar sesión","bindEmail":"Enlazar correo electrónico:","email":"Envía un correo electrónico a","emailCheck":"Introduce una dirección de correo electrónico válida","emailPlaceholder":"Introduce tu dirección de correo electrónico","submit":"Envía","bindEmailSuccess":"Éxito de la encuadernación por correo electrónico","passwordModifiedSuccess":"Contraseña cambiada correctamente","passwordSetSuccess":"Contraseña establecida correctamente","oldPassword":"Contraseña antigua:","inputCurrentPassword":"Introduce tu contraseña actual","newPassword":"Nueva contraseña:","inputNewPassword":"Introduce tu nueva contraseña","confirmNewPassword":"Confirma la nueva contraseña:","inputNewPasswordAgain":"Vuelve a introducir tu nueva contraseña","password":"Contraseña:","modifyPassword":"Modificar contraseña","setPassword":"Establecer contraseña","alreadySetPassword":"Conjunto de contraseñas","setPassPlaceholder":"Puedes iniciar sesión con tu contraseña","setPassAfterBind":"Puedes establecer la contraseña después de vincular la cuenta","socialConnections":"Conexiones sociales"},"shortcut":{"shortcutList":"Atajos de teclado","click":"Haz clic en","global":"Global","toggleShortcutList":"Alternar atajos de teclado","editor":"Editor","toggleLeftPanel":"Alternar panel izquierdo","toggleBottomPanel":"Alternar panel inferior","toggleRightPanel":"Alternar panel derecho","toggleAllPanels":"Conmutar todos los paneles","preview":"Vista previa","undo":"Deshacer","redo":"Rehaz","showGrid":"Mostrar cuadrícula","component":"Componente","multiSelect":"Seleccionar varios","selectAll":"Seleccionar todo","copy":"Copia","cut":"Corta","paste":"Pega","move":"Muévete","zoom":"Cambia el tamaño de","delete":"Borra","deSelect":"Deselecciona","queryEditor":"Editor de consultas","excuteQuery":"Ejecutar consulta actual","editBox":"Editor de texto","formatting":"Formato","openInLeftPanel":"Abrir en el panel izquierdo"},"help":{"videoText":"Visión general","onBtnText":"OK","permissionDenyTitle":"💡 ¿No se puede crear una nueva aplicación o fuente de datos?","permissionDenyContent":"No tienes permiso para crear la aplicación y la fuente de datos. Ponte en contacto con el Administrador para unirte al Grupo de Desarrolladores.","appName":"Aplicación Tutorial","chat":"Chatea con nosotros","docs":"Ver documentación","editorTutorial":"Tutorial del editor","update":"¿Qué hay de nuevo?","version":"Versión","versionWithColon":"Versión: ","submitIssue":"Enviar un asunto"},"header":{"nameCheckMessage":"El nombre no puede estar vacío","viewOnly":"Ver sólo","recoverAppSnapshotTitle":"¿Restaurar esta versión?","recoverAppSnapshotContent":"Restaurar la aplicación actual a la versión creada en {tiempo}.","recoverAppSnapshotMessage":"Restaurar esta versión","returnEdit":"Volver al editor","deploy":"Publica","export":"Exportar a JSON","editName":"Editar nombre","duplicate":"Duplicar {tipo}","snapshot":"Historia","scriptsAndStyles":"Guiones y estilo","appSettings":"Ajustes de la aplicación","preview":"Vista previa","editError":"Modo de Vista Previa de la Historia, no se admite ninguna operación.","clone":"Clon","editorMode_layout":"Disposición","editorMode_logic":"Lógica","editorMode_both":"Ambos"},"userAuth":{"registerByEmail":"Inscríbete","email":"Correo electrónico:","inputEmail":"Introduce tu dirección de correo electrónico","inputValidEmail":"Introduce una dirección de correo electrónico válida","register":"Inscríbete","userLogin":"Regístrate","login":"Regístrate","bind":"Encuaderna","passwordCheckLength":"Al menos {min} Personajes","passwordCheckContainsNumberAndLetter":"Debe contener letras y números","passwordCheckSpace":"No puede contener espacios en blanco","welcomeTitle":"Bienvenido a {productName}","inviteWelcomeTitle":"{username} Te invito a conectarte {productName}","terms":"Términos","privacy":"Política de privacidad","registerHint":"He leído y acepto el","chooseAccount":"Elige tu cuenta","signInLabel":"Iniciar sesión con {nombre}","bindAccount":"Vincular cuenta","scanQrCode":"Escanea el código QR con {nombre}","invalidThirdPartyParam":"Parámetros de terceros no válidos","account":"Cuenta","inputAccount":"Introduce tu cuenta","ldapLogin":"Inicio de sesión LDAP","resetPassword":"Restablecer contraseña","resetPasswordDesc":"Restablecer la contraseña del usuario {nombre}. Se generará una nueva contraseña después de restablecerla.","resetSuccess":"Reinicio efectuado","resetSuccessDesc":"Se ha restablecido la contraseña. La nueva contraseña es: {contraseña}","copyPassword":"Copiar contraseña","poweredByLowcoder":"Desarrollado por Lowcoder.cloud"},"preLoad":{"jsLibraryHelpText":"Añade Bibliotecas JavaScript a tu Aplicación Actual mediante Direcciones URL. lodash, day.js, uuid, numbro están Integradas en el Sistema para su Uso Inmediato. Las Bibliotecas JavaScript se Cargan Antes de Inicializar la Aplicación, Lo Que Puede Tener un Impacto en el Rendimiento de la Aplicación.","exportedAs":"Exportado como","urlTooltip":"Dirección URL de la biblioteca JavaScript, se recomienda [unpkg.com](https://unpkg.com/) o [jsdelivr.net](https://www.jsdelivr.com/)","recommended":"Recomendado","viewJSLibraryDocument":"Documento","jsLibraryURLError":"URL no válida","jsLibraryExist":"La biblioteca JavaScript ya existe","jsLibraryEmptyContent":"No se han añadido bibliotecas JavaScript","jsLibraryDownloadError":"Error de descarga de la biblioteca JavaScript","jsLibraryInstallSuccess":"Biblioteca JavaScript instalada correctamente","jsLibraryInstallFailed":"Fallo en la instalación de la biblioteca JavaScript","jsLibraryInstallFailedCloud":"Puede que la biblioteca no esté disponible en el Sandbox, [Documentación](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\\n{mensaje}","jsLibraryInstallFailedHost":"{mensaje}","add":"Añadir nuevo","jsHelpText":"Añade un Método o Variable Global a la Aplicación Actual.","cssHelpText":"Añadir Estilos a la Aplicación Actual. La Estructura DOM Puede Cambiar Mientras Itera el Sistema. Intenta Modificar los Estilos a Través de las Propiedades de los Componentes.","scriptsAndStyles":"Guiones y estilos","jsLibrary":"Biblioteca JavaScript"},"editorTutorials":{"component":"Componente","componentContent":"El Panel de Componentes Derecho te ofrece muchos Bloques de Aplicación (Componentes) ya hechos. Puedes arrastrarlos al lienzo para utilizarlos. También puedes crear tus propios componentes con unos pocos conocimientos de programación.","canvas":"Lienzo","canvasContent":"Construye tus aplicaciones en el Lienzo con un enfoque \"Lo que ves es lo que hay\". Sólo tienes que arrastrar y soltar componentes para diseñar tu diseño, y utilizar los atajos de teclado para una edición rápida como borrar, copiar y pegar. Una vez seleccionado un componente, puedes ajustar todos los detalles, desde el estilo y el diseño hasta la vinculación de datos y el comportamiento lógico. Además, disfruta de la ventaja añadida del diseño adaptable, que garantiza que tus aplicaciones se vean bien en cualquier dispositivo.","queryData":"Consulta de datos","queryDataContent":"Aquí puedes crear Consultas de Datos y Conectarte a tu MySQL, MongoDB, Redis, Airtable y muchas Otras Fuentes de Datos. Tras configurar la Consulta, haz clic en \"Ejecutar\" para obtener los Datos y continuar con el Tutorial.","compProperties":"Propiedades de los componentes"},"homeTutorials":{"createAppContent":"🎉 Bienvenido a {productName}, haz clic en \\'App\\' y empieza a crear tu primera aplicación.","createAppTitle":"Crear aplicación"},"history":{"layout":"\\'{0}\\' ajuste del diseño","upgrade":"Actualizar \\'{0}\\'","delete":"Borrar \\'{0}\\'","add":"Añade \"0\".","modify":"Modificar \\'{0}\\'","rename":"Cambia el nombre de \"{1}\" a \"{0}\".","recover":"Recuperar la versión \"2","recoverVersion":"Recuperar versión","andSoOn":"etc.","timeFormat":"MM DD a las hh:mm A","emptyHistory":"Sin antecedentes","currentVersionWithBracket":" (Actual)","currentVersion":"Versión actual","justNow":"Ahora mismo","history":"Historia"},"home":{"allApplications":"Todas las aplicaciones","allModules":"Todos los módulos","allFolders":"Todas las carpetas","modules":"Módulos","module":"Módulo","trash":"Basura","queryLibrary":"Biblioteca de consultas","datasource":"Fuentes de datos","selectDatasourceType":"Selecciona el tipo de fuente de datos","home":"Inicio | Área de Administración","all":"Todos","app":"Aplicación","navigation":"Navegación","navLayout":"Navegación por PC","navLayoutDesc":"Menú a la izquierda para facilitar la navegación por el escritorio.","mobileTabLayout":"Navegación móvil","mobileTabLayoutDesc":"Barra de navegación inferior para una navegación móvil fluida.","folders":"Carpetas","folder":"Carpeta","rootFolder":"Raíz","import":"Importa","export":"Exportar a JSON","inviteUser":"Invitar a miembros","createFolder":"Crear carpeta","createFolderSubTitle":"Nombre de la carpeta:","moveToFolder":"Mover a carpeta","moveToTrash":"Mover a la papelera","moveToFolderSubTitle":"Desplázate a:","folderName":"Nombre de la carpeta:","resCardSubTitle":"{tiempo} por {creador}","trashEmpty":"La papelera está vacía.","projectEmpty":"Aquí no hay nada.","projectEmptyCanAdd":"Todavía no tienes ninguna aplicación. Haz clic en Nueva para empezar.","name":"Nombre","type":"Tipo","creator":"Creado por","lastModified":"Última modificación","deleteTime":"Borrar hora","createTime":"Crear tiempo","datasourceName":"Nombre de la fuente de datos","databaseName":"Nombre de la base de datos","nameCheckMessage":"El nombre no puede estar vacío","deleteElementTitle":"Borrar permanentemente","moveToTrashSubTitle":"{tipo} {nombre} se moverá a la papelera.","deleteElementSubTitle":"Borrar {tipo} {nombre} permanentemente, no se puede recuperar.","deleteSuccessMsg":"Eliminado con éxito","deleteErrorMsg":"Error borrado","recoverSuccessMsg":"Recuperado con éxito","newDatasource":"Nueva fuente de datos","creating":"Crear...","chooseDataSourceType":"Elige el tipo de fuente de datos","folderAlreadyExists":"La carpeta ya existe","newNavLayout":"{nombredeusuario} de {nombre} ","newApp":"nuevo {nombre} de {nombre} de {usuario} ","importError":"Error de importación, {mensaje}","exportError":"Error de exportación, {mensaje}","importSuccess":"Éxito de la importación","fileUploadError":"Error de carga de archivos","fileFormatError":"Error de formato de archivo","groupWithSquareBrackets":"[Grupo] ","allPermissions":"Propietario","shareLink":"Comparte el enlace: ","copyLink":"Copiar enlace","appPublicMessage":"Haz pública la aplicación. Cualquiera puede verla.","modulePublicMessage":"Haz que el módulo sea público. Cualquiera puede verlo.","memberPermissionList":"Permisos de los miembros: ","orgName":"{orgName} admins","addMember":"Añadir miembros","addPermissionPlaceholder":"Introduce un nombre para buscar miembros","searchMemberOrGroup":"Buscar miembros o grupos: ","addPermissionErrorMessage":"Fallo al añadir permiso, {mensaje}","copyModalTitle":"Clonarlo","copyNameLabel":"{tipo} nombre","copyModalfolderLabel":"Añadir a la carpeta","copyNamePlaceholder":"Por favor, introduce un {tipo} de nombre","chooseNavType":"Elige el tipo de navegación","createNavigation":"Crear navegación"},"carousel":{"dotPosition":"Posición de los puntos de navegación","autoPlay":"Reproducción automática","showDots":"Mostrar puntos de navegación"},"npm":{"invalidNpmPackageName":"Nombre o URL de paquete npm no válidos.","pluginExisted":"Este plugin npm ya existía","compNotFound":"No se ha encontrado el componente {compName}.","addPluginModalTitle":"Añadir plugin desde un repositorio npm","pluginNameLabel":"URL o nombre del paquete npm","noCompText":"Sin componentes.","compsLoading":"Cargando...","removePluginBtnText":"Elimina","addPluginBtnText":"Añadir plugin npm"},"toggleButton":{"valueDesc":"El Valor por Defecto del Botón Alternar, Por Ejemplo: Falso","trueDefaultText":"Ocultar","falseDefaultText":"Mostrar","trueLabel":"Texto para Verdadero","falseLabel":"Texto para Falso","trueIconLabel":"Icono de Verdadero","falseIconLabel":"Icono de Falso","iconPosition":"Icono Posición","showText":"Mostrar texto","alignment":"Alineación","showBorder":"Mostrar borde"},"componentDoc":{"markdownDemoText":"**Lowcoder** | Crea aplicaciones de software para tu Empresa y tus Clientes con mínima experiencia en codificación. Lowcoder es la mejor alternativa a Retool, Appsmith o Tooljet.","demoText":"Lowcoder | Crea aplicaciones de software para tu Empresa y tus Clientes con una mínima experiencia en codificación. Lowcoder es la mejor alternativa a Retool, Appsmith o Tooljet.","submit":"Envía","style":"Estilo","danger":"Peligro","warning":"Advertencia","success":"Éxito","menu":"Menú","link":"Enlace","customAppearance":"Apariencia personalizada","search":"Busca en","pleaseInputNumber":"Introduce un número","mostValue":"Más valor","maxRating":"Clasificación máxima","notSelect":"No seleccionado","halfSelect":"Media selección","pleaseSelect":"Selecciona","title":"Título","content":"Contenido","componentNotFound":"El componente no existe","example":"Ejemplos","defaultMethodDesc":"Establecer el valor de la propiedad {nombre}","propertyUsage":"Puedes leer información relacionada con el componente accediendo a las propiedades del componente por su nombre en cualquier lugar donde puedas escribir JavaScript.","property":"Propiedades","propertyName":"Nombre de la propiedad","propertyType":"Tipo","propertyDesc":"Descripción","event":"Eventos","eventName":"Nombre del evento","eventDesc":"Descripción","mehtod":"Métodos","methodUsage":"Puedes interactuar con los componentes a través de sus métodos, y puedes llamarlos por su nombre en cualquier lugar donde puedas escribir JavaScript. O puedes llamarlos a través de la acción \"Componente de control\" de un evento.","methodName":"Nombre del método","methodDesc":"Descripción","showBorder":"Mostrar borde","haveTry":"Pruébalo tú mismo","settings":"Configurar","settingValues":"Valor de ajuste","defaultValue":"Valor por defecto","time":"Tiempo","date":"Fecha","noValue":"Ninguno","xAxisType":"Tipo de eje X","hAlignType":"Alineación horizontal","leftLeftAlign":"Alineación izquierda-izquierda","leftRightAlign":"Alineación izquierda-derecha","topLeftAlign":"Alineación superior izquierda","topRightAlign":"Alineación superior derecha","validation":"Validación","required":"Necesario","defaultStartDateValue":"Fecha de inicio por defecto","defaultEndDateValue":"Fecha de finalización por defecto","basicUsage":"Uso básico","basicDemoDescription":"Los siguientes ejemplos muestran el uso básico del componente.","noDefaultValue":"Sin valor por defecto","forbid":"Prohibido","placeholder":"Marcador de posición","pleaseInputPassword":"Introduce una contraseña","password":"Contraseña","textAlign":"Alineación del texto","length":"Longitud","top":"Arriba","pleaseInputName":"Introduce tu nombre","userName":"Nombre","fixed":"Fijo","responsive":"Respuesta","workCount":"Recuento de palabras","cascaderOptions":"Opciones de Cascader","pleaseSelectCity":"Selecciona una ciudad","advanced":"Avanzado","showClearIcon":"Mostrar icono Borrar","likedFruits":"Favoritos","option":"Opción","singleFileUpload":"Carga de un solo archivo","multiFileUpload":"Carga múltiple de archivos","folderUpload":"Cargar carpeta","multiFile":"Varios archivos","folder":"Carpeta","open":"Abre","favoriteFruits":"Frutas favoritas","pleaseSelectOneFruit":"Selecciona una fruta","notComplete":"No Completo","complete":"Completa","echart":"EChart","lineChart":"Gráfico lineal","basicLineChart":"Gráfico de líneas básico","lineChartType":"Tipo de gráfico de líneas","stackLineChart":"Línea apilada","areaLineChart":"Línea de área","scatterChart":"Gráfico de dispersión","scatterShape":"Forma de dispersión","scatterShapeCircle":"Círculo","scatterShapeRect":"Rectángulo","scatterShapeTri":"Triángulo","scatterShapeDiamond":"Diamante","scatterShapePin":"Chincheta","scatterShapeArrow":"Flecha","pieChart":"Gráfico circular","basicPieChart":"Gráfico circular básico","pieChatType":"Tipo de gráfico circular","pieChartTypeCircle":"Gráfico de donuts","pieChartTypeRose":"Gráfico de rosas","titleAlign":"Título Cargo","color":"Color","dashed":"Guiones","imADivider":"Soy una línea divisoria","tableSize":"Tamaño de la tabla","subMenuItem":"SubMenú {num}","menuItem":"Menú {num}","labelText":"Etiqueta","labelPosition":"Etiqueta - Posición","labelAlign":"Etiqueta - Alinear","optionsOptionType":"Método de configuración","styleBackgroundColor":"Color de fondo","styleBorderColor":"Color del borde","styleColor":"Color de fuente","selectionMode":"Modo de selección de filas","paginationSetting":"Configuración de la paginación","paginationShowSizeChanger":"Ayudar a los usuarios a modificar el número de entradas por página","paginationShowSizeChangerButton":"Mostrar botón de cambio de tamaño","paginationShowQuickJumper":"Mostrar saltador rápido","paginationHideOnSinglePage":"Ocultar cuando sólo hay una página","paginationPageSizeOptions":"Tamaño de página","chartConfigCompType":"Tipo de gráfico","xConfigType":"Tipo de eje X","loading":"Cargando","disabled":"Discapacitados","minLength":"Longitud mínima","maxLength":"Longitud máxima","showCount":"Mostrar recuento de palabras","autoHeight":"Altura","thousandsSeparator":"Separador de miles","precision":"Posiciones decimales","value":"Valor por defecto","formatter":"Formato","min":"Valor mínimo","max":"Valor máximo","step":"Tamaño del paso","start":"Hora de inicio","end":"Fin de los tiempos","allowHalf":"Permitir media selección","filetype":"Tipo de archivo","showUploadList":"Mostrar lista de cargas","uploadType":"Tipo de carga","allowClear":"Mostrar icono Borrar","minSize":"Tamaño mínimo del archivo","maxSize":"Tamaño máximo del archivo","maxFiles":"Número máximo de archivos cargados","format":"Formato","minDate":"Fecha mínima","maxDate":"Fecha máxima","minTime":"Tiempo mínimo","maxTime":"Tiempo máximo","text":"Texto","type":"Tipo","hideHeader":"Ocultar cabecera","hideBordered":"Ocultar borde","src":"URL de la imagen","showInfo":"Mostrar valor","mode":"Modo","onlyMenu":"Sólo Menú","horizontalAlignment":"Alineación horizontal","row":"Izquierda","column":"Arriba","leftAlign":"Alineación izquierda","rightAlign":"Alineación correcta","percent":"Porcentaje","fixedHeight":"Altura fija","auto":"Adaptativo","directory":"Carpeta","multiple":"Varios archivos","singleFile":"Archivo único","manual":"Manual","default":"Por defecto","small":"Pequeño","middle":"Medio","large":"Grande","single":"Individual","multi":"Múltiple","close":"Cerrar","ui":"Modo IU","line":"Gráfico lineal","scatter":"Gráfico de dispersión","pie":"Gráfico circular","basicLine":"Gráfico de líneas básico","stackedLine":"Gráfico de líneas apiladas","areaLine":"Área Mapa del área","basicPie":"Gráfico circular básico","doughnutPie":"Gráfico de donuts","rosePie":"Gráfico de rosas","category":"Categoría Eje","circle":"Círculo","rect":"Rectángulo","triangle":"Triángulo","diamond":"Diamante","pin":"Chincheta","arrow":"Flecha","left":"Izquierda","right":"A la derecha","center":"Centro","bottom":"Fondo","justify":"Justificar ambos extremos"},"playground":{"url":"https://app.lowcoder.cloud/playground/{compType}/1","data":"Estado actual de los datos","preview":"Vista previa","property":"Propiedades","console":"Consola Visual Script","executeMethods":"Ejecutar métodos","noMethods":"Sin métodos.","methodParams":"Parámetros del método","methodParamsHelp":"Parámetros del método de entrada utilizando JSON. Por ejemplo, puedes establecer los parámetros de setValue\\ con: [1] o 1"},"calendar":{"headerBtnBackground":"Botón Fondo","btnText":"Texto del botón","title":"Título","selectBackground":"Antecedentes seleccionados"},"componentDocExtra":{"table":"Documentación adicional para el componente Tabla"},"idSource":{"title":"Proveedores OAuth","form":"Envía un correo electrónico a","pay":"Premium","enable":"Activa","unEnable":"No activado","loginType":"Tipo de conexión","status":"Estado","desc":"Descripción","manual":"Agenda:","syncManual":"Sincronizar Agenda","syncManualSuccess":"Sincronización realizada","enableRegister":"Permitir la inscripción","saveBtn":"Guardar y Activar","save":"Guarda","none":"Ninguno","formPlaceholder":"Introduce {etiqueta}","formSelectPlaceholder":"Selecciona la {etiqueta}","saveSuccess":"Guardado correctamente","dangerLabel":"Zona de peligro","dangerTip":"Desactivar este proveedor de ID puede provocar que algunos usuarios no puedan iniciar sesión. Procede con precaución.","disable":"Desactiva","disableSuccess":"Desactivado correctamente","encryptedServer":"-------- Cifrado en el lado del servidor --------","disableTip":"Consejos","disableContent":"Desactivar este proveedor de ID puede provocar que algunos usuarios no puedan iniciar sesión. ¿Estás seguro de proceder?","manualTip":"","lockTip":"El Contenido está Bloqueado. Para realizar cambios, haz clic en el {icono} para desbloquearlo.","lockModalContent":"La modificación del campo \"Atributo ID\" puede tener repercusiones importantes en la identificación del usuario. Por favor, confirma que comprendes las implicaciones de este cambio antes de proceder.","payUserTag":"Premium"},"slotControl":{"configSlotView":"Configurar vista de ranura"},"jsonLottie":{"lottieJson":"Lottie JSON","speed":"Velocidad","width":"Anchura","height":"Altura","backgroundColor":"Color de fondo","animationStart":"Inicio de la animación","valueDesc":"Datos JSON actuales","loop":"Bucle","auto":"Auto","onHover":"Al pasar por encima","singlePlay":"Juego individual","endlessLoop":"Bucle sin fin","keepLastFrame":"Mantener visualizado el último fotograma"},"timeLine":{"titleColor":"Título Color","subTitleColor":"Color del subtítulo","lableColor":"Color de la etiqueta","value":"Datos cronológicos","mode":"Orden de visualización","left":"Contenido Correcto","right":"Contenido Izquierda","alternate":"Orden alternativo del contenido","modeTooltip":"Configura el contenido para que aparezca a izquierda/derecha o alternativamente en ambos lados de la línea de tiempo","reverse":"Eventos más recientes primero","pending":"Texto de nodo pendiente","pendingDescription":"Si se establece, se mostrará un último nodo con el texto y un indicador de espera.","defaultPending":"Mejora continua","clickTitleEvent":"Haz clic en el título Evento","clickTitleEventDesc":"Haz clic en el título Evento","Introduction":"Introducción Claves","helpTitle":"Título del cronograma (Obligatorio)","helpsubTitle":"Subtítulo del cronograma","helpLabel":"Etiqueta de la línea de tiempo, utilizada para mostrar las fechas","helpColor":"Indica el color del nodo de la línea de tiempo","helpDot":"Representación de los nodos de la línea de tiempo como iconos de diseño Ant","helpTitleColor":"Controlar individualmente el color del título del nodo","helpSubTitleColor":"Controlar Individualmente el Color del Subtítulo del Nodo","helpLableColor":"Controlar Individualmente el Color del Icono del Nodo","valueDesc":"Datos de la cronología","clickedObjectDesc":"Datos del elemento pulsado","clickedIndexDesc":"Índice de elementos pulsados"},"comment":{"value":"Datos de la lista de comentarios","showSendButton":"Permitir comentarios","title":"Título","titledDefaultValue":"%d Comentario en total","placeholder":"Mayús + Intro para comentar; introduce @ o # para entrada rápida","placeholderDec":"Marcador de posición","buttonTextDec":"Título del botón","buttonText":"Comentario","mentionList":"Datos de la Lista de Menciones","mentionListDec":"Palabras clave de mención clave; Datos de la lista de mención de valor","userInfo":"Información del usuario","dateErr":"Error de fecha","commentList":"Lista de comentarios","deletedItem":"Elemento eliminado","submitedItem":"Artículo enviado","deleteAble":"Mostrar botón Eliminar","Introduction":"Introducción Claves","helpUser":"Información del usuario (Obligatorio)","helpname":"Nombre de usuario (Obligatorio)","helpavatar":"Avatar URL (Alta prioridad)","helpdisplayName":"Nombre para mostrar (prioridad baja)","helpvalue":"Contenido de los comentarios","helpcreatedAt":"Fecha de creación"},"mention":{"mentionList":"Datos de la Lista de Menciones"},"autoComplete":{"value":"Auto Complete Value","checkedValueFrom":"Valor comprobado Desde","ignoreCase":"Buscar Ignorar Caso","searchLabelOnly":"Buscar sólo etiqueta","searchFirstPY":"Buscar First Pinyin","searchCompletePY":"Buscar Pinyin completo","searchText":"Buscar texto","SectionDataName":"Autocompletar datos","valueInItems":"Valor en artículos","type":"Tipo","antDesign":"AntDesign","normal":"Normal","selectKey":"Clave","selectLable":"Etiqueta","ComponentType":"Tipo de componente","colorIcon":"Azul","grewIcon":"Gris","noneIcon":"Ninguno","small":"Pequeño","large":"Grande","componentSize":"Tamaño del componente","Introduction":"Introducción Claves","helpLabel":"Etiqueta","helpValue":"Valor"},"responsiveLayout":{"column":"Columnas","atLeastOneColumnError":"El diseño adaptable mantiene al menos una columna","columnsPerRow":"Columnas por fila","columnsSpacing":"Espacio entre columnas (px)","horizontal":"Horizontal","vertical":"Vertical","mobile":"Móvil","tablet":"Tableta","desktop":"Escritorio","rowStyle":"Estilo Fila","columnStyle":"Estilo columna","minWidth":"Mín. Anchura","rowBreak":"Rotura de fila","matchColumnsHeight":"Igualar altura de columnas","rowLayout":"Disposición de filas","columnsLayout":"Disposición de las columnas"},"navLayout":{"mode":"Modo","modeInline":"En línea","modeVertical":"Vertical","width":"Anchura","widthTooltip":"Píxel o Porcentaje, por ejemplo 520, 60%.","navStyle":"Estilo de menú","navItemStyle":"Estilo del elemento de menú"}} \ No newline at end of file diff --git a/client/packages/lowcoder/src/i18n/locales/translation_files/fr.json b/client/packages/lowcoder/src/i18n/locales/translation_files/fr.json new file mode 100644 index 000000000..5196d3bd6 --- /dev/null +++ b/client/packages/lowcoder/src/i18n/locales/translation_files/fr.json @@ -0,0 +1 @@ +{"productName":"Lowcoder","productDesc":"Crée des applications logicielles pour ton entreprise et tes clients avec un minimum d'expérience en matière de codage. Lowcoder est une excellente alternative à Retool, Appsmith et Tooljet.","notSupportedBrowser":"Ton navigateur actuel peut avoir des problèmes de compatibilité. Pour une expérience utilisateur optimale, utilise la dernière version de Chrome.","create":"Créer","move":"Déplacer","addItem":"Ajouter","newItem":"Nouveau","copy":"Copie","rename":"Renommer","delete":"Supprimer","deletePermanently":"Supprimer définitivement","remove":"Enlever","recover":"Récupérer","edit":"Éditer","view":"Voir","value":"Valeur","data":"Données","information":"Informations","success":"Succès","warning":"Avertissement","error":"Erreur","reference":"Référence","text":"Texte","label":"Étiquette","color":"Couleur","form":"Formulaire","menu":"Menu","menuItem":"Point de menu","ok":"OK","cancel":"Annuler","finish":"Finir","reset":"Remise à zéro","icon":"Icône","code":"Code","title":"Titre","emptyContent":"Contenu vide","more":"Plus d'informations","search":"Recherche","back":"Retour","accessControl":"Contrôle d'accès","copySuccess":"Copié avec succès","copyError":"Erreur de copie","api":{"publishSuccess":"Publié avec succès","recoverFailed":"Échec de la récupération","needUpdate":"Ta version actuelle est obsolète. Mets-toi à jour avec la dernière version."},"codeEditor":{"notSupportAutoFormat":"L'éditeur de code actuel ne prend pas en charge le formatage automatique.","fold":"Plier"},"exportMethod":{"setDesc":"Définir la propriété : {propriété}","clearDesc":"Efface la propriété : {propriété}","resetDesc":"Réinitialiser la propriété : {propriété} à la valeur par défaut"},"method":{"focus":"Définir l'objectif","focusOptions":"Options de mise au point. Voir HTMLElement.focus()","blur":"Enlever la mise au point","click":"Clique sur","select":"Sélectionner tout le texte","setSelectionRange":"Définir les positions de début et de fin de la sélection de texte","selectionStart":"Index basé sur 0 du premier caractère sélectionné","selectionEnd":"Index basé sur 0 du caractère après le dernier caractère sélectionné","setRangeText":"Remplacer la plage de texte","replacement":"Chaîne à insérer","replaceStart":"Index basé sur 0 du premier caractère à remplacer","replaceEnd":"Index basé sur 0 du caractère après le dernier caractère à remplacer"},"errorBoundary":{"encounterError":"Le chargement du composant a échoué. Vérifie ta configuration.","clickToReload":"Cliquer pour recharger","errorMsg":"Erreur : "},"imgUpload":{"notSupportError":"Prend en charge uniquement les types d'images {types}","exceedSizeError":"La taille de l'image ne doit pas dépasser {taille}"},"gridCompOperator":{"notSupport":"Non pris en charge","selectAtLeastOneComponent":"Choisis au moins une composante","selectCompFirst":"Sélectionne les composants avant de les copier","noContainerSelected":"[Bug] Aucun conteneur n'est sélectionné","deleteCompsSuccess":"Supprimé avec succès. Appuie sur la touche {undoKey} pour annuler.","deleteCompsTitle":"Supprimer des composants","deleteCompsBody":"Es-tu sûr de vouloir supprimer les composants sélectionnés {compNum} ?","cutCompsSuccess":"Coupe avec succès. Appuie sur {pasteKey} pour coller, ou sur {undoKey} pour annuler."},"leftPanel":{"queries":"Requêtes de données dans ton application","globals":"Variables de données globales","propTipsArr":"Éléments {num}","propTips":"{num} Clés","propTipArr":"Item {num}","propTip":"{num} Clé","stateTab":"État","settingsTab":"Réglages","toolbarTitle":"L'individualisation","toolbarPreload":"Scripts et styles","components":"Composants actifs","modals":"Modaux in-App","expandTip":"Cliquer pour développer les données de {composant}\\N","collapseTip":"Cliquer pour réduire les données de {composant}\\N"},"bottomPanel":{"title":"Requêtes de données","run":"Exécuter","noSelectedQuery":"Aucune requête sélectionnée","metaData":"Métadonnées de la source de données","noMetadata":"Pas de métadonnées disponibles","metaSearchPlaceholder":"Recherche de métadonnées","allData":"Toutes les tables"},"rightPanel":{"propertyTab":"Propriétés","noSelectedComps":"Aucun composant n'est sélectionné. Clique sur un composant pour afficher ses propriétés.","createTab":"Insérer","searchPlaceHolder":"Rechercher des composants ou des modules","uiComponentTab":"Composants","extensionTab":"Extensions","modulesTab":"Modules","moduleListTitle":"Modules","pluginListTitle":"Plugins","emptyModules":"Les modules sont des applications Mikro-Apps réutilisables. Tu peux les intégrer dans ton application.","searchNotFound":"Tu ne trouves pas le bon composant ? Soumettre un problème","emptyPlugins":"Aucun plugin n'a été ajouté","contactUs":"Nous contacter","issueHere":"ici."},"prop":{"expand":"Élargir","columns":"Colonnes","videokey":"Clé vidéo","rowSelection":"Sélection des rangs","toolbar":"Barre d'outils","pagination":"Pagination","logo":"Logo","style":"Style","inputs":"Entrées","meta":"Métadonnées","data":"Données","hide":"Cache-toi","loading":"Chargement","disabled":"Désactivé","placeholder":"Placeholder","showClear":"Afficher le bouton d'effacement","showSearch":"Recherche possible","defaultValue":"Valeur par défaut","required":"Champ obligatoire","readOnly":"Lecture seule","readOnlyTooltip":"Les composants en lecture seule apparaissent normaux mais ne peuvent pas être modifiés.","minimum":"Minimum","maximum":"Maximum","regex":"Regex","minLength":"Longueur minimale","maxLength":"Longueur maximale","height":"Hauteur","width":"Largeur","selectApp":"Sélectionne l'application","showCount":"Afficher le décompte","textType":"Type de texte","customRule":"Règle personnalisée","customRuleTooltip":"Une chaîne non vide indique une erreur ; une chaîne vide ou nulle signifie que la validation est réussie. Exemple : ","manual":"Manuel","map":"Carte","json":"JSON","use12Hours":"Utilise le format 12 heures","hourStep":"Heure Étape","minuteStep":"Pas de minute","secondStep":"Deuxième étape","minDate":"Date minimum","maxDate":"Date maximale","minTime":"Durée minimale","maxTime":"Durée maximale","type":"Type","showLabel":"Afficher l'étiquette","showHeader":"Afficher l'en-tête","showBody":"Montrer le corps","showFooter":"Afficher le pied de page","maskClosable":"Clique sur Extérieur pour fermer","showMask":"Afficher le masque"},"autoHeightProp":{"auto":"Auto","fixed":"Fixe"},"labelProp":{"text":"Étiquette","tooltip":"Info-bulle","position":"Position","left":"Gauche","top":"Haut","align":"Alignement","width":"Largeur","widthTooltip":"La largeur de l'étiquette prend en charge les pourcentages (%) et les pixels (px)."},"eventHandler":{"eventHandlers":"Gestionnaires d'événements","emptyEventHandlers":"Pas de gestionnaire d'événements","incomplete":"Sélection incomplète","inlineEventTitle":"Sur {nom de l'événement}","event":"Événement","action":"Action","noSelect":"Pas de sélection","runQuery":"Exécuter une requête de données","selectQuery":"Sélectionner une requête de données","controlComp":"Contrôler un composant","runScript":"Exécuter JavaScript","runScriptPlaceHolder":"Inscris le code ici","component":"Composant","method":"Méthode","setTempState":"Définir une valeur d'état temporaire","state":"État","triggerModuleEvent":"Déclencher un événement de module","moduleEvent":"Événement du module","goToApp":"Aller à une autre application","queryParams":"Paramètres de la requête","hashParams":"Paramètres de hachage","showNotification":"Afficher une notification","text":"Texte","level":"Niveau","duration":"Durée","notifyDurationTooltip":"L'unité de temps peut être 's' (seconde, par défaut) ou 'ms' (milliseconde). La durée maximale est de {max} secondes","goToURL":"Ouvrir une URL","openInNewTab":"Ouvrir dans un nouvel onglet","copyToClipboard":"Copier une valeur dans le presse-papiers","copyToClipboardValue":"Valeur","export":"Exportation de données","exportNoFileType":"Pas de sélection (optionnel)","fileName":"Nom du fichier","fileNameTooltip":"Inclure l'extension pour spécifier le type de fichier, par exemple, \\N \"image.png\\\".","fileType":"Type de fichier","condition":"Ne cours que lorsque...","conditionTooltip":"Ne lance le gestionnaire d'événement que lorsque cette condition est évaluée à 'vrai'.","debounce":"Debounce pour","throttle":"L'accélérateur pour","slowdownTooltip":"Utilise la fonction debounce ou throttle pour contrôler la fréquence des déclenchements d'action. L'unité de temps peut être \\'ms\\' (milliseconde, par défaut) ou \\'s\\' (seconde).","notHandledError":"Non traité","currentApp":"Actuel"},"event":{"submit":"Soumettre","submitDesc":"Déclencheurs à la soumission","change":"Changer","changeDesc":"Déclencheurs sur les changements de valeur","focus":"Focus","focusDesc":"Déclencheurs sur la focalisation","blur":"Flou","blurDesc":"Déclencheurs sur le flou","click":"Clique sur","clickDesc":"Déclencheurs au clic","close":"Fermer","closeDesc":"Déclencheurs à la fermeture","parse":"Analyser","parseDesc":"Déclencheurs sur Parse","success":"Succès","successDesc":"Déclencheurs de succès","delete":"Supprimer","deleteDesc":"Déclencheurs de suppression","mention":"Mention","mentionDesc":"Déclencheurs à la mention"},"themeDetail":{"primary":"Couleur de la marque","primaryDesc":"Couleur primaire par défaut utilisée par la plupart des composants.","textDark":"Couleur foncée du texte","textDarkDesc":"Utilisé lorsque la couleur d'arrière-plan est claire","textLight":"Couleur de texte claire","textLightDesc":"Utilisé lorsque la couleur d'arrière-plan est sombre","canvas":"Couleur de la toile","canvasDesc":"Couleur d'arrière-plan par défaut de l'application","primarySurface":"Couleur du conteneur","primarySurfaceDesc":"Couleur d'arrière-plan par défaut pour les composants tels que les tableaux","borderRadius":"Rayon de la bordure","borderRadiusDesc":"Rayon de bordure par défaut utilisé par la plupart des composants","chart":"Style de graphique","chartDesc":"Entrée pour Echarts","echartsJson":"Thème JSON","margin":"Marge","marginDesc":"Marge par défaut généralement utilisée pour la plupart des composants.","padding":"Rembourrage","paddingDesc":"Rembourrage par défaut généralement utilisé pour la plupart des composants.","containerheaderpadding":"Rembourrage de l'en-tête","containerheaderpaddingDesc":"Rembourrage d'en-tête par défaut généralement utilisé pour la plupart des composants.","gridColumns":"Colonnes de la grille","gridColumnsDesc":"Nombre de colonnes par défaut généralement utilisé pour la plupart des conteneurs."},"style":{"resetTooltip":"Réinitialiser les styles. Efface le champ de saisie pour réinitialiser un style individuel.","textColor":"Couleur du texte","contrastText":"Contraste Couleur du texte","generated":"Généré","customize":"Personnaliser","staticText":"Texte statique","accent":"Accent","validate":"Message de validation","border":"Couleur de la bordure","borderRadius":"Rayon de la bordure","borderWidth":"Largeur de la bordure","background":"Contexte","headerBackground":"Arrière-plan de l'en-tête","footerBackground":"Arrière-plan du pied de page","fill":"Remplir","track":"Poursuivre","links":"Liens","thumb":"Pouce","thumbBorder":"Bordure du pouce","checked":"Vérifié","unchecked":"Non vérifié","handle":"Poignée","tags":"Tags","tagsText":"Texte des étiquettes","multiIcon":"Icône multi-sélection","tabText":"Texte de l'onglet","tabAccent":"Onglet Accent","checkedBackground":"Arrière-plan vérifié","uncheckedBackground":"Arrière-plan non vérifié","uncheckedBorder":"Bordure non vérifiée","indicatorBackground":"Contexte de l'indicateur","tableCellText":"Texte de la cellule","selectedRowBackground":"Arrière-plan de la rangée sélectionnée","hoverRowBackground":"Arrière-plan de la rangée de survol","alternateRowBackground":"Autre arrière-plan de rangée","tableHeaderBackground":"Arrière-plan de l'en-tête","tableHeaderText":"Texte de l'en-tête","toolbarBackground":"Arrière-plan de la barre d'outils","toolbarText":"Texte de la barre d'outils","pen":"Stylo","footerIcon":"Icône de bas de page","tips":"Conseils","margin":"Marge","padding":"Rembourrage","marginLeft":"Marge gauche","marginRight":"Marge droite","marginTop":"Marge supérieure","marginBottom":"Marge inférieure","containerheaderpadding":"Rembourrage de l'en-tête","containerfooterpadding":"Remplissage du pied de page","containerbodypadding":"Rembourrage du corps","minWidth":"Largeur minimale","aspectRatio":"Rapport d'aspect","textSize":"Taille du texte"},"export":{"hiddenDesc":"Si c'est vrai, le composant est caché","disabledDesc":"Si c'est vrai, le composant est désactivé et non interactif","visibleDesc":"Si c'est vrai, le composant est visible","inputValueDesc":"Valeur actuelle de l'entrée","invalidDesc":"Indique si la valeur est invalide","placeholderDesc":"Texte de remplacement lorsqu'aucune valeur n'est définie","requiredDesc":"Si c'est vrai, une valeur valide est requise","submitDesc":"Soumettre le formulaire","richTextEditorValueDesc":"Valeur actuelle de l'éditeur","richTextEditorReadOnlyDesc":"Si c'est vrai, l'éditeur est en lecture seule","richTextEditorHideToolBarDesc":"Si c'est vrai, la barre d'outils est cachée","jsonEditorDesc":"Données JSON actuelles","sliderValueDesc":"Valeur actuellement sélectionnée","sliderMaxValueDesc":"Valeur maximale du curseur","sliderMinValueDesc":"Valeur minimale du curseur","sliderStartDesc":"Valeur du point de départ sélectionné","sliderEndDesc":"Valeur du point final sélectionné","ratingValueDesc":"Cote actuellement sélectionnée","ratingMaxDesc":"Valeur nominale maximale","datePickerValueDesc":"Date actuellement sélectionnée","datePickerFormattedValueDesc":"Date sélectionnée formatée","datePickerTimestampDesc":"Horodatage de la date sélectionnée","dateRangeStartDesc":"Date de début de l'intervalle","dateRangeEndDesc":"Date de fin de l'intervalle","dateRangeStartTimestampDesc":"Horodatage de la date de début","dateRangeEndTimestampDesc":"Horodatage de la date de fin","dateRangeFormattedValueDesc":"Plage de dates formatée","dateRangeFormattedStartValueDesc":"Date de début formatée","dateRangeFormattedEndValueDesc":"Date de fin formatée","timePickerValueDesc":"Heure actuellement sélectionnée","timePickerFormattedValueDesc":"Formaté l'heure sélectionnée","timeRangeStartDesc":"Heure de début de la plage","timeRangeEndDesc":"Heure de fin de la plage","timeRangeFormattedValueDesc":"Formatage de l'intervalle de temps","timeRangeFormattedStartValueDesc":"Heure de début formatée","timeRangeFormattedEndValueDesc":"Heure de fin formatée"},"validationDesc":{"email":"Saisis une adresse électronique valide","url":"Saisis une URL valide","regex":"Tu dois correspondre au modèle spécifié","maxLength":"Trop de caractères, actuel : {longueur}, maximum : {maxLength}","minLength":"Pas assez de caractères, actuel : {longueur}, minimum : {minLength}","maxValue":"La valeur dépasse le maximum, courant : {valeur}, maximum : {max}","minValue":"Valeur inférieure au minimum, courant : {valeur}, minimum : {min}","maxTime":"Le temps dépasse le maximum, actuel : {heure}, maximum : {maxTime}","minTime":"Temps inférieur au minimum, actuel : {time}, minimum : {minTime}","maxDate":"La date dépasse le maximum, courant : {date}, maximum : {maxDate}","minDate":"Date inférieure au minimum, courant : {date}, minimum : {minDate}"},"query":{"noQueries":"Aucune requête de données n'est disponible.","queryTutorialButton":"Voir les documents {valeur}","datasource":"Tes sources de données","newDatasource":"Nouvelle source de données","generalTab":"Généralités","notificationTab":"Notification","advancedTab":"Avancé","showFailNotification":"Afficher une notification en cas d'échec","failCondition":"Conditions de défaillance","failConditionTooltip1":"Personnalise les conditions de défaillance et les notifications correspondantes.","failConditionTooltip2":"Si l'une des conditions revient vraie, la requête est marquée comme ayant échoué et déclenche la notification correspondante.","showSuccessNotification":"Afficher la notification en cas de succès","successMessageLabel":"Message de réussite","successMessage":"Exécution réussie","notifyDuration":"Durée","notifyDurationTooltip":"Durée de la notification. L'unité de temps peut être \\Ns (seconde, par défaut) ou \\Nms (milliseconde). La valeur par défaut est {default}s. La valeur maximale est {max}s.","successMessageWithName":"{nom} exécution réussie","failMessageWithName":"L'exécution de {nom} a échoué : {résultat}","showConfirmationModal":"Afficher la fenêtre de confirmation avant l'exécution","confirmationMessageLabel":"Message de confirmation","confirmationMessage":"Es-tu sûr de vouloir exécuter cette requête de données ?","newQuery":"Nouvelle requête de données","newFolder":"Nouveau dossier","recentlyUsed":"Récemment utilisé","folder":"Dossier","folderNotEmpty":"Le dossier n'est pas vide","dataResponder":"Répondant aux données","tempState":"État temporaire","transformer":"Transformateur","quickRestAPI":"Requête REST","quickStreamAPI":"Requête de flux","quickGraphql":"Requête GraphQL","lowcoderAPI":"API Lowcoder","executeJSCode":"Exécuter le code JavaScript","importFromQueryLibrary":"Importer à partir de la bibliothèque de requêtes","importFromFile":"Importer à partir d'un fichier","triggerType":"Déclenché lorsque...","triggerTypeAuto":"Les entrées changent ou au chargement de la page","triggerTypePageLoad":"Lorsque l'application (la page) se charge","triggerTypeManual":"Seulement lorsque tu le déclenches manuellement","chooseDataSource":"Choisis la source de données","method":"Méthode","updateExceptionDataSourceTitle":"Mettre à jour une source de données défaillante","updateExceptionDataSourceContent":"Mets à jour la requête suivante avec la même source de données défaillante :","update":"Mise à jour","disablePreparedStatement":"Désactiver les déclarations préparées","disablePreparedStatementTooltip":"La désactivation des instructions préparées permet de générer du SQL dynamique, mais augmente le risque d'injection SQL","timeout":"Délai d'attente après","timeoutTooltip":"Unité par défaut : ms. Unités d'entrée prises en charge : ms, s. Valeur par défaut : {defaultSeconds} secondes. Valeur maximale : {maxSeconds} secondes. Par exemple, 300 (c'est-à-dire 300 ms), 800 ms, 5 s.","periodic":"Exécute périodiquement cette requête de données","periodicTime":"Période","periodicTimeTooltip":"Période entre deux exécutions successives. Unité par défaut : ms. Unités d'entrée prises en charge : ms, s. Valeur minimale : 100 ms. L'exécution périodique est désactivée pour les valeurs inférieures à 100ms. Par exemple, 300 (c'est-à-dire 300ms), 800ms, 5s.","cancelPrevious":"Ignorer les résultats des exécutions précédentes non terminées","cancelPreviousTooltip":"Si une nouvelle exécution est déclenchée, le résultat des exécutions précédentes non terminées sera ignoré si elles ne se sont pas terminées, et ces exécutions ignorées ne déclencheront pas la liste d'événements de la requête.","dataSourceStatusError":"Si une nouvelle exécution est déclenchée, le résultat des exécutions précédentes non terminées sera ignoré, et les exécutions ignorées ne déclencheront pas la liste d'événements de la requête.","success":"Succès","fail":"Échec","successDesc":"Déclenché lorsque l'exécution est réussie","failDesc":"Déclenché lorsque l'exécution échoue","fixedDelayError":"La requête n'a pas été exécutée","execSuccess":"Exécution réussie","execFail":"Échec de l'exécution","execIgnored":"Les résultats de cette requête ont été ignorés","deleteSuccessMessage":"Supprimé avec succès. Tu peux utiliser {undoKey} pour annuler","dataExportDesc":"Données obtenues par la requête actuelle","codeExportDesc":"Code d'état de la requête en cours","successExportDesc":"Si la requête actuelle a été exécutée avec succès","messageExportDesc":"Informations renvoyées par la requête en cours","extraExportDesc":"Autres données dans la requête actuelle","isFetchingExportDesc":"La requête actuelle est-elle dans la demande ?","runTimeExportDesc":"Temps d'exécution de la requête actuelle (ms)","latestEndTimeExportDesc":"Dernier temps d'exécution","triggerTypeExportDesc":"Type de déclencheur","chooseResource":"Choisis une ressource","createDataSource":"Créer une nouvelle source de données","editDataSource":"Éditer","datasourceName":"Nom","datasourceNameRuleMessage":"Saisis le nom de la source de données","generalSetting":"Paramètres généraux","advancedSetting":"Paramètres avancés","port":"Port","portRequiredMessage":"Saisis un port","portErrorMessage":"Saisis un port correct","connectionType":"Type de connexion","regular":"Régulière","host":"Hôte","hostRequiredMessage":"Saisis le nom de domaine ou l'adresse IP de l'hôte","userName":"Nom de l'utilisateur","password":"Mot de passe","encryptedServer":"-------- Crypté du côté du serveur --------","uriRequiredMessage":"Saisis un URI","urlRequiredMessage":"Saisis une URL","uriErrorMessage":"Saisis un URI correct","urlErrorMessage":"Saisis une URL correcte","httpRequiredMessage":"Saisis http:// ou https://","databaseName":"Nom de la base de données","databaseNameRequiredMessage":"Saisis un nom de base de données","useSSL":"Utiliser SSL","userNameRequiredMessage":"Saisis ton nom","passwordRequiredMessage":"Saisis ton mot de passe","authentication":"Authentification","authenticationType":"Type d'authentification","sslCertVerificationType":"Vérification des certificats SSL","sslCertVerificationTypeDefault":"Vérifier le certificat de l'autorité de certification","sslCertVerificationTypeSelf":"Vérifier le certificat auto-signé","sslCertVerificationTypeDisabled":"Désactivé","selfSignedCert":"Cert auto-signé","selfSignedCertRequireMsg":"Saisis ton certificat","enableTurnOffPreparedStatement":"Activer le basculement des instructions préparées pour les requêtes","enableTurnOffPreparedStatementTooltip":"Tu peux activer ou désactiver les instructions préparées dans l'onglet Avancé de la requête.","serviceName":"Nom du service","serviceNameRequiredMessage":"Saisis le nom de ton service","useSID":"Utiliser le SID","connectSuccessfully":"Connexion réussie","saveSuccessfully":"Sauvegardé avec succès","database":"Base de données","cloudHosting":"Lowcoder hébergé dans le nuage ne peut pas accéder aux services locaux en utilisant 127.0.0.1 ou localhost. Essaie de te connecter aux sources de données du réseau public ou utilise un proxy inverse pour les services privés.","notCloudHosting":"Pour le déploiement hébergé par docker, Lowcoder utilise des réseaux en pont, donc 127.0.0.1 et localhost ne sont pas valides pour les adresses d'hôtes. Pour accéder aux sources de données des machines locales, réfère-toi à","howToAccessHostDocLink":"Comment accéder à l'API/DB de l'hôte","returnList":"Retourner","chooseDatasourceType":"Choisis le type de source de données","viewDocuments":"Voir les documents","testConnection":"Connexion de test","save":"Sauvegarde","whitelist":"Liste d'admissibilité","whitelistTooltip":"Ajoute les adresses IP de Lowcoder\\ à la liste d'autorisation de ta source de données si nécessaire.","address":"Adresse : ","nameExists":"Le nom {nom} existe déjà","jsQueryDocLink":"A propos de JavaScript Query","dynamicDataSourceConfigLoadingText":"Chargement de la configuration de la source de données supplémentaire...","dynamicDataSourceConfigErrText":"Échec du chargement de la configuration de la source de données supplémentaire.","retry":"Réessayer"},"sqlQuery":{"keyValuePairs":"Paires clé-valeur","object":"Objet","allowMultiModify":"Permettre la modification de plusieurs rangs","allowMultiModifyTooltip":"Si cette option est sélectionnée, toutes les lignes qui remplissent les conditions sont prises en compte. Sinon, seule la première ligne remplissant les conditions est prise en compte.","array":"Array","insertList":"Liste d'insertion","insertListTooltip":"Valeurs insérées alors qu'elles n'existent pas","filterRule":"Règle de filtrage","updateList":"Liste des mises à jour","updateListTooltip":"Les valeurs mises à jour au fur et à mesure peuvent être remplacées par les mêmes valeurs de la liste d'insertion.","sqlMode":"Mode SQL","guiMode":"Mode GUI","operation":"Fonctionnement","insert":"Insérer","upsert":"Insérer, mais mettre à jour en cas de conflit","update":"Mise à jour","delete":"Supprimer","bulkInsert":"Insertion en vrac","bulkUpdate":"Mise à jour en vrac","table":"Tableau","primaryKeyColumn":"Colonne de clé primaire"},"EsQuery":{"rawCommand":"Commande brute","queryTutorialButton":"Voir les documents de l'API Elasticsearch","request":"Demande"},"googleSheets":{"rowIndex":"Index des rangs","spreadsheetId":"ID de la feuille de calcul","sheetName":"Nom de la feuille","readData":"Lire les données","appendData":"Ajouter une ligne","updateData":"Rangée de mise à jour","deleteData":"Supprimer une ligne","clearData":"Effacer la rangée","serviceAccountRequireMessage":"Saisis ton compte de service","ASC":"ASC","DESC":"DESC","sort":"Trier","sortPlaceholder":"Nom"},"queryLibrary":{"export":"Exporter vers JSON","noInput":"La requête actuelle n'a pas d'entrée","inputName":"Nom","inputDesc":"Description","emptyInputs":"Pas d'entrées","clickToAdd":"Ajouter","chooseQuery":"Choisis la requête","viewQuery":"Voir la requête","chooseVersion":"Choisis la version","latest":"Dernières nouvelles","publish":"Publie","historyVersion":"Version historique","deleteQueryLabel":"Supprimer une requête","deleteQueryContent":"La requête ne peut pas être récupérée après sa suppression. Effacer la requête ?","run":"Exécuter","readOnly":"Lecture seule","exit":"Sortie","recoverAppSnapshotContent":"Restaure la requête actuelle à la version {version}","searchPlaceholder":"Recherche","allQuery":"Toutes les requêtes","deleteQueryTitle":"Supprimer une requête","unnamed":"Sans nom","publishNewVersion":"Publie une nouvelle version","publishSuccess":"Publié avec succès","version":"Version","desc":"Description"},"snowflake":{"accountIdentifierTooltip":"Voir ","extParamsTooltip":"Configurer des paramètres de connexion supplémentaires"},"lowcoderQuery":{"queryOrgUsers":"Interroger les utilisateurs de l'espace de travail"},"redisQuery":{"rawCommand":"Commande brute","command":"Commande","queryTutorial":"Voir les documents sur les commandes Redis"},"httpQuery":{"bodyFormDataTooltip":"Si {type} est sélectionné, le format de la valeur doit être {objet}. Exemple : {exemple}","text":"Texte","file":"Fichier","extraBodyTooltip":"Les valeurs clés dans le corps supplémentaire seront ajoutées au corps avec des types de données JSON ou Form.","forwardCookies":"Cookies en avant","forwardAllCookies":"Transmettre tous les cookies"},"smtpQuery":{"attachment":"Pièce jointe","attachmentTooltip":"Peut être utilisé avec le composant de téléchargement de fichiers, les données doivent être converties en : ","MIMETypeUrl":"https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types","sender":"Expéditeur","recipient":"Récipiendaire","carbonCopy":"Copie carbone","blindCarbonCopy":"Copie carbone aveugle","subject":"Sujet","content":"Contenu","contentTooltip":"Prend en charge la saisie de texte ou de HTML"},"uiCompCategory":{"dashboards":"Tableaux de bord et rapports","layout":"Mise en page et navigation","forms":"Collecte de données et formulaires","collaboration":"Réunion et collaboration","projectmanagement":"Gestion de projet","scheduling":"Calendrier et programmation","documents":"Gestion des documents et des dossiers","itemHandling":"Traitement des articles et des signatures","multimedia":"Multimédia et animation","integration":"Intégration et extension"},"uiComp":{"autoCompleteCompName":"Auto Complete","autoCompleteCompDesc":"Un champ de saisie qui fournit des suggestions au fur et à mesure que tu tapes, ce qui améliore l'expérience de l'utilisateur et la précision.","autoCompleteCompKeywords":"suggestions, autocomplétion, saisie, entrée","inputCompName":"Entrée","inputCompDesc":"Un champ de saisie de texte de base permettant aux utilisateurs de saisir et de modifier du texte.","inputCompKeywords":"texte, entrée, champ, modifier","textAreaCompName":"Zone de texte","textAreaCompDesc":"Une entrée de texte sur plusieurs lignes pour les contenus plus longs, tels que les commentaires ou les descriptions.","textAreaCompKeywords":"multiligne, textarea, entrée, texte","passwordCompName":"Mot de passe","passwordCompDesc":"Un champ sécurisé pour la saisie du mot de passe, masquant les caractères pour plus de confidentialité.","passwordCompKeywords":"mot de passe, sécurité, entrée, caché","richTextEditorCompName":"Éditeur de texte enrichi","richTextEditorCompDesc":"Un éditeur de texte avancé prenant en charge des options de formatage riches comme le gras, l'italique et les listes.","richTextEditorCompKeywords":"éditeur, texte, formatage, contenu riche","numberInputCompName":"Numéro Entrée","numberInputCompDesc":"Un champ spécifique pour la saisie numérique, avec des commandes pour incrémenter et décrémenter les valeurs.","numberInputCompKeywords":"nombre, entrée, incrémenter, décrémenter","sliderCompName":"Coulisses","sliderCompDesc":"Un composant graphique à curseur pour sélectionner une valeur ou une plage dans une échelle définie.","sliderCompKeywords":"curseur, plage, entrée, graphique","rangeSliderCompName":"Curseur de gamme","rangeSliderCompDesc":"Un curseur à deux poignées pour sélectionner une plage de valeurs, utile pour filtrer ou fixer des limites.","rangeSliderCompKeywords":"gamme, curseur, double poignée, filtre","ratingCompName":"Evaluation","ratingCompDesc":"Un composant permettant de saisir les évaluations des utilisateurs, affichées sous forme d'étoiles.","ratingCompKeywords":"évaluation, étoiles, retour d'information, commentaires","switchCompName":"Interrupteur","switchCompDesc":"Un interrupteur à bascule pour les décisions de type on/off ou oui/non.","switchCompKeywords":"interrupteur, interrupteur à bascule, on/off, contrôle","selectCompName":"Sélectionne","selectCompDesc":"Un menu déroulant permettant de choisir parmi une liste d'options.","selectCompKeywords":"menu déroulant, sélectionner, options, menu","multiSelectCompName":"Multiselect","multiSelectCompDesc":"Un composant qui permet de sélectionner plusieurs éléments dans une liste déroulante.","multiSelectCompKeywords":"multiselect, multiple, dropdown, choices","cascaderCompName":"Cascadeur","cascaderCompDesc":"Une liste déroulante à plusieurs niveaux pour la sélection de données hiérarchiques, comme la sélection d'un lieu.","cascaderCompKeywords":"cascader, hiérarchique, dropdown, niveaux","checkboxCompName":"Case à cocher","checkboxCompDesc":"Une case à cocher standard pour les options qui peuvent être sélectionnées ou désélectionnées.","checkboxCompKeywords":"case à cocher, options, sélectionner, basculer","radioCompName":"Radio","radioCompDesc":"Boutons radio permettant de sélectionner une option parmi un ensemble, lorsqu'un seul choix est autorisé.","radioCompKeywords":"radio, boutons, sélection, choix unique","segmentedControlCompName":"Contrôle segmenté","segmentedControlCompDesc":"Un contrôle avec des options segmentées pour basculer rapidement entre plusieurs choix.","segmentedControlCompKeywords":"segmenté, contrôle, bascule, options","fileUploadCompName":"Téléchargement de fichiers","fileUploadCompDesc":"Un composant pour le téléchargement de fichiers, avec prise en charge du glisser-déposer et de la sélection de fichiers.","fileUploadCompKeywords":"fichier, télécharger, glisser-déposer, sélectionner","dateCompName":"Date","dateCompDesc":"Un composant de sélection de date pour sélectionner des dates dans une interface de calendrier.","dateCompKeywords":"date, choisir, calendrier, sélectionner","dateRangeCompName":"Plage de dates","dateRangeCompDesc":"Un composant permettant de sélectionner une plage de dates, utile pour les systèmes de réservation ou les filtres.","dateRangeCompKeywords":"daterange, sélectionner, réserver, filtrer","timeCompName":"L'heure","timeCompDesc":"Un composant de sélection de l'heure pour choisir des heures spécifiques de la journée.","timeCompKeywords":"heure, choisir, sélectionner, horloge","timeRangeCompName":"Plage de temps","timeRangeCompDesc":"Un composant permettant de sélectionner une plage de temps, souvent utilisé dans les applications de planification.","timeRangeCompKeywords":"timerange, select, scheduling, duration","buttonCompName":"Bouton de formulaire","buttonCompDesc":"Un composant de bouton polyvalent pour soumettre des formulaires, déclencher des actions ou naviguer.","buttonCompKeywords":"bouton, soumettre, action, naviguer","linkCompName":"Lien","linkCompDesc":"Un composant d'affichage d'hyperliens pour la navigation ou la création de liens vers des ressources externes.","linkCompKeywords":"lien, hyperlien, navigation, externe","scannerCompName":"Scanner","scannerCompDesc":"Un composant pour scanner les codes-barres, les codes QR et d'autres données similaires.","scannerCompKeywords":"scanner, code-barres, code QR, scanner","dropdownCompName":"Liste déroulante","dropdownCompDesc":"Un menu déroulant pour afficher de façon compacte une liste d'options.","dropdownCompKeywords":"menu déroulant, menu, options, sélectionner","toggleButtonCompName":"Bouton à bascule","toggleButtonCompDesc":"Un bouton qui peut basculer entre deux états ou options.","toggleButtonCompKeywords":"bascule, bouton, interrupteur, état","textCompName":"Affichage du texte","textCompDesc":"Un composant simple pour afficher un contenu textuel statique ou dynamique incluant la mise en forme Markdown.","textCompKeywords":"texte, affichage, statique, dynamique","tableCompName":"Tableau","tableCompDesc":"Un composant de tableau riche pour afficher des données dans un format de tableau structuré, avec des options de tri et de filtrage, l'affichage de données en arborescence et des rangées extensibles.","tableCompKeywords":"tableau, données, tri, filtrage","imageCompName":"Image","imageCompDesc":"Un composant pour l'affichage d'images, prenant en charge différents formats basés sur des données URI ou Base64.","imageCompKeywords":"image, affichage, média, Base64","progressCompName":"Progrès","progressCompDesc":"Un indicateur visuel de la progression, généralement utilisé pour montrer l'état d'achèvement d'une tâche.","progressCompKeywords":"progrès, indicateur, statut, tâche","progressCircleCompName":"Cercle de progrès","progressCircleCompDesc":"Un indicateur de progrès circulaire, souvent utilisé pour les états de chargement ou les tâches limitées dans le temps.","progressCircleCompKeywords":"cercle, progrès, indicateur, chargement","fileViewerCompName":"Visionneuse de fichiers","fileViewerCompDesc":"Un composant permettant d'afficher divers types de fichiers, notamment des documents et des images.","fileViewerCompKeywords":"fichier, visionneuse, document, image","dividerCompName":"Diviseur","dividerCompDesc":"Un composant de séparation visuelle, utilisé pour séparer le contenu ou les sections dans une mise en page.","dividerCompKeywords":"diviseur, séparateur, mise en page, conception","qrCodeCompName":"Code QR","qrCodeCompDesc":"Un composant permettant d'afficher des codes QR, utiles pour une numérisation rapide et le transfert d'informations.","qrCodeCompKeywords":"QR code, scanner, code-barres, informations","formCompName":"Formulaire","formCompDesc":"Un composant de conteneur pour construire des formulaires structurés avec différents types d'entrée.","formCompKeywords":"formulaire, entrée, conteneur, structure","jsonSchemaFormCompName":"Formulaire de schéma JSON","jsonSchemaFormCompDesc":"Un composant de formulaire dynamique généré sur la base d'un schéma JSON.","jsonSchemaFormCompKeywords":"JSON, schéma, formulaire, dynamique","containerCompName":"Conteneur","containerCompDesc":"Un conteneur à usage général pour la mise en page et l'organisation des éléments de l'interface utilisateur.","containerCompKeywords":"conteneur, mise en page, organisation, interface utilisateur","collapsibleContainerCompName":"Récipient pliable","collapsibleContainerCompDesc":"Un conteneur qui peut être agrandi ou réduit, idéal pour gérer la visibilité du contenu.","collapsibleContainerCompKeywords":"pliable, conteneur, expansion, effondrement","tabbedContainerCompName":"Conteneur à onglets","tabbedContainerCompDesc":"Un conteneur avec navigation par onglets pour organiser le contenu en panneaux distincts.","tabbedContainerCompKeywords":"onglets, conteneur, navigation, panneaux","modalCompName":"Modal","modalCompDesc":"Un composant modal pop-up pour afficher du contenu, des alertes ou des formulaires en focus.","modalCompKeywords":"modal, popup, alerte, formulaire","listViewCompName":"Vue de la liste","listViewCompDesc":"Un composant pour afficher une liste d'éléments ou de données, dans lequel tu peux placer d'autres composants. Comme un répéteur.","listViewCompKeywords":"liste, vue, affichage, répéteur","gridCompName":"Grille","gridCompDesc":"Un composant de grille flexible pour créer des mises en page structurées avec des lignes et des colonnes en tant qu'extension du composant List View.","gridCompKeywords":"grille, disposition, lignes, colonnes","navigationCompName":"Navigation","navigationCompDesc":"Composant de navigation permettant de créer des menus, des fils d'Ariane ou des onglets pour la navigation sur le site.","navigationCompKeywords":"navigation, menu, miettes de pain, onglets","iframeCompName":"IFrame","iframeCompDesc":"Un composant de cadre en ligne pour intégrer des pages web et des apps externes ou du contenu dans l'application.","iframeCompKeywords":"iframe, embed, page web, contenu","customCompName":"Composant personnalisé","customCompDesc":"Un composant flexible et programmable pour créer des éléments d'interface utilisateur uniques, définis par l'utilisateur et adaptés à tes besoins spécifiques.","customCompKeywords":"personnalisé, défini par l'utilisateur, flexible, programmable","moduleCompName":"Module","moduleCompDesc":"Utilise les modules pour créer des micro-applications conçues pour encapsuler des fonctionnalités ou des caractéristiques spécifiques. Les modules peuvent ensuite être intégrés et réutilisés dans toutes les applications.","moduleCompKeywords":"module, micro-app, fonctionnalité, réutilisable","jsonExplorerCompName":"Explorateur JSON","jsonExplorerCompDesc":"Un composant pour explorer visuellement et interagir avec les structures de données JSON.","jsonExplorerCompKeywords":"JSON, explorateur, données, structure","jsonEditorCompName":"Éditeur JSON","jsonEditorCompDesc":"Un composant éditeur pour créer et modifier des données JSON avec validation et coloration syntaxique.","jsonEditorCompKeywords":"JSON, éditeur, modifier, valider","treeCompName":"Arbre","treeCompDesc":"Composant de structure arborescente permettant d'afficher des données hiérarchiques, telles que des systèmes de fichiers ou des organigrammes.","treeCompKeywords":"arbre, hiérarchique, données, structure","treeSelectCompName":"Sélection de l'arbre","treeSelectCompDesc":"Un composant de sélection qui présente les options sous forme d'arbre hiérarchique, permettant des sélections organisées et imbriquées.","treeSelectCompKeywords":"arbre, sélection, hiérarchique, imbriqué","audioCompName":"Audio","audioCompDesc":"Un composant pour intégrer du contenu audio, avec des commandes pour la lecture et le réglage du volume.","audioCompKeywords":"audio, lecture, son, musique","videoCompName":"Vidéo","videoCompDesc":"Un composant multimédia pour l'intégration et la lecture de contenu vidéo, avec prise en charge de divers formats.","videoCompKeywords":"vidéo, multimédia, lecture, intégration","drawerCompName":"Tiroir","drawerCompDesc":"Un composant de panneau coulissant qui peut être utilisé pour une navigation supplémentaire ou l'affichage de contenu, émergeant généralement du bord de l'écran.","drawerCompKeywords":"tiroir, coulissant, panneau, navigation","chartCompName":"Graphique","chartCompDesc":"Un composant polyvalent pour visualiser les données à l'aide de différents types de tableaux et de graphiques.","chartCompKeywords":"diagramme, graphique, données, visualisation","carouselCompName":"Carrousel d'images","carouselCompDesc":"Un composant de carrousel rotatif pour mettre en valeur des images, des bannières ou des diapositives de contenu.","carouselCompKeywords":"carrousel, images, rotation, vitrine","imageEditorCompName":"Éditeur d'images","imageEditorCompDesc":"Un composant interactif pour l'édition et la manipulation d'images, offrant divers outils et filtres.","imageEditorCompKeywords":"image, éditeur, manipuler, outils","mermaidCompName":"Tableau des sirènes","mermaidCompDesc":"Un composant pour rendre les diagrammes complexes et les organigrammes basés sur la syntaxe Mermaid.","mermaidCompKeywords":"sirène, graphiques, diagrammes, organigrammes","calendarCompName":"Calendrier","calendarCompDesc":"Un composant de calendrier pour afficher les dates et les événements, avec des options d'affichage par mois, par semaine ou par jour.","calendarCompKeywords":"calendrier, dates, événements, planification","signatureCompName":"Signature","signatureCompDesc":"Un composant permettant de capturer des signatures numériques, utile pour les processus d'approbation et de vérification.","signatureCompKeywords":"signature, numérique, approbation, vérification","jsonLottieCompName":"Lottie Animation","jsonLottieCompDesc":"Un composant pour afficher les animations Lottie, fournissant des animations légères et évolutives basées sur des données JSON.","jsonLottieCompKeywords":"lottie, animation, JSON, évolutif","timelineCompName":"Chronologie","timelineCompDesc":"Composant permettant d'afficher des événements ou des actions dans un ordre chronologique, représenté visuellement le long d'une ligne de temps linéaire.","timelineCompKeywords":"chronologie, événements, chronologique, histoire","commentCompName":"Commentaire","commentCompDesc":"Un composant permettant d'ajouter et d'afficher des commentaires d'utilisateurs, prenant en charge les réponses par fil de discussion et l'interaction avec l'utilisateur.","commentCompKeywords":"commentaire, discussion, interaction avec l'utilisateur, retour d'information","mentionCompName":"Mention","mentionCompDesc":"Un composant qui prend en charge la mention d'utilisateurs ou de balises dans un contenu textuel, généralement utilisé dans les médias sociaux ou les plateformes collaboratives.","mentionCompKeywords":"mention, tag, utilisateur, médias sociaux","responsiveLayoutCompName":"Mise en page réactive","responsiveLayoutCompDesc":"Composant de mise en page conçu pour s'adapter et répondre aux différentes tailles d'écran et aux différents appareils, ce qui garantit une expérience utilisateur cohérente.","responsiveLayoutCompKeywords":"responsive, layout, adapter, taille d'écran"},"comp":{"menuViewDocs":"Voir la documentation","menuViewPlayground":"Voir l'aire de jeux interactive","menuUpgradeToLatest":"Mise à jour vers la dernière version","nameNotEmpty":"Ne peut pas être vide","nameRegex":"Doit commencer par une lettre et ne contenir que des lettres, des chiffres et des caractères de soulignement (_).","nameJSKeyword":"Ne peut pas être un mot-clé JavaScript","nameGlobalVariable":"Le nom de la variable ne peut pas être global","nameExists":"Le nom {nom} existe déjà","getLatestVersionMetaError":"Le téléchargement de la dernière version a échoué, essaie plus tard.","needNotUpgrade":"La version actuelle est déjà la plus récente.","compNotFoundInLatestVersion":"Composant actuel introuvable dans la dernière version.","upgradeSuccess":"Mise à jour réussie vers la dernière version.","searchProp":"Recherche"},"jsonSchemaForm":{"retry":"Réessayer","resetAfterSubmit":"Réinitialisation après l'envoi du formulaire","jsonSchema":"Schéma JSON","uiSchema":"Schéma de l'interface utilisateur","schemaTooltip":"Voir","defaultData":"Données de formulaire pré-remplies","dataDesc":"Données du formulaire actuel","required":"Exigée","maximum":"La valeur maximale est {valeur}","minimum":"La valeur minimale est {valeur}","exclusiveMaximum":"Doit être inférieur à {valeur}","exclusiveMinimum":"Doit être supérieur à {valeur}","multipleOf":"Doit être un multiple de {valeur}","minLength":"Au moins {valeur} Caractères","maxLength":"Au plus {valeur} Caractères","pattern":"Doit correspondre au modèle {valeur}","format":"Doit correspondre au format {valeur}"},"select":{"inputValueDesc":"Valeur de recherche d'entrée"},"customComp":{"text":"C'est une bonne journée.","triggerQuery":"Requête de déclenchement","updateData":"Mise à jour des données","updateText":"Je suis également de bonne humeur pour développer maintenant mon propre composant personnalisé avec Lowcoder !","sdkGlobalVarName":"Lowcoder","data":"Données que tu veux transmettre au composant personnalisé","code":"Code de ton composant personnalisé"},"tree":{"selectType":"Sélectionne le type","noSelect":"Pas de sélection","singleSelect":"Sélection unique","multiSelect":"Multi Select","checkbox":"Case à cocher","checkedStrategy":"Stratégie vérifiée","showAll":"Tous les nœuds","showParent":"Seulement les nœuds parents","showChild":"Nœuds de l'enfant unique","autoExpandParent":"Auto Expand Parent","checkStrictly":"Vérifier strictement","checkStrictlyTooltip":"Vérifie le nœud de l'arbre avec précision ; le nœud de l'arbre parent et les nœuds de l'arbre enfant ne sont pas associés.","treeData":"Données sur les arbres","treeDataDesc":"Données actuelles sur les arbres","value":"Valeurs par défaut","valueDesc":"Valeurs actuelles","expanded":"Valeurs élargies","expandedDesc":"Valeurs élargies actuelles","defaultExpandAll":"Par défaut Développer tous les nœuds","showLine":"Ligne de spectacle","showLeafIcon":"Montrer l'icône de la feuille","treeDataAsia":"Asie","treeDataChina":"Chine","treeDataBeijing":"Pékin","treeDataShanghai":"Shanghai","treeDataJapan":"Japon","treeDataEurope":"L'Europe","treeDataEngland":"Angleterre","treeDataFrance":"France","treeDataGermany":"Allemagne","treeDataNorthAmerica":"Amérique du Nord","helpLabel":"Étiquette du nœud","helpValue":"Valeur unique du nœud dans l'arbre","helpChildren":"Nœuds des enfants","helpDisabled":"Désactive le nœud","helpSelectable":"Si le nœud est sélectionnable (Type de sélection simple/multi)","helpCheckable":"Afficher ou non la case à cocher (Type de case à cocher)","helpDisableCheckbox":"Désactive la case à cocher (Type de case à cocher)"},"moduleContainer":{"eventTest":"Test de l'événement","methodTest":"Test de la méthode","inputTest":"Test d'entrée"},"password":{"label":"Mot de passe","visibilityToggle":"Afficher la visibilité Bascule"},"richTextEditor":{"toolbar":"Personnaliser la barre d'outils","toolbarDescription":"Tu peux personnaliser la barre d'outils. Pour plus de détails, consulte le site https://quilljs.com/docs/modules/toolbar/.","placeholder":"Saisis tes données, s'il te plaît...","hideToolbar":"Cacher la barre d'outils","content":"Contenu","title":"Titre","save":"Sauvegarde","link":"Lien : ","edit":"Éditer","remove":"Enlever","defaultValue":"Contenu de base"},"numberInput":{"formatter":"Format","precision":"Précision","allowNull":"Autoriser la valeur nulle","thousandsSeparator":"Afficher le séparateur de milliers","controls":"Afficher les boutons d'incrémentation et de décrémentation","step":"Étape","standard":"Standard","percent":"Pourcentage"},"slider":{"step":"Étape","stepTooltip":"La valeur doit être supérieure à 0 et divisible par (Max-Min)"},"rating":{"max":"Valeur nominale max.","allowHalf":"Accorde la moitié des points d'évaluation"},"optionsControl":{"optionList":"Options","option":"Option","optionI":"Option {i}","viewDocs":"Voir les documents","tip":"Les variables \"item\" et \"i\" représentent la valeur et l'index de chaque élément du tableau de données."},"radio":{"options":"Options","horizontal":"Horizontal","horizontalTooltip":"La mise en page horizontale s'enroule sur elle-même lorsqu'elle manque d'espace","vertical":"Vertical","verticalTooltip":"La disposition verticale sera toujours affichée en une seule colonne","autoColumns":"Colonne auto","autoColumnsTooltip":"La disposition en colonnes automatiques réorganise automatiquement l'ordre des articles en fonction de l'espace disponible et s'affiche sous forme de colonnes multiples."},"cascader":{"options":"Données JSON pour afficher les sélections en cascade"},"selectInput":{"valueDesc":"Valeur actuellement sélectionnée","selectedIndexDesc":"L'index de la valeur actuellement sélectionnée, ou -1 si aucune valeur n'est sélectionnée.","selectedLabelDesc":"L'étiquette de la valeur actuellement sélectionnée"},"file":{"typeErrorMsg":"Doit être un nombre avec une unité de taille de fichier valide, ou un nombre d'octets sans unité.","fileEmptyErrorMsg":"Le téléchargement a échoué. La taille du fichier est vide.","fileSizeExceedErrorMsg":"Le téléchargement a échoué. La taille du fichier dépasse la limite.","minSize":"Taille minimale","minSizeTooltip":"La taille minimale des fichiers téléchargés avec des unités de taille de fichier optionnelles (par exemple, \"5kb\", \"10 MB\"). Si aucune unité n'est fournie, la valeur sera considérée comme un nombre d'octets.","maxSize":"Taille maximale","maxSizeTooltip":"La taille maximale des fichiers téléchargés avec des unités de taille de fichier optionnelles (par exemple, \"5kb\", \"10 MB\"). Si aucune unité n'est fournie, la valeur sera considérée comme un nombre d'octets.","single":"Célibataire","multiple":"Multiple","directory":"Répertoire","upload":"Parcourir","fileType":"Types de fichiers","reference":"Réfère-toi à","fileTypeTooltipUrl":"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers","fileTypeTooltip":"Spécification de type de fichier unique","uploadType":"Type de téléchargement","showUploadList":"Afficher la liste des téléchargements","maxFiles":"Fichiers Max","filesValueDesc":"Le contenu du fichier actuellement téléchargé est codé en Base64","filesDesc":"Liste des fichiers actuellement téléchargés. Pour plus de détails, voir","clearValueDesc":"Effacer tous les fichiers","parseFiles":"Analyse les fichiers","parsedValueTooltip1":"Si parseFiles est vrai, les fichiers téléchargés seront analysés en tant qu'objet, tableau ou chaîne. Les données analysées sont accessibles via le tableau parsedValue.","parsedValueTooltip2":"Prend en charge les fichiers Excel, JSON, CSV et texte. Les autres formats renverront un résultat nul."},"date":{"format":"Format","formatTip":"Support : \\N- 'YYYY-MM-DD HH:mm:ss', \\N- 'YYYY-MM-DD', \\N- 'Timestamp' (horodatage)","reference":"Réfère-toi à","showTime":"L'heure du spectacle","start":"Date de début","end":"Date de fin","year":"Année","quarter":"Trimestre","month":"Mois","week":"Semaine","date":"Date","clearAllDesc":"Effacer tout","resetAllDesc":"Réinitialiser tout","placeholder":"Sélectionne la date","placeholderText":"Placeholder","startDate":"Date de début","endDate":"Date de fin"},"time":{"start":"Heure de début","end":"L'heure de la fin","formatTip":"Support : \\HH:mm:ss, Horodatage","format":"Format","placeholder":"Sélectionne l'heure","placeholderText":"Placeholder","startTime":"Heure de début","endTime":"L'heure de la fin"},"button":{"prefixIcon":"Icône de préfixe","suffixIcon":"Icône de suffixe","icon":"Icône","iconSize":"Taille de l'icône","button":"Bouton de formulaire","formToSubmit":"Formulaire à soumettre","default":"Défaut","submit":"Soumettre","textDesc":"Texte actuellement affiché sur le bouton","loadingDesc":"Le bouton est-il en état de chargement ? Si vrai, le bouton actuel est en cours de chargement","formButtonEvent":"Événement"},"link":{"link":"Lien","textDesc":"Texte actuellement affiché sur le lien","loadingDesc":"Le lien est-il en état de chargement ? Si vrai, le lien actuel est en cours de chargement"},"scanner":{"text":"Clique sur Numériser","camera":"Caméra {index}","changeCamera":"Change de caméra","continuous":"Balayage continu","uniqueData":"Ignorer les données en double","maskClosable":"Clique sur le masque pour le fermer","errTip":"Utilise ce composant sous HTTPS ou Localhost"},"dropdown":{"onlyMenu":"Présentoir avec étiquette seulement","textDesc":"Texte actuellement affiché sur le bouton"},"textShow":{"text":"### 👋 Bonjour, {nom}","valueTooltip":"Markdown prend en charge la plupart des balises et attributs HTML. iframe, Script et d'autres balises sont désactivées pour des raisons de sécurité.","verticalAlignment":"Alignement vertical","horizontalAlignment":"Alignement horizontal","textDesc":"Texte affiché dans la zone de texte actuelle"},"table":{"editable":"Modifiable","columnNum":"Colonnes","viewModeResizable":"Largeur de colonne ajustée par l'utilisateur","viewModeResizableTooltip":"Si les utilisateurs peuvent ajuster la largeur des colonnes.","showFilter":"Bouton Afficher le filtre","showRefresh":"Afficher le bouton de rafraîchissement","showDownload":"Afficher le bouton de téléchargement","columnSetting":"Bouton de réglage des colonnes","searchText":"Texte de recherche","searchTextTooltip":"Recherche et filtre les données présentées dans le tableau","showQuickJumper":"Show Quick Jumper","hideOnSinglePage":"Cacher sur une seule page","showSizeChanger":"Bouton de changement de taille","pageSizeOptions":"Options de taille de page","pageSize":"Taille de la page","total":"Nombre total de lignes","totalTooltip":"La valeur par défaut est le nombre d'éléments de données actuels, qui peuvent être obtenus à partir de la requête, par exemple : \\'{{query1.data[0].count}}\\'","filter":"Filtre","filterRule":"Règle de filtrage","chooseColumnName":"Choisis une colonne","chooseCondition":"Choisis une condition","clear":"Clair","columnShows":"Spectacles en colonne","selectAll":"Sélectionner tout","and":"Et","or":"Ou","contains":"Contient","notContain":"Ne contient pas","equals":"Égales","isNotEqual":"N'est pas égal","isEmpty":"Est vide","isNotEmpty":"N'est pas vide","greater":"Plus grand que","greaterThanOrEquals":"Plus grand que ou égal","lessThan":"Moins de","lessThanOrEquals":"Inférieur ou égal","action":"Action","columnValue":"Valeur de la colonne","columnValueTooltip":"\\'{{currentCell}}\\': Données cellulaires actuelles{{currentRow}}\\' : Données de la ligne actuelle{{currentIndex}}\\': Index des données actuelles (à partir de 0)\\NExemple : \\'{{currentCell * 5}}' Afficher 5 fois la valeur d'origine Données.","imageSrc":"Source de l'image","imageSize":"Taille de l'image","columnTitle":"Titre","sortable":"Triable","align":"Alignement","fixedColumn":"Colonne fixe","autoWidth":"Largeur de l'auto","customColumn":"Colonne personnalisée","auto":"Auto","fixed":"Fixe","columnType":"Type de colonne","float":"Flotteur","prefix":"Préfixe","suffix":"Suffixe","text":"Texte","number":"Nombre","link":"Lien","links":"Liens","tag":"Étiquette","date":"Date","dateTime":"Date Heure","badgeStatus":"Statut","button":"Bouton","image":"Image","boolean":"Booléen","rating":"Evaluation","progress":"Progrès","option":"Fonctionnement","optionList":"Liste des opérations","option1":"Opération 1","status":"Statut","statusTooltip":"Valeurs optionnelles : Succès, Erreur, Défaut, Avertissement, Traitement","primaryButton":"Primaire","defaultButton":"Défaut","type":"Type","tableSize":"Taille de la table","hideHeader":"Masquer l'en-tête du tableau","fixedHeader":"En-tête de tableau fixe","fixedHeaderTooltip":"L'en-tête sera fixe pour le tableau à défilement vertical","fixedToolbar":"Barre d'outils fixe","fixedToolbarTooltip":"La barre d'outils sera fixe pour le tableau à défilement vertical en fonction de la position","hideBordered":"Masquer la bordure de la colonne","deleteColumn":"Supprimer une colonne","confirmDeleteColumn":"Confirme la suppression de la colonne : ","small":"S","middle":"M","large":"L","refreshButtonTooltip":"Les données actuelles changent, clique pour régénérer la colonne.","changeSetDesc":"Un objet représentant les modifications apportées à un tableau modifiable ne contient que la cellule modifiée. Les lignes passent en premier et les colonnes en second.","selectedRowDesc":"Fournit des données sur la ligne actuellement sélectionnée, indiquant la ligne qui déclenche un événement de clic si l'utilisateur clique sur un bouton/lien de la ligne.","selectedRowsDesc":"Utile en mode de sélection multiple, comme SelectedRow","pageNoDesc":"Page d'affichage actuelle, à partir de 1","pageSizeDesc":"Combien de lignes par page ?","sortColumnDesc":"Le nom de la colonne triée actuellement sélectionnée","sortDesc":"Si la ligne actuelle est en ordre décroissant","pageOffsetDesc":"Le début actuel de la pagination, utilisé pour la pagination afin d'obtenir des données. Exemple : Select * from Users Limit \\'{{table1.pageSize}}\\N- Décalage \\N- Décalage \\N- Décalage \\N- Décalage{{table1.pageOffset}}\\'","displayDataDesc":"Données affichées dans le tableau actuel","selectedIndexDesc":"Index sélectionné dans les données d'affichage","filterDesc":"Paramètres de filtrage des tables","dataDesc":"Les données JSON du tableau","saveChanges":"Sauvegarder les changements","cancelChanges":"Annuler les changements","rowSelectChange":"Changement de sélection de ligne","rowClick":"Cliquez sur la rangée","rowExpand":"Extension de la rangée","filterChange":"Changement de filtre","sortChange":"Changement de tri","pageChange":"Changement de page","refresh":"Rafraîchir","rowColor":"Couleur de ligne conditionnelle","rowColorDesc":"Définit conditionnellement la couleur de la ligne en fonction des variables facultatives : CurrentRow, CurrentOriginalIndex, CurrentIndex, ColumnTitle. Par exemple : \\'{{ currentRow.id > 3 ? %r@\\\"green%r@\\\" : %r@\\\"red%r@\\\" }}\\'","cellColor":"Couleur conditionnelle des cellules","cellColorDesc":"Définir conditionnellement la couleur de la cellule en fonction de la valeur de la cellule à l'aide de CurrentCell. Par exemple : \\N{ currentCell == 3 ? %r@\\\"green%r@\\\" : %r@\\\"red%r@\\\" }}\\'","saveChangesNotBind":"Aucun gestionnaire d'événements n'est configuré pour enregistrer les modifications. Lier au moins un gestionnaire d'événements avant de cliquer.","dynamicColumn":"Utiliser le réglage dynamique des colonnes","dynamicColumnConfig":"Réglage de la colonne","dynamicColumnConfigDesc":"Paramètres dynamiques des colonnes. Accepte un tableau de noms de colonnes. Toutes les colonnes sont visibles par défaut. Exemple : [%r@\\\"id%r@\\\", %r@\\\"name%r@\\\"]","position":"Position","showDataLoadSpinner":"Montrer le rouleau pendant le chargement des données","showValue":"Montrer la valeur","expandable":"Extensible","configExpandedView":"Configurer la vue étendue","toUpdateRowsDesc":"Un tableau d'objets pour les lignes à mettre à jour dans les tableaux modifiables.","empty":"Vide","falseValues":"Texte si faux","allColumn":"Tous","visibleColumn":"Visible","emptyColumns":"Aucune colonne n'est actuellement visible"},"image":{"src":"Source de l'image","srcDesc":"La source de l'image. Il peut s'agir d'une URL, d'un chemin ou d'une chaîne Base64. par exemple : data:image/png;base64, AAA... CCC","supportPreview":"Support Cliquez sur l'aperçu (zoom)","supportPreviewTip":"Efficace lorsque la source de l'image est valide"},"progress":{"value":"Valeur","valueTooltip":"Le pourcentage d'achèvement est une valeur comprise entre 0 et 100.","showInfo":"Montrer la valeur","valueDesc":"Valeur de la progression actuelle, comprise entre 0 et 100","showInfoDesc":"Afficher ou non la valeur actuelle de la progression"},"fileViewer":{"invalidURL":"Saisis une URL valide ou une chaîne de caractères Base64","src":"URI de fichier","srcTooltip":"Prévisualise le contenu des liens fournis en y intégrant du HTML, les données encodées en Base64 peuvent également être prises en charge, par exemple : data:application/pdf ; base64,AAA... CCC","srcDesc":"L'URI du fichier"},"divider":{"title":"Titre","align":"Alignement","dashed":"En pointillé","dashedDesc":"Utiliser ou non la ligne pointillée","titleDesc":"Titre du diviseur","alignDesc":"Alignement du titre de l'intercalaire"},"QRCode":{"value":"Valeur du contenu du code QR","valueTooltip":"La valeur contient un maximum de 2953 caractères. La Valeur du code QR peut encoder différents types de données, notamment des messages texte, des URL, des coordonnées (VCard/meCard), des identifiants de connexion Wi-Fi, des adresses e-mail, des numéros de téléphone, des SMS, des coordonnées de géolocalisation, des détails d'événements du calendrier, des informations de paiement, des adresses de crypto-monnaies et des liens de téléchargement d'applis","valueDesc":"La valeur du contenu du code QR","level":"Niveau de tolérance aux fautes","levelTooltip":"Se réfère à la capacité du code QR à être scanné même si une partie est bloquée. Plus le niveau est élevé, plus le code est complexe.","includeMargin":"Afficher la marge","image":"Affiche l'image au centre","L":"L (faible)","M":"M (Moyen)","Q":"Q (Quartile)","H":"H (Haut)","maxLength":"Le contenu est trop long. Règle la longueur à moins de 2953 caractères."},"jsonExplorer":{"indent":"Indentation de chaque niveau","expandToggle":"Développer l'arbre JSON","theme":"Thème de couleur","valueDesc":"Données JSON actuelles","default":"Défaut","defaultDark":"Foncé par défaut","neutralLight":"Lumière neutre","neutralDark":"Neutre foncé","azure":"L'azur","darkBlue":"Bleu foncé"},"audio":{"src":"Source audio URI ou chaîne Base64","defaultSrcUrl":"https://cdn.pixabay.com/audio/2023/07/06/audio_e12e5bea9d.mp3","autoPlay":"Jeu automatique","loop":"Boucle","srcDesc":"URI audio actuel ou chaîne Base64 comme data:audio/mpeg;base64,AAA... CCC","play":"Jouer","playDesc":"Déclenché lors de la lecture d'un fichier audio","pause":"Pause","pauseDesc":"Déclenché lorsque l'audio est en pause","ended":"Terminé","endedDesc":"Déclenché à la fin de la lecture de l'audio"},"video":{"src":"URI de la source vidéo ou chaîne Base64","defaultSrcUrl":"https://www.youtube.com/watch?v=pRpeEdMmmQ0","poster":"URL de l'affiche","defaultPosterUrl":"","autoPlay":"Jeu automatique","loop":"Boucle","controls":"Cacher les contrôles","volume":"Volume","playbackRate":"Taux de lecture","posterTooltip":"La valeur par défaut est la première image de la vidéo.","autoPlayTooltip":"Une fois que la vidéo est chargée, elle est lue automatiquement. Si tu changes cette valeur de True à False, la vidéo sera mise en pause. (Si un poster est défini, il sera lu par le bouton Poster)","controlsTooltip":"Cache les contrôles de lecture vidéo. Peut ne pas être entièrement pris en charge par toutes les sources vidéo.","volumeTooltip":"Règle le volume du lecteur, entre 0 et 1","playbackRateTooltip":"Règle le taux du joueur, entre 1 et 2","srcDesc":"URI audio actuel ou chaîne Base64 comme data:video/mp4;base64, AAA... CCC","play":"Jouer","playDesc":"Déclenché lors de la lecture de la vidéo","pause":"Pause","pauseDesc":"Déclenché lorsque la vidéo est mise en pause","load":"Charge","loadDesc":"Déclenché lorsque le chargement de la ressource vidéo est terminé","ended":"Terminé","endedDesc":"Déclenché à la fin de la lecture de la vidéo","currentTimeStamp":"La position de lecture actuelle de la vidéo en secondes","duration":"Durée totale de la vidéo en secondes"},"media":{"playDesc":"Commence la lecture du média.","pauseDesc":"Met en pause la lecture du média.","loadDesc":"Réinitialise le média au début et redémarre Sélectionne la ressource média.","seekTo":"Cherche jusqu'au nombre de secondes donné, ou une fraction si la quantité est comprise entre 0 et 1","seekToAmount":"Nombre de secondes, ou fraction s'il est compris entre 0 et 1","showPreview":"Avant-première du spectacle"},"rangeSlider":{"start":"Valeur de départ","end":"Valeur finale","step":"Taille de l'étape","stepTooltip":"Granularité du curseur, la valeur doit être supérieure à 0 et divisible par (Max-Min)."},"iconControl":{"selectIcon":"Sélectionne une icône","insertIcon":"Insérer une icône","insertImage":"Insérer une image ou "},"millisecondsControl":{"timeoutTypeError":"Saisis la période de temporisation correcte en ms, l'entrée actuelle est : {valeur}","timeoutLessThanMinError":"L'entrée doit être supérieure à {left}, l'entrée actuelle est : {valeur}"},"selectionControl":{"single":"Célibataire","multiple":"Multiple","close":"Fermer","mode":"Sélectionne le mode"},"container":{"title":"Titre du conteneur affiché"},"drawer":{"placement":"Placement des tiroirs","size":"Taille","top":"Haut","right":"Droit","bottom":"Le fond","left":"Gauche","widthTooltip":"Pixel ou pourcentage, par exemple 520, 60%","heightTooltip":"Pixel, par exemple 378","openDrawerDesc":"Tiroir ouvert","closeDrawerDesc":"Fermer le tiroir","width":"Largeur du tiroir","height":"Hauteur du tiroir"},"meeting":{"logLevel":"Niveau du journal du SDK Agora","placement":"Placement des tiroirs de réunion","meeting":"Paramètres de la réunion","cameraView":"Vue de la caméra","cameraViewDesc":"Vue de la caméra de l'utilisateur local (hôte)","screenShared":"Écran partagé","screenSharedDesc":"Écran partagé par l'utilisateur local (hôte)","audioUnmuted":"Audio Unmuted","audioMuted":"Audio Muted","videoClicked":"Vidéo cliquée","videoOff":"Video Off","videoOn":"Vidéo sur","size":"Taille","top":"Haut","host":"Hôte de la salle de réunion. Tu dois gérer l'hôte comme une application logique propre.","participants":"Participants de la salle de réunion","shareScreen":"Écran d'affichage partagé par l'utilisateur local","appid":"ID de l'application Agora","meetingName":"Nom de la réunion","localUserID":"ID de l'utilisateur de l'hôte","userName":"Nom d'utilisateur de l'hôte","rtmToken":"Token RTM Agora","rtcToken":"Jeton RTC Agora","noVideo":"Pas de vidéo","profileImageUrl":"URL de l'image du profil","right":"Droit","bottom":"Le fond","videoId":"ID du flux vidéo","audioStatus":"État de l'audio","left":"Gauche","widthTooltip":"Pixel ou pourcentage, par exemple 520, 60%","heightTooltip":"Pixel, par exemple 378","openDrawerDesc":"Tiroir ouvert","closeDrawerDesc":"Fermer le tiroir","width":"Largeur du tiroir","height":"Hauteur du tiroir","actionBtnDesc":"Bouton d'action","broadCast":"Messages diffusés","title":"Titre de la réunion","meetingCompName":"Agora Meeting Controller","sharingCompName":"Partage d'écran Flux","videoCompName":"Flux de caméra","videoSharingCompName":"Partage d'écran Flux","meetingControlCompName":"Bouton de commande","meetingCompDesc":"Composante de la réunion","meetingCompControls":"Contrôle des réunions","meetingCompKeywords":"Agora Meeting, Web Meeting, Collaboration","iconSize":"Taille de l'icône","userId":"ID de l'utilisateur de l'hôte","roomId":"ID de la pièce","meetingActive":"Réunion en cours","messages":"Messages diffusés"},"settings":{"title":"Réglages","userGroups":"Groupes d'utilisateurs","organization":"Espaces de travail","audit":"Journaux d'audit","theme":"Thèmes","plugin":"Plugins","advanced":"Avancé","lab":"Laboratoire","branding":"L'image de marque","oauthProviders":"Fournisseurs OAuth","appUsage":"Journal d'utilisation de l'application","environments":"Environnements","premium":"Premium"},"memberSettings":{"admin":"Admin","adminGroupRoleInfo":"L'administrateur peut gérer les membres et les ressources du groupe","adminOrgRoleInfo":"Les administrateurs possèdent toutes les ressources et peuvent gérer les groupes.","member":"Membre","memberGroupRoleInfo":"Le membre peut voir les membres du groupe","memberOrgRoleInfo":"Les membres ne peuvent utiliser ou visiter que les ressources auxquelles ils ont accès.","title":"Les membres","createGroup":"Créer un groupe","newGroupPrefix":"Nouveau groupe ","allMembers":"Tous les membres","deleteModalTitle":"Supprimer ce groupe","deleteModalContent":"Le groupe supprimé ne peut pas être restauré. Es-tu sûr de vouloir supprimer le groupe ?","addMember":"Ajouter des membres","nameColumn":"Nom de l'utilisateur","joinTimeColumn":"Temps d'adhésion","actionColumn":"Fonctionnement","roleColumn":"Rôle","exitGroup":"Groupe de sortie","moveOutGroup":"Retirer du groupe","inviteUser":"Invite les membres","exitOrg":"Pars","exitOrgDesc":"Es-tu sûr de vouloir quitter cet espace de travail.","moveOutOrg":"Enlever","moveOutOrgDescSaasMode":"Es-tu sûr de vouloir supprimer l'utilisateur {nom} de cet espace de travail ?","moveOutOrgDesc":"Es-tu sûr de vouloir supprimer l'utilisateur {nom} ? Cette action ne peut pas être récupérée.","devGroupTip":"Les membres du groupe de développeurs ont des privilèges pour créer des applications et des sources de données.","lastAdminQuit":"Le dernier administrateur ne peut pas quitter.","organizationNotExist":"L'espace de travail actuel n'existe pas","inviteUserHelp":"Tu peux copier le lien d'invitation pour l'envoyer à l'utilisateur","inviteUserLabel":"Lien d'invitation :","inviteCopyLink":"Copier le lien","inviteText":"{nom d'utilisateur} t'invite à rejoindre l'espace de travail %r@\\\"{organisation}%r@\\\", clique sur le lien pour le rejoindre : {inviteLink}","groupName":"Nom du groupe","createTime":"Créer du temps","manageBtn":"Gérer","userDetail":"Détail","syncDeleteTip":"Ce groupe a été supprimé du carnet d'adresses Source","syncGroupTip":"Ce groupe est un groupe de synchronisation du carnet d'adresses et ne peut pas être modifié."},"orgSettings":{"newOrg":"Nouvel espace de travail (Organisation)","title":"Espace de travail","createOrg":"Créer un espace de travail (organisation)","deleteModalTitle":"Es-tu sûr de vouloir supprimer cet espace de travail ?","deleteModalContent":"Tu es sur le point de supprimer cet espace de travail {permanentlyDelete}. Une fois supprimé, l'espace de travail {notRestored}.","permanentlyDelete":"De façon permanente","notRestored":"Ne peut pas être restauré","deleteModalLabel":"Saisis le nom de l'espace de travail {nom} pour confirmer l'opération :","deleteModalTip":"Saisis le nom de l'espace de travail","deleteModalErr":"Le nom de l'espace de travail est incorrect","deleteModalBtn":"Supprimer","editOrgTitle":"Modifier les informations sur l'espace de travail","orgNameLabel":"Nom de l'espace de travail :","orgNameCheckMsg":"Le nom de l'espace de travail ne peut pas être vide","orgLogo":"Logo de l'espace de travail :","logoModify":"Modifier l'image","inviteSuccessMessage":"Réussir à rejoindre l'espace de travail","inviteFailMessage":"Échec de la jonction avec l'espace de travail","uploadErrorMessage":"Erreur de téléchargement","orgName":"Nom de l'espace de travail"},"freeLimit":"Essai gratuit","tabbedContainer":{"switchTab":"Onglet \"Switch\" (interrupteur)","switchTabDesc":"Déclenché lors du passage d'un onglet à l'autre","tab":"Onglets","atLeastOneTabError":"Le conteneur d'onglets conserve au moins un onglet.","selectedTabKeyDesc":"Onglet actuellement sélectionné","iconPosition":"Position de l'icône"},"formComp":{"containerPlaceholder":"Fais glisser les composants depuis le panneau de droite ou","openDialogButton":"Génère un formulaire à partir d'une de tes sources de données","resetAfterSubmit":"Réinitialisation après une soumission réussie","initialData":"Données initiales","disableSubmit":"Désactiver la soumission","success":"Formulaire généré avec succès","selectCompType":"Sélectionne le type de composant","dataSource":"Source des données : ","selectSource":"Sélectionne la source","table":"Tableau : ","selectTable":"Sélectionne une table","columnName":"Nom de la colonne","dataType":"Type de données","compType":"Type de composant","required":"Exigée","generateForm":"Générer un formulaire","compSelectionError":"Type de colonne non configuré","compTypeNameError":"Impossible d'obtenir le nom du type de composant","noDataSourceSelected":"Aucune source de données sélectionnée","noTableSelected":"Aucune table sélectionnée","noColumn":"Pas de colonne","noColumnSelected":"Aucune colonne sélectionnée","noDataSourceFound":"Aucune source de données prise en charge n'a été trouvée. Créer une nouvelle source de données","noTableFound":"Aucun tableau n'a été trouvé dans cette source de données, choisis une autre source de données.","noColumnFound":"Aucune colonne prise en charge n'a été trouvée dans ce tableau. Choisis un autre tableau","formTitle":"Titre du formulaire","name":"Nom","nameTooltip":"Le nom de l'attribut dans les données du formulaire, lorsqu'il est laissé en blanc, prend par défaut le nom du composant.","notSupportMethod":"Non pris en charge Méthodes : ","notValidForm":"Le formulaire n'est pas valide","resetDesc":"Réinitialiser les données du formulaire à la valeur par défaut","clearDesc":"Effacer les données du formulaire","setDataDesc":"Définir les données du formulaire","valuesLengthError":"Paramètre Numéro Erreur","valueTypeError":"Type de paramètre Erreur","dataDesc":"Données du formulaire actuel","loadingDesc":"Le formulaire est-il en train de se charger ?"},"modalComp":{"close":"Fermer","closeDesc":"Déclenché lorsque la boîte de dialogue modale est fermée","openModalDesc":"Ouvre la boîte de dialogue","closeModalDesc":"Ferme la boîte de dialogue","visibleDesc":"Est-il visible ? Si c'est le cas, la boîte de dialogue actuelle s'affichera.","modalHeight":"Hauteur modale","modalHeightTooltip":"Pixel, Exemple : 222","modalWidth":"Largeur modale","modalWidthTooltip":"Nombre ou pourcentage, exemple : 520, 60%"},"listView":{"noOfRows":"Nombre de rangs","noOfRowsTooltip":"Nombre de lignes dans la liste - Généralement défini par une variable (par exemple, \"\\\"){{query1.data.length}}\\') pour présenter les résultats de la requête","noOfColumns":"Nombre de colonnes","itemIndexName":"Nom de l'index de l'élément de données","itemIndexNameDesc":"Nom de la variable se référant à l'index de l'article, par défaut {default}","itemDataName":"Nom de l'objet de l'élément de données","itemDataNameDesc":"Nom de la variable faisant référence à l'objet de données de l'élément, par défaut {default}","itemsDesc":"Exposer les données des composants dans une liste","dataDesc":"Les données JSON utilisées dans la liste actuelle","dataTooltip":"Si tu ne définis qu'un nombre, ce champ sera considéré comme le nombre de lignes et les données seront considérées comme vides."},"navigation":{"addText":"Ajouter un élément de sous-menu","logoURL":"Navigation Logo URL","horizontalAlignment":"Alignement horizontal","logoURLDesc":"Tu peux afficher un logo sur le côté gauche en entrant une valeur URI ou une chaîne Base64 comme data:image/png;base64,AAA... CCC","itemsDesc":"Éléments du menu de navigation hiérarchique"},"droppadbleMenuItem":{"subMenu":"Sous-menu {numéro}"},"navItemComp":{"active":"Actif"},"iframe":{"URLDesc":"L'URL source du contenu de l'IFrame. Assure-toi que l'URL est HTTPS ou localhost. Assure-toi également que l'URL n'est pas bloquée par la politique de sécurité du contenu (CSP) du navigateur. L'en-tête \"X-Frame-Options\" ne doit pas avoir pour valeur \"DENY\" ou \"SAMEORIGIN\".","allowDownload":"Autoriser les téléchargements","allowSubmitForm":"Autoriser le formulaire de soumission","allowMicrophone":"Autoriser le microphone","allowCamera":"Autoriser l'appareil photo","allowPopup":"Autoriser les fenêtres contextuelles"},"switchComp":{"defaultValue":"Valeur booléenne par défaut","open":"Sur","close":"Off","openDesc":"Déclenché lorsque l'interrupteur est mis en marche","closeDesc":"Déclenché lorsque l'interrupteur est éteint","valueDesc":"État actuel du commutateur"},"signature":{"tips":"Texte de l'indice","signHere":"Signe ici","showUndo":"Afficher l'annulation","showClear":"Afficher l'effacement"},"localStorageComp":{"valueDesc":"Tous les éléments de données actuellement stockés","setItemDesc":"Ajouter un article","removeItemDesc":"Retirer un article","clearItemDesc":"Effacer tous les articles"},"utilsComp":{"openUrl":"Ouvrir l'URL","openApp":"Ouvrir l'application","copyToClipboard":"Copier dans le presse-papiers","downloadFile":"Télécharger le fichier"},"messageComp":{"info":"Envoyer une notification","success":"Envoyer une notification de réussite","warn":"Envoyer une notification d'avertissement","error":"Envoyer une notification d'erreur"},"themeComp":{"switchTo":"Thème de l'interrupteur"},"transformer":{"preview":"Aperçu","docLink":"En savoir plus sur Transformers...","previewSuccess":"Aperçu du succès","previewFail":"Échec de la prévisualisation","deleteMessage":"Effacer le succès du transformateur. Tu peux utiliser {undoKey} pour annuler.","documentationText":"Les transformateurs sont conçus pour la transformation des données et la réutilisation de ton code JavaScript à plusieurs lignes. Utilise les transformateurs pour adapter les données des requêtes ou des composants aux besoins de ton application locale. Contrairement aux requêtes JavaScript, les transformateurs sont conçus pour effectuer des opérations en lecture seule, ce qui signifie que tu ne peux pas déclencher une requête ou mettre à jour un état temporaire à l'intérieur d'un transformateur."},"temporaryState":{"value":"Valeur d'initialisation","valueTooltip":"La valeur initiale stockée dans l'état temporaire peut être n'importe quelle valeur JSON valide.","docLink":"En savoir plus sur les États temporaires...","pathTypeError":"Le chemin doit être soit une chaîne, soit un tableau de valeurs","unStructuredError":"Les données non structurées {prev} ne peuvent pas être mises à jour par {chemin}","valueDesc":"Valeur de l'état temporaire","deleteMessage":"L'état temporaire est supprimé avec succès. Tu peux utiliser {undoKey} pour annuler.","documentationText":"Les états temporaires dans Lowcoder sont une fonctionnalité puissante utilisée pour gérer des variables complexes qui mettent à jour dynamiquement l'état des composants de ton application. Ces états servent de stockage intermédiaire ou transitoire pour les données qui peuvent changer au fil du temps en raison des interactions de l'utilisateur ou d'autres processus."},"dataResponder":{"data":"Données","dataDesc":"Données du répondant actuel","dataTooltip":"Lorsque ces données sont modifiées, elles déclenchent des actions ultérieures.","docLink":"En savoir plus sur les Data Responders...","deleteMessage":"Le répondeur de données est supprimé avec succès. Tu peux utiliser {undoKey} pour annuler.","documentationText":"Lorsque tu développes une application, tu peux assigner des événements aux composants pour surveiller les modifications apportées à des données spécifiques. Par exemple, un composant Table peut avoir des événements tels que %r@\\\"Row select change%r@\\\", %r@\\\"Filter change%r@\\\", %r@\\\"Sort change%r@\\\", et %r@\\\"Page change%r@\\\" pour suivre les modifications de la propriété selectedRow. Cependant, pour les changements dans les états temporaires, les transformateurs ou les résultats des requêtes, lorsque les événements standard ne sont pas disponibles, les répondeurs de données sont utilisés. Ils te permettent de détecter et de réagir à toute modification des données."},"theme":{"title":"Thèmes","createTheme":"Créer un thème","themeName":"Nom du thème :","themeNamePlaceholder":"Saisis un nom de thème","defaultThemeTip":"Thème par défaut :","createdThemeTip":"Le thème que tu as créé :","option":"Option{index}","input":"Entrée","confirm":"Ok","emptyTheme":"Aucun thème disponible","click":"","toCreate":"","nameColumn":"Nom","defaultTip":"Défaut","updateTimeColumn":"Heure de mise à jour","edit":"Éditer","cancelDefaultTheme":"Thème par défaut non défini","setDefaultTheme":"Définir comme thème par défaut","copyTheme":"Thème dupliqué","setSuccessMsg":"Réglage réussi","cancelSuccessMsg":"Unsetting Succeeded","deleteSuccessMsg":"Suppression réussie","checkDuplicateNames":"Le nom du thème existe déjà, saisis-le à nouveau.","copySuffix":" Copie","saveSuccessMsg":"Sauvegardé avec succès","leaveTipTitle":"Conseils","leaveTipContent":"Tu n'es pas encore sauvée, confirme ton départ ?","leaveTipOkText":"Pars","goList":"Retour à la liste","saveBtn":"Sauvegarde","mainColor":"Couleurs principales","text":"Couleurs du texte","defaultTheme":"Défaut","yellow":"Jaune","green":"Vert","previewTitle":"Aperçu du thème Exemple de composants qui utilisent les couleurs de ton thème","dateColumn":"Date","emailColumn":"Courriel","phoneColumn":"Téléphone","subTitle":"Titre","linkLabel":"Lien","linkUrl":"app.lowcoder.cloud","progressLabel":"Progrès","sliderLabel":"Coulisses","radioLabel":"Radio","checkboxLabel":"Case à cocher","buttonLabel":"Bouton de formulaire","switch":"Interrupteur","previewDate":"16/10/2022","previewEmail1":"ted.com","previewEmail2":"skype.com","previewEmail3":"imgur.com","previewEmail4":"globo.com","previewPhone1":"+63-317-333-0093","previewPhone2":"+30-668-580-6521","previewPhone3":"+86-369-925-2071","previewPhone4":"+7-883-227-8093","chartPreviewTitle":"Aperçu du style de graphique","chartSpending":"Dépenses","chartBudget":"Budget","chartAdmin":"Administration","chartFinance":"Finances","chartSales":"Vente","chartFunnel":"Diagramme en entonnoir","chartShow":"Montrer","chartClick":"Clique sur","chartVisit":"Visiter","chartQuery":"Demande","chartBuy":"Acheter"},"pluginSetting":{"title":"Plugins","npmPluginTitle":"npm Plugins","npmPluginDesc":"Configure les plugins npm pour toutes les applications de l'espace de travail actuel.","npmPluginEmpty":"Aucun plugin npm n'a été ajouté.","npmPluginAddButton":"Ajouter un plugin npm","saveSuccess":"Sauvegardé avec succès"},"advanced":{"title":"Avancé","defaultHomeTitle":"Page d'accueil par défaut","defaultHomeHelp":"La page d'accueil est l'application que tous les non-développeurs verront par défaut lorsqu'ils se connecteront. Note : Assure-toi que l'application sélectionnée est accessible aux non-développeurs.","defaultHomePlaceholder":"Sélectionne la page d'accueil par défaut","saveBtn":"Sauvegarde","preloadJSTitle":"Précharger JavaScript","preloadJSHelp":"Configure le code JavaScript préchargé pour toutes les applications de l'espace de travail actuel.","preloadCSSTitle":"Précharger le CSS","preloadCSSHelp":"Configure le code CSS préchargé pour toutes les applications de l'espace de travail actuel.","preloadCSSApply":"Appliquer à la page d'accueil de l'espace de travail","preloadLibsTitle":"Bibliothèque JavaScript","preloadLibsHelp":"Les bibliothèques JavaScript sont préchargées pour toutes les applications de l'espace de travail actuel, et le système intègre lodash, day.js, uuid, numbro pour une utilisation directe. Les bibliothèques JavaScript sont chargées avant l'initialisation de l'application, ce qui a un certain impact sur les performances de l'application.","preloadLibsEmpty":"Aucune bibliothèque JavaScript n'a été ajoutée","preloadLibsAddBtn":"Ajouter une bibliothèque","saveSuccess":"Sauvegardé avec succès","AuthOrgTitle":"Écran de bienvenue de l'espace de travail","AuthOrgDescrition":"L'URL permettant à tes utilisateurs de se connecter à l'espace de travail actuel."},"branding":{"title":"L'image de marque","logoTitle":"Logo","logoHelp":".JPG, .SVG ou .PNG uniquement","faviconTitle":"Favicon","faviconHelp":".JPG, .SVG ou .PNG uniquement","brandNameTitle":"Nom de la marque","headColorTitle":"Couleur de la tête","save":"Sauvegarde","saveSuccessMsg":"Sauvegardé avec succès","upload":"Cliquer pour télécharger"},"networkMessage":{"0":"Échec de la connexion au serveur, vérifie ton réseau","401":"Échec de l'authentification, reconnecte-toi","403":"Pas de permission, contacte l'administrateur pour obtenir une autorisation.","500":"Service occupé, merci de réessayer plus tard","timeout":"Délai de requête"},"share":{"title":"Partager","viewer":"Visionneuse","editor":"Éditeur","owner":"Propriétaire","datasourceViewer":"Peut utiliser","datasourceOwner":"Peut gérer"},"debug":{"title":"Titre","switch":"Composant du commutateur : "},"module":{"emptyText":"Pas de données","circularReference":"Référence circulaire, le module/l'application en cours ne peut pas être utilisé(e) !","emptyTestInput":"Le module actuel n'a pas d'entrée à tester","emptyTestMethod":"Le module actuel n'a pas de méthode pour tester","name":"Nom","input":"Entrée","params":"Params","emptyParams":"Aucun paramètre n'a été ajouté","emptyInput":"Aucune entrée n'a été ajoutée","emptyMethod":"Aucune méthode n'a été ajoutée","emptyOutput":"Aucune sortie n'a été ajoutée","data":"Données","string":"Chaîne","number":"Nombre","array":"Array","boolean":"Booléen","query":"Demande","autoScaleCompHeight":"Balances à hauteur de composant avec conteneur","excuteMethod":"Exécuter la méthode {nom}","method":"Méthode","action":"Action","output":"Sortie","nameExists":"Nom {nom} existe déjà","eventTriggered":"L'événement {nom} est déclenché","globalPromptWhenEventTriggered":"Affiche une invite globale lorsqu'un événement est déclenché","emptyEventTest":"Le module actuel n'a aucun événement à tester","emptyEvent":"Aucun événement n'a été ajouté","event":"Événement"},"resultPanel":{"returnFunction":"La valeur de retour est une fonction.","consume":"{heure}","JSON":"Montrer JSON"},"createAppButton":{"creating":"Créer...","created":"Créer {nom}"},"apiMessage":{"authenticationFail":"L'authentification de l'utilisateur a échoué, tu dois te reconnecter.","verifyAccount":"Besoin de vérifier le compte","functionNotSupported":"La version actuelle ne prend pas en charge cette fonction. Contacte l'équipe commerciale de Lowcoder pour mettre à jour ton compte."},"globalErrorMessage":{"createCompFail":"Créer le composant {comp} Échec","notHandledError":"{méthode} Méthode non exécutée"},"aggregation":{"navLayout":"Barre de navigation","chooseApp":"Choisis l'application","iconTooltip":"Prend en charge le lien src de l'image ou la chaîne Base64 comme data:image/png;base64,AAA... CCC","hideWhenNoPermission":"Caché pour les utilisateurs non autorisés","queryParam":"Paramètres de la requête URL","hashParam":"URL Hash Params","tabBar":"Barre d'onglets","emptyTabTooltip":"Configure cette page dans le volet de droite"},"appSetting":{"450":"450px (Téléphone)","800":"800px (Tablette)","1440":"1440px (ordinateur portable)","1920":"1920px (écran large)","3200":"3200px (Super grand écran)","title":"Paramètres généraux de l'application","autofill":"Remplissage automatique","userDefined":"Sur mesure","default":"Défaut","tooltip":"Ferme la fenêtre contextuelle après le réglage","canvasMaxWidth":"Largeur maximale du canevas pour cette application","userDefinedMaxWidth":"Largeur maximale personnalisée","inputUserDefinedPxValue":"Saisis une valeur de pixel personnalisée","maxWidthTip":"La largeur maximale doit être supérieure ou égale à 350","themeSetting":"Thème de style appliqué","themeSettingDefault":"Défaut","themeCreate":"Créer un thème"},"customShortcut":{"title":"Raccourcis personnalisés","shortcut":"Raccourci","action":"Action","empty":"Pas de raccourcis","placeholder":"Appuyer sur Raccourci","otherPlatform":"Autre","space":"L'espace"},"profile":{"orgSettings":"Paramètres de l'espace de travail","switchOrg":"Change d'espace de travail","joinedOrg":"Mes espaces de travail","createOrg":"Créer un espace de travail","logout":"Déconnecte-toi","personalInfo":"Mon profil","bindingSuccess":"Liaison {nom de la source} Succès","uploadError":"Erreur de téléchargement","editProfilePicture":"Modifier","nameCheck":"Le nom ne peut pas être vide","name":"Nom : ","namePlaceholder":"Saisis ton nom","toBind":"Pour relier","binding":"Est contraignant","bindError":"Erreur de paramètre, actuellement non pris en charge Liaison.","bindName":"Lier {nom}","loginAfterBind":"Après la liaison, tu peux utiliser {nom} pour te connecter","bindEmail":"Lier l'email :","email":"Courriel","emailCheck":"Saisis un courriel valide","emailPlaceholder":"Saisis ton courriel","submit":"Soumettre","bindEmailSuccess":"Succès de la reliure par courriel","passwordModifiedSuccess":"Le mot de passe a été modifié avec succès","passwordSetSuccess":"Le mot de passe a été défini avec succès","oldPassword":"Ancien mot de passe :","inputCurrentPassword":"Saisis ton mot de passe actuel","newPassword":"Nouveau mot de passe :","inputNewPassword":"Saisis ton nouveau mot de passe","confirmNewPassword":"Confirme le nouveau mot de passe :","inputNewPasswordAgain":"Saisis à nouveau ton nouveau mot de passe","password":"Mot de passe :","modifyPassword":"Modifier le mot de passe","setPassword":"Définir le mot de passe","alreadySetPassword":"Mot de passe défini","setPassPlaceholder":"Tu peux te connecter avec ton mot de passe","setPassAfterBind":"Tu peux définir un mot de passe après la liaison du compte","socialConnections":"Connexions sociales"},"shortcut":{"shortcutList":"Raccourcis clavier","click":"Clique sur","global":"Global","toggleShortcutList":"Afficher les raccourcis clavier","editor":"Éditeur","toggleLeftPanel":"Basculer le volet gauche","toggleBottomPanel":"Basculer le volet inférieur","toggleRightPanel":"Basculer le volet droit","toggleAllPanels":"Basculer tous les panneaux","preview":"Aperçu","undo":"Annuler","redo":"Refaire","showGrid":"Afficher la grille","component":"Composant","multiSelect":"Sélectionne plusieurs","selectAll":"Sélectionner tout","copy":"Copie","cut":"Couper","paste":"Coller","move":"Déplacer","zoom":"Redimensionner","delete":"Supprimer","deSelect":"Désélectionne","queryEditor":"Éditeur de requêtes","excuteQuery":"Exécuter la requête actuelle","editBox":"Éditeur de texte","formatting":"Format","openInLeftPanel":"Ouvrir dans le volet gauche"},"help":{"videoText":"Vue d'ensemble","onBtnText":"OK","permissionDenyTitle":"💡 Impossible de créer une nouvelle application ou une nouvelle source de données ?","permissionDenyContent":"Tu n'as pas la permission de créer l'application et la source de données. Contacte l'administrateur pour rejoindre le groupe de développeurs.","appName":"Tutoriel d'application","chat":"Chat avec nous","docs":"Voir la documentation","editorTutorial":"Tutoriel de l'éditeur","update":"Quoi de neuf ?","version":"Version","versionWithColon":"Version : ","submitIssue":"Soumettre une question"},"header":{"nameCheckMessage":"Le nom ne peut pas être vide","viewOnly":"Voir seulement","recoverAppSnapshotTitle":"Restaurer cette version ?","recoverAppSnapshotContent":"Restaurer l'application actuelle à la version créée à {heure}.","recoverAppSnapshotMessage":"Restaurer cette version","returnEdit":"Retour à l'éditeur","deploy":"Publie","export":"Exporter vers JSON","editName":"Modifier le nom","duplicate":"Duplicata {type}","snapshot":"Histoire","scriptsAndStyles":"Scripts et style","appSettings":"Paramètres de l'application","preview":"Aperçu","editError":"Mode de prévisualisation de l'historique, aucune opération n'est prise en charge.","clone":"Clone","editorMode_layout":"Mise en page","editorMode_logic":"Logique","editorMode_both":"Les deux"},"userAuth":{"registerByEmail":"S'inscrire","email":"Courriel :","inputEmail":"Saisis ton courriel","inputValidEmail":"Saisis un courriel valide","register":"S'inscrire","userLogin":"S'inscrire","login":"S'inscrire","bind":"Relier","passwordCheckLength":"Au moins {min} Personnages","passwordCheckContainsNumberAndLetter":"Doit contenir des lettres et des chiffres","passwordCheckSpace":"Ne peut pas contenir de caractères d'espacement","welcomeTitle":"Bienvenue sur le site de {nom du produit}","inviteWelcomeTitle":"{nom d'utilisateur} T'invite à te connecter {nom du produit}","terms":"Conditions","privacy":"Politique de confidentialité","registerHint":"J'ai lu et j'accepte les","chooseAccount":"Choisis ton compte","signInLabel":"Se connecter avec {nom}","bindAccount":"Relier le compte","scanQrCode":"Scanne le code QR avec {nom}","invalidThirdPartyParam":"Param tiers invalide","account":"Compte","inputAccount":"Saisis ton compte","ldapLogin":"Connexion LDAP","resetPassword":"Réinitialiser le mot de passe","resetPasswordDesc":"Réinitialiser le mot de passe de l'utilisateur {nom}. Un nouveau mot de passe sera généré après la réinitialisation.","resetSuccess":"Réinitialisation réussie","resetSuccessDesc":"La réinitialisation du mot de passe a réussi. Le nouveau mot de passe est : {mot de passe}","copyPassword":"Copier le mot de passe","poweredByLowcoder":"Propulsé par Lowcoder.cloud"},"preLoad":{"jsLibraryHelpText":"Ajoute des bibliothèques JavaScript à ton application actuelle via des adresses URL. lodash, day.js, uuid, numbro sont intégrés au système pour une utilisation immédiate. Les bibliothèques JavaScript sont chargées avant l'initialisation de l'application, ce qui peut avoir un impact sur les performances de l'application.","exportedAs":"Exporté en tant que","urlTooltip":"Adresse URL de la bibliothèque JavaScript, [unpkg.com](https://unpkg.com/) ou [jsdelivr.net](https://www.jsdelivr.com/) est recommandée.","recommended":"Recommandé","viewJSLibraryDocument":"Document","jsLibraryURLError":"URL invalide","jsLibraryExist":"La bibliothèque JavaScript existe déjà","jsLibraryEmptyContent":"Aucune bibliothèque JavaScript n'a été ajoutée","jsLibraryDownloadError":"Erreur de téléchargement de la bibliothèque JavaScript","jsLibraryInstallSuccess":"La bibliothèque JavaScript a été installée avec succès","jsLibraryInstallFailed":"L'installation de la bibliothèque JavaScript a échoué","jsLibraryInstallFailedCloud":"La bibliothèque n'est peut-être pas disponible dans le bac à sable, [Documentation](https://docs.lowcoder.cloud/build-apps/write-javascript/use-third-party-libraries#manually-import-libraries)\\n{message}","jsLibraryInstallFailedHost":"{message}","add":"Ajouter un nouveau","jsHelpText":"Ajoute une méthode ou une variable globale à l'application en cours.","cssHelpText":"Ajouter des styles à l'application en cours. La structure du DOM peut changer au fur et à mesure de l'itération du système. Essayer de modifier les styles par le biais des propriétés des composants.","scriptsAndStyles":"Scripts et styles","jsLibrary":"Bibliothèque JavaScript"},"editorTutorials":{"component":"Composant","componentContent":"Le panneau des composants de droite te propose de nombreux blocs d'application (composants) prêts à l'emploi. Ceux-ci peuvent être glissés sur le canevas pour être utilisés. Tu peux aussi créer tes propres composants avec quelques connaissances en codage.","canvas":"Toile","canvasContent":"Construis tes applications sur le Canvas avec une approche \"Ce que tu vois est ce que tu obtiens\". Il te suffit de faire glisser et de déposer les composants pour concevoir ta mise en page, et d'utiliser les raccourcis clavier pour une édition rapide comme supprimer, copier et coller. Une fois qu'un composant est sélectionné, tu peux peaufiner chaque détail, du style et de la mise en page à la liaison des données et au comportement logique. De plus, tu bénéficies de l'avantage supplémentaire de la conception réactive, ce qui garantit que tes applications sont superbes sur n'importe quel appareil.","queryData":"Interroger les données","queryDataContent":"Tu peux créer des requêtes de données ici et te connecter à tes sources de données MySQL, MongoDB, Redis, Airtable et bien d'autres. Après avoir configuré la requête, clique sur \"Exécuter\" pour obtenir les données et poursuivre le tutoriel.","compProperties":"Propriétés des composants"},"homeTutorials":{"createAppContent":"🎉 Bienvenue sur {nom du produit}, clique sur \\'App\\' et commence à créer ta première application.","createAppTitle":"Créer une application"},"history":{"layout":"\\Ajustement de la mise en page \"{0}\\\".","upgrade":"Mise à niveau \"{0}\".","delete":"Supprimer \\N'{0}\\'","add":"Ajouter \"{0}\\","modify":"Modifier \\N- \"{0}\\N","rename":"Renomme \\N\"{1}\\N\" en \\N\"{0}\\N\".","recover":"Récupérer la version \"{2}\".","recoverVersion":"Récupérer la version","andSoOn":"et ainsi de suite","timeFormat":"MM DD à hh:mm A","emptyHistory":"Pas d'antécédents","currentVersionWithBracket":" (Actuel)","currentVersion":"Version actuelle","justNow":"Tout de suite","history":"Histoire"},"home":{"allApplications":"Toutes les applications","allModules":"Tous les modules","allFolders":"Tous les dossiers","modules":"Modules","module":"Module","trash":"Poubelle","queryLibrary":"Bibliothèque de requêtes","datasource":"Sources de données","selectDatasourceType":"Sélectionne le type de source de données","home":"Accueil | Zone d'administration","all":"Tous","app":"App","navigation":"Navigation","navLayout":"Navigation PC","navLayoutDesc":"Menu à gauche pour faciliter la navigation sur le bureau.","mobileTabLayout":"Navigation mobile","mobileTabLayoutDesc":"Barre de navigation inférieure pour une navigation mobile fluide.","folders":"Dossiers","folder":"Dossier","rootFolder":"Racine","import":"Importation","export":"Exporter vers JSON","inviteUser":"Invite les membres","createFolder":"Créer un dossier","createFolderSubTitle":"Nom du dossier :","moveToFolder":"Déplacer vers le dossier","moveToTrash":"Déplacer vers la poubelle","moveToFolderSubTitle":"Déplace-toi vers :","folderName":"Nom du dossier :","resCardSubTitle":"{heure} par {créateur}","trashEmpty":"La poubelle est vide.","projectEmpty":"Il n'y a rien ici.","projectEmptyCanAdd":"Tu n'as pas encore d'application. Clique sur Nouveau pour commencer.","name":"Nom","type":"Type","creator":"Créé par","lastModified":"Dernière modification","deleteTime":"Effacer l'heure","createTime":"Créer du temps","datasourceName":"Nom de la source de données","databaseName":"Nom de la base de données","nameCheckMessage":"Le nom ne peut pas être vide","deleteElementTitle":"Supprimer définitivement","moveToTrashSubTitle":"{type} {nom} sera déplacé dans la corbeille.","deleteElementSubTitle":"Supprimer {type} {nom} définitivement, il ne peut pas être récupéré.","deleteSuccessMsg":"Supprimé avec succès","deleteErrorMsg":"Erreur supprimée","recoverSuccessMsg":"Récupéré avec succès","newDatasource":"Nouvelle source de données","creating":"Créer...","chooseDataSourceType":"Choisis le type de source de données","folderAlreadyExists":"Le dossier existe déjà","newNavLayout":"{nom d'utilisateur}\\'s {name} ","newApp":"Le nouveau {nom d'utilisateur}\\Nest le nouveau {nom}. ","importError":"Erreur d'importation, {message}","exportError":"Erreur d'exportation, {message}","importSuccess":"Succès de l'importation","fileUploadError":"Erreur de téléchargement de fichier","fileFormatError":"Erreur de format de fichier","groupWithSquareBrackets":"[Groupe] ","allPermissions":"Propriétaire","shareLink":"Lien de partage : ","copyLink":"Copier le lien","appPublicMessage":"Rends l'application publique. Tout le monde peut la consulter.","modulePublicMessage":"Rends le module public. Tout le monde peut le consulter.","memberPermissionList":"Permissions aux membres : ","orgName":"{orgName} admins","addMember":"Ajouter des membres","addPermissionPlaceholder":"Saisis un nom pour rechercher des membres","searchMemberOrGroup":"Recherche des membres ou des groupes : ","addPermissionErrorMessage":"L'ajout d'une permission a échoué, {message}","copyModalTitle":"Clone-le","copyNameLabel":"{type} nom","copyModalfolderLabel":"Ajouter au dossier","copyNamePlaceholder":"Saisis un nom de {type}","chooseNavType":"Choisis le type de navigation","createNavigation":"Créer une navigation"},"carousel":{"dotPosition":"Position des points de navigation","autoPlay":"AutoPlay","showDots":"Afficher les points de navigation"},"npm":{"invalidNpmPackageName":"Nom ou URL de paquetage npm invalide.","pluginExisted":"Ce plugin npm existait déjà","compNotFound":"Le composant {compName} n'a pas été trouvé.","addPluginModalTitle":"Ajouter un plugin à partir d'un dépôt npm","pluginNameLabel":"URL ou nom du package npm","noCompText":"Pas de composants.","compsLoading":"Chargement...","removePluginBtnText":"Enlever","addPluginBtnText":"Ajouter un plugin npm"},"toggleButton":{"valueDesc":"La valeur par défaut du bouton à bascule, par exemple : Faux","trueDefaultText":"Cache-toi","falseDefaultText":"Montrer","trueLabel":"Texte pour True","falseLabel":"Texte pour Faux","trueIconLabel":"Icône pour True","falseIconLabel":"Icône pour Faux","iconPosition":"Position de l'icône","showText":"Afficher le texte","alignment":"Alignement","showBorder":"Afficher la bordure"},"componentDoc":{"markdownDemoText":"**Lowcoder** | Crée des applications logicielles pour ton entreprise et tes clients avec un minimum d'expérience en matière de codage. Lowcoder est la meilleure alternative à Retool, Appsmith ou Tooljet.","demoText":"Lowcoder | Crée des applications logicielles pour ton entreprise et tes clients avec une expérience minimale du codage. Lowcoder est la meilleure alternative à Retool, Appsmith ou Tooljet.","submit":"Soumettre","style":"Style","danger":"Danger","warning":"Avertissement","success":"Succès","menu":"Menu","link":"Lien","customAppearance":"Apparence personnalisée","search":"Recherche","pleaseInputNumber":"Saisis un numéro","mostValue":"La plus grande valeur","maxRating":"Valeur nominale maximale","notSelect":"Non sélectionné","halfSelect":"Demi-sélection","pleaseSelect":"Choisis","title":"Titre","content":"Contenu","componentNotFound":"Le composant n'existe pas","example":"Exemples","defaultMethodDesc":"Définir la valeur de la propriété {nom}","propertyUsage":"Tu peux lire les informations relatives aux composants en accédant aux propriétés des composants par leur nom partout où tu peux écrire du JavaScript.","property":"Propriétés","propertyName":"Nom de la propriété","propertyType":"Type","propertyDesc":"Description","event":"Événements","eventName":"Nom de l'événement","eventDesc":"Description","mehtod":"Méthodes","methodUsage":"Tu peux interagir avec les composants par le biais de leurs méthodes et tu peux les appeler par leur nom partout où tu peux écrire du JavaScript. Tu peux aussi les appeler par le biais de l'action \"Composant de contrôle\" d'un événement.","methodName":"Nom de la méthode","methodDesc":"Description","showBorder":"Afficher la bordure","haveTry":"Essaie toi-même","settings":"Réglage","settingValues":"Valeur de réglage","defaultValue":"Valeur par défaut","time":"L'heure","date":"Date","noValue":"Aucun","xAxisType":"Type d'axe X","hAlignType":"Alignement horizontal","leftLeftAlign":"Alignement gauche-gauche","leftRightAlign":"Alignement gauche-droite","topLeftAlign":"Alignement haut-gauche","topRightAlign":"Alignement haut-droit","validation":"Validation","required":"Exigée","defaultStartDateValue":"Date de début par défaut","defaultEndDateValue":"Date de fin par défaut","basicUsage":"Utilisation de base","basicDemoDescription":"Les exemples suivants montrent l'utilisation de base du composant.","noDefaultValue":"Pas de valeur par défaut","forbid":"Interdit","placeholder":"Placeholder","pleaseInputPassword":"Saisis ton mot de passe","password":"Mot de passe","textAlign":"Alignement du texte","length":"Longueur","top":"Haut","pleaseInputName":"Saisis ton nom","userName":"Nom","fixed":"Fixe","responsive":"Réactif","workCount":"Nombre de mots","cascaderOptions":"Options de cascade","pleaseSelectCity":"Choisis une ville","advanced":"Avancé","showClearIcon":"Afficher l'icône d'effacement","likedFruits":"Favoris","option":"Option","singleFileUpload":"Téléchargement d'un seul fichier","multiFileUpload":"Téléchargement de plusieurs fichiers","folderUpload":"Téléchargement de dossier","multiFile":"Fichiers multiples","folder":"Dossier","open":"Ouvrir","favoriteFruits":"Fruits préférés","pleaseSelectOneFruit":"Choisis un fruit","notComplete":"Pas complet","complete":"Complète","echart":"Diagramme","lineChart":"Graphique en ligne","basicLineChart":"Diagramme linéaire de base","lineChartType":"Type de graphique linéaire","stackLineChart":"Ligne empilée","areaLineChart":"Ligne de surface","scatterChart":"Diagramme de dispersion","scatterShape":"Forme de l'éparpillement","scatterShapeCircle":"Cercle","scatterShapeRect":"Rectangle","scatterShapeTri":"Triangle","scatterShapeDiamond":"Diamant","scatterShapePin":"Épingle à cheveux","scatterShapeArrow":"Flèche","pieChart":"Diagramme circulaire","basicPieChart":"Diagramme circulaire de base","pieChatType":"Type de diagramme à secteurs","pieChartTypeCircle":"Tableau des beignets","pieChartTypeRose":"Tableau des roses","titleAlign":"Titre Position","color":"Couleur","dashed":"En pointillé","imADivider":"Je suis une ligne de démarcation","tableSize":"Taille de la table","subMenuItem":"Sous-menu {num}","menuItem":"Menu {num}","labelText":"Étiquette","labelPosition":"Étiquette - Position","labelAlign":"Étiquette - Aligner","optionsOptionType":"Méthode de configuration","styleBackgroundColor":"Couleur de fond","styleBorderColor":"Couleur de la bordure","styleColor":"Couleur de la police","selectionMode":"Mode de sélection des rangées","paginationSetting":"Réglage de la pagination","paginationShowSizeChanger":"Aide les utilisateurs à modifier le nombre d'entrées par page","paginationShowSizeChangerButton":"Bouton de changement de taille","paginationShowQuickJumper":"Show Quick Jumper","paginationHideOnSinglePage":"Cacher lorsqu'il n'y a qu'une seule page","paginationPageSizeOptions":"Taille de la page","chartConfigCompType":"Type de graphique","xConfigType":"Type d'axe X","loading":"Chargement","disabled":"Désactivé","minLength":"Longueur minimale","maxLength":"Longueur maximale","showCount":"Afficher le nombre de mots","autoHeight":"Hauteur","thousandsSeparator":"Séparateur de milliers","precision":"Places décimales","value":"Valeur par défaut","formatter":"Format","min":"Valeur minimale","max":"Valeur maximale","step":"Taille de l'étape","start":"Heure de début","end":"L'heure de la fin","allowHalf":"Autoriser la sélection de la moitié","filetype":"Type de fichier","showUploadList":"Afficher la liste des téléchargements","uploadType":"Type de téléchargement","allowClear":"Afficher l'icône d'effacement","minSize":"Taille minimale du fichier","maxSize":"Taille maximale du fichier","maxFiles":"Nombre maximum de fichiers téléchargés","format":"Format","minDate":"Date minimum","maxDate":"Date maximale","minTime":"Durée minimale","maxTime":"Durée maximale","text":"Texte","type":"Type","hideHeader":"Cacher l'en-tête","hideBordered":"Cacher la bordure","src":"URL de l'image","showInfo":"Valeur d'affichage","mode":"Mode","onlyMenu":"Menu unique","horizontalAlignment":"Alignement horizontal","row":"Gauche","column":"Haut","leftAlign":"Alignement à gauche","rightAlign":"Alignement droit","percent":"Pourcentage","fixedHeight":"Hauteur fixe","auto":"Adaptatif","directory":"Dossier","multiple":"Fichiers multiples","singleFile":"Fichier unique","manual":"Manuel","default":"Défaut","small":"Petit","middle":"Moyen","large":"Grandes","single":"Célibataire","multi":"Multiple","close":"Fermer","ui":"Mode UI","line":"Graphique en ligne","scatter":"Diagramme de dispersion","pie":"Diagramme circulaire","basicLine":"Diagramme linéaire de base","stackedLine":"Tableau à lignes empilées","areaLine":"Zone Carte de la zone","basicPie":"Diagramme circulaire de base","doughnutPie":"Tableau des beignets","rosePie":"Tableau des roses","category":"Catégorie Axe","circle":"Cercle","rect":"Rectangle","triangle":"Triangle","diamond":"Diamant","pin":"Épingle à cheveux","arrow":"Flèche","left":"Gauche","right":"Droit","center":"Centre","bottom":"Le fond","justify":"Justifie les deux extrémités"},"playground":{"url":"https://app.lowcoder.cloud/playground/{compType}/1","data":"État actuel des données","preview":"Aperçu","property":"Propriétés","console":"Console Visual Script","executeMethods":"Exécuter les méthodes","noMethods":"Pas de méthodes.","methodParams":"Paramètres de la méthode","methodParamsHelp":"Paramètres de la méthode d'entrée à l'aide de JSON. Par exemple, tu peux définir les paramètres de la méthode avec : [1] ou 1"},"calendar":{"headerBtnBackground":"Arrière-plan des boutons","btnText":"Texte du bouton","title":"Titre","selectBackground":"Sélection d'antécédents"},"componentDocExtra":{"table":"Documentation supplémentaire pour le composant tableau"},"idSource":{"title":"Fournisseurs OAuth","form":"Courriel","pay":"Premium","enable":"Activer","unEnable":"Non activé","loginType":"Type de connexion","status":"Statut","desc":"Description","manual":"Carnet d'adresses :","syncManual":"Synchroniser le carnet d'adresses","syncManualSuccess":"Synchronisation réussie","enableRegister":"Autoriser l'enregistrement","saveBtn":"Sauvegarder et activer","save":"Sauvegarde","none":"Aucun","formPlaceholder":"Saisis {label}","formSelectPlaceholder":"Choisis le {label}","saveSuccess":"Sauvegardé avec succès","dangerLabel":"Zone de danger","dangerTip":"La désactivation de ce fournisseur d'identifiants peut entraîner l'impossibilité pour certains utilisateurs de se connecter. Procède avec prudence.","disable":"Désactiver","disableSuccess":"Désactivé avec succès","encryptedServer":"-------- Crypté du côté du serveur --------","disableTip":"Conseils","disableContent":"La désactivation de ce fournisseur d'identifiants peut entraîner l'impossibilité pour certains utilisateurs de se connecter. Es-tu sûr de vouloir continuer ?","manualTip":"","lockTip":"Le contenu est verrouillé. Pour apporter des modifications, clique sur l'icône pour le déverrouiller.","lockModalContent":"La modification du champ \"ID Attribute\" peut avoir des conséquences importantes sur l'identification de l'utilisateur. Confirme que tu comprends les implications de ce changement avant de continuer.","payUserTag":"Premium"},"slotControl":{"configSlotView":"Configurer la vue de l'emplacement"},"jsonLottie":{"lottieJson":"Lottie JSON","speed":"La vitesse","width":"Largeur","height":"Hauteur","backgroundColor":"Couleur de fond","animationStart":"Début de l'animation","valueDesc":"Données JSON actuelles","loop":"Boucle","auto":"Auto","onHover":"Au survol","singlePlay":"Jeu unique","endlessLoop":"Boucle sans fin","keepLastFrame":"Maintien de l'affichage de la dernière image"},"timeLine":{"titleColor":"Titre Couleur","subTitleColor":"Couleur des sous-titres","lableColor":"Couleur de l'étiquette","value":"Données chronologiques","mode":"Ordre d'affichage","left":"Droit au contenu","right":"Contenu à gauche","alternate":"Ordre alternatif du contenu","modeTooltip":"Régler le contenu pour qu'il apparaisse à gauche/droite ou alternativement des deux côtés de la ligne de temps","reverse":"Les événements les plus récents d'abord","pending":"Texte du nœud en attente","pendingDescription":"Lorsque cette option est activée, un dernier nœud avec le texte et un indicateur d'attente s'affichent.","defaultPending":"Amélioration continue","clickTitleEvent":"Clique sur Titre de l'événement","clickTitleEventDesc":"Clique sur Titre de l'événement","Introduction":"Introduction Clés","helpTitle":"Titre de la ligne du temps (obligatoire)","helpsubTitle":"Sous-titre de la chronologie","helpLabel":"Étiquette de la ligne de temps, utilisée pour afficher les dates","helpColor":"Indique la couleur du nœud de la ligne de temps","helpDot":"Rendre les nœuds de la ligne de temps sous forme d'icônes Ant Design","helpTitleColor":"Contrôle individuellement la couleur du titre du nœud","helpSubTitleColor":"Contrôle individuellement la couleur du sous-titre du nœud","helpLableColor":"Contrôle individuellement la couleur de l'icône du nœud","valueDesc":"Données de la chronologie","clickedObjectDesc":"Données de l'élément cliqué","clickedIndexDesc":"Index des éléments cliqués"},"comment":{"value":"Données de la liste de commentaires","showSendButton":"Autoriser les commentaires","title":"Titre","titledDefaultValue":"%d Commentaire au total","placeholder":"Shift + Enter pour commenter ; Saisis @ ou # pour une saisie rapide","placeholderDec":"Placeholder","buttonTextDec":"Titre du bouton","buttonText":"Commentaire","mentionList":"Données de la liste des mentions","mentionListDec":"Mots clés ; Données de la liste des mentions de valeur","userInfo":"Info utilisateur","dateErr":"Erreur de date","commentList":"Liste des commentaires","deletedItem":"Point supprimé","submitedItem":"Article soumis","deleteAble":"Afficher le bouton de suppression","Introduction":"Introduction Clés","helpUser":"Informations sur l'utilisateur (obligatoire)","helpname":"Nom d'utilisateur (obligatoire)","helpavatar":"URL de l'avatar (Haute priorité)","helpdisplayName":"Nom d'affichage (faible priorité)","helpvalue":"Contenu des commentaires","helpcreatedAt":"Créer une date"},"mention":{"mentionList":"Données de la liste des mentions"},"autoComplete":{"value":"Auto Complete Value","checkedValueFrom":"Valeur vérifiée De","ignoreCase":"Recherche Ignorer le cas","searchLabelOnly":"Recherche sur l'étiquette uniquement","searchFirstPY":"Rechercher le premier pinyin","searchCompletePY":"Rechercher le pinyin complet","searchText":"Texte de recherche","SectionDataName":"Données d'auto-complétion","valueInItems":"Valeur en articles","type":"Type","antDesign":"AntDesign","normal":"Normal","selectKey":"Clé","selectLable":"Étiquette","ComponentType":"Type de composant","colorIcon":"Bleu","grewIcon":"Gris","noneIcon":"Aucun","small":"Petit","large":"Grandes","componentSize":"Taille du composant","Introduction":"Introduction Clés","helpLabel":"Étiquette","helpValue":"Valeur"},"responsiveLayout":{"column":"Colonnes","atLeastOneColumnError":"La mise en page responsive conserve au moins une colonne","columnsPerRow":"Colonnes par ligne","columnsSpacing":"Espacement des colonnes (px)","horizontal":"Horizontal","vertical":"Vertical","mobile":"Mobile","tablet":"Tablette","desktop":"Bureau","rowStyle":"Style de la rangée","columnStyle":"Style de colonne","minWidth":"Min. Largeur","rowBreak":"Pause dans les rangs","matchColumnsHeight":"Hauteur des colonnes","rowLayout":"Disposition des rangées","columnsLayout":"Disposition des colonnes"},"navLayout":{"mode":"Mode","modeInline":"En ligne","modeVertical":"Vertical","width":"Largeur","widthTooltip":"Pixel ou pourcentage, par exemple 520, 60%","navStyle":"Style de menu","navItemStyle":"Style de l'élément de menu"}} \ No newline at end of file