From c4c54f12e09ec834fae5e6d1522af4f276226c91 Mon Sep 17 00:00:00 2001 From: pixelmaxQM Date: Wed, 9 Oct 2024 22:54:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=87=AA=E5=8A=A8=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=94=AF=E6=8C=81i18n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/App.vue | 2 + web/src/view/systemTools/formCreate/index.vue | 21 +- .../view/systemTools/formCreate/locale/ar.js | 780 ++++++++++++++++++ .../view/systemTools/formCreate/locale/en.js | 780 ++++++++++++++++++ .../systemTools/formCreate/locale/zh_cn.js | 780 ++++++++++++++++++ .../systemTools/formCreate/locale/zh_tw.js | 780 ++++++++++++++++++ 6 files changed, 3142 insertions(+), 1 deletion(-) create mode 100644 web/src/view/systemTools/formCreate/locale/ar.js create mode 100644 web/src/view/systemTools/formCreate/locale/en.js create mode 100644 web/src/view/systemTools/formCreate/locale/zh_cn.js create mode 100644 web/src/view/systemTools/formCreate/locale/zh_tw.js diff --git a/web/src/App.vue b/web/src/App.vue index e6eff2a7a..e719ac173 100644 --- a/web/src/App.vue +++ b/web/src/App.vue @@ -10,6 +10,7 @@ import zh from 'element-plus/dist/locale/zh-cn.mjs' import en from 'element-plus/dist/locale/en.mjs' import ar from 'element-plus/dist/locale/ar.mjs' +import zh_tw from 'element-plus/dist/locale/zh-tw.mjs' import {useAppStore} from "@/pinia"; import { useI18n } from 'vue-i18n' @@ -20,6 +21,7 @@ defineOptions({ const languages = { 'zh-cn': zh, + 'zh-TW': zh_tw, 'en': en, 'ar': ar } diff --git a/web/src/view/systemTools/formCreate/index.vue b/web/src/view/systemTools/formCreate/index.vue index 75f6db8bf..26f0d4d3a 100644 --- a/web/src/view/systemTools/formCreate/index.vue +++ b/web/src/view/systemTools/formCreate/index.vue @@ -1,20 +1,39 @@ diff --git a/web/src/view/systemTools/formCreate/locale/ar.js b/web/src/view/systemTools/formCreate/locale/ar.js new file mode 100644 index 000000000..a7941b7f8 --- /dev/null +++ b/web/src/view/systemTools/formCreate/locale/ar.js @@ -0,0 +1,780 @@ +export default { + name: "ar", + form: { + field: "حقل", + title: "عنوان", + info: "معلومات", + control: "تحكم", + labelPosition: "موضع التسمية", + labelStyle: "نمط التسمية", + labelSuffix: "لاحقة التسمية", + size: "حجم النموذج", + event: "حدث النموذج", + labelWidth: "عرض التسمية", + hideRequiredAsterisk: "إخفاء النجمة الحمراء بجانب التسمية للحقل المطلوب", + showMessage: "عرض رسالة خطأ التحقق", + inlineMessage: "عرض معلومات التحقق في السطر", + submitBtn: "ما إذا كان سيتم عرض زر إرسال النموذج", + resetBtn: "ما إذا كان سيتم عرض زر إعادة تعيين النموذج", + appendChild: "إدراج طفل", + formMode: "وضع النموذج", + formName: "اسم النموذج", + componentMode: "مكون", + document: "وثيقة" + }, + computed: { + fieldUsed: "[{label}] مستخدم في صيغة الحساب، يرجى تعديل الصيغة المقابلة أولاً", + fieldExist: "[{label}] الحقل موجود بالفعل", + fieldEmpty: "الحقل مطلوب", + fieldChar: "يجب أن يبدأ الحقل بحرف" + }, + validate: { + type: "نوع", + typePlaceholder: "يرجى الاختيار", + trigger: "مشغل", + mode: "طريقة التحقق", + modes: { + required: "مطلوب", + pattern: "نمط", + validator: "مدقق", + min: "الحد الأدنى", + max: "الحد الأقصى", + len: "طول" + }, + types: { + string: "نص", + array: "متعدد", + number: "رقم", + integer: "عدد صحيح", + float: "عدد عشري", + object: "مجموعة", + date: "تاريخ", + url: "رابط", + email: "بريد إلكتروني" + }, + message: "خطأ", + auto: "تلقائي", + autoRequired: "يرجى إدخال {title}", + autoMode: "يرجى إدخال {title} الصحيح", + requiredPlaceholder: "يرجى الإدخال", + required: "هل هو مطلوب", + rule: "التحقق" + }, + tableOptions: { + handle: "عملية", + add: "إضافة", + empty1: "انقر على الزاوية اليمنى السفلية", + empty2: "زر لإضافة عمود", + rmCol: "حذف العمود الحالي", + rmRow: "حذف الصف الحالي", + splitRow: "تقسيم إلى صفوف", + splitCol: "تقسيم إلى أعمدة", + mergeBottom: "دمج للأسفل", + mergeRight: "دمج لليمين", + addTop: "إضافة عمود علوي", + addBottom: "إضافة التالي", + addLeft: "إضافة عمود يساري", + addRight: "إضافة عمود يميني", + keyValue: "مفتاح-قيمة" + }, + struct: { + title: "تحرير", + only: "[{label}] يسمح بإضافة واحد فقط", + errorMsg: "محتوى الإدخال غير صحيح نحويًا", + configured: "مُكوّن" + }, + event: { + title: "تحرير", + create: "إنشاء", + list: "قائمة", + placeholder: "يرجى إدخال اسم الحدث", + saveMsg: "يرجى حفظ الحدث الذي يتم تحريره حاليًا", + type: "نوع", + info: "معلومات", + label: "حقل", + inject: { + api: "واجهة برمجة التطبيقات للنموذج الحالي", + rule: "توليد قواعد للنموذج الحالي", + self: "قاعدة توليد المكون", + option: "تكوين النموذج", + args: "المعلمات الأصلية للحدث" + } + }, + fetch: { + title: "تعيين البيانات", + create: "إنشاء بيانات", + config: "طلب", + action: "إجراء", + actionRequired: "يرجى إدخال الرابط الصحيح", + placeholder: "يرجى إدخال اسم مصدر البيانات", + method: "طريقة", + data: "مرفق", + headers: "رؤوس", + parse: "معالجة", + response: "البيانات التي تم إرجاعها من الواجهة", + onError: "عند الخطأ", + remote: "بعيد", + static: "ثابت", + optionsType: { + fetch: "جلب", + struct: "ثابت" + } + }, + style: { + width: "عرض", + height: "ا��تفاع", + color: "لون", + backgroundColor: "لون الخلفية", + margin: "هامش", + padding: "حشوة", + borderRadius: "نصف قطر الحدود", + border: "حدود", + solid: "صلب", + dashed: "متقطع", + dotted: "منقط", + double: "مزدوج", + opacity: "شفافية", + scale: "مقياس", + shadow: { + name: "ظل", + x: "إزاحة المحور السيني", + y: "إزاحة المحور الصادي", + vague: "نصف قطر التمويه", + extend: "نصف قطر الانتشار", + inset: "للداخل", + external: "للخارج", + mode: "وضع", + classic: "كلاسيكي", + flat: "مسطح", + solid: "مجسم" + }, + font: { + name: "خط", + size: "حجم", + align: "محاذاة", + height: "ارتفاع السطر", + spacing: "تباعد الحروف", + preview: "معاينة" + }, + decoration: { + name: "زخرفة", + underline: "تسطير", + "line-through": "خط في الوسط", + overline: "خط فوق النص" + }, + weight: { + name: "وزن الخط", + 300: "رفيع", + 400: "افتراضي", + 500: "متوسط", + 700: "عريض" + } + }, + designer: { + component: "مكون", + id: "معرف فريد", + name: "رقم تسلسلي", + type: "نوع", + form: "نموذج", + style: "نمط", + rule: "قاعدة", + advanced: "متقدم", + props: "خصائص", + validate: "تحقق", + event: "حدث", + clearWarn: "لا يمكن استعادته بعد مسحه. هل أنت متأكد أنك تريد مسحه؟", + childEmpty: "انقر على الزر \\e789 في الزاوية اليمنى السفلية لإضافة عمود", + dragEmpty: "اسحب المكونات من القائمة على اليسار هنا", + unload: "هل أنت متأكد أنك تريد مغادرة الصفحة الحالية؟" + }, + menu: { + main: "أساسي", + aide: "مساعد", + layout: "تخطيط", + component: "مكون", + subform: "نموذج فرعي", + tree: "هيكل" + }, + props: { + disabled: "معطل", + time: "وقت", + email: "بريد إلكتروني", + number: "رقم", + globalData: "بيانات عالمية", + mobile: "جوال", + pc: "حاسوب", + reactive: "تفاعلي", + title: "عنوان", + content: "محتوى", + collection: "مجموعة", + group: "مجموعة", + custom: "مخصص", + change: "تغيير", + blur: "ضبابية", + preview: "معاينة", + clear: "مسح", + cancel: "إلغاء", + close: "إغلاق", + ok: "موافق", + save: "حفظ", + refresh: "تحديث", + submit: "إرسال", + reset: "إعادة تعيين", + copy: "نسخ", + delete: "حذف", + hide: "إخفاء", + show: "عرض", + position: "موضع", + render: "عرض", + large: "كبير", + default: "افتراضي", + small: "صغير", + always: "دائمًا", + never: "أبدًا", + hover: "تحويم", + click: "نقرة", + button: "زر", + year: "سنة", + month: "شهر", + date: "تاريخ", + dates: "تواريخ", + week: "أسبوع", + datetime: "تاريخ ووقت", + "datetime-local": "تاريخ ووقت محلي", + datetimerange: "نطاق التاريخ والوقت", + daterange: "نطاق التاريخ", + monthrange: "نطاق الشهر", + left: "يسار", + right: "يمين", + top: "أعلى", + text: "نص", + picture: "صورة", + "picture-card": "بطاقة صورة", + center: "مركز", + vertical: "عمودي", + horizontal: "أفقي", + manage: "إدارة", + key: "مفتاح", + name: "اسم", + value: "قيمة", + inputData: "القيمة الافتراضية", + append: "إلحاق", + options: "خيارات", + option: "خيار", + callback: "استدعاء", + _self: "النافذة الحالية", + _blank: "نافذة جديدة", + _parent: "النافذة الرئيسية", + _top: "النافذة العليا" + }, + com: { + cascader: { + name: "محدد متتالي", + event: { + expandChange: "يتم تشغيله عند تغيير العقدة الموسعة", + removeTag: "في وضع التحديد المتعدد، يتم تشغيله عند إزالة العلامة" + }, + props: { + props: "خيارات", + placeholder: "نص العنصر النائب", + disabled: "معطل", + clearable: "ما إذا كان يتم دعم مسح الخيارات", + showAllLevels: "ما إذا كان يتم عرض المسار الكامل للقيمة المحددة في مربع الإدخال", + collapseTags: "ما إذا كان يتم طي العلامات في وضع التحديد المتعدد", + collapseTagsTooltip: "ما إذا كان يتم عرض جميع العلامات المحددة عند تحويم الما��س فوق نص العلامة المطوية", + separator: "الفاصل", + filterable: "ما إذا كان يمكن البحث في هذا الخيار", + tagType: "النوع" + }, + propsOpt: { + multiple: "ما إذا كان هناك تحديدات متعددة", + expandTrigger: "كيفية توسيع القائمة الثانوية", + checkStrictly: "ما إذا ك��ن يتم الالتزام الصارم بأن العقد الأصلية والفرعية غير مرتبطة ببعضها البعض", + emitPath: "عند تغيير العقدة المحددة، ما إذا كان يتم إرجاع مصفوفة تتكون من قيم القوائم في كل مستوى توجد فيه العقدة", + value: "قيمة الخيار المحدد هي قيمة سمة كائن الخيار", + label: "تحديد تسمية الخيار كقيمة سمة معينة لكائن الخيار", + children: "الخيار الفرعي للخيار المحدد هو قيمة سمة معينة لكائن الخيار", + disabled: "الخيار المحدد معطل كقيمة سمة معينة لكائن الخيار", + leaf: "بت العلم للعقدة الورقية للخيار المحدد هو قيمة سمة معينة لكائن الخيار" + } + }, + checkbox: { + name: "مربع اختيار", + props: { + input: "ما إذا كان يتم ملء", + type: "النوع", + disabled: "معطل", + min: "الحد الأدنى لعدد العناصر التي يمكن تحديدها", + max: "الحد الأقصى لعدد العناصر التي يمكن تحديدها", + textColor: "لون الخط عند تنشيط الزر", + fill: "لون الحدود والخلفية عند تنشيط الزر" + } + }, + col: { + name: "عمود", + props: { + span: "عدد الأعمدة التي يشغلها الشبكة", + offset: "عدد المسافات على الجانب الأيسر من الشبكة", + push: "تحريك الشبكة إلى اليمين بعدد الخلايا", + pull: "تحريك الشبكة إلى اليسار بعدد الخلايا" + } + }, + colorPicker: { + name: "منتقي الألوان", + event: { + activeChange: "يتم تشغيله عند تغيير اللون المعروض حاليًا في اللوحة" + }, + props: { + disabled: "معطل", + showAlpha: "ما إذا كان يتم دعم اختيار الشفافية", + colorFormat: "تنسيق اللون", + predefine: "لون محدد مسبقًا" + } + }, + datePicker: { + name: "تاريخ", + props: { + pickerOptions: "خيارات محددة لمنتقي الوقت والتاريخ الحالي", + readonly: "للقراءة فقط", + disabled: "معطل", + type: "النوع", + editable: "يمكن إدخال النص في مربع النص", + clearable: "ما إذا كان يتم عرض زر المسح", + placeholder: "نص العنصر النائب للتحديد غير النطاق", + startPlaceholder: "نص العنصر النائب لتاريخ البدء عند تحديد النطاق", + endPlaceholder: "نص العنصر النائب لتاريخ الانتهاء عند تحديد النطاق", + format: "التنسيق المعروض في مربع الإدخال", + align: "المحاذاة", + rangeSeparator: "الفاصل عند تحديد النطاق", + unlinkPanels: "فصل لوحتي التاريخ في محدد النطاق" + } + }, + dateRange: { + name: "نطاق التاريخ" + }, + timeRange: { + name: "نطاق الوقت" + }, + elAlert: { + name: "تنبيه", + description: "الوصف", + props: { + title: "العنوان", + type: "النوع", + description: "النص الداعم", + closable: "ما إذا كان يمكن إغلاقه", + center: "ما إذا كان النص متمركزًا", + closeText: "نص مخصص لزر الإغلاق", + showIcon: "ما إذا كان يتم عرض الأيقونة", + effect: "اختيار موضوع مقدم" + } + }, + elButton: { + name: "زر", + props: { + formCreateChild: "المحتوى", + size: "الحجم", + type: "النوع", + plain: "ما إذا كان الزر عاديًا", + round: "ما إذا كان الزر ذو زوايا مستديرة", + circle: "ما إذا كان الزر دائريًا", + loading: "ما إذا كان في حالة التحميل", + disabled: "معطل" + } + }, + elCard: { + name: "بطاقة", + props: { + header: "العنوان", + shadow: "توقيت عرض الظل" + } + }, + elCollapse: { + name: "طي", + event: { + change: "تبديل اللوحة النشطة حاليًا، نوعها هو سلسلة في وضع الأكورديون ومصفوفة في الأوضاع الأخرى" + }, + props: { + accordion: "ما إذا كان في وضع الأكورديون" + } + }, + elCollapseItem: { + name: "عنصر الطي", + props: { + title: "عنوان اللوحة", + name: "المعرف", + disabled: "معطل" + } + }, + elDivider: { + name: "فاصل", + props: { + formCreateChild: "تعيين المحتوى", + contentPosition: "تعيين موضع المحتوى" + } + }, + elTabPane: { + name: "لوحة التبويب", + props: { + label: "العنوان", + disabled: "معطل", + name: "معرف التبويب", + lazy: "ما إذا كان يتم تأخير عرض التسمية" + } + }, + elTabs: { + name: "تبويبات", + event: { + tabClick: "يتم تشغيله عند تحديد التبويب", + tabChange: "يتم تشغيله عند تغيير activeName", + tabRemove: "يتم تشغيله عند النقر على زر إزالة التبويب", + tabAdd: "يتم تشغيله عند النقر على زر تبويب جديد", + edit: "يتم تشغيله بعد النقر على زر إضافة أو إزالة التبويب" + }, + props: { + type: "النوع", + closable: "ما إذا كان يمكن إغلاق التسمية", + tabPosition: "موضع التبويب", + stretch: "ما إذا كان عرض التسمية يتمدد ذاتيًا" + } + }, + elTag: { + name: "علامة", + props: { + formCreateNative: "ما إذا كان سيتم عرض العنوان", + formCreateTitle: "العن��ان", + formCreateChild: "المحتوى", + type: "النوع", + size: "حجم التسمية", + effect: "موضوع التسمية", + closable: "ما ��ذا كان يمكن إغلاقه", + disableTransitions: "ما إذا كان سيتم تعطيل الرسوم المتحركة التدرجية", + hit: "ما إذا كان هناك حد للحدود", + round: "ما إذا كان دائريًا", + color: "لون الخلفية" + } + }, + elTransfer: { + name: "نقل", + event: { + leftCheckChange: "يتم تشغيله عند تحديد/إلغاء تحديد عنصر القائمة اليسرى من قبل المستخدم", + rightCheckChange: "يتم تشغيله عند تحديد/إلغاء تحديد عنصر القائمة اليمنى من قبل المستخدم" + }, + props: { + filterable: "هل هو قابل للبحث", + filterPlaceholder: "نص العنصر النائب لمربع البحث", + targetOrder: "استراتيجية ترتيب عناصر القائمة على اليمين", + targetOrderInfo: "إذا كان أصليًا، حافظ على نفس ترتيب البيانات؛ إذا كان دفعًا، سيتم ترتيب العناصر المضافة حديثًا في النهاية؛ إذا كان إدخالًا، سيتم ترتيب العناصر المضافة حديثًا في البداية", + titles: "العنوان", + buttonTexts: "تعيين محتوى الزر", + props: "اسم الحقل لمصدر البيانات" + } + }, + elTreeSelect: { + name: "تحديد الشجرة", + event: { + removeTag: "يتم تشغيله عند إزالة العلامة في وضع التحديد المتعدد" + }, + props: { + multiple: "ما إذا كان هناك تحديدات متعددة", + disabled: "معطل", + clearable: "ما إذا كان يمكن مسح الخيار", + collapseTags: "ما إذا كان سيتم عرض القيمة المحددة كنص أثناء التحديد المتعدد", + multipleLimit: "الحد الأقصى لعدد العناصر التي يمكن للمستخدم تحديدها أثناء التحديد المتعدد، إذا كان 0، فلا يوجد حد", + placeholder: "نص العنصر النائب", + props: "خيارات", + renderAfterExpand: "ما إذا كان سيتم عرض العقد الفرعية بعد توسيع عقدة الشجرة لأول مرة", + defaultExpandAll: "ما إذا كان سيتم توسيع جميع العقد افتراضيًا", + expandOnClickNode: "ما إذا كان سيتم توسيع أو تقليص العقد عند ال��قر عليها", + checkOnClickNode: "ما إذا كان سيتم تحديد العقدة عند النقر على العقدة", + nodeKey: "كل عقدة شجرة تستخدم كخاصية للتعريف الفريد، ويجب أن تكون الشجرة بأكملها فريدة" + } + }, + fcEditor: { + name: "محرر", + props: { + disabled: "معطل" + } + }, + fcRow: { + name: "صف", + props: { + gutter: "فاصل الشبكة", + type: "وضع تخطيط Flex", + justify: "ترتيب أفقي تحت تخطيط Flex", + align: "ترتيب عمودي تحت تخطيط Flex" + } + }, + fcTable: { + name: "جدول", + props: { + border: "ما إذا كان سيتم عرض الحدود", + borderColor: "لون الحدود", + borderWidth: "عرض الحدود" + } + }, + fcTableGrid: { + name: "شبكة" + }, + group: { + name: "نموذج فر��ي", + props: { + disabled: "معطل", + syncDisabled: "ما إذا كان سيتم فرض مزامنة حالة التعطيل مع النموذج الفرعي", + expand: "تعيين العناصر الافتراضية للتوسيع", + button: "ما إذا كان سيتم عرض زر العملية", + sortBtn: "ما إذا كان سيتم عرض زر الفرز", + min: "تعيين الحد الأدنى لعدد العناصر للإضافة", + max: "تعيين الحد الأقصى لعدد العناصر للإضافة" + } + }, + html: { + name: "HTML", + props: { + formCreateNative: "ما إذا كان سيتم عرض العنوان", + formCreateTitle: "العنوان", + formCreateChild: "المحتوى" + } + }, + input: { + name: "إدخال", + event: { + change: "يتم تشغيله عند تغيير القيمة، عندما يفقد المكون التركيز أو يضغط المستخدم على Enter" + }, + props: { + type: "النوع", + maxlength: "الحد الأقصى لطول الإدخال", + minlength: "الحد الأدنى لطول الإدخال", + placeholder: "نص العنصر النائب", + clearable: "ما إذا كان سيتم عرض زر المسح", + disabled: "معطل", + readonly: "للقراءة فقط" + } + }, + inputNumber: { + name: "إدخال رقم", + props: { + precision: "دقة قيمة الإدخال", + min: "تعيين الحد الأدنى للقيمة المسموح بها للعداد", + max: "تعيين الحد الأقصى للقيمة المسموح بها للعداد", + step: "الخطوة", + stepStrictly: "ما إذا كان يمكن إدخال مضاعفات الخطوة فقط", + disabled: "معطل", + controls: "ما إذا كان سيتم استخدام أزرار التحكم", + controlsPosition: "موضع زر التحكم", + placeholder: "نص العنصر النائب" + } + }, + password: { + name: "كلمة المرور", + event: { + change: "يتم تشغيله عند تغيير القيمة، عندما يفقد المكون التركيز أو يضغط المستخدم على Enter" + }, + props: { + disabled: "معطل", + readonly: "للقراءة فقط", + maxlength: "الحد الأقصى لطول الإدخال", + minlength: "الحد الأدنى لطول الإدخال", + placeholder: "نص العنصر النائب", + clearable: "ما إذا كان سيتم عرض زر المسح" + } + }, + radio: { + name: "راديو", + props: { + input: "ما إذا كان سيتم ملء", + disabled: "معطل", + type: "النوع", + textColor: "لون النص عند تنشيط النموذج الزر", + fill: "لون التعبئة ولون الحدود عند تنشيط النموذج الزر" + } + }, + rate: { + name: "تقييم", + props: { + max: "الحد الأقصى للدرجة", + disabled: "معطل", + allowHalf: "ما إذا كان سيتم السماح بالتحديد النصفي", + voidColor: "لون الأيقونة عند عدم التحديد", + disabledVoidColor: "لون الأيقونة عند عدم التحديد عند القراءة فقط", + voidIconClass: "اسم فئة الأيقونة عند عدم التحديد", + disabledVoidIconClass: "اسم فئة الأيقونة عند عدم التحديد عند القراءة فقط", + showScore: "ما إذا كان سيتم عرض الدرجة الحالية", + textColor: "لون النص المساعد", + scoreTemplate: "قالب عرض الدرجة" + } + }, + select: { + name: "تحديد", + event: { + removeTag: "يتم تشغيله عند إزالة العلامة في وضع التحديد المتعدد" + }, + props: { + multiple: "ما إذا كان هناك تحديدات متعددة", + disabled: "معطل", + clearable: "ما إذا كان يمكن مسح الخيار", + collapseTags: "ما إذا كان سيتم عرض القيمة المحددة كنص أثناء التحديد المتعدد", + multipleLimit: "الحد الأقصى لعدد العناصر التي يمكن للمستخدم تحديدها عند التحديد المتعدد، إذا كان 0، فلا يوجد حد", + placeholder: "نص العنصر النائب", + filterable: "هل هو قابل للبحث", + allowCreate: "ما إذا كان سيتم السماح للمستخدمين بإنشاء إدخالات جديدة", + noMatchText: "النص المعروض عند عدم تطابق شروط البحث", + noDataText: "النص المعروض عند خلو الخيار", + reserveKeyword: "عند التحديد المتعدد القابل للبحث، ما إذا كان سيتم الاحتفاظ بالكلمة الرئيسية الحالية بعد تحديد خيار", + defaultFirstOption: "اضغط على Enter في مربع الإدخال وحدد العنصر الأول المطابق", + remote: "ما إذا كانت الخيارات محملة عن بُعد من الخادم", + remoteMethod: "طرق البحث البعيدة المخصصة" + } + }, + slider: { + name: "شريط التمرير", + props: { + min: "القيمة الدنيا", + max: "القيمة القصوى", + disabled: "معطل", + step: "الخطوة", + showInput: "ما إذا كان سيتم عرض مربع الإدخال، يكون صالحًا فقط أثناء التحديد غير النطاقي", + showInputControls: "ما إذا كان سيتم عرض أزرار التحكم في مربع الإدخال عند عرض مربع الإدخال", + showStops: "ما إذا كان سيتم عرض التوقفات", + range: "ما إذا كان تحديد النطاق", + vertical: "ما إذا كان الوضع الرأسي", + height: "ارتفاع شريط التمرير، مطلوب في الوضع الرأسي" + } + }, + space: { + name: "مساحة", + props: { + height: "الارتفاع" + } + }, + subForm: { + name: "مجموعة", + props: { + disabled: "معطل", + syncDisabled: "ما إذا كان سيتم فرض مزامنة حالة التعطيل مع النموذج الفرعي" + } + }, + switch: { + name: "مفتاح", + props: { + disabled: "معطل", + width: "العرض (بكسل)", + activeText: "وصف النص عند الفتح", + inactiveText: "وصف النص عند الإغلاق", + activeValue: "القيمة عند الفتح", + inactiveValue: "القيمة عند الإغلاق", + activeColor: "لون الخلفية عند الفتح", + inactiveColor: "لون الخلفية عند الإغلاق" + } + }, + tableForm: { + name: "نموذج الجدول", + props: { + disabled: "معطل", + max: "الحد الأقصى لعدد الصفوف التي يمكن إضافتها، إذا كان 0، فلا يوجد حد" + } + }, + tableFormColumn: { + name: "عمود نموذج الجدول", + label: "عمود نموذج الجدول", + props: { + label: "العنوان", + width: "العرض", + color: "اللون" + } + }, + text: { + name: "نص", + props: { + formCreateNative: "ما إذا كان سيتم عرض العنوان", + formCreateTitle: "العنوان", + formCreateChild: "المحتوى" + } + }, + textarea: { + name: "منطقة النص", + event: { + change: "يتم تشغيله عند تغيير القيمة، عندما يفقد المكون التركيز أو يضغط المستخدم على Enter" + }, + props: { + disabled: "معطل", + readonly: "للقراءة فقط", + maxlength: "الحد الأقصى لطول الإدخال", + minlength: "الحد الأدنى لطول الإدخال", + showWordLimit: "ما إذا كان سيتم عرض إحصائيات عدد الكلمات", + placeholder: "نص العنصر النائب", + rows: "عدد صفوف مربع الإدخال", + autosize: "ما إذا كان الارتفاع يتكيف تلقائيًا" + } + }, + timePicker: { + name: "الوقت", + props: { + pickerOptions: "خيارات محددة لمنتقي الوقت والتاريخ الحالي", + readonly: "للقراءة فقط", + disabled: "معطل", + editable: "يمكن إدخال النص في مربع النص", + clearable: "ما إذا كان سيتم عرض زر المسح", + placeholder: "نص العنصر النائب للتحديد غير النطاقي", + startPlaceholder: "نص العنصر النائب لتاريخ البدء عند تحديد النطاق", + endPlaceholder: "نص العنصر النائب لتاريخ البدء عند تحديد النطاق", + isRange: "ما إذا كان سيتم تحديد نطاق زمني", + arrowControl: "ما إذا كان سيتم استخدام الأسهم لتحديد الوقت", + align: "المحاذاة" + } + }, + tree: { + name: "شجرة", + event: { + nodeClick: "يتم تشغيله عند النقر على العقدة", + nodeContextmenu: "سيتم تشغيل هذا الحدث عند النقر بزر الماوس الأيمن على عقدة", + checkChange: "يتم تشغيله عند النقر على مربع الاختيار", + check: "يتم تشغيله بعد النقر على مربع اختيار العقدة", + currentChange: "الحدث الذي يتم تشغيله عند تغيير العقدة المحددة حاليًا", + nodeExpand: "الحدث الذي يتم تشغيله عند توسيع العقدة", + nodeCollapse: "الحدث الذي يتم تشغيله عند إغلاق العقدة", + nodeDragStart: "الحدث الذي يتم تشغيله عند بدء سحب العقدة", + nodeDragEnter: "الحدث الذي يتم تشغيله عند السحب إلى عقد أخرى", + nodeDragLeave: "الحدث الذي يتم تشغيله عند مغادرة عقدة أثناء السحب", + nodeDragOver: "الحدث الذي يتم تشغيله عند سحب عقدة", + nodeDragEnd: "الحدث الذي يتم تشغيله عند انتهاء السحب", + nodeDrop: "الحدث الذي يتم تشغيله عند اكتمال السحب والإفلات بنجاح" + }, + props: { + emptyText: "النص المعروض عند خلو المحتوى", + props: "خيارات", + renderAfterExpand: "ما إذا كان سيتم عرض العقد الفرعية بعد توسيع عقدة الشجرة لأول مرة", + defaultExpandAll: "ما إذا كان سيتم توسيع جميع العقد افتراضيًا", + expandOnClickNode: "ما إذا كان سيتم توسيع أو تقليص ال��قدة عند النقر على العقدة، إذا كان false، فسيتم توسيع أو تقليص العقدة فقط عند النقر على رمز السهم.", + checkOnClickNode: "ما إذا كان سيتم تحديد العقدة عند النقر على العقدة", + autoExpandParent: "ما إذا كان سيتم توسيع العقدة الأصلية تلقائيًا عند توسيع العقدة الفرعية", + checkStrictly: "عند عرض مربع الاختيار، ما إذا كان يجب اتباع عدم ارتباط الوالدين والأطفال ببعضهم البعض بشكل صارم", + accordion: "ما إذا كان سيتم فتح عقدة شجرة واحدة فقط للتوسيع في كل مرة", + indent: "المسافة البادئة الأفقية (بكسل) بين العقد ذات المستوى المجاور", + nodeKey: "كل عقدة شجرة تستخدم كخاصية للتعريف الفريد، ويجب أن تكون الشجرة بأكملها فريدة" + } + }, + upload: { + name: "تحميل", + info: "تعيين عنوان URL الذي تم إرجاعه بواسطة الواجهة إلى file.url في طريقة onSuccess", + event: { + remove: "يتم تشغيله عند إزالة ملف من قائمة الملفات" + }, + props: { + listType: "نوع التحميل", + multiple: "ما إذا كان يدعم تحديد ملفات متعددة", + action: "عنوان التحميل (مطلوب)", + beforeUpload: "خطاف قبل تحميل الملف", + onSuccess: "استدعاء النجاح عند التحميل", + headers: "تعيين رؤوس طلب التحميل", + data: "معلمات إضافية مرفقة عند التحميل", + name: "اسم حقل الملف المحمل", + withCredentials: "دعم إرسال معلومات اعتماد ملفات تعريف الارتباط", + accept: "أنواع الملفات المقبولة للتحميل", + autoUpload: "ما إذا كان سيتم تحميل الملف فورًا بعد تحديده", + disabled: "معطل", + limit: "الحد الأقصى لعدد التحميلات المسموح بها" + } + } + } +} diff --git a/web/src/view/systemTools/formCreate/locale/en.js b/web/src/view/systemTools/formCreate/locale/en.js new file mode 100644 index 000000000..e8a79cccf --- /dev/null +++ b/web/src/view/systemTools/formCreate/locale/en.js @@ -0,0 +1,780 @@ +export default { + name: "en", + form: { + field: "Field", + title: "Title", + info: "Info", + control: "Control", + labelPosition: "Label position", + labelStyle: "Label style", + labelSuffix: "Label suffix", + size: "Form size", + event: "Form event", + labelWidth: "Label width", + hideRequiredAsterisk: "Hide the red asterisk next to the label of a required field", + showMessage: "Display verification error message", + inlineMessage: "Display validation information inline", + submitBtn: "Whether to display the form submit button", + resetBtn: "Whether to display the form reset button", + appendChild: "Insert child", + formMode: "Form mode", + formName: "Form name", + componentMode: "Component", + document: "Document" + }, + computed: { + fieldUsed: "[{label}] Is used in the calculation formula, please modify the corresponding formula first", + fieldExist: "[{label}] Field already exists", + fieldEmpty: "Field is required", + fieldChar: "Field must begin with a letter" + }, + validate: { + type: "Type", + typePlaceholder: "Please select", + trigger: "Trigger", + mode: "Verification method", + modes: { + required: "required", + pattern: "pattern", + validator: "validator", + min: "min", + max: "max", + len: "length" + }, + types: { + string: "String", + array: "Multiple", + number: "Number", + integer: "Integer", + float: "Float", + object: "Collection", + date: "Date", + url: "Url", + email: "Email" + }, + message: "Error", + auto: "Automatic", + autoRequired: "Please enter {title}", + autoMode: "Please enter the correct {title}", + requiredPlaceholder: "Please enter", + required: "Is it required", + rule: "Validation" + }, + tableOptions: { + handle: "Operation", + add: "Add", + empty1: "Click the lower right corner", + empty2: "Button to add a column", + rmCol: "Delete current column", + rmRow: "Delete current row", + splitRow: "Split into rows", + splitCol: "Split into columns", + mergeBottom: "Merge downward", + mergeRight: "Merge right", + addTop: "Add top column", + addBottom: "Add the following", + addLeft: "Add left column", + addRight: "Add right column", + keyValue: "key-value" + }, + struct: { + title: "Edit", + only: "[{label}] Only one allowed to be added", + errorMsg: "The input content is syntactically incorrect", + configured: "Configured" + }, + event: { + title: "Edit", + create: "Create", + list: "List", + placeholder: "Please enter the name of the event", + saveMsg: "Please save the event currently being edited", + type: "Type", + info: "Info", + label: "Field", + inject: { + api: "API of current form", + rule: "Generate rules for the current form", + self: "Component generation rule", + option: "Form configuration", + args: "Original parameters of event" + } + }, + fetch: { + title: "Set data", + create: "Create data", + config: "Request", + action: "Action", + actionRequired: "Please enter the correct link", + placeholder: "Please enter the name of the data source", + method: "Method", + data: "Attached", + headers: "Headers", + parse: "Processing", + response: "Data returned by the interface", + onError: "onError", + remote: "Remote", + static: "Static", + optionsType: { + fetch: "Fetch", + struct: "Static" + } + }, + style: { + width: "Width", + height: "Height", + color: "Color", + backgroundColor: "Background color", + margin: "Margin", + padding: "Padding", + borderRadius: "Border radius", + border: "Border", + solid: "Solid", + dashed: "Dashed", + dotted: "Dotted", + double: "Double", + opacity: "Opacity", + scale: "Scale", + shadow: { + name: "Shadow", + x: "x-axis offset", + y: "y-axis offset", + vague: "blurred radius", + extend: "diffusion radius", + inset: "inward", + external: "outward", + mode: "Mode", + classic: "Classic", + flat: "Flat", + solid: "Stereoscopic" + }, + font: { + name: "Font", + size: "Size", + align: "Align", + height: "line-height", + spacing: "letter-spacing", + preview: "Preview" + }, + decoration: { + name: "Decoration", + underline: "underline", + "line-through": "line-through", + overline: "overline" + }, + weight: { + name: "font-weight", + 300: "Fine", + 400: "Default", + 500: "Medium", + 700: "Bold" + } + }, + designer: { + component: "Component", + id: "Unique id", + name: "Serial number", + type: "Type", + form: "Form", + style: "Style", + rule: "Basis", + advanced: "Advanced", + props: "Props", + validate: "Validate", + event: "Event", + clearWarn: "It cannot be restored after clearing it. Are you sure you want to clear it? ", + childEmpty: "Click the \\e789 button in the lower right corner to add a column", + dragEmpty: "Drag the components from the list on the left here", + unload: "Are you sure you want to leave the current page?" + }, + menu: { + main: "Basic", + aide: "Auxiliary", + layout: "Layout", + component: "Component", + subform: "Subform", + tree: "Structure" + }, + props: { + disabled: "disabled", + time: "time", + email: "email", + number: "number", + globalData: "Global data", + mobile: "Mobile", + pc: "Pc", + reactive: "Reactive", + title: "Title", + content: "Content", + collection: "Collection", + group: "Group", + custom: "Custom", + change: "Change", + blur: "Blur", + preview: "Preview", + clear: "Clear", + cancel: "Cancel", + close: "Close", + ok: "Ok", + save: "Save", + refresh: "Refresh", + submit: "Submit", + reset: "Reset", + copy: "Copy", + delete: "Delete", + hide: "Hidden", + show: "Show", + position: "Position", + render: "Render", + large: "large", + default: "default", + small: "small", + always: "always", + never: "never", + hover: "hover", + click: "click", + button: "button", + year: "year", + month: "month", + date: "date", + dates: "dates", + week: "week", + datetime: "datetime", + "datetime-local": "datetime", + datetimerange: "datetimerange", + daterange: "daterange", + monthrange: "monthrange", + left: "left", + right: "right", + top: "top", + text: "text", + picture: "picture", + "picture-card": "picture-card", + center: "center", + vertical: "vertical", + horizontal: "horizontal", + manage: "Manage", + key: "key", + name: "Name", + value: "value", + inputData: "Default value", + append: "Append", + options: "Options", + option: "Option", + callback: "Callback", + _self: "Current Window", + _blank: "New Window", + _parent: "Parent Window", + _top: "Top Window" + }, + com: { + cascader: { + name: "Cascader", + event: { + expandChange: "Triggered when the expanded node changes", + removeTag: "In multi-select mode, triggered when Tag is removed" + }, + props: { + props: "Options", + placeholder: "Placeholder", + disabled: "Disabled", + clearable: "Whether clearing options are supported", + showAllLevels: "Whether the full path of the selected value is displayed in the input box", + collapseTags: "Whether to collapse Tags in multi-select mode", + collapseTagsTooltip: "Whether to display all selected tags when the mouse hovers over the text of a collapsed tag", + separator: "Separator", + filterable: "Whether this option can be searched", + tagType: "Type" + }, + propsOpt: { + multiple: "Whether there are multiple selections", + expandTrigger: "How to expand the secondary menu", + checkStrictly: "Whether it is strictly observed that parent and child nodes are not related to each other", + emitPath: "When the selected node changes, whether to return an array consisting of the values of the menus at each level where the node is located", + value: "The value of the specified option is an attribute value of the option object", + label: "Specify the option label as a certain attribute value of the option object", + children: "The child option of the specified option is a certain attribute value of the option object", + disabled: "The specified option is disabled as a certain attribute value of the option object", + leaf: "The flag bit of the leaf node of the specified option is an attribute value of the option object" + } + }, + checkbox: { + name: "Checkbox", + props: { + input: "Whether to fill in", + type: "Type", + disabled: "Disabled", + min: "Minimum number that can be checked", + max: "The maximum number that can be checked", + textColor: "Font color when the button is active", + fill: "Border and background color when the button is active" + } + }, + col: { + name: "Col", + props: { + span: "Number of columns occupied by grid", + offset: "Number of spaces on the left side of the grid", + push: "Move the grid to the right by the number of cells", + pull: "Move the grid to the left by the number of cells" + } + }, + colorPicker: { + name: "ColorPicker", + event: { + activeChange: "Triggered when the color currently displayed in the panel changes" + }, + props: { + disabled: "Disabled", + showAlpha: "Whether transparency selection is supported", + colorFormat: "Color format", + predefine: "Predefined color" + } + }, + datePicker: { + name: "Date", + props: { + pickerOptions: "Options specific to the current time and date picker", + readonly: "Readonly", + disabled: "Disabled", + type: "Type", + editable: "Text box can be input", + clearable: "Whether to display the clear button", + placeholder: "Placeholder content for non-range selection", + startPlaceholder: "Placeholder content for the start date when selecting the range", + endPlaceholder: "Placeholder content for the end date when selecting a range", + format: "Format displayed in the input box", + align: "Alignment", + rangeSeparator: "Separator when selecting range", + unlinkPanels: "Unlink the two date panels in the range selector" + } + }, + dateRange: { + name: "DateRange" + }, + timeRange: { + name: "TimeRange" + }, + elAlert: { + name: "Alert", + description: "Description", + props: { + title: "Title", + type: "Type", + description: "Supporting text", + closable: "Whether it can be closed", + center: "Whether the text is centered", + closeText: "Close button custom text", + showIcon: "Whether to display the icon", + effect: "Select a provided theme" + } + }, + elButton: { + name: "Button", + props: { + formCreateChild: "Content", + size: "Size", + type: "Type", + plain: "Whether the button is plain", + round: "Whether the button has rounded corners", + circle: "Whether the button is round", + loading: "Whether it is loading status", + disabled: "Disabled" + } + }, + elCard: { + name: "Card", + props: { + header: "Title", + shadow: "Shadow display timing" + } + }, + elCollapse: { + name: "Collapse", + event: { + change: "Switch the currently active panel, its type is string in accordion mode and array in other modes" + }, + props: { + accordion: "Whether it is in accordion mode" + } + }, + elCollapseItem: { + name: "CollapseItem", + props: { + title: "Panel title", + name: "Identifier", + disabled: "Disabled" + } + }, + elDivider: { + name: "Divider", + props: { + formCreateChild: "Set Content", + contentPosition: "Set content position" + } + }, + elTabPane: { + name: "TabPane", + props: { + label: "Title", + disabled: "Disabled", + name: "Identifier of the tab", + lazy: "Whether the label is delayed in rendering" + } + }, + elTabs: { + name: "Tabs", + event: { + tabClick: "Triggered when tab is selected", + tabChange: "Triggered when activeName changes", + tabRemove: "Triggered when the tab remove button is clicked", + tabAdd: "Triggered when a new tab button is clicked", + edit: "Triggered after clicking the add or remove button of the tab" + }, + props: { + type: "Type", + closable: "Whether the label can be closed", + tabPosition: "Tab position", + stretch: "Whether the width of the label is self-stretching" + } + }, + elTag: { + name: "Tag", + props: { + formCreateNative: "Whether to display title", + formCreateTitle: "Title", + formCreateChild: "Content", + type: "Type", + size: "Label size", + effect: "Label theme", + closable: "Whether it can be closed", + disableTransitions: "Whether to disable gradient animation", + hit: "Whether there is a border stroke", + round: "Whether it is round", + color: "Background color" + } + }, + elTransfer: { + name: "Transfer", + event: { + leftCheckChange: "Triggered when the left list element is selected/unselected by the user", + rightCheckChange: "Triggered when the right list element is selected/unselected by the user" + }, + props: { + filterable: "Is it searchable", + filterPlaceholder: "Search box placeholder", + targetOrder: "Sort strategy of list elements on the right", + targetOrderInfo: "If it is original, keep the same order as the data; if it is push, the newly added elements will be ranked last; if it is unshift, the newly added elements will be ranked first", + titles: "Title", + buttonTexts: "Set button content", + props: "Field alias of data source" + } + }, + elTreeSelect: { + name: "TreeSelect", + event: { + removeTag: "Triggered when tag is removed in multi-select mode" + }, + props: { + multiple: "Whether there are multiple selections", + disabled: "Disabled", + clearable: "Whether the option can be cleared", + collapseTags: "Whether to display the selected value as text during multi-selection", + multipleLimit: "The maximum number of items that the user can select during multiple selection, if it is 0, there is no limit", + placeholder: "Placeholder", + props: "Options", + renderAfterExpand: "Whether to render its child nodes after expanding a tree node for the first time", + defaultExpandAll: "Whether to expand all nodes by default", + expandOnClickNode: "Whether to expand or shrink nodes when clicking on them", + checkOnClickNode: "Whether to select the node when clicking the node", + nodeKey: "Each tree node is used as an attribute for unique identification, and the entire tree should be unique" + } + }, + fcEditor: { + name: "Editor", + props: { + disabled: "Disabled" + } + }, + fcRow: { + name: "Row", + props: { + gutter: "Grid interval", + type: "Flex layout mode", + justify: "Horizontal arrangement under flex layout", + align: "Vertical arrangement under flex layout" + } + }, + fcTable: { + name: "Table", + props: { + border: "Whether to display border", + borderColor: "Border color", + borderWidth: "Border width" + } + }, + fcTableGrid: { + name: "Grid" + }, + group: { + name: "Subform", + props: { + disabled: "Disabled", + syncDisabled: "Whether to force synchronization of the disabled state with the subform", + expand: "Set the default expansion items", + button: "Whether to display the operation button", + sortBtn: "Whether to display the sort button", + min: "Set the minimum number of items to add", + max: "Set the maximum number of items to add" + } + }, + html: { + name: "HTML", + props: { + formCreateNative: "Whether to display title", + formCreateTitle: "Title", + formCreateChild: "Content" + } + }, + input: { + name: "Input", + event: { + change: "Triggered when the value changes, when the component loses focus or the user presses Enter" + }, + props: { + type: "Type", + maxlength: "Maximum input length", + minlength: "Minimum input length", + placeholder: "Placeholder", + clearable: "Whether to display the clear button", + disabled: "Disabled", + readonly: "Readonly" + } + }, + inputNumber: { + name: "InputNumber", + props: { + precision: "Precision of input value", + min: "Set the minimum value allowed for the counter", + max: "Set the maximum allowed value of the counter", + step: "Step", + stepStrictly: "Whether only multiples of step can be entered", + disabled: "Disabled", + controls: "Whether to use control buttons", + controlsPosition: "Control button position", + placeholder: "Placeholder" + } + }, + password: { + name: "Password", + event: { + change: "Triggered when the value changes, when the component loses focus or the user presses Enter" + }, + props: { + disabled: "Disabled", + readonly: "Readonly", + maxlength: "Maximum input length", + minlength: "Minimum input length", + placeholder: "Placeholder", + clearable: "Whether to display the clear button" + } + }, + radio: { + name: "Radio", + props: { + input: "Whether to fill in", + disabled: "Disabled", + type: "Type", + textColor: "Text color when button form is activated", + fill: "Fill color and border color when the button form is activated" + } + }, + rate: { + name: "Rate", + props: { + max: "Maximum score", + disabled: "Disabled", + allowHalf: "Whether to allow half selection", + voidColor: "Color of the icon when not selected", + disabledVoidColor: "The color of the icon when it is not selected when read-only", + voidIconClass: "Class name of the icon when not selected", + disabledVoidIconClass: "The class name of the icon when it is not selected when read-only", + showScore: "Whether to display the current score", + textColor: "Color of auxiliary text", + scoreTemplate: "Score display template" + } + }, + select: { + name: "Select", + event: { + removeTag: "Triggered when tag is removed in multi-select mode" + }, + props: { + multiple: "Whether there are multiple selections", + disabled: "Disabled", + clearable: "Whether the option can be cleared", + collapseTags: "Whether to display the selected value as text during multi-selection", + multipleLimit: "The maximum number of items that the user can select when multiple-selecting, if it is 0, there is no limit", + placeholder: "Placeholder", + filterable: "Is it searchable", + allowCreate: "Whether users are allowed to create new entries", + noMatchText: "Text displayed when no search conditions match", + noDataText: "Text displayed when option is empty", + reserveKeyword: "When multiple selections are searchable, whether to retain the current search keyword after selecting an option", + defaultFirstOption: "Press Enter in the input box and select the first matching item", + remote: "Whether the options are loaded remotely from the server", + remoteMethod: "Custom remote search methods" + } + }, + slider: { + name: "Slider", + props: { + min: "Minimum value", + max: "Maximum value", + disabled: "Disabled", + step: "Step", + showInput: "Whether to display the input box, it is only valid during non-range selection", + showInputControls: "Whether to display the control buttons of the input box when the input box is displayed", + showStops: "Whether to display discontinuities", + range: "Whether it is a range selection", + vertical: "Whether portrait mode", + height: "Slider height, required in portrait mode" + } + }, + space: { + name: "Space", + props: { + height: "Height" + } + }, + subForm: { + name: "Group", + props: { + disabled: "Disabled", + syncDisabled: "Whether to force synchronization of the disabled state with the subform" + } + }, + switch: { + name: "Switch", + props: { + disabled: "Disabled", + width: "Width (px)", + activeText: "Text description when opening", + inactiveText: "Text description when closing", + activeValue: "Value when opening", + inactiveValue: "Value when closed", + activeColor: "Background color when opening", + inactiveColor: "Background color when closed" + } + }, + tableForm: { + name: "TableForm", + props: { + disabled: "Disabled", + max: "Maximum number of rows to add, if 0, there is no limit" + } + }, + tableFormColumn: { + name: "TableFormColumn", + label: "TableFormColumn", + props: { + label: "Title", + width: "Width", + color: "Color" + } + }, + text: { + name: "Text", + props: { + formCreateNative: "Whether to display title", + formCreateTitle: "Title", + formCreateChild: "Content" + } + }, + textarea: { + name: "Textarea", + event: { + change: "Triggered when the value changes, when the component loses focus or the user presses Enter" + }, + props: { + disabled: "Disabled", + readonly: "Readonly", + maxlength: "Maximum input length", + minlength: "Minimum input length", + showWordLimit: "Whether to display word count statistics", + placeholder: "Placeholder", + rows: "Number of input box rows", + autosize: "Whether the height is adaptive" + } + }, + timePicker: { + name: "Time", + props: { + pickerOptions: "Options specific to the current time and date picker", + readonly: "Readonly", + disabled: "Disabled", + editable: "Text box can be input", + clearable: "Whether to display the clear button", + placeholder: "Placeholder content for non-range selection", + startPlaceholder: "Placeholder content for the start date when selecting the range", + endPlaceholder: "Placeholder content for the start date when selecting the range", + isRange: "Whether to select a time range", + arrowControl: "Whether to use arrows for time selection", + align: "Align" + } + }, + tree: { + name: "Tree", + event: { + nodeClick: "Triggered when the node is clicked", + nodeContextmenu: "This event will be triggered when a node is right-clicked", + checkChange: "Triggered when the check box is clicked", + check: "Triggered after clicking the node checkbox", + currentChange: "Event triggered when the currently selected node changes", + nodeExpand: "Event triggered when a node is expanded", + nodeCollapse: "Event triggered when a node is closed", + nodeDragStart: "Event triggered when a node starts dragging", + nodeDragEnter: "Event triggered when dragging into other nodes", + nodeDragLeave: "Event triggered when dragging leaves a node", + nodeDragOver: "Event triggered when dragging a node", + nodeDragEnd: "Event triggered when drag ends", + nodeDrop: "Event triggered when drag and drop is successfully completed" + }, + props: { + emptyText: "Text displayed when the content is empty", + props: "Options", + renderAfterExpand: "Whether to render its child nodes after expanding a tree node for the first time", + defaultExpandAll: "Whether to expand all nodes by default", + expandOnClickNode: "Whether to expand or contract the node when clicking the node, if it is false, the node will only be expanded or contracted when the arrow icon is clicked. ", + checkOnClickNode: "Whether to select the node when clicking the node", + autoExpandParent: "Whether to automatically expand the parent node when expanding the child node", + checkStrictly: "When the check box is displayed, whether the parent and child are strictly not related to each other should be strictly followed", + accordion: "Whether to open only one sibling tree node for expansion at a time", + indent: "Horizontal indent (px) between adjacent level nodes", + nodeKey: "Each tree node is used as an attribute for unique identification, and the entire tree should be unique" + } + }, + upload: { + name: "Upload", + info: "Assign the url returned by the interface to file.url in the onSuccess method", + event: { + remove: "Triggered when a file is removed from the file list" + }, + props: { + listType: "Upload type", + multiple: "Whether multiple selection of files is supported", + action: "Upload address (required)", + beforeUpload: "Hook before uploading file", + onSuccess: "Upload success callback", + headers: "Set upload request headers", + data: "Extra parameters attached when uploading", + name: "Uploaded file field name", + withCredentials: "Support sending cookie credential information", + accept: "Accept uploaded file types", + autoUpload: "Whether to upload the file immediately after selecting it", + disabled: "Disabled", + limit: "Maximum number of uploads allowed" + } + } + } +} diff --git a/web/src/view/systemTools/formCreate/locale/zh_cn.js b/web/src/view/systemTools/formCreate/locale/zh_cn.js new file mode 100644 index 000000000..7d3875f22 --- /dev/null +++ b/web/src/view/systemTools/formCreate/locale/zh_cn.js @@ -0,0 +1,780 @@ +export default { + name: "zh-cn", + form: { + field: "字段 ID", + title: "字段名称", + info: "提示信息", + control: "联动数据", + labelPosition: "标签的位置", + labelStyle: "标签的样式", + labelSuffix: "标签的后缀", + size: "表单的尺寸", + event: "表单事件", + labelWidth: "标签的宽度", + hideRequiredAsterisk: "隐藏必填字段的标签旁边的红色星号", + showMessage: "显示校验错误信息", + inlineMessage: "以行内形式展示校验信息", + submitBtn: "是否显示表单提交按钮", + resetBtn: "是否显示表单重置按钮", + appendChild: "添加子级", + formMode: "表单模式", + formName: "表单名称", + componentMode: "生成组件", + document: "帮助文档" + }, + computed: { + fieldUsed: "【{label}】在计算公式中被使用,请先修改对应公式", + fieldExist: "【{label}】字段已存在", + fieldEmpty: "字段名称不能为空", + fieldChar: "字段名称必须以字母开头" + }, + validate: { + type: "字段类型", + typePlaceholder: "请选择", + trigger: "触发方式", + mode: "验证方式", + modes: { + required: "必填", + pattern: "正则表达式", + validator: "自定义验证", + min: "最小值", + max: "最大值", + len: "长度" + }, + types: { + string: "字符串", + array: "多选", + number: "数字", + integer: "整数", + float: "小数", + object: "合集", + date: "日期", + url: "URL链接", + email: "邮箱地址" + }, + message: "错误信息", + auto: "自动获取", + autoRequired: "请输入{title}", + autoMode: "请输入正确的{title}", + requiredPlaceholder: "请输入提示语", + required: "是否必填", + rule: "验证规则" + }, + tableOptions: { + handle: "操作", + add: "添加", + empty1: "点击右下角", + empty2: "按钮添加一列", + rmCol: "删除当前列", + rmRow: "删除当前行", + splitRow: "拆分成行", + splitCol: "拆分成列", + mergeBottom: "向下合并", + mergeRight: "向右合并", + addTop: "添加上列", + addBottom: "添加下列", + addLeft: "添加左列", + addRight: "添加右列", + keyValue: "键值对" + }, + struct: { + title: "编辑数据", + only: "【{label}】只允许添加一个", + errorMsg: "输入的内容语法错误", + configured: "已配置" + }, + event: { + title: "设置事件", + create: "创建事件", + list: "事件列表", + placeholder: "请输入事件的名称", + saveMsg: "请先保存当前正在编辑的事件", + type: "类型", + info: "说明", + label: "字段", + inject: { + api: "当前表单的api", + rule: "当前表单的生成规则", + self: "组件的生成规则", + option: "表单的配置", + args: "事件的原始参数" + } + }, + fetch: { + title: "设置数据源", + create: "创建数据源", + config: "请求配置", + action: "请求链接", + actionRequired: "请输入正确的链接", + placeholder: "请输入数据源的名称", + method: "请求方式", + data: "附带数据", + headers: "请求头部", + parse: "数据处理", + response: "接口返回的数据", + onError: "错误处理", + remote: "远程数据", + static: "静态数据", + optionsType: { + fetch: "远程数��", + struct: "静态数据" + } + }, + style: { + width: "宽度", + height: "高度", + color: "颜色", + backgroundColor: "背景色", + margin: "外边距", + padding: "内边距", + borderRadius: "圆角", + border: "边框", + solid: "实线", + dashed: "虚线", + dotted: "点状虚线", + double: "双实线", + opacity: "透明度", + scale: "缩放", + shadow: { + name: "阴影", + x: "x轴偏移量", + y: "y轴偏移量", + vague: "模糊半径", + extend: "扩散半径", + inset: "向内", + external: "向外", + mode: "模式", + classic: "经典", + flat: "扁平", + solid: "立体" + }, + font: { + name: "字体", + size: "大小", + align: "对齐方式", + height: "行高", + spacing: "字间距", + preview: "样式预览" + }, + decoration: { + name: "修饰", + underline: "下划线", + "line-through": "删除线", + overline: "上划线" + }, + weight: { + name: "粗细", + 300: "细体", + 400: "常规体", + 500: "中黑体", + 700: "中粗体" + } + }, + designer: { + component: "组件配置", + id: "唯一值", + name: "编号", + type: "组件类型", + form: "表单配置", + style: "组件样式配置", + rule: "基础配置", + advanced: "高级配置", + props: "属性配置", + validate: "验证配置", + event: "事件配置", + clearWarn: "清空后将不能恢复,确定要清空吗?", + childEmpty: "点击右下角 \\e789 按钮添加一列", + dragEmpty: "拖拽左侧列表中的组件到此处", + unload: "确定离开当前页面吗?" + }, + menu: { + main: "基础组件", + aide: "辅助组件", + layout: "布局组件", + component: "组件", + subform: "子表单组件", + tree: "大纲" + }, + props: { + disabled: "禁用", + time: "时间", + email: "邮箱", + number: "数字", + globalData: "全局数据", + mobile: "移动端", + reactive: "响应式", + pc: "电脑端", + title: "标题", + content: "内容", + collection: "合集", + group: "分组", + custom: "自定义", + change: "改变", + blur: "失去焦点", + preview: "预览", + clear: "清空", + cancel: "取消", + close: "关闭", + ok: "确定", + save: "保存", + refresh: "刷新", + submit: "提交", + reset: "重置", + copy: "复制", + delete: "删除", + hide: "隐藏", + show: "显示", + position: "位置", + render: "渲染", + large: "大", + default: "默认", + small: "小", + always: "常显", + never: "不显示", + hover: "悬浮", + click: "点击", + button: "按钮", + year: "年份", + month: "月份", + date: "日期", + dates: "日期多选", + week: "一周", + datetime: "日期时间", + "datetime-local": "日期时间", + datetimerange: "日期时间区间", + daterange: "日期区间", + monthrange: "月份区间", + left: "左对齐", + right: "右对齐", + top: "顶部", + text: "文字", + picture: "图片", + "picture-card": "卡片", + center: "居中", + vertical: "竖向", + horizontal: "横向", + manage: "管理", + key: "键名", + name: "名称", + value: "值", + inputData: "默认值", + append: "插入", + options: "选项数据", + option: "选项", + callback: "回调", + _self: "当前窗口", + _blank: "新的窗口", + _parent: "父级窗口", + _top: "顶级窗口" + }, + com: { + cascader: { + name: "级联选择器", + event: { + expandChange: "当展开节点发生变化时触发", + removeTag: "在多选模式下,移除Tag时触发" + }, + props: { + props: "配置选项", + placeholder: "输入框占位文本", + disabled: "是否禁用", + clearable: "是否支持清空选项", + showAllLevels: "输入框中是否显示选中值的完整路径", + collapseTags: "多选模式下是否折叠Tag", + collapseTagsTooltip: "当鼠标悬停于折叠标签的文本时,是否显示所有选中的标签", + separator: "选项分隔符", + filterable: "该选项是否可以被搜索", + tagType: "标签类型" + }, + propsOpt: { + multiple: "是否���选", + expandTrigger: "次级菜单的展开方式", + checkStrictly: "是否严格的遵守父子节点不互相关联", + emitPath: "在选中节点改变时,是否返回由该节点所在的各级菜单的值所组成的数组", + value: "指定选项的值为选项对象的某个属性值", + label: "指定选项标签为选项对象的某个属性值", + children: "指定选项的子选项为选项对象的某个属性值", + disabled: "指定选项的禁用为选项对象的某个属性值", + leaf: "指定选项的叶子节点的标志位为选项对象的某个属性值" + } + }, + checkbox: { + name: "多选框", + props: { + input: "是否可以填写", + type: "按钮类型", + disabled: "是否禁用", + min: "可被选中的最小数量", + max: "可被选中的最大数量", + textColor: "当按钮为活跃状态时的字体颜色", + fill: "当按钮为活跃状态时的边框和背景颜色" + } + }, + col: { + name: "布局格子", + props: { + span: "栅格占据的列数", + offset: "栅格左侧的间隔格数", + push: "栅格向右移动格数", + pull: "栅格向左移动格数" + } + }, + colorPicker: { + name: "颜色选择器", + event: { + activeChange: "面板中当前显示的颜色发生变化时触发" + }, + props: { + disabled: "是否禁用", + showAlpha: "是否支持透明度选择", + colorFormat: "颜色的格式", + predefine: "预定义颜色" + } + }, + datePicker: { + name: "日期", + props: { + pickerOptions: "当前时间日期选择器特有的选项", + readonly: "完全只读", + disabled: "禁用", + type: "显示类型", + editable: "文本框可输入", + clearable: "是否显示清除按钮", + placeholder: "非范围选择时的占位内容", + startPlaceholder: "范围选择时开始日期的占位内容", + endPlaceholder: "范围选择时结束日期的占位内容", + format: "显示在输入框中的格式", + align: "对齐方式", + rangeSeparator: "选择范围时的分隔符", + unlinkPanels: "在范围选择器里取消两个日期面板之间的联动" + } + }, + dateRange: { + name: "日期区间" + }, + timeRange: { + name: "时间区间" + }, + elAlert: { + name: "提示", + description: "说明文字", + props: { + title: "标题", + type: "主题", + description: "辅助性文字", + closable: "是否可关闭", + center: "文字是否居中", + closeText: "关闭按钮自定义文本", + showIcon: "是否显示图标", + effect: "选择提供的主题" + } + }, + elButton: { + name: "按钮", + props: { + formCreateChild: "内容", + size: "尺寸", + type: "类型", + plain: "是否朴素按钮", + round: "是否圆角按钮", + circle: "是否圆形按钮", + loading: "是否加载中状态", + disabled: "是否禁用状态" + } + }, + elCard: { + name: "卡片", + props: { + header: "标题", + shadow: "阴影显示时机" + } + }, + elCollapse: { + name: "折叠面板", + event: { + change: "切换当前活跃面板,在手风琴模式下其类型是string,在其他模式下是array" + }, + props: { + accordion: "是否手风琴模式" + } + }, + elCollapseItem: { + name: "面板", + props: { + title: "面板标题", + name: "唯一标志符", + disabled: "是否禁用" + } + }, + elDivider: { + name: "分割线", + props: { + formCreateChild: "设置分割线文案", + contentPosition: "设置分割线文案的位置" + } + }, + elTabPane: { + name: "选项卡", + props: { + label: "选项卡标题", + disabled: "是否禁用", + name: "选项卡的标识符", + lazy: "标签是否延迟渲染" + } + }, + elTabs: { + name: "标签页", + event: { + tabClick: "tab 被选中时触发", + tabChange: "activeName 改变时触发", + tabRemove: "点击 tab 移除按钮时触发", + tabAdd: "点击 tab 新增按钮时触发", + edit: "点击 tab 的新增或移除按钮后触发" + }, + props: { + type: "风格类型", + closable: "标签是否可关闭", + tabPosition: "选项卡所在位置", + stretch: "标签的宽度是否自撑开" + } + }, + elTag: { + name: "标签", + props: { + formCreateNative: "是否显示标题", + formCreateTitle: "标题", + formCreateChild: "标签内容", + type: "标签的类型", + size: "标签的尺寸", + effect: "标签的主题", + closable: "是否可关闭", + disableTransitions: "是否禁用渐变动画", + hit: "是否有边框描边", + round: "是否为圆形", + color: "背景色" + } + }, + elTransfer: { + name: "穿梭框", + event: { + leftCheckChange: "左侧列表元素被用户选中 / 取消选中时触发", + rightCheckChange: "右侧列表元素被用户选中 / 取消选中时触发" + }, + props: { + filterable: "是否可搜索", + filterPlaceholder: "搜索框占位符", + targetOrder: "右侧列表元素的排序策略", + targetOrderInfo: "若为 original,则保持与数据相同的顺序;若为 push,则新加入的元素排在最后;若为 unshift,则新加入的元素排在最前", + titles: "自定义列表标题", + buttonTexts: "自定义按钮文案", + props: "数据源的字段别名" + } + }, + elTreeSelect: { + name: "树形选择", + event: { + removeTag: "多选模式下移除tag时触发" + }, + props: { + multiple: "是否多选", + disabled: "是否禁用", + clearable: "是否可以清空选项", + collapseTags: "多选时是否将选中值按文字的形式展示", + multipleLimit: "多选时用户最多可以选择的项目数,为 0 则不限制", + placeholder: "占位符", + props: "配置选项", + renderAfterExpand: "是否在第一次展开某个树节点后才渲染其子节点", + defaultExpandAll: "是否默认展开所有节点", + expandOnClickNode: "是否在点击节点的时候展开或者收缩节点", + checkOnClickNode: "是否在点击节点的时候选中节点", + nodeKey: "每个树节点用来作为唯一标识的属性,整棵树应该是唯一的" + } + }, + fcEditor: { + name: "富文本框", + props: { + disabled: "是否禁用" + } + }, + fcRow: { + name: "栅格布局", + props: { + gutter: "栅格间隔", + type: "flex布局模式", + justify: "flex布局下的水平排列方式", + align: "flex布局下的垂直排列方式" + } + }, + fcTable: { + name: "表格布局", + props: { + border: "是否���示边框", + borderColor: "边框颜色", + borderWidth: "边框宽度" + } + }, + fcTableGrid: { + name: "格子" + }, + group: { + name: "子表单", + props: { + disabled: "是否禁用", + syncDisabled: "是否与子表单强制同步禁用状态", + expand: "设置默认展开几项", + button: "是否显示操作按钮", + sortBtn: "是否显示排序按钮", + min: "设置最小添加几项", + max: "设置最多添加几项" + } + }, + html: { + name: "HTML", + props: { + formCreateNative: "是否显示标题", + formCreateTitle: "标题", + formCreateChild: "内容" + } + }, + input: { + name: "输入框", + event: { + change: "当值改变时,当组件失去焦点或用户按Enter时触发" + }, + props: { + type: "类型", + maxlength: "最大输入长度", + minlength: "最小输入长度", + placeholder: "输入框占位文本", + clearable: "是否显示清除按钮", + disabled: "是否禁用", + readonly: "是否只读" + } + }, + inputNumber: { + name: "计数器", + props: { + precision: "数值精度", + min: "设置计数器允许的最小值", + max: "设置计数器允许的最大值", + step: "计数器步长", + stepStrictly: "是否只能输入 step 的倍数", + disabled: "是否禁用计数器", + controls: "是否使用控制按钮", + controlsPosition: "控制按钮位置", + placeholder: "输入框占位文本" + } + }, + password: { + name: "密码输入框", + event: { + change: "当值改变时,当组件失去焦点或用户按Enter时触发" + }, + props: { + disabled: "是否禁用", + readonly: "是否只读", + maxlength: "最大输入长度", + minlength: "最小输入长度", + placeholder: "输入框占位文本", + clearable: "是否显示清除按钮" + } + }, + radio: { + name: "单选框", + props: { + input: "是否可以填写", + disabled: "是否禁用", + type: "按钮形式", + textColor: "按钮形式激活时的文字颜色", + fill: "按钮形式激活时的填充色和边框色" + } + }, + rate: { + name: "评分", + props: { + max: "最大分值", + disabled: "是否禁用", + allowHalf: "是否允许半选", + voidColor: "未选中时图标的颜色", + disabledVoidColor: "只读时未选中时图标的颜色", + voidIconClass: "未选中时图标的类名", + disabledVoidIconClass: "只读时未选中时图标的类名", + showScore: "是否显示当前分数", + textColor: "辅助文字的颜色", + scoreTemplate: "分数显示模板" + } + }, + select: { + name: "选择器", + event: { + removeTag: "多选模式下移除tag时触发" + }, + props: { + multiple: "是否多选", + disabled: "是否禁用", + clearable: "是否可以清空选项", + collapseTags: "多选时是否将选中值按文字��形式展示", + multipleLimit: "多选时用户最多可以选择的项目数,为 0 则不限制", + placeholder: "占位符", + filterable: "是否可搜索", + allowCreate: "是否允许用户创建新条目", + noMatchText: "搜索条件无匹配时显示的文字", + noDataText: "选项为空时显示的文字", + reserveKeyword: "多选且可搜索时,是否在选中一个选项后保留当前的搜索关键词", + defaultFirstOption: "在输入框按下回车,选择第一个匹配项", + remote: "其中的选项是否从服务器远程加载", + remoteMethod: "自定义远程搜索方法" + } + }, + slider: { + name: "滑块", + props: { + min: "最小值", + max: "最大值", + disabled: "是否禁用", + step: "步长", + showInput: "是否显示输入框,仅在非范围选择时有效", + showInputControls: "在显示输入框的情况下,是否显示输入框的控制按钮", + showStops: "是否显示间断点", + range: "是否为范围选择", + vertical: "是否竖向模式", + height: "Slider 高度,竖向模式时必填" + } + }, + space: { + name: "间距", + props: { + height: "高度" + } + }, + subForm: { + name: "分组", + props: { + disabled: "是否禁用", + syncDisabled: "是否与子表单强制同步禁用状态" + } + }, + switch: { + name: "开关", + props: { + disabled: "是否禁用", + width: "宽度(px)", + activeText: "打开时的文字描述", + inactiveText: "关闭时的文字描述", + activeValue: "打开时的值", + inactiveValue: "关闭时的值", + activeColor: "打开时的背景色", + inactiveColor: "关闭时的背景色" + } + }, + tableForm: { + name: "表格表单", + props: { + disabled: "是否禁用", + max: "最多添加几行,为 0 则不限制" + } + }, + tableFormColumn: { + name: "表格格子", + label: "自定义名称", + props: { + label: "标题", + width: "宽度", + color: "颜色" + } + }, + text: { + name: "文字", + props: { + formCreateNative: "是否显示标题", + formCreateTitle: "标题", + formCreateChild: "内容" + } + }, + textarea: { + name: "多行输入框", + event: { + change: "当值改变时,当组件失去焦点或用户按Enter时触发" + }, + props: { + disabled: "是否禁用", + readonly: "是否只读", + maxlength: "最大输入长度", + minlength: "最小输入长度", + showWordLimit: "是否显示统计字数", + placeholder: "输入框占位文本", + rows: "输入框行数", + autosize: "高度是否自适应" + } + }, + timePicker: { + name: "时间", + props: { + pickerOptions: "当前时间日期选择器特有的选项", + readonly: "完全只读", + disabled: "禁用", + editable: "文本框可输入", + clearable: "是否显示清除按钮", + placeholder: "非范围选择时的占位内容", + startPlaceholder: "范围选择时开始日期的占位内容", + endPlaceholder: "范围选择时结束日期的占位内容", + isRange: "是否为时间范围选择", + arrowControl: "是否使用箭头进行时间选择", + align: "对齐方式" + } + }, + tree: { + name: "树形控件", + event: { + nodeClick: "当节点被点击的时候触发", + nodeContextmenu: "当某一节点被鼠标右键点击时会触发该事件", + checkChange: "当复选框被点击的时候触发", + check: "点击节点复选框之后触发", + currentChange: "当前选中节点变化时触发的事件", + nodeExpand: "节点被展开时触发的事件", + nodeCollapse: "节点被关闭时触发的事件", + nodeDragStart: "节点开始拖拽时触发的事件", + nodeDragEnter: "拖拽进入其他节点时触发的事件", + nodeDragLeave: "拖拽离开某个节点时触发的事件", + nodeDragOver: "在拖拽节点时触发的事件(类似浏览器的 mouseover 事件)", + nodeDragEnd: "拖拽结束时(可能未成功)触发的事件", + nodeDrop: "拖拽成功完成时触发的事件" + }, + props: { + emptyText: "内容为空的时候展示的文本", + props: "配置选项", + renderAfterExpand: "是否在第一次展开某个树节点后才渲染其子节点", + defaultExpandAll: "是否默认展开所有节点", + expandOnClickNode: "是否在点击节点的时候展开或者收缩节点,如果为 false,则只有点箭头图标的时候才会展开或者收缩节点。", + checkOnClickNode: "是否在点击节点的时候选中节点", + autoExpandParent: "展开子节点的时候是否自动展开父节点", + checkStrictly: "在显示复选框的情况下,是否严格的遵循父子不互相关联的做法", + accordion: "是否每次只打开一个同级树节点展开", + indent: "相邻级节点间的水平缩进(px)", + nodeKey: "每个树节点用来作为唯一标识的属性,整棵树应该是唯一的" + } + }, + upload: { + name: "上传", + info: "在onSuccess方法中将接口返回的url赋值给file.url", + event: { + remove: "文件列表移除文件时触发" + }, + props: { + listType: "上传类型", + multiple: "是否支持多选文件", + action: "上传的地址(必填)", + beforeUpload: "上传文件之前的回调", + onSuccess: "上传成功回调", + headers: "设置上传的请求头部", + data: "上传时附带的额外参数", + name: "上传的文件字段名", + withCredentials: "支持发送 cookie 凭证信息", + accept: "接受上传的文件类型", + autoUpload: "是否在选取文件后立即进行上传", + disabled: "是否禁用", + limit: "最大允许上传个数" + } + } + } +} diff --git a/web/src/view/systemTools/formCreate/locale/zh_tw.js b/web/src/view/systemTools/formCreate/locale/zh_tw.js new file mode 100644 index 000000000..d271930ec --- /dev/null +++ b/web/src/view/systemTools/formCreate/locale/zh_tw.js @@ -0,0 +1,780 @@ +export default { + name: "zh-tw", + form: { + field: "字段 ID", + title: "字段名稱", + info: "提示信息", + control: "聯動數據", + labelPosition: "標籤的位置", + labelStyle: "標籤的樣式", + labelSuffix: "標籤的後綴", + size: "表單的尺寸", + event: "表單事件", + labelWidth: "標籤的寬度", + hideRequiredAsterisk: "隱藏必填字段的標籤旁邊的紅色星號", + showMessage: "顯示校驗錯誤信息", + inlineMessage: "以行內形式展示校驗信息", + submitBtn: "是否顯示表單提交按鈕", + resetBtn: "是否顯示表單重置按鈕", + appendChild: "添加子級", + formMode: "表單模式", + formName: "表單名稱", + componentMode: "生成組件", + document: "幫助文檔" + }, + computed: { + fieldUsed: "【{label}】在計算公式中被使用,請先修改對應公式", + fieldExist: "【{label}】字段已存在", + fieldEmpty: "字段名稱不能為空", + fieldChar: "字段名稱必須以字母開頭" + }, + validate: { + type: "字段類型", + typePlaceholder: "請選擇", + trigger: "觸發方式", + mode: "驗證方式", + modes: { + required: "必填", + pattern: "正則表達式", + validator: "自定義驗證", + min: "最小值", + max: "最大值", + len: "長度" + }, + types: { + string: "字符串", + array: "多選", + number: "數字", + integer: "整數", + float: "小數", + object: "合集", + date: "日期", + url: "URL鏈接", + email: "郵箱地址" + }, + message: "錯誤信息", + auto: "自動獲取", + autoRequired: "請輸入{title}", + autoMode: "請輸入正確的{title}", + requiredPlaceholder: "請輸入提示語", + required: "是否必填", + rule: "驗證規則" + }, + tableOptions: { + handle: "操作", + add: "添加", + empty1: "點擊右下角", + empty2: "按鈕添加一列", + rmCol: "刪除當前列", + rmRow: "刪除當前行", + splitRow: "拆分成行", + splitCol: "拆分成列", + mergeBottom: "向下合併", + mergeRight: "向右合併", + addTop: "添加上列", + addBottom: "添加下列", + addLeft: "添加左列", + addRight: "添加右列", + keyValue: "鍵值對" + }, + struct: { + title: "編輯數據", + only: "【{label}】只允許添加一個", + errorMsg: "輸入的內容語法錯誤", + configured: "已配置" + }, + event: { + title: "設置事件", + create: "創建事件", + list: "事件列表", + placeholder: "請輸入事件的名稱", + saveMsg: "請先保存當前正在編輯的事件", + type: "類型", + info: "說明", + label: "字段", + inject: { + api: "當前表單的api", + rule: "當前表單的生成規則", + self: "組件的生成規則", + option: "表單的配置", + args: "事件的原始參數" + } + }, + fetch: { + title: "設置數據源", + create: "創建數據源", + config: "請求配置", + action: "請求鏈接", + actionRequired: "請輸入正確的鏈接", + placeholder: "請輸入數據源的名稱", + method: "請求方式", + data: "附帶數據", + headers: "請求頭部", + parse: "數據處理", + response: "接口返回的數據", + onError: "錯誤處理", + remote: "遠程數據", + static: "靜態數據", + optionsType: { + fetch: "遠程數據", + struct: "靜態數據" + } + }, + style: { + width: "寬度", + height: "高度", + color: "顏色", + backgroundColor: "背景色", + margin: "外邊距", + padding: "內邊距", + borderRadius: "圓角", + border: "邊框", + solid: "實線", + dashed: "虛線", + dotted: "點狀虛線", + double: "雙實線", + opacity: "透明度", + scale: "縮放", + shadow: { + name: "陰影", + x: "x軸偏移量", + y: "y軸偏移量", + vague: "模糊半徑", + extend: "擴散半徑", + inset: "向內", + external: "向外", + mode: "模式", + classic: "經典", + flat: "扁平", + solid: "立體" + }, + font: { + name: "字體", + size: "大小", + align: "對齊方式", + height: "行高", + spacing: "字間距", + preview: "樣式預覽" + }, + decoration: { + name: "修飾", + underline: "下劃線", + "line-through": "刪除線", + overline: "上劃線" + }, + weight: { + name: "粗細", + 300: "細體", + 400: "常規體", + 500: "���黑體", + 700: "中粗體" + } + }, + designer: { + component: "組件配置", + id: "唯一值", + name: "編號", + type: "組件類型", + form: "表單配置", + style: "組件樣式配置", + rule: "基礎配置", + advanced: "高級配置", + props: "屬性配置", + validate: "驗證配置", + event: "事件配置", + clearWarn: "清空後將不能恢復,確定要清空嗎?", + childEmpty: "點擊右下角 \\e789 按鈕添加一列", + dragEmpty: "拖拽左側列表中的組件到此處", + unload: "確定離開當前頁面嗎?" + }, + menu: { + main: "基礎組件", + aide: "輔助組件", + layout: "佈局組件", + component: "組件", + subform: "子表單組件", + tree: "大綱" + }, + props: { + disabled: "禁用", + time: "時間", + email: "郵箱", + number: "數字", + globalData: "全局數據", + mobile: "移動端", + reactive: "響應式", + pc: "電腦端", + title: "標題", + content: "內容", + collection: "合集", + group: "分組", + custom: "自定義", + change: "改變", + blur: "失去焦點", + preview: "預覽", + clear: "清空", + cancel: "取消", + close: "關閉", + ok: "確定", + save: "保存", + refresh: "刷新", + submit: "提交", + reset: "重置", + copy: "複製", + delete: "刪除", + hide: "隱藏", + show: "顯示", + position: "位置", + render: "渲染", + large: "大", + default: "默認", + small: "小", + always: "常顯", + never: "不顯示", + hover: "懸浮", + click: "點擊", + button: "按鈕", + year: "年份", + month: "月份", + date: "日期", + dates: "日期多選", + week: "一周", + datetime: "日期時間", + "datetime-local": "日期時間", + datetimerange: "日期時間區間", + daterange: "日期區間", + monthrange: "月份區間", + left: "左對齊", + right: "右對齊", + top: "頂部", + text: "文字", + picture: "圖片", + "picture-card": "卡片", + center: "居中", + vertical: "豎向", + horizontal: "橫向", + manage: "管理", + key: "鍵名", + name: "名稱", + value: "值", + inputData: "默認值", + append: "插入", + options: "選項數據", + option: "選項", + callback: "回調", + _self: "當前窗口", + _blank: "新的窗口", + _parent: "父級窗口", + _top: "頂級窗口" + }, + com: { + cascader: { + name: "級聯選擇器", + event: { + expandChange: "當展開節點發生變化時觸發", + removeTag: "在多選模式下,移除Tag時觸發" + }, + props: { + props: "配置選項", + placeholder: "輸入框佔位文本", + disabled: "是否禁用", + clearable: "是否支持清空選項", + showAllLevels: "輸入框中是否顯示選中值的完整路徑", + collapseTags: "多選模式下是否折疊Tag", + collapseTagsTooltip: "當鼠標懸停於折疊標籤的文本時,是否顯示所有選中的標籤", + separator: "選項分隔符", + filterable: "該選項是否可以被搜索", + tagType: "標籤類型" + }, + propsOpt: { + multiple: "是否多選", + expandTrigger: "次級菜單的展開方式", + checkStrictly: "是否嚴格的遵守父子節點不互相關聯", + emitPath: "在選中節點改變時,是否返回由該節點所在的各級菜單的值所組成的數組", + value: "指定選項的值為選項對象的某個屬性值", + label: "指定選項標籤為選項對象的某個屬性值", + children: "指定選項的子選項為選項對象的某個屬性值", + disabled: "指定選項的禁用為選項對象的某個屬性值", + leaf: "指定選項的葉子節點的標誌位為選項對象的某個屬性值" + } + }, + checkbox: { + name: "多選框", + props: { + input: "是否可以填寫", + type: "按鈕類型", + disabled: "是否禁用", + min: "可被選中的最小數量", + max: "可被選中的最大數量", + textColor: "當按鈕為活躍狀態時的字體顏色", + fill: "當按鈕為活躍狀態時的邊框和背景顏色" + } + }, + col: { + name: "佈局格子", + props: { + span: "柵格佔據的列數", + offset: "柵格左側的間隔格數", + push: "柵格向右移動格數", + pull: "柵格向左移動格數" + } + }, + colorPicker: { + name: "顏色選擇器", + event: { + activeChange: "面板中當前顯示的顏色發生變化時觸發" + }, + props: { + disabled: "是否禁用", + showAlpha: "是否支持透明度選擇", + colorFormat: "顏色的格式", + predefine: "預定義顏色" + } + }, + datePicker: { + name: "日期", + props: { + pickerOptions: "當前時間日期選擇器特有的選項", + readonly: "完全只讀", + disabled: "禁用", + type: "顯示類型", + editable: "文本框可輸入", + clearable: "是否顯示清除按鈕", + placeholder: "非範圍選擇時的佔位內容", + startPlaceholder: "範圍選擇時開始日期的佔位內容", + endPlaceholder: "範圍選擇時結束日期的佔位內容", + format: "顯示在輸入框中的格式", + align: "對齊方式", + rangeSeparator: "選擇範圍時的分隔符", + unlinkPanels: "在範圍選擇器裡取消兩個日期面板之間的聯動" + } + }, + dateRange: { + name: "日期區間" + }, + timeRange: { + name: "時間區間" + }, + elAlert: { + name: "提示", + description: "說明文字", + props: { + title: "標題", + type: "主題", + description: "輔助性文字", + closable: "是否可關閉", + center: "文字是否居中", + closeText: "關閉按鈕自定義文本", + showIcon: "是否顯示圖標", + effect: "選擇提供的主題" + } + }, + elButton: { + name: "按鈕", + props: { + formCreateChild: "內容", + size: "尺寸", + type: "類型", + plain: "是否樸素按鈕", + round: "是否圓角按鈕", + circle: "是否圓形按鈕", + loading: "是否加載中狀態", + disabled: "是否禁用狀態" + } + }, + elCard: { + name: "卡片", + props: { + header: "標題", + shadow: "陰影顯示時機" + } + }, + elCollapse: { + name: "摺疊面板", + event: { + change: "切換當前活躍面板,在手風琴模式下其類型是string,在其他模式下是array" + }, + props: { + accordion: "是否手風琴模式" + } + }, + elCollapseItem: { + name: "面板", + props: { + title: "面板標題", + name: "唯一標誌符", + disabled: "是否禁用" + } + }, + elDivider: { + name: "��割線", + props: { + formCreateChild: "設置分割線文案", + contentPosition: "設置分割線文案的位置" + } + }, + elTabPane: { + name: "選項卡", + props: { + label: "選項卡標題", + disabled: "是否禁用", + name: "選項卡的標識符", + lazy: "標籤是否延遲渲染" + } + }, + elTabs: { + name: "標籤頁", + event: { + tabClick: "tab 被選中時觸發", + tabChange: "activeName 改變時觸發", + tabRemove: "點擊 tab 移除按鈕時觸發", + tabAdd: "點擊 tab ��增按鈕時觸發", + edit: "點擊 tab 的新增或移除按鈕後觸發" + }, + props: { + type: "風格類型", + closable: "標籤是否可關閉", + tabPosition: "選項卡所在位置", + stretch: "標籤的寬度是否自撐開" + } + }, + elTag: { + name: "標籤", + props: { + formCreateNative: "是否顯示標題", + formCreateTitle: "標題", + formCreateChild: "標籤內容", + type: "標籤的類型", + size: "標籤的尺寸", + effect: "標籤的主題", + closable: "是否可關閉", + disableTransitions: "是否禁用漸變動畫", + hit: "是否有邊框描邊", + round: "是否為圓形", + color: "背景色" + } + }, + elTransfer: { + name: "穿梭框", + event: { + leftCheckChange: "左側列表元素被用戶選中 / 取消選中時觸發", + rightCheckChange: "右側列表元素被用戶選中 / 取消選中時觸發" + }, + props: { + filterable: "是否可搜索", + filterPlaceholder: "搜索框佔位符", + targetOrder: "右側列表元素的排序策略", + targetOrderInfo: "若為 original,則保持與數據相同的順序;若為 push,則新加入的元素排在最後;若為 unshift,則新加入的元素排在最前", + titles: "自定義列表標題", + buttonTexts: "自定義按鈕文案", + props: "數據源的字段別名" + } + }, + elTreeSelect: { + name: "樹形選擇", + event: { + removeTag: "多選模式下移除tag時觸發" + }, + props: { + multiple: "是否多選", + disabled: "是否禁用", + clearable: "是否可以清空選項", + collapseTags: "多選時是否將選中值按文字的形式展示", + multipleLimit: "多選時用戶最多可以選擇的項目數,為 0 則不限制", + placeholder: "佔位符", + props: "配置選項", + renderAfterExpand: "是否在第一次展開某個樹節點後才渲染其子節點", + defaultExpandAll: "是否默認展開所有節點", + expandOnClickNode: "是否在點擊節點的時候展開或者收縮節點", + checkOnClickNode: "是否在點擊節點的時候選中節點", + nodeKey: "每個樹節點用來作為唯一標識的屬性,整棵樹應該是唯一的" + } + }, + fcEditor: { + name: "富文本框", + props: { + disabled: "是否禁用" + } + }, + fcRow: { + name: "柵格佈局", + props: { + gutter: "柵格間隔", + type: "flex佈局模式", + justify: "flex佈局下的水平排列方式", + align: "flex佈局下的垂���排列方式" + } + }, + fcTable: { + name: "表格佈局", + props: { + border: "是否顯示邊框", + borderColor: "邊框顏色", + borderWidth: "邊框寬度" + } + }, + fcTableGrid: { + name: "格子" + }, + group: { + name: "子表單", + props: { + disabled: "是否禁用", + syncDisabled: "是否與子表單強制同步禁用狀態", + expand: "設置默認展開幾項", + button: "是否顯示操作按鈕", + sortBtn: "是否顯示排序按鈕", + min: "設置最小添加幾項", + max: "設置最多添加幾項" + } + }, + html: { + name: "HTML", + props: { + formCreateNative: "是否顯示標題", + formCreateTitle: "標題", + formCreateChild: "內容" + } + }, + input: { + name: "輸入框", + event: { + change: "當值改變時,當組件失去焦點或用戶按Enter時觸發" + }, + props: { + type: "類型", + maxlength: "最大輸入長度", + minlength: "最小輸入長度", + placeholder: "輸入框佔位文本", + clearable: "是否顯示清除按鈕", + disabled: "是否禁用", + readonly: "是否只讀" + } + }, + inputNumber: { + name: "計數器", + props: { + precision: "數值精度", + min: "設置計數器允許的最小值", + max: "設置計數器允許的最大值", + step: "計數器步長", + stepStrictly: "是否只能輸入 step 的倍數", + disabled: "是否禁用計數���", + controls: "是否使用控制按鈕", + controlsPosition: "控制按鈕位置", + placeholder: "輸入框佔位文本" + } + }, + password: { + name: "密碼輸入框", + event: { + change: "當值改變時,當組件失去焦點或用戶按Enter時觸發" + }, + props: { + disabled: "是否禁用", + readonly: "是否只讀", + maxlength: "最大輸入長度", + minlength: "最小輸入長度", + placeholder: "輸入框佔位文本", + clearable: "是否顯示清除按鈕" + } + }, + radio: { + name: "單選框", + props: { + input: "是否可以填寫", + disabled: "是否禁用", + type: "按鈕形式", + textColor: "按鈕形式激活時的文字顏色", + fill: "按鈕形式激活時的填充色和邊框色" + } + }, + rate: { + name: "評分", + props: { + max: "最大分值", + disabled: "是否禁用", + allowHalf: "是否允許半選", + voidColor: "未選中時圖標的顏色", + disabledVoidColor: "只讀時未選中時圖標的顏色", + voidIconClass: "未選中時圖標的類名", + disabledVoidIconClass: "只讀時未選中時圖標的類名", + showScore: "是否顯示當前分數", + textColor: "輔助文字的顏色", + scoreTemplate: "分數顯示模板" + } + }, + select: { + name: "選擇器", + event: { + removeTag: "多選模式下移除tag時觸發" + }, + props: { + multiple: "是否多選", + disabled: "是否禁用", + clearable: "是否可以清空選項", + collapseTags: "多選時是否將選中值按文字的形式展示", + multipleLimit: "多選時用戶最多可以選擇的項目數,為 0 則不限制", + placeholder: "佔位符", + filterable: "是否可搜索", + allowCreate: "是否允許用戶創建新條目", + noMatchText: "搜索條件無匹配時顯示的文字", + noDataText: "選項為空時顯示的文字", + reserveKeyword: "多選且可搜索時,是否在選中一個選項後保留當前的搜索關鍵詞", + defaultFirstOption: "在輸入框按下回車,選擇第一個匹配項", + remote: "其中的選項是否從服務器遠程加載", + remoteMethod: "自定義遠程搜索方法" + } + }, + slider: { + name: "滑塊", + props: { + min: "最小值", + max: "最大值", + disabled: "是否禁用", + step: "步長", + showInput: "是否顯示輸��框,僅在非範圍選擇時有效", + showInputControls: "在顯示輸入框的情況下,是否顯示輸入框的控制按鈕", + showStops: "是否顯示間斷點", + range: "是否為範圍選擇", + vertical: "是否豎向模式", + height: "Slider 高度,豎向模式時必填" + } + }, + space: { + name: "間距", + props: { + height: "高度" + } + }, + subForm: { + name: "分組", + props: { + disabled: "是否禁用", + syncDisabled: "是否與子表單強制同步禁用狀態" + } + }, + switch: { + name: "開關", + props: { + disabled: "是否禁用", + width: "寬度(px)", + activeText: "打開時的文字描述", + inactiveText: "關閉時的文字描述", + activeValue: "打開時的值", + inactiveValue: "關閉時的值", + activeColor: "打開時的背景色", + inactiveColor: "關閉時的背景色" + } + }, + tableForm: { + name: "表格表單", + props: { + disabled: "是否禁用", + max: "最多添加幾行,為 0 則不限制" + } + }, + tableFormColumn: { + name: "表格格子", + label: "自定義名稱", + props: { + label: "標題", + width: "寬度", + color: "顏色" + } + }, + text: { + name: "文字", + props: { + formCreateNative: "是否顯示標題", + formCreateTitle: "標題", + formCreateChild: "內容" + } + }, + textarea: { + name: "多行輸入框", + event: { + change: "當值改變時,當組件失去焦點或用戶按Enter時觸發" + }, + props: { + disabled: "是否禁用", + readonly: "是否只讀", + maxlength: "最大輸入長度", + minlength: "最小輸入長度", + showWordLimit: "是否顯示統計字數", + placeholder: "輸入框佔位文本", + rows: "輸入框行數", + autosize: "高度是否自適應" + } + }, + timePicker: { + name: "時間", + props: { + pickerOptions: "當前時間日期選擇器特有的選項", + readonly: "完全只讀", + disabled: "禁用", + editable: "文本框可輸入", + clearable: "是否顯示清除按鈕", + placeholder: "非範圍選擇時的佔位內容", + startPlaceholder: "範圍選擇時開始日期的佔位內容", + endPlaceholder: "範圍選擇時結束日期的佔位內容", + isRange: "是否為時間範圍選擇", + arrowControl: "是否使用箭頭進行時間選擇", + align: "對齊方式" + } + }, + tree: { + name: "樹形控件", + event: { + nodeClick: "當節點被點擊的時候觸發", + nodeContextmenu: "當某一節點被鼠標右鍵點擊時會觸發該事件", + checkChange: "當複選框被點擊的時候觸發", + check: "點擊節點複選框之後觸發", + currentChange: "當前選中節點變化時觸發的事件", + nodeExpand: "節點被展開時觸發的事件", + nodeCollapse: "節點被關閉時觸發的事件", + nodeDragStart: "節點開始拖拽時觸發的事件", + nodeDragEnter: "拖拽進入其他節點時觸發的事件", + nodeDragLeave: "拖拽離開某個節點時觸發的事件", + nodeDragOver: "在拖拽節點時觸發的事件(類似瀏覽器的 mouseover 事件)", + nodeDragEnd: "拖拽結束時(可能未成功)觸發的事件", + nodeDrop: "拖拽成功完成時觸發的事件" + }, + props: { + emptyText: "內容為空的時候展示的文本", + props: "配置選項", + renderAfterExpand: "是否在第一次展開某個樹節點後才渲染其子節點", + defaultExpandAll: "是否默認展開所有節點", + expandOnClickNode: "是否在點擊節點的時候展開或者收縮節點,如果為 false,則只有點箭頭圖標的時候才會展開或者收縮節點。", + checkOnClickNode: "是否在點擊節點的時候選中節點", + autoExpandParent: "展開子節點的時候是否自動展開父節點", + checkStrictly: "在顯示複選框的情況下,是否嚴格的遵循父子不互相關聯的做法", + accordion: "是否每次只打開一個同級樹節點展開", + indent: "相鄰級節點間的水平縮進(px)", + nodeKey: "每個樹節點用來作為唯一標識的屬性,整棵樹應該是唯一的" + } + }, + upload: { + name: "上傳", + info: "在onSuccess方法中將接口返回的url賦值給file.url", + event: { + remove: "文件列表移除文件時觸發" + }, + props: { + listType: "上傳類型", + multiple: "是否支持多選文件", + action: "上傳的地址(必填)", + beforeUpload: "上傳文件之前的回調", + onSuccess: "上傳成功回調", + headers: "設置上傳的請求頭部", + data: "上傳時附帶的額外參數", + name: "上傳的文件字段名", + withCredentials: "支持發送 cookie 憑證信息", + accept: "接受上傳的文件類型", + autoUpload: "是否在選取文件後立即進行上傳", + disabled: "是否禁用", + limit: "最大允許上傳個數" + } + } + } +}