-
裁剪预览
+
{{ t('upload.cropper.cropPreview') }}
@@ -73,8 +73,8 @@
@@ -88,7 +88,10 @@ import { RefreshLeft, RefreshRight, Plus, Minus } from '@element-plus/icons-vue'
import 'vue-cropper/dist/index.css'
import { VueCropper } from 'vue-cropper'
import { getBaseUrl } from '@/utils/format'
-import { useUserStore } from "@/pinia";
+
+ import { useI18n } from 'vue-i18n'
+
+ const { t } = useI18n()
defineOptions({
name: 'CropperImage'
@@ -123,7 +126,7 @@ const ratioOptions = ref([
{ label: '16:9', value: [16, 9] },
{ label: '9:16', value: [9, 16] },
{ label: '4:3', value: [4, 3] },
- { label: '自由比例', value: [] }
+ { label: t('upload.cropper.freeRatio'), value: [] }
])
const fixedNumber = ref([1, 1])
@@ -166,12 +169,12 @@ const onCurrentRatio = () => {
const handleFileChange = (file) => {
const isImage = file.raw.type.includes('image')
if (!isImage) {
- ElMessage.error('请选择图片文件')
+ ElMessage.error(t('upload.cropper.selectImageFile'))
return
}
if (file.raw.size / 1024 / 1024 > 8) {
- ElMessage.error('文件大小不能超过8MB!')
+ ElMessage.error(t('upload.cropper.fileSizeLimit'))
return false
}
@@ -210,7 +213,7 @@ const handleUpload = () => {
} catch (error) {
uploading.value = false
- ElMessage.error('上传失败: ' + error.message)
+ ElMessage.error(t('upload.cropper.uploadFailed') + error.message)
}
})
}
@@ -222,7 +225,7 @@ const handleImageSuccess = (res) => {
uploading.value = false
dialogVisible.value = false
previews.value = {}
- ElMessage.success('上传成功')
+ ElMessage.success(t('upload.cropper.uploadSuccess'))
emit('on-success', data.url)
}, 1000)
}
diff --git a/web/src/locales/ar.json b/web/src/locales/ar.json
index e8821f66f..7536e3544 100644
--- a/web/src/locales/ar.json
+++ b/web/src/locales/ar.json
@@ -31,6 +31,25 @@
"importSuccess": "تم الاستيراد بنجاح"
}
},
+ "i18n": {
+ "chinese": "الصينية",
+ "traditionalChinese": "الصينية التقليدية"
+ },
+ "office": {
+ "importDocx": "استيراد مكون VueOfficeDocx",
+ "importExcel": "استيراد مكون VueOfficeExcel",
+ "importStyles": "استيراد الأنماط ذات الصلة",
+ "pdfLoadSuccess": "تم تحميل PDF بنجاح",
+ "pdfError": "خطأ في PDF"
+ },
+ "richtext": {
+ "importCss": "استيراد CSS",
+ "placeholder": "يرجى إدخال المحتوى...",
+ "destroyEditor": "تدمير المحرر عند تدمير المكون"
+ },
+ "charts": {
+ "referenceNote": "يشير هذا المكون إلى تنفيذ arco-pro"
+ },
"selectFile": {
"uploadFiles": "رفع الملفات",
"uploadFailed": "فشل رفع الملفات "
@@ -62,6 +81,36 @@
"image": {
"compressedUpload": "رفع مضغوط",
"avatarImageFormatError": "يمكن رقع الصور الرمزية فقط بتنسيق jpg أو png!"
+ },
+ "cropper": {
+ "cropUpload": "رفع مقطوع",
+ "imageCrop": "قطع الصورة",
+ "leftEditArea": "منطقة التحرير اليسرى",
+ "toolbar": "شريط الأدوات",
+ "rotateLeft": "تدوير يسار",
+ "rotateRight": "تدوير يمين",
+ "selectRatio": "اختيار النسبة",
+ "rightPreviewArea": "منطقة المعاينة اليمنى",
+ "cropPreview": "معاينة القطع",
+ "cancel": "إلغاء",
+ "upload": "رفع",
+ "uploading": "جاري الرفع...",
+ "responsiveData": "بيانات متجاوبة",
+ "zoomControl": "تحكم التكبير",
+ "ratioPreset": "نسبة محددة مسبقاً",
+ "freeRatio": "نسبة حرة",
+ "fileProcessing": "معالجة الملف",
+ "selectImageFile": "يرجى اختيار ملف صورة",
+ "fileSizeLimit": "حجم الملف لا يمكن أن يتجاوز 8 ميجابايت!",
+ "rotationControl": "تحكم التدوير",
+ "realtimePreview": "معاينة فورية",
+ "uploadProcessing": "معالجة الرفع",
+ "uploadFailed": "فشل الرفع: ",
+ "uploadSuccess": "نجح الرفع"
+ },
+ "qrCode": {
+ "scanUpload": "مسح للرفع",
+ "complete": "إكمال الرفع"
}
}
},
@@ -839,7 +888,9 @@
"enterBackendWTableFolderAddress": "ير��ى إدخال عنوان مجلد WTable الخلفي",
"confirmRestartService": "هل تريد إعادة تشغيل الخدمة",
"operationSuccess": "تمت العملية بنجاح",
- "cancelRestart": "إلغاء إعادة التشغيل"
+ "cancelRestart": "إلغاء إعادة التشغيل",
+ "node": "عقدة",
+ "chinese": "الصينية"
},
"autoPkg": {
"autoPkgNote": "هذه الميزة للاستخدام في بيئة التطوير، لا يُنصح بنشرها في الإنتاج، لمزيد من التفاصيل، يرجى مشاهدة الفيديو https://www.bilibili.com/video/BV1kv4y1g7nT?p=3",
@@ -1160,8 +1211,16 @@
"closeGenerateMenu": "إغلاق إنشاء القائمة",
"selectAtLeastOneAPI": "يرجى اختيار API واحد على الأقل",
"enterPluginNameAgain": "يرجى إدخال اسم المكون الإضافي مرة أخرى",
- "closeGenerateAPI": "إغلاق إنشاء API"
+ "closeGenerateAPI": "إغلاق إنشاء API",
+ "menuChildrenComment": "إذا كانت القائمة تحتوي على عناصر فرعية، قم بالتوسع تكراريًا إلى المستوى الأول"
}
}
+ },
+ "vitePlugin": {
+ "componentName": {
+ "recursiveGetVueFiles": "الحصول على جميع ملفات .vue في الدليل بشكل تكراري",
+ "extractComponentName": "استخراج اسم المكون من محتوى ملف .vue",
+ "vitePluginDefinition": "تعريف إضافة Vite"
+ }
}
}
diff --git a/web/src/locales/en.json b/web/src/locales/en.json
index d6df3928c..c6e6c16a6 100644
--- a/web/src/locales/en.json
+++ b/web/src/locales/en.json
@@ -31,6 +31,25 @@
"importSuccess": "Import Success"
}
},
+ "i18n": {
+ "chinese": "Chinese",
+ "traditionalChinese": "Traditional Chinese"
+ },
+ "office": {
+ "importDocx": "Import VueOfficeDocx component",
+ "importExcel": "Import VueOfficeExcel component",
+ "importStyles": "Import related styles",
+ "pdfLoadSuccess": "PDF loaded successfully",
+ "pdfError": "PDF error"
+ },
+ "richtext": {
+ "importCss": "Import CSS",
+ "placeholder": "Please enter content...",
+ "destroyEditor": "Destroy editor when component is destroyed"
+ },
+ "charts": {
+ "referenceNote": "This component references the arco-pro implementation"
+ },
"selectFile": {
"uploadFiles": "Upload Files",
"uploadFailed": "Upload Failed "
@@ -62,6 +81,36 @@
"image": {
"compressedUpload": "Compressed Upload",
"avatarImageFormatError": "Uploaded avatar images can only be in jpg or png format!"
+ },
+ "cropper": {
+ "cropUpload": "Crop Upload",
+ "imageCrop": "Image Crop",
+ "leftEditArea": "Left Edit Area",
+ "toolbar": "Toolbar",
+ "rotateLeft": "Rotate Left",
+ "rotateRight": "Rotate Right",
+ "selectRatio": "Select Ratio",
+ "rightPreviewArea": "Right Preview Area",
+ "cropPreview": "Crop Preview",
+ "cancel": "Cancel",
+ "upload": "Upload",
+ "uploading": "Uploading...",
+ "responsiveData": "Responsive Data",
+ "zoomControl": "Zoom Control",
+ "ratioPreset": "Ratio Preset",
+ "freeRatio": "Free Ratio",
+ "fileProcessing": "File Processing",
+ "selectImageFile": "Please select image file",
+ "fileSizeLimit": "File size cannot exceed 8MB!",
+ "rotationControl": "Rotation Control",
+ "realtimePreview": "Real-time Preview",
+ "uploadProcessing": "Upload Processing",
+ "uploadFailed": "Upload Failed: ",
+ "uploadSuccess": "Upload Success"
+ },
+ "qrCode": {
+ "scanUpload": "Scan to Upload",
+ "complete": "Complete Upload"
}
}
},
@@ -841,7 +890,9 @@
"enterBackendWTableFolderAddress": "Please Enter Backend WTable Folder Address",
"confirmRestartService": "Confirm Restart Service",
"operationSuccess": "Operation Successful",
- "cancelRestart": "Cancel Restart"
+ "cancelRestart": "Cancel Restart",
+ "node": "Node",
+ "chinese": "Chinese"
},
"autoPkg": {
"autoPkgNote": "This function is for development environment use only and is not recommended for production use. For specific usage effects, please watch the video https://www.bilibili.com/video/BV1kv4y1g7nT?p=3",
@@ -1167,8 +1218,16 @@
"closeGenerateMenu": "Close Generate Menu",
"selectAtLeastOneAPI": "Please select at least one API",
"enterPluginNameAgain": "Please enter the plugin name again",
- "closeGenerateAPI": "Close Generate API"
+ "closeGenerateAPI": "Close Generate API",
+ "menuChildrenComment": "If menu has children, recursively expand to first level"
}
}
+ },
+ "vitePlugin": {
+ "componentName": {
+ "recursiveGetVueFiles": "Recursively get all .vue files in the directory",
+ "extractComponentName": "Extract component name from .vue file content",
+ "vitePluginDefinition": "Vite plugin definition"
+ }
}
}
diff --git a/web/src/locales/ru.json b/web/src/locales/ru.json
index 8f0122fea..ed34e2421 100644
--- a/web/src/locales/ru.json
+++ b/web/src/locales/ru.json
@@ -31,6 +31,25 @@
"importSuccess": "Импорт выполнен успешно"
}
},
+ "i18n": {
+ "chinese": "Китайский",
+ "traditionalChinese": "Традиционный китайский"
+ },
+ "office": {
+ "importDocx": "Импорт компонента VueOfficeDocx",
+ "importExcel": "Импорт компонента VueOfficeExcel",
+ "importStyles": "Импорт связанных стилей",
+ "pdfLoadSuccess": "PDF загружен успешно",
+ "pdfError": "Ошибка PDF"
+ },
+ "richtext": {
+ "importCss": "Импорт CSS",
+ "placeholder": "Пожалуйста, введите содержимое...",
+ "destroyEditor": "Уничтожить редактор при уничтожении компонента"
+ },
+ "charts": {
+ "referenceNote": "Этот компонент ссылается на реализацию arco-pro"
+ },
"selectFile": {
"uploadFiles": "Загрузить файлы",
"uploadFailed": "Ошибка загрузки"
@@ -62,6 +81,36 @@
"image": {
"compressedUpload": "Сжатая загрузка",
"avatarImageFormatError": "Загружаемые изображения для аватара могут быть только в формате jpg или png!"
+ },
+ "cropper": {
+ "cropUpload": "Обрезка и загрузка",
+ "imageCrop": "Обрезка изображения",
+ "leftEditArea": "Левая область редактирования",
+ "toolbar": "Панель инструментов",
+ "rotateLeft": "Повернуть влево",
+ "rotateRight": "Повернуть вправо",
+ "selectRatio": "Выбрать соотношение",
+ "rightPreviewArea": "Правая область предварительного просмотра",
+ "cropPreview": "Предварительный просмотр обрезки",
+ "cancel": "Отмена",
+ "upload": "Загрузить",
+ "uploading": "Загрузка...",
+ "responsiveData": "Адаптивные данные",
+ "zoomControl": "Управление масштабом",
+ "ratioPreset": "Предустановленное соотношение",
+ "freeRatio": "Свободное соотношение",
+ "fileProcessing": "Обработка файла",
+ "selectImageFile": "Пожалуйста, выберите файл изображения",
+ "fileSizeLimit": "Размер файла не может превышать 8 МБ!",
+ "rotationControl": "Управление поворотом",
+ "realtimePreview": "Предварительный просмотр в реальном времени",
+ "uploadProcessing": "Обработка загрузки",
+ "uploadFailed": "Ошибка загрузки: ",
+ "uploadSuccess": "Загрузка успешна"
+ },
+ "qrCode": {
+ "scanUpload": "Сканировать для загрузки",
+ "complete": "Завершить загрузку"
}
}
},
@@ -791,7 +840,9 @@
"enterBackendWTableFolderAddress": "Введите адрес папки WTable бэкенда",
"confirmRestartService": "Подтвердить перезапуск службы",
"operationSuccess": "Операция выполнена успешно",
- "cancelRestart": "Отменить перезапуск"
+ "cancelRestart": "Отменить перезапуск",
+ "node": "Узел",
+ "chinese": "Китайский"
}
},
"autoPkg": {
@@ -1118,8 +1169,16 @@
"closeGenerateMenu": "Закрыть генерацию меню",
"selectAtLeastOneAPI": "Выберите хотя бы один API",
"enterPluginNameAgain": "Введите имя плагина еще раз",
- "closeGenerateAPI": "Закрыть генерацию API"
+ "closeGenerateAPI": "Закрыть генерацию API",
+ "menuChildrenComment": "Если меню имеет дочерние элементы, рекурсивно развернуть до первого уровня"
}
}
+ },
+ "vitePlugin": {
+ "componentName": {
+ "recursiveGetVueFiles": "Рекурсивно получить все .vue файлы в директории",
+ "extractComponentName": "Извлечь имя компонента из содержимого .vue файла",
+ "vitePluginDefinition": "Определение плагина Vite"
+ }
}
}
\ No newline at end of file
diff --git a/web/src/locales/zh-TW.json b/web/src/locales/zh-TW.json
index 52107d8fb..2b3d49e2b 100644
--- a/web/src/locales/zh-TW.json
+++ b/web/src/locales/zh-TW.json
@@ -22,6 +22,69 @@
"import": "導入",
"importSuccess": "導入成功"
}
+ },
+ "i18n": {
+ "chinese": "中文",
+ "traditionalChinese": "繁體中文"
+ },
+ "office": {
+ "importDocx": "引入VueOfficeDocx組件",
+ "importExcel": "引入VueOfficeExcel組件",
+ "importStyles": "引入相關樣式",
+ "pdfLoadSuccess": "PDF 載入成功",
+ "pdfError": "PDF 錯誤"
+ },
+ "richtext": {
+ "importCss": "引入CSS",
+ "placeholder": "請輸入內容...",
+ "destroyEditor": "組件銷毀時銷毀編輯器"
+ },
+ "charts": {
+ "referenceNote": "該組件參考了arco-pro的實現"
+ },
+ "upload": {
+ "common": {
+ "normalUpload": "普通上傳",
+ "fileFormatNote": "上傳圖片只能是 jpg,png,svg,webp 格式, 上傳視頻只能是 mp4,webm 格式!",
+ "videoSizeError": "上傳視頻大小不能超過 5MB",
+ "imageSizeError": "未壓縮的上傳圖片大小不能超過 500KB,請使用壓縮上傳",
+ "compression": "壓縮",
+ "shouldSupportProjectSettingToo": "應支持項目中設置"
+ },
+ "image": {
+ "compressedUpload": "壓縮上傳",
+ "avatarImageFormatError": "上傳頭像圖片只能是 jpg或png 格式!"
+ },
+ "cropper": {
+ "cropUpload": "裁剪上傳",
+ "imageCrop": "圖片裁剪",
+ "leftEditArea": "左側編輯區",
+ "toolbar": "工具欄",
+ "rotateLeft": "向左旋轉",
+ "rotateRight": "向右旋轉",
+ "selectRatio": "選擇比例",
+ "rightPreviewArea": "右側預覽區",
+ "cropPreview": "裁剪預覽",
+ "cancel": "取 消",
+ "upload": "上 傳",
+ "uploading": "上傳中...",
+ "responsiveData": "響應式數據",
+ "zoomControl": "縮放控制",
+ "ratioPreset": "比例預設",
+ "freeRatio": "自由比例",
+ "fileProcessing": "文件處理",
+ "selectImageFile": "請選擇圖片文件",
+ "fileSizeLimit": "文件大小不能超過8MB!",
+ "rotationControl": "旋轉控制",
+ "realtimePreview": "實時預覽",
+ "uploadProcessing": "上傳處理",
+ "uploadFailed": "上傳失敗: ",
+ "uploadSuccess": "上傳成功"
+ },
+ "qrCode": {
+ "scanUpload": "掃碼上傳",
+ "complete": "完成上傳"
+ }
}
},
"api": {
@@ -698,7 +761,9 @@
"enterBackendWTableFolderAddress": "請輸入後端WTable文件夾地址",
"confirmRestartService": "確定要重啟服務",
"operationSuccess": "操作成功",
- "cancelRestart": "取消重啟"
+ "cancelRestart": "取消重啟",
+ "node": "節點",
+ "chinese": "中文"
},
"autoCode": {
"getAiPath": "获取AiPath",
@@ -1010,6 +1075,120 @@
"templateInfoFormatError": "模板信息格式不正確,請檢查",
"exportConditionError": "請填寫完整的導出條件",
"completeAssociationError": "請填寫完整的關聯"
+ },
+ "exportTemplate": {
+ "syncTableExportFeature": "本功能提供同步的表格導出功能,大數據量的異步表格導出功能,可以選擇點我定制",
+ "templateIdentifier": "模板標識",
+ "add": "添加",
+ "edit": "修改",
+ "gvaDatabase": "GVA庫",
+ "note": "註:需要提前到db-list自行配置多數據庫,如未配置需配置後重啟服務方可使用。若無法選擇,請到config.yaml中設置disabled:false,選擇導入導出的目標庫。",
+ "enterTemplateName": "請輸入模板名稱",
+ "templateIdentifierInfo": "模板標識為前端組件需要掛在的標識屬性",
+ "associationCondition": "關聯條件",
+ "selectAssociationMethod": "請選擇關聯方式",
+ "enterAssociationTable": "請輸入關聯表",
+ "associationConditionExample": "關聯條件 table1.a = table2.b",
+ "addCondition": "添加條件",
+ "defaultExportCount": "默認導出條數",
+ "defaultSortCondition": "默認排序條件",
+ "jsonKeyFromQuery": "需要從查詢條件取的json key",
+ "tableColumn": "表對應的column",
+ "selectQueryCondition": "請選擇查詢條件",
+ "templatePlaceholder": "",
+ "selectBusinessDbAndTable": "請先選擇業務庫及選擇表後再進行操作",
+ "templateFormatIncorrect": "模板信息格式不正確,請檢查",
+ "completeExportConditions": "請填寫完整的導出條件",
+ "completeAssociation": "請填寫完整的關聯",
+ "exportTemplateNote": "本功能提供同步的表格導出功能,大數據量的異步表格導出功能,可以選擇點我定制",
+ "creationDate": "創建日期",
+ "searchDateHint": "搜索範圍是開始日期(包含)至結束日期(不包含)",
+ "startDate": "開始日期",
+ "endDate": "結束日期",
+ "templateName": "模板名稱",
+ "searchCriteria": "搜索條件",
+ "tableName": "表名稱",
+ "templateId": "模板標識",
+ "database": "數據庫",
+ "gvaLibrary": "GVA庫",
+ "templateInfo": "模板信息",
+ "addTo": "添加",
+ "dbListNote": "註:需要提前到db-list自行配置多數據庫,如未配置需配置後重啟服務方可使用。若無法選擇,請到config.yaml中設置disabled:false,選擇導入導出的目標庫。",
+ "templateName2": "模板名稱:",
+ "templateNameNote": "請輸入模板名稱",
+ "tableName2": "表名稱:",
+ "autoGenerateTemplate": "自動生成模板",
+ "templateId2": "模板標識:",
+ "templateIdNote": "模板標識為前端組件需要掛在的標識屬性",
+ "associationConditions": "關聯條件:",
+ "associationConditionsNote": "請選擇關聯方式",
+ "associationTableNote": "請輸入關聯表",
+ "joinConditionNote": "關聯條件 table1.a = table2.b",
+ "addingCondtion": "添加條件",
+ "noOfExportedRecords": "默認導出條數:",
+ "sortingCriteria": "默認排序條件:",
+ "sortingCriteriaNote": "例:id desc",
+ "exportCondition": "導出條件:",
+ "jsonKeyNote": "需要從查詢條件取的json key",
+ "columnNote": "表對應的column",
+ "queryConditionNote": "請選擇查詢條件",
+ "templatePlaceholder1": "模板信息格式:key標識數據庫column列名稱(在join模式下需要寫為 table.column),value標識導出excel列名稱,如key為數據庫關鍵字或函數,請按照關鍵字的處理模式處理,當前以mysql為例,如下:",
+ "templatePlaceholder2": "第一列",
+ "templatePlaceholder3": "第三列",
+ "templatePlaceholder4": "第四列",
+ "templatePlaceholder5": "我屬於數據庫關鍵字或函數",
+ "templatePlaceholder6": "如果增加了JOINS導出key應該列為 {table_name1.table_column1:\"第一列\",table_name2.table_column2:\"第二列\"}\r\n如果有重複的列名導出格式應為 {table_name1.table_column1 as key:\"第一列\",table_name2.table_column2 as key2:\"第二列\"}\r\nJOINS模式下不支持導入",
+ "noSpaceOnlyNote": "不能只輸入空格",
+ "enterEndDate": "請填寫結束日期",
+ "enterStartDate": "請填寫開始日期",
+ "startDateBeforeEndDate": "開始日期應當早於結束日期",
+ "selectDBAndTable": "請先選擇業務庫及選擇表後再進行操作",
+ "templateInfoFormatError": "模板信息格式不正確,請檢查",
+ "exportConditionError": "請填寫完整的導出條件",
+ "completeAssociationError": "請填寫完整的關聯",
+ "xiaoMiaoIsThinking": "小淼正在思考...",
+ "tableToBeUsed": "需用到的表",
+ "selectWhenUSingAi": "使用AI的情況下請選擇",
+ "aiHelpWriting": "AI幫寫",
+ "aiNote": "試試描述你要做的導出功能讓AI幫你完成,在此之前請選擇你需要導出的表所在的業務庫,如不做選擇,則默認使用gva庫",
+ "helpWrite": "幫寫",
+ "autoComplete": "自動補全",
+ "autoGenerateTemplates": "自動生成模板",
+ "selectTableToExport": "請先選擇需要參與導出的表",
+ "aiAutoCompleteFail": "AI自動補全失敗,已調整為邏輯填寫"
+ },
+ "installPlugin": {
+ "dragOrClickUpload": "拖拽或點擊上傳",
+ "uploadPackage": "請把安裝包的zip拖拽至此處上傳"
+ },
+ "pubPlug": {
+ "pluginSupport": "目前只支持標準插件(通過插件模板生成的標準目錄插件),非標準插件請自行打包",
+ "pluginNameInput": "插件模板處填寫的【插件名】",
+ "menuSelectionNote": "穿梭框請只選擇子級菜單即可",
+ "menuGroupNameInput": "請輸入菜單組名,例:公告管理",
+ "menuNamePathInput": "請輸入菜單名稱/路徑",
+ "optionalMenu": "可選菜單",
+ "useMenu": "使用菜單",
+ "remove": "移除",
+ "selected": "選中",
+ "defineMenuInstall": "定義安裝菜單",
+ "apiDescriptionPathInput": "請輸入API描述/PATH",
+ "optionalAPI": "可選API",
+ "useAPI": "使用API",
+ "defineAPIInstall": "定義安裝API",
+ "packagePlugin": "打包插件",
+ "package": "打包",
+ "closePackage": "關閉打包",
+ "enterMenuGroupName": "請填寫菜單組名",
+ "selectAtLeastOneMenu": "請至少選擇一個菜單",
+ "enterPluginName": "請填寫插件名",
+ "generateInitialMenu": "生成初始菜單",
+ "generate": "生成",
+ "closeGenerateMenu": "關閉生成菜單",
+ "selectAtLeastOneAPI": "請至少選擇一個API",
+ "enterPluginNameAgain": "請填寫插件名",
+ "closeGenerateAPI": "關閉生成API",
+ "menuChildrenComment": "如果menu存在children,遞歸展開到一級"
}
}
},
@@ -1042,5 +1221,12 @@
"identityInfo": "身份信息",
"loginAgain": "重新登錄"
}
+ },
+ "vitePlugin": {
+ "componentName": {
+ "recursiveGetVueFiles": "遞歸獲取目錄下所有的 .vue 文件",
+ "extractComponentName": "從 .vue 文件內容中提取組件名稱",
+ "vitePluginDefinition": "Vite 插件定義"
+ }
}
}
diff --git a/web/src/locales/zh.json b/web/src/locales/zh.json
index 8fb2f672a..c612c3c1a 100644
--- a/web/src/locales/zh.json
+++ b/web/src/locales/zh.json
@@ -6,7 +6,9 @@
"bottomInfo": {
"poweredBy": "动力来自",
"copyright": "版权",
- "faTeam": "flipped-aurora团队"
+ "faTeam": "flipped-aurora团队",
+ "copyrightNotice": "此文件受版权保护,未经授权禁止修改!如果您尚未获得授权,请通过微信(shouzi_1994)联系我们以购买授权。在未授权状态下,只需保留此代码,不会影响任何正常使用。",
+ "unauthorizedWarning": "未经授权的商用使用可能会被我们的资产搜索引擎爬取,并可能导致后续索赔。索赔金额将不低于高级授权费的十倍。请您遵守版权法律法规,尊重知识产权。"
},
"commandMenu": {
"commandMenuNote": "请输入你需要快捷到达的功能",
@@ -29,7 +31,8 @@
"importExcel": {
"import": "导入",
"importSuccess": "导入成功"
- }
+ },
+ "createExportTaskSuccess": "创建导出任务成功,开始下载"
},
"selectFile": {
"uploadFiles": "上传文件",
@@ -49,7 +52,12 @@
"categoryName": "分类名称",
"allCategories": "全部分类",
"enterCategoryName": "请输入分类名称",
- "categoryNameNote": "最多20位字符"
+ "categoryNameNote": "最多20位字符",
+ "deleteButton": "删除按钮在外层容器中",
+ "addCategory": "添加分类弹窗",
+ "dragStart": "拖拽开始时的处理",
+ "dragEnd": "拖拽结束时的处理",
+ "ensureArrayType": "确保model是数组类型"
}
},
"upload": {
@@ -57,12 +65,64 @@
"normalUpload": "普通上传",
"fileFormatNote": "上传图片只能是 jpg,png,svg,webp 格式, 上传视频只能是 mp4,webm 格式!",
"videoSizeError": "上传视频大小不能超过 5MB",
- "imageSizeError": "未压缩的上传图片大小不能超过 500KB,请使用压缩上传"
+ "imageSizeError": "未压缩的上传图片大小不能超过 500KB,请使用压缩上传",
+ "compression": "压缩",
+ "shouldSupportProjectSetting": "应支持在项目中设置",
+ "shouldSupportProjectSettingToo": "应支持项目中设置"
},
"image": {
"compressedUpload": "压缩上传",
"avatarImageFormatError": "上传头像图片只能是 jpg或png 格式!"
+ },
+ "cropper": {
+ "cropUpload": "裁剪上传",
+ "imageCrop": "图片裁剪",
+ "leftEditArea": "左侧编辑区",
+ "toolbar": "工具栏",
+ "rotateLeft": "向左旋转",
+ "rotateRight": "向右旋转",
+ "selectRatio": "选择比例",
+ "rightPreviewArea": "右侧预览区",
+ "cropPreview": "裁剪预览",
+ "cancel": "取 消",
+ "upload": "上 传",
+ "uploading": "上传中...",
+ "responsiveData": "响应式数据",
+ "zoomControl": "缩放控制",
+ "ratioPreset": "比例预设",
+ "freeRatio": "自由比例",
+ "fileProcessing": "文件处理",
+ "selectImageFile": "请选择图片文件",
+ "fileSizeLimit": "文件大小不能超过8MB!",
+ "rotationControl": "旋转控制",
+ "realtimePreview": "实时预览",
+ "uploadProcessing": "上传处理",
+ "uploadFailed": "上传失败: ",
+ "uploadSuccess": "上传成功"
+ },
+ "qrCode": {
+ "scanUpload": "扫码上传",
+ "complete": "完成上传"
}
+ },
+ "i18n": {
+ "chinese": "中文",
+ "traditionalChinese": "繁體中文"
+ },
+ "office": {
+ "importDocx": "引入VueOfficeDocx组件",
+ "importExcel": "引入VueOfficeExcel组件",
+ "importStyles": "引入相关样式",
+ "pdfLoadSuccess": "pdf 加载成功",
+ "pdfError": "pdf 错误"
+ },
+ "richtext": {
+ "importCss": "引入 css",
+ "placeholder": "请输入内容...",
+ "destroyEditor": "组件销毁时,也及时销毁编辑器"
+ },
+ "charts": {
+ "referenceNote": "本组件参考 arco-pro 的实现"
}
},
"api": {
@@ -841,7 +901,9 @@
"enterBackendWTableFolderAddress": "请输入后端WTable文件夹地址",
"confirmRestartService": "确定要重启服务",
"operationSuccess": "操作成功",
- "cancelRestart": "取消重启"
+ "cancelRestart": "取消重启",
+ "node": "节点",
+ "chinese": "中文"
},
"autoCode": {
"getAiPath": "获取AiPath",
@@ -1194,8 +1256,16 @@
"closeGenerateMenu": "关闭生成菜单",
"selectAtLeastOneAPI": "请至少选择一个API",
"enterPluginNameAgain": "请填写插件名",
- "closeGenerateAPI": "关闭生成API"
+ "closeGenerateAPI": "关闭生成API",
+ "menuChildrenComment": "如果menu存在children,递归展开到一级"
}
}
+ },
+ "vitePlugin": {
+ "componentName": {
+ "recursiveGetVueFiles": "递归获取目录下所有的 .vue 文件",
+ "extractComponentName": "从 .vue 文件内容中提取组件名称",
+ "vitePluginDefinition": "Vite 插件定义"
+ }
}
}
diff --git a/web/src/view/systemTools/system/system.vue b/web/src/view/systemTools/system/system.vue
index 4e21f7586..64956b219 100644
--- a/web/src/view/systemTools/system/system.vue
+++ b/web/src/view/systemTools/system/system.vue
@@ -329,7 +329,7 @@
@@ -1142,6 +1142,7 @@
+
@@ -1150,6 +1151,7 @@
+