diff --git a/web/src/locales/ar.json b/web/src/locales/ar.json index fccaa5b89..7a68c6180 100644 --- a/web/src/locales/ar.json +++ b/web/src/locales/ar.json @@ -272,30 +272,47 @@ "changeLanguage": "تغيير اللغة" }, "setting": { - "defaultTheme": "السمة الافتراضية", - "themeColor": "لون السمة", - "interfaceDisplay": "عرض الواجهة", - "showWaterMark": "عرض العلامة المائية", - "grayMode": "وضع الرمادي", - "colorFadeMode": "وضع تلاشي الألوان", - "menuMode": "وضع القائمة", - "showTabs": "عرض علامات التبويب", - "pageSwitchAnimation": "رسوم متحركة لتبديل الصفحات", - "fadeInOut": "التلاشي والاختفاء", - "slide": "شرائح", - "zoom": "تكبير", - "noAnimation": "لا يوجد رسوم متحركة", - "layoutSizeConfig": "تكوين حجم التخطيط", - "sidebarExpandedWidth": "عرض الشريط الجانبي الموسع", - "sidebarShrinkWidth": "عرض الشريط الجانبي المنكمش", - "sidebarItemHeight": "ارتفاع عنصر الشريط الجانبي", - "configSaveNote1": "يرجى ملاحظة أن جميع التكوينات يجب حفظها في الملف المحلي", - "configSaveNote2": "، وإلا ستفقد التكوينات بعد تحديث الصفحة", - "copyConfig": "حفظ", - "normalMode": "الوضع العادي", - "topMenuBarMode": "وضع شريط القائمة العلوي", - "combinationMode": "وضع الجمع", - "copyConfigSuccess": "حفظ بنجاح" + "resetConfig": "إعادة تعيين الإعدادت", + "appearance": "المظهر", + "layout": "التنظيم", + "general": "عام", + "modules": { + "appearance": { + "themeMode": "وضع السمات", + "themeColor": "لون السمة", + "visualAid": "المساعدات البصرية", + "grayMode": "وضع الرمادي", + "reduceColor": "تقليل تشبع اللون", + "colorWeaknessMode": "وضع ضعف اللون", + "optimizeColor": "تحسين تباين الألوان", + "showWaterMark": "إظهار العلامة المائية", + "showWaterMarkOnPage": "إظهار العلامة المائية على الصفحة" + }, + "general": { + "systemInfo": "معلومات النظام", + "version": "الإصدار", + "frontendFramework": "إطار عمل الواجهة الأمامية", + "uiComponentLib": "مكتبة مكونات واجهة المستخدم", + "buildTools": "أدوات البناء", + "browser": "المتصفح", + "screenResolution": "دقة الشاشة", + "configManagement": "إدارة الإعدادات", + "resetConfigNote": "استعادة جميع الإعدادات إلى القيم الافتراضية", + "exportConfig": "تصدير الإعدادات", + "exportConfigNote": "تصدير الإعدادات الحالية إلى ملف JSON", + "importConfig": "استيراد الإعدادات", + "importConfigNote": "استيراد الإعدادات من ملف JSON", + "about": "حول المشروع", + "aboutNote": "منصة تطوير متكاملة تعتمد على Vue3 + Gin، وتوفر حلاً كاملاً لإدارة الخلفية", + "githubRepo": "GitHub رابط المشروع على", + "officialDocs": "الوثائق الرسمية", + "resetAllConfigNote": "هل أنت متأكد من رغبتك في إعادة ضبط جميع الإعدادات؟ لا يمكن التراجع عن هذه العملية.", + "configReset": "إعادة تعيين الإعدادات", + "configExported": "تم تصدير الإعدادت", + "configImported": "تم إستيراد الإعدادت", + "configFileFormatError": "خطأ فى تنسيق ملف الإعدادات" + } + } } }, "login": { diff --git a/web/src/locales/en.json b/web/src/locales/en.json index 47ed9152f..37ddaa247 100644 --- a/web/src/locales/en.json +++ b/web/src/locales/en.json @@ -273,30 +273,47 @@ "videoTutorial": "Video Tutorial" }, "setting": { - "defaultTheme": "Default Theme", - "themeColor": "Theme Color", - "interfaceDisplay": "Interface Display", - "showWaterMark": "Show WaterMark", - "grayMode": "Gray Mode", - "colorFadeMode": "Color Fade Mode", - "menuMode": "Menu Mode", - "showTabs": "Show Tabs", - "pageSwitchAnimation": "Page Switching Animation", - "fadeInOut": "Fade In And Out", - "slide": "Slide", - "zoom": "Zoom", - "noAnimation": "No Animation", - "layoutSizeConfig": "Layout Size Configuration", - "sidebarExpandedWidth": "Sidebar Expanded Width", - "sidebarShrinkWidth": "Sidebar Shrink Width", - "sidebarItemHeight": "Sidebar Item Height", - "configSaveNote1": "Please note that all configurations should be saved to local file ", - "configSaveNote2": ", otherwise the configuration will be lost after refreshing the page.", - "copyConfig": "Save", - "normalMode": "Normal", - "topMenuBarMode": "Top Menu Bar", - "combinationMode": "Combination", - "copyConfigSuccess": "Save successfully" + "resetConfig": "Reset Configuration", + "appearance": "Appearance", + "layout": "Layout", + "general": "General", + "modules": { + "appearance": { + "themeMode": "Theme Mode", + "themeColor": "Theme Color", + "visualAid": "Visual Aid", + "grayMode": "Gray Mode", + "reduceColor": "Reduce color saturation", + "colorWeaknessMode": "Color weakness mode", + "optimizeColor": "Optimize color contrast", + "showWaterMark": "Show Watermark", + "showWaterMarkOnPage": "Show a watermark on the page" + }, + "general": { + "systemInfo": "System Information", + "version": "Version", + "frontendFramework": "Front-end Framework", + "uiComponentLib": "UI Component Library", + "buildTools": "Build Tools", + "browser": "Browser", + "screenResolution": "Screen Resolution", + "configManagement": "Configuration Management", + "resetConfigNote": "Restore all settings to default values", + "exportConfig": "Export Configuration", + "exportConfigNote": "Export the current configuration to a JSON file", + "importConfig": "Import configuration", + "importConfigNote": "Import configuration from a JSON file", + "about": "About This Project", + "aboutNote": "A full-stack development platform based on Vue3 + Gin, providing a complete background management solution", + "githubRepo": "GitHub Repository", + "officialDocs": "Official Documentation", + "resetAllConfigNote": "Are you sure you want to reset all configurations? This operation cannot be undone.", + "configReset": "Configuration reset", + "configExported": "Configuration exported", + "configImported": "Configuration imported", + "configFileFormatError": "Configuration file format error" + } + } } }, "login": { diff --git a/web/src/locales/zh-TW.json b/web/src/locales/zh-TW.json index 79f6f2599..4d7af02ed 100644 --- a/web/src/locales/zh-TW.json +++ b/web/src/locales/zh-TW.json @@ -247,30 +247,47 @@ "changeLanguage": "切換語言" }, "setting": { - "defaultTheme": "預設主題", - "themeColor": "主題色", - "interfaceDisplay": "介面顯示", - "showWaterMark": "顯示水印", - "grayMode": "灰度模式", - "colorFadeMode": "色弱模式", - "menuMode": "菜單模式", - "showTabs": "顯示標籤頁", - "pageSwitchAnimation": "頁面切換動畫", - "fadeInOut": "淡入淡出", - "slide": "滑動", - "zoom": "縮放", - "noAnimation": "無動畫", - "layoutSizeConfig": "layout 大小配置", - "sidebarExpandedWidth": "側邊欄展開寬度", - "sidebarShrinkWidth": "側邊欄收縮寬度", - "sidebarItemHeight": "側邊欄子項高度", - "configSaveNote1": "請注意,所有配置請保存到本地文件的", - "configSaveNote2": " 文件中,否則刷新頁面後會丟失配置", - "copyConfig": "複製配置json", - "normalMode": "正常模式", - "topMenuBarMode": "頂部菜單欄模式", - "combinationMode": "組合模式", - "copyConfigSuccess": "複製成功, 請自行保存到本地文件中" + "resetConfig": "重置配置", + "appearance": "外觀", + "layout": "佈局", + "general": "一般", + "modules": { + "appearance": { + "themeMode": "主題模式", + "themeColor": "主題顏色", + "visualAid": "視覺輔助", + "grayMode": "灰階模式", + "reduceColor": "降低色彩飽和度", + "colorWeaknessMode": "色弱模式", + "optimizeColor": "優化色彩對比", + "showWaterMark": "顯示浮水印", + "showWaterMarkOnPage": "在頁面顯示浮水印標識" + }, + "general": { + "systemInfo": "系統訊息", + "version": "版本", + "frontendFramework": "前端框架", + "uiComponentLib": "UI 元件庫", + "buildTools": "建置工具", + "browser": "瀏覽器", + "screenResolution": "螢幕解析度", + "configManagement": "配置管理", + "resetConfigNote": "將所有設定恢復為預設值", + "exportConfig": "匯出配置", + "exportConfigNote": "匯出目前配置為 JSON 文件", + "importConfig": "導入配置", + "importConfigNote": "從 JSON 檔案匯入設定", + "about": "關於項目", + "aboutNote": "基於 Vue3 + Gin 的全端開發基礎平台,提供完整的後台管理解決方案", + "githubRepo": "GitHub 倉庫", + "officialDocs": "官方文檔", + "resetAllConfigNote": "確定要重置所有配置嗎?此操作不可撤銷。", + "configReset": "配置已重置", + "configExported": "配置已匯出", + "configImported": "配置已導入", + "configFileFormatError": "設定檔格式錯誤" + } + } } }, "login": { diff --git a/web/src/locales/zh.json b/web/src/locales/zh.json index 2678b6b6f..7abc0b626 100644 --- a/web/src/locales/zh.json +++ b/web/src/locales/zh.json @@ -284,30 +284,47 @@ "changeLanguage": "切换语言" }, "setting": { - "defaultTheme": "默认主题", - "themeColor": "主题色", - "interfaceDisplay": "界面显示", - "showWaterMark": "展示水印", - "grayMode": "灰色模式", - "colorFadeMode": "色弱模式", - "menuMode": "菜单模式", - "showTabs": "显示标签页", - "pageSwitchAnimation": "页面切换动画", - "fadeInOut": "淡入淡出", - "slide": "滑动", - "zoom": "缩放", - "noAnimation": "无动画", - "layoutSizeConfig": "layout 大小配置", - "sidebarExpandedWidth": "侧边栏展开宽度", - "sidebarShrinkWidth": "侧边栏收缩宽度", - "sidebarItemHeight": "侧边栏子项高度", - "configSaveNote1": "请注意,所有配置请保存到本地文件的", - "configSaveNote2": " 文件中,否则刷新页面后会丢失配置", - "copyConfig": "保存配置", - "normalMode": "正常模式", - "topMenuBarMode": "顶部菜单栏模式", - "combinationMode": "组合模式", - "copyConfigSuccess": "保存成功" + "resetConfig": "重置配置", + "appearance": "外观", + "layout": "布局", + "general": "通用", + "modules": { + "appearance": { + "themeMode": "主题模式", + "themeColor": "主题颜色", + "visualAid": "视觉辅助", + "grayMode": "灰色模式", + "reduceColor": "降低色彩饱和度", + "colorWeaknessMode": "色弱模式", + "optimizeColor": "优化色彩对比度", + "showWaterMark": "显示水印", + "showWaterMarkOnPage": "在页面显示水印标识" + }, + "general": { + "systemInfo": "系统信息", + "version": "版本", + "frontendFramework": "前端框架", + "uiComponentLib": "UI 组件库", + "buildTools": "构建工具", + "browser": "浏览器", + "screenResolution": "屏幕分辨率", + "configManagement": "配置管理", + "resetConfigNote": "将所有设置恢复为默认值", + "exportConfig": "导出配置", + "exportConfigNote": "导出当前配置为 JSON 文件", + "importConfig": "导入配置", + "importConfigNote": "从 JSON 文件导入配置", + "about": "关于项目", + "aboutNote": "基于 Vue3 + Gin 的全栈开发基础平台,提供完整的后台管理解决方案", + "githubRepo": "GitHub 仓库", + "officialDocs": "官方文档", + "resetAllConfigNote": "确定要重置所有配置吗?此操作不可撤销。", + "configReset": "配置已重置", + "configExported": "配置已导出", + "configImported": "配置已导入", + "configFileFormatError": "配置文件格式错误" + } + } } }, "login": { diff --git a/web/src/view/init/index.vue b/web/src/view/init/index.vue index 79c6325b8..4e4f3ed11 100644 --- a/web/src/view/init/index.vue +++ b/web/src/view/init/index.vue @@ -314,6 +314,7 @@ t('init.dbInitNote'), t('init.configComplete'), { + style: "width: 540px", confirmButtonText: t('init.viewAIConfigDocs'), cancelButtonText: t('init.configLater'), type: 'success', diff --git a/web/src/view/layout/setting/index.vue b/web/src/view/layout/setting/index.vue index e8cee321b..3d98bb2fa 100644 --- a/web/src/view/layout/setting/index.vue +++ b/web/src/view/layout/setting/index.vue @@ -9,7 +9,7 @@ > @@ -78,9 +78,9 @@ const activeTab = ref('appearance') const tabs = [ - { key: 'appearance', label: '外观' }, - { key: 'layout', label: '布局' }, - { key: 'general', label: '通用' } + { key: 'appearance', label: t('layout.setting.appearance') }, + { key: 'layout', label: t('layout.setting.layout') }, + { key: 'general', label: t('layout.setting.general') } ] const width = computed(() => { diff --git a/web/src/view/layout/setting/modules/appearance/index.vue b/web/src/view/layout/setting/modules/appearance/index.vue index 70fb98db2..42bd5d69a 100644 --- a/web/src/view/layout/setting/modules/appearance/index.vue +++ b/web/src/view/layout/setting/modules/appearance/index.vue @@ -4,7 +4,7 @@
- 主题模式 + {{ t('layout.setting.modules.appearance.themeMode') }}
@@ -20,7 +20,7 @@
- 主题颜色 + {{ t('layout.setting.modules.appearance.themeColor') }}
@@ -36,15 +36,15 @@
- 视觉辅助 + {{ t('layout.setting.modules.appearance.visualAid') }}
- + - + - +
- 系统信息 + {{ t('layout.setting.modules.general.systemInfo') }}
@@ -11,27 +11,27 @@
- 版本 + {{ t('layout.setting.modules.general.version') }} v2.7.4
- 前端框架 + {{ t('layout.setting.modules.general.frontendFramework') }} Vue 3
- UI 组件库 + {{ t('layout.setting.modules.general.uiComponentLib') }} Element Plus
- 构建工具 + {{ t('layout.setting.modules.general.buildTools') }} Vite
- 浏览器 + {{ t('layout.setting.modules.general.browser') }} {{ browserInfo }}
- 屏幕分辨率 + {{ t('layout.setting.modules.general.screenResolution') }} {{ screenResolution }}
@@ -42,7 +42,7 @@
- 配置管理 + {{ t('layout.setting.modules.general.configManagement') }}
@@ -55,8 +55,8 @@ 🔄
-

重置配置

-

将所有设置恢复为默认值

+

{{ t('layout.setting.resetConfig') }}

+

{{ t('layout.setting.modules.general.resetConfigNote') }}

- 重置配置 + {{ t('layout.setting.resetConfig') }}
@@ -75,8 +75,8 @@ 📤
-

导出配置

-

导出当前配置为 JSON 文件

+

{{ t('layout.setting.modules.general.exportConfig') }}

+

{{ t('layout.setting.modules.general.exportConfigNote') }}

- 导出配置 + {{ t('layout.setting.modules.general.exportConfig') }}
@@ -96,8 +96,8 @@ 📥
-

导入配置

-

从 JSON 文件导入配置

+

{{ t('layout.setting.modules.general.importConfig') }}

+

{{ t('layout.setting.modules.general.importConfigNote') }}

- 导入配置 + {{ t('layout.setting.modules.general.importConfig') }} @@ -124,7 +124,7 @@
- 关于项目 + {{ t('layout.setting.modules.general.about') }}
@@ -142,7 +142,7 @@

Gin-Vue-Admin

- 基于 Vue3 + Gin 的全栈开发基础平台,提供完整的后台管理解决方案 + {{ t('layout.setting.modules.general.aboutNote') }}

@@ -176,6 +176,9 @@ import { ref, computed, onMounted } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' import { storeToRefs } from 'pinia' import { useAppStore } from '@/pinia' +import { useI18n } from 'vue-i18n' // added by mohamed hassan to support multilingual + +const { t } = useI18n() // added by mohamed hassan to support multilingual defineOptions({ name: 'GeneralSettings' @@ -213,17 +216,17 @@ const handleLogoError = () => { const handleResetConfig = async () => { try { await ElMessageBox.confirm( - '确定要重置所有配置吗?此操作不可撤销。', - '重置配置', + t('layout.setting.modules.general.resetAllConfigNote'), + t('layout.setting.resetConfig'), { - confirmButtonText: '确定', - cancelButtonText: '取消', + confirmButtonText: t('general.confirm'), + cancelButtonText: t('general.cancel'), type: 'warning' } ) appStore.resetConfig() - ElMessage.success('配置已重置') + ElMessage.success(t('layout.setting.modules.general.configReset')) } catch { // User cancelled } @@ -242,7 +245,7 @@ const handleExportConfig = () => { document.body.removeChild(link) URL.revokeObjectURL(url) - ElMessage.success('配置已导出') + ElMessage.success(t('layout.setting.modules.general.configExported')) } const handleImportConfig = (file) => { @@ -257,9 +260,9 @@ const handleImportConfig = (file) => { } }) - ElMessage.success('配置已导入') + ElMessage.success(t('layout.setting.modules.general.configImported')) } catch (error) { - ElMessage.error('配置文件格式错误') + ElMessage.error(t('layout.setting.modules.general.configFileFormatError')) } } reader.readAsText(file.raw)