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: "最大允許上傳個數"
+ }
+ }
+ }
+}