修改翻译文件为json格式(为了方便引用插件)优化过期登录弹窗多个的问题
This commit is contained in:
parent
2efb31571e
commit
89b6b63310
8
.vscode/settings.json
vendored
8
.vscode/settings.json
vendored
@ -19,16 +19,12 @@
|
||||
"markdown"
|
||||
],
|
||||
"cSpell.words": [
|
||||
"antfu",
|
||||
"axios",
|
||||
"bumpp",
|
||||
"chatgpt",
|
||||
"chenzhaoyu",
|
||||
"commitlint",
|
||||
"davinci",
|
||||
"dockerhub",
|
||||
"esno",
|
||||
"GPTAPI",
|
||||
"highlightjs",
|
||||
"hljs",
|
||||
"iconify",
|
||||
@ -39,7 +35,6 @@
|
||||
"mdhljs",
|
||||
"mila",
|
||||
"nodata",
|
||||
"OPENAI",
|
||||
"pinia",
|
||||
"Popconfirm",
|
||||
"rushstack",
|
||||
@ -50,8 +45,7 @@
|
||||
"Typecheck",
|
||||
"unplugin",
|
||||
"VITE",
|
||||
"vueuse",
|
||||
"Zhao"
|
||||
"vueuse"
|
||||
],
|
||||
"i18n-ally.enabledParsers": [
|
||||
"ts"
|
||||
|
@ -4,7 +4,7 @@ import { NButton, NCard, NDivider, NForm, NFormItem, NInput, NSelect, useDialog,
|
||||
import { ref } from 'vue'
|
||||
import { useAppStore, useAuthStore, usePanelState, useUserStore } from '@/store'
|
||||
import { languageOptions } from '@/utils/defaultData'
|
||||
import type { Language } from '@/store/modules/app/helper'
|
||||
import type { Language, Theme } from '@/store/modules/app/helper'
|
||||
import { logout } from '@/api'
|
||||
import { RoundCardModal, SvgIcon } from '@/components/common/'
|
||||
import { updateInfo, updatePassword } from '@/api/system/user'
|
||||
@ -19,10 +19,15 @@ const ms = useMessage()
|
||||
const dialog = useDialog()
|
||||
|
||||
const languageValue = ref(appStore.language)
|
||||
const themeValue = ref(appStore.theme)
|
||||
const nickName = ref(authStore.userInfo?.name || '')
|
||||
const isEditNickNameStatus = ref(false)
|
||||
const formRef = ref<FormInst | null>(null)
|
||||
|
||||
const themeOptions: { label: string; key: string; value: Theme }[] = [
|
||||
{ label: t('apps.userInfo.themeStyle.dark'), key: 'dark', value: 'dark' },
|
||||
{ label: t('apps.userInfo.themeStyle.light'), key: 'light', value: 'light' },
|
||||
{ label: t('apps.userInfo.themeStyle.auto'), key: 'Auto', value: 'auto' },
|
||||
]
|
||||
const updatePasswordModalState = ref({
|
||||
show: false,
|
||||
loading: false,
|
||||
@ -132,6 +137,12 @@ function handleChangeLanuage(value: Language) {
|
||||
appStore.setLanguage(value)
|
||||
location.reload()
|
||||
}
|
||||
|
||||
function handleChangeTheme(value: Theme) {
|
||||
themeValue.value = value
|
||||
appStore.setTheme(value)
|
||||
// location.reload()
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -175,6 +186,16 @@ function handleChangeLanuage(value: Language) {
|
||||
<NSelect v-model:value="languageValue" :options="languageOptions" @update-value="handleChangeLanuage" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-[10px]">
|
||||
<div class="text-slate-500 font-bold">
|
||||
{{ $t('apps.userInfo.theme') }}
|
||||
</div>
|
||||
<div class="max-w-[200px]">
|
||||
<NSelect v-model:value="themeValue" :options="themeOptions" @update-value="handleChangeTheme" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<NDivider style="margin: 10px 0;" dashed />
|
||||
<div>
|
||||
<NButton size="small" text type="info" @click="updatePasswordModalState.show = !updatePasswordModalState.show">
|
||||
|
242
src/locales/en-US.json
Normal file
242
src/locales/en-US.json
Normal file
@ -0,0 +1,242 @@
|
||||
{
|
||||
"adminSettingUsers": {
|
||||
"EditpasswordPlaceholder": "Enter new password, leave blank to keep the current password",
|
||||
"alertText": "Data between accounts is not shared",
|
||||
"appName": "User Management",
|
||||
"currentUseUsername": "Current username",
|
||||
"deletePromptContent": "Are you sure you want to delete {name} ({username})?",
|
||||
"formRules": {
|
||||
"passwordLimit": "6-20 characters",
|
||||
"roleRequired": "Please select a role",
|
||||
"usernameRequired": "Enter username with at least 5 characters"
|
||||
},
|
||||
"passwordPlaceholder": "Enter password",
|
||||
"pblicText": "Public",
|
||||
"role": "Role",
|
||||
"setOrUnsetPublicMode": "Set/Unset public access",
|
||||
"userCountText": "Total {count} users"
|
||||
},
|
||||
"adminSettingUsers.alertText": "Data between accounts are not interoperable",
|
||||
"api": {
|
||||
"loginExpires": "Login status has expired, please login again"
|
||||
},
|
||||
"appLauncher": {
|
||||
"title": "System Applications & Settings"
|
||||
},
|
||||
"apps": {
|
||||
"about": {
|
||||
"QQGroup": "QQ Group:",
|
||||
"QR": "QR Code (Recommended)",
|
||||
"appName": "About",
|
||||
"author": "Author:",
|
||||
"donate": "🧧 Donate",
|
||||
"issue": "Feedback:",
|
||||
"viewUpdateLog": "Click here to view update log"
|
||||
},
|
||||
"baseSettings": {
|
||||
"appName": "Basic Settings",
|
||||
"bottomMargin": "Bottom margin",
|
||||
"clock": "Clock component",
|
||||
"clockSecondShow": "Show seconds",
|
||||
"configFailed": "Configuration save failed, {message}",
|
||||
"configSaved": "Configuration saved",
|
||||
"contentArea": "Content area",
|
||||
"customFooter": "Custom footer",
|
||||
"detailIcon": "Detail icon",
|
||||
"hideDescription": "Hide description information",
|
||||
"hideTitle": "Hide title",
|
||||
"leftRightMargin": "Left-right margin",
|
||||
"mask": "Mask",
|
||||
"maxWidth": "Max width",
|
||||
"publicVisitModeShow": "Allow public mode display",
|
||||
"resetWarnText": "Are you sure you want to reset these styles?",
|
||||
"searchBar": "Search bar component",
|
||||
"searchBarSearchItem": "Allow search bar to search items",
|
||||
"searchBarShow": "Configuration saved",
|
||||
"show": "Show",
|
||||
"showTitle": "Show title",
|
||||
"smallIcon": "Small icon",
|
||||
"systemMonitorStatus": "System status component",
|
||||
"textContent": "Text content",
|
||||
"topMargin": "Top margin",
|
||||
"uploadOrDragText": "Click to upload or drag and drop into the box to replace the image",
|
||||
"vague": "Blur",
|
||||
"wallpaper": "Wallpaper"
|
||||
},
|
||||
"exportImport": {
|
||||
"appName": "Export/Import",
|
||||
"errorConfigFileFormat": "The configuration file format is incorrect and cannot be imported",
|
||||
"errorConfigFileLow": "The configuration file version is too low and cannot be compatible",
|
||||
"export": "Export configuration",
|
||||
"fileModified": "The file has been modified, import with caution",
|
||||
"import": "Import configuration",
|
||||
"moduleIcon": "Icon configuration",
|
||||
"moduleStyle": "Style configuration",
|
||||
"selectExportData": "Select the configuration data to export",
|
||||
"selectImportData": "Select the configuration data to import",
|
||||
"softwareVersionLow": "The current software version may be too old and may not be compatible with this configuration file. It is recommended to update the software to the latest version before importing again.",
|
||||
"tip": "Importing icon configuration data will not clear existing icon data",
|
||||
"warnConfigFileLow": "The configuration file version is too low but compatible"
|
||||
},
|
||||
"itemGroupManage": {
|
||||
"appName": "Group Management",
|
||||
"deleteWarnText": "Are you sure you want to delete this group [{name}]? The application icons in this group will be lost after deletion.",
|
||||
"groupName": "Group name"
|
||||
},
|
||||
"uploadsFileManager": {
|
||||
"alertText": "Here you can manage wallpapers and icons you have uploaded.",
|
||||
"appName": "Uploads File Management",
|
||||
"copyFailed": "Copy failed",
|
||||
"copyLink": "Copy link",
|
||||
"copySuccess": "Link copied successfully. You can paste it in the address bar.",
|
||||
"deleteWarningText": "Cannot be recovered after deletion. Are you sure you want to continue?",
|
||||
"fileName": "Original file name",
|
||||
"infoTitle": "File details",
|
||||
"nothingText": "You haven't uploaded any images yet.",
|
||||
"path": "File path",
|
||||
"setWallpaper": "Set as wallpaper",
|
||||
"uploadTime": "Upload time"
|
||||
},
|
||||
"userInfo": {
|
||||
"appName": "My Information",
|
||||
"theme": "Theme",
|
||||
"themeStyle": {
|
||||
"auto": "Follow the system ",
|
||||
"dark": "Dark ",
|
||||
"light": "Light "
|
||||
}
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"action": "Action",
|
||||
"add": "Add",
|
||||
"addSuccess": "Added successfully",
|
||||
"appName": "Sun-Panel",
|
||||
"backgroundColor": "Background color",
|
||||
"cancel": "Cancel",
|
||||
"confirm": "Confirm",
|
||||
"continue": "Continue",
|
||||
"delete": "Delete",
|
||||
"deleteConfirm": "Are you sure you want to delete?",
|
||||
"deleteConfirmByName": "Are you sure you want to delete {name}?",
|
||||
"deleteFail": "Delete failed",
|
||||
"deleteSuccess": "Deleted successfully",
|
||||
"description": "Description",
|
||||
"download": "Download",
|
||||
"edit": "Edit",
|
||||
"editFail": "Edit failed",
|
||||
"editSuccess": "Edited successfully",
|
||||
"export": "Export",
|
||||
"exportSuccess": "Exported successfully",
|
||||
"failed": "Operation failed",
|
||||
"icon": "Icon",
|
||||
"image": "Image",
|
||||
"import": "Import",
|
||||
"importSuccess": "Imported successfully",
|
||||
"inputPlaceholder": "Please enter",
|
||||
"inputPlaceholderByText": "Please enter {text}",
|
||||
"language": "Language",
|
||||
"leastOne": "Please keep at least one",
|
||||
"nikeName": "Nickname",
|
||||
"no": "No",
|
||||
"noData": "No data available",
|
||||
"password": "Password",
|
||||
"refreshPage": "Please refresh the page",
|
||||
"repeatLater": "Please try again later",
|
||||
"reset": "Reset",
|
||||
"role": {
|
||||
"admin": "Admin",
|
||||
"regularUser": "Regular"
|
||||
},
|
||||
"save": "Save",
|
||||
"saveFail": "Save failed",
|
||||
"saveSort": "Save sort",
|
||||
"saveSuccess": "Saved successfully",
|
||||
"serverError": "Server error",
|
||||
"show": "Show",
|
||||
"sort": "Sort",
|
||||
"style": "Style",
|
||||
"success": "Operation successful",
|
||||
"text": "Text",
|
||||
"textColor": "Text color",
|
||||
"title": "Title",
|
||||
"unknownError": "Unknown error",
|
||||
"uploadFail": "Upload failed",
|
||||
"username": "Username",
|
||||
"verify": "Verify",
|
||||
"warning": "Warning",
|
||||
"yes": "Yes"
|
||||
},
|
||||
"deskModule": {
|
||||
"clock": {
|
||||
"fri": "Friday",
|
||||
"mon": "Monday",
|
||||
"sat": "Saturday",
|
||||
"sun": "Sunday",
|
||||
"thu": "Thursday",
|
||||
"tue": "Tuesday",
|
||||
"wed": "Wednesday"
|
||||
},
|
||||
"searchBox": {
|
||||
"inputPlaceholder": "Enter search content",
|
||||
"openWithNewOpen": "Open in new window"
|
||||
},
|
||||
"systemMonitor": {
|
||||
"cpuState": "CPU status",
|
||||
"diskMountPoint": "Mount point",
|
||||
"diskState": "Disk status",
|
||||
"memoryState": "Memory status",
|
||||
"progressColor": "Main color",
|
||||
"progressRailColor": "Secondary color",
|
||||
"systemState": "System status"
|
||||
}
|
||||
},
|
||||
"form": {
|
||||
"required": "Required field"
|
||||
},
|
||||
"iconItem": {
|
||||
"add": "Add item",
|
||||
"currentPageLayerOpen": "Open in current page as layer",
|
||||
"currentPageOpen": "Open in current page",
|
||||
"edit": "Edit item",
|
||||
"getGroupFail": "Failed to get group information",
|
||||
"getIcon": "Get icon",
|
||||
"geticonFail": "Failed to get icon",
|
||||
"iconGroup": "Group",
|
||||
"inputIconName": "Enter icon name",
|
||||
"inputIconUrlOrUpload": "Enter icon URL or upload",
|
||||
"lanUrl": "LAN URL",
|
||||
"lanUrlInputPlaceholder": "http(s):// (LAN mode, will redirect to this address)",
|
||||
"newWindowOpen": "Open in new window",
|
||||
"onlineIcon": "Online icon",
|
||||
"onlineIconLibrary": "Online icon library",
|
||||
"openMethod": "Open method",
|
||||
"selectUpload": "Local upload",
|
||||
"url": "URL"
|
||||
},
|
||||
"login": {
|
||||
"loginButton": "Login",
|
||||
"passwordPlaceholder": "Enter password",
|
||||
"usernamePlaceholder": "Enter username",
|
||||
"welcomeMessage": "Welcome back!"
|
||||
},
|
||||
"panelHome": {
|
||||
"changeToLanModel": "Switch to LAN mode",
|
||||
"changeToLanModelSuccess": "Switched to LAN mode (mode status saved locally)",
|
||||
"changeToWanModel": "Switch to WAN mode",
|
||||
"changeToWanModelSuccess": "Switched to WAN mode (mode status saved locally)",
|
||||
"goToLogin": "Go to login",
|
||||
"openLanUrl": "Open LAN URL",
|
||||
"openWanUrl": "Open WAN URL"
|
||||
},
|
||||
"settingUserInfo": {
|
||||
"confirmLogoutText": "Are you sure you want to logout?",
|
||||
"confirmPassword": "Confirm new password",
|
||||
"confirmPasswordInconsistentMsg": "Passwords do not match",
|
||||
"logout": "Logout",
|
||||
"logoutSuccess": "You have safely logged out. Looking forward to seeing you again!",
|
||||
"newPassword": "New password",
|
||||
"oldPassword": "Old password",
|
||||
"updatePassword": "Change password"
|
||||
}
|
||||
}
|
@ -1,232 +0,0 @@
|
||||
export default {
|
||||
common: {
|
||||
appName: 'Sun-Panel',
|
||||
add: 'Add',
|
||||
addSuccess: 'Added successfully',
|
||||
edit: 'Edit',
|
||||
editSuccess: 'Edited successfully',
|
||||
editFail: 'Edit failed',
|
||||
delete: 'Delete',
|
||||
deleteSuccess: 'Deleted successfully',
|
||||
deleteFail: 'Delete failed',
|
||||
save: 'Save',
|
||||
saveSuccess: 'Saved successfully',
|
||||
saveFail: 'Save failed',
|
||||
reset: 'Reset',
|
||||
action: 'Action',
|
||||
export: 'Export',
|
||||
exportSuccess: 'Exported successfully',
|
||||
import: 'Import',
|
||||
importSuccess: 'Imported successfully',
|
||||
yes: 'Yes',
|
||||
no: 'No',
|
||||
confirm: 'Confirm',
|
||||
cancel: 'Cancel',
|
||||
warning: 'Warning',
|
||||
download: 'Download',
|
||||
noData: 'No data available',
|
||||
success: 'Operation successful',
|
||||
failed: 'Operation failed',
|
||||
uploadFail: 'Upload failed',
|
||||
repeatLater: 'Please try again later',
|
||||
verify: 'Verify',
|
||||
inputPlaceholder: 'Please enter',
|
||||
inputPlaceholderByText: 'Please enter {text}',
|
||||
deleteConfirm: 'Are you sure you want to delete?',
|
||||
deleteConfirmByName: 'Are you sure you want to delete {name}?',
|
||||
username: 'Username',
|
||||
nikeName: 'Nickname',
|
||||
password: 'Password',
|
||||
serverError: 'Server error',
|
||||
unknownError: 'Unknown error',
|
||||
role: {
|
||||
regularUser: 'Regular',
|
||||
admin: 'Admin',
|
||||
},
|
||||
leastOne: 'Please keep at least one',
|
||||
icon: 'Icon',
|
||||
style: 'Style',
|
||||
show: 'Show',
|
||||
text: 'Text',
|
||||
textColor: 'Text color',
|
||||
sort: 'Sort',
|
||||
saveSort: 'Save sort',
|
||||
language: 'Language',
|
||||
refreshPage: 'Please refresh the page',
|
||||
continue: 'Continue',
|
||||
title: 'Title',
|
||||
image: 'Image',
|
||||
backgroundColor: 'Background color',
|
||||
description: 'Description',
|
||||
},
|
||||
form: {
|
||||
required: 'Required field',
|
||||
},
|
||||
panelHome: {
|
||||
openLanUrl: 'Open LAN URL',
|
||||
openWanUrl: 'Open WAN URL',
|
||||
changeToLanModel: 'Switch to LAN mode',
|
||||
changeToWanModel: 'Switch to WAN mode',
|
||||
goToLogin: 'Go to login',
|
||||
changeToLanModelSuccess: 'Switched to LAN mode (mode status saved locally)',
|
||||
changeToWanModelSuccess: 'Switched to WAN mode (mode status saved locally)',
|
||||
},
|
||||
appLauncher: {
|
||||
title: 'System Applications & Settings',
|
||||
},
|
||||
login: {
|
||||
loginButton: 'Login',
|
||||
usernamePlaceholder: 'Enter username',
|
||||
passwordPlaceholder: 'Enter password',
|
||||
welcomeMessage: 'Welcome back!',
|
||||
},
|
||||
settingUserInfo: {
|
||||
updatePassword: 'Change password',
|
||||
oldPassword: 'Old password',
|
||||
newPassword: 'New password',
|
||||
confirmPassword: 'Confirm new password',
|
||||
confirmPasswordInconsistentMsg: 'Passwords do not match',
|
||||
logout: 'Logout',
|
||||
confirmLogoutText: 'Are you sure you want to logout?',
|
||||
logoutSuccess: 'You have safely logged out. Looking forward to seeing you again!',
|
||||
},
|
||||
adminSettingUsers: {
|
||||
appName: 'User Management',
|
||||
passwordPlaceholder: 'Enter password',
|
||||
EditpasswordPlaceholder: 'Enter new password, leave blank to keep the current password',
|
||||
role: 'Role',
|
||||
formRules: {
|
||||
usernameRequired: 'Enter username with at least 5 characters',
|
||||
roleRequired: 'Please select a role',
|
||||
passwordLimit: '6-20 characters',
|
||||
},
|
||||
alertText: 'Data between accounts is not shared',
|
||||
userCountText: 'Total {count} users',
|
||||
deletePromptContent: 'Are you sure you want to delete {name} ({username})?',
|
||||
currentUseUsername: 'Current username',
|
||||
setOrUnsetPublicMode: 'Set/Unset public access',
|
||||
pblicText: 'Public',
|
||||
},
|
||||
deskModule: {
|
||||
searchBox: {
|
||||
openWithNewOpen: 'Open in new window',
|
||||
inputPlaceholder: 'Enter search content',
|
||||
},
|
||||
clock: {
|
||||
mon: 'Monday',
|
||||
tue: 'Tuesday',
|
||||
wed: 'Wednesday',
|
||||
thu: 'Thursday',
|
||||
fri: 'Friday',
|
||||
sat: 'Saturday',
|
||||
sun: 'Sunday',
|
||||
},
|
||||
systemMonitor: {
|
||||
systemState: 'System status',
|
||||
diskMountPoint: 'Mount point',
|
||||
progressColor: 'Main color',
|
||||
progressRailColor: 'Secondary color',
|
||||
cpuState: 'CPU status',
|
||||
memoryState: 'Memory status',
|
||||
diskState: 'Disk status',
|
||||
},
|
||||
},
|
||||
iconItem: {
|
||||
add: 'Add item',
|
||||
edit: 'Edit item',
|
||||
url: 'URL',
|
||||
lanUrl: 'LAN URL',
|
||||
getIcon: 'Get icon',
|
||||
geticonFail: 'Failed to get icon',
|
||||
openMethod: 'Open method',
|
||||
onlineIcon: 'Online icon',
|
||||
onlineIconLibrary: 'Online icon library',
|
||||
inputIconName: 'Enter icon name',
|
||||
inputIconUrlOrUpload: 'Enter icon URL or upload',
|
||||
selectUpload: 'Local upload',
|
||||
currentPageOpen: 'Open in current page',
|
||||
newWindowOpen: 'Open in new window',
|
||||
currentPageLayerOpen: 'Open in current page as layer',
|
||||
getGroupFail: 'Failed to get group information',
|
||||
iconGroup: 'Group',
|
||||
lanUrlInputPlaceholder: 'http(s):// (LAN mode, will redirect to this address)',
|
||||
},
|
||||
apps: {
|
||||
baseSettings: {
|
||||
appName: 'Basic Settings',
|
||||
configSaved: 'Configuration saved',
|
||||
configFailed: 'Configuration save failed, {message}',
|
||||
show: 'Show',
|
||||
hideTitle: 'Hide title',
|
||||
textContent: 'Text content',
|
||||
clock: 'Clock component',
|
||||
clockSecondShow: 'Show seconds',
|
||||
searchBar: 'Search bar component',
|
||||
searchBarShow: 'Configuration saved',
|
||||
searchBarSearchItem: 'Allow search bar to search items',
|
||||
systemMonitorStatus: 'System status component',
|
||||
showTitle: 'Show title',
|
||||
publicVisitModeShow: 'Allow public mode display',
|
||||
hideDescription: 'Hide description information',
|
||||
wallpaper: 'Wallpaper',
|
||||
uploadOrDragText: 'Click to upload or drag and drop into the box to replace the image',
|
||||
vague: 'Blur',
|
||||
mask: 'Mask',
|
||||
contentArea: 'Content area',
|
||||
maxWidth: 'Max width',
|
||||
leftRightMargin: 'Left-right margin',
|
||||
topMargin: 'Top margin',
|
||||
bottomMargin: 'Bottom margin',
|
||||
customFooter: 'Custom footer',
|
||||
resetWarnText: 'Are you sure you want to reset these styles?',
|
||||
detailIcon: 'Detail icon',
|
||||
smallIcon: 'Small icon',
|
||||
},
|
||||
itemGroupManage: {
|
||||
appName: 'Group Management',
|
||||
deleteWarnText: 'Are you sure you want to delete this group [{name}]? The application icons in this group will be lost after deletion.',
|
||||
groupName: 'Group name',
|
||||
},
|
||||
exportImport: {
|
||||
appName: 'Export/Import',
|
||||
tip: 'Importing icon configuration data will not clear existing icon data',
|
||||
export: 'Export configuration',
|
||||
import: 'Import configuration',
|
||||
selectImportData: 'Select the configuration data to import',
|
||||
selectExportData: 'Select the configuration data to export',
|
||||
fileModified: 'The file has been modified, import with caution',
|
||||
warnConfigFileLow: 'The configuration file version is too low but compatible',
|
||||
softwareVersionLow: 'The current software version may be too old and may not be compatible with this configuration file. It is recommended to update the software to the latest version before importing again.',
|
||||
errorConfigFileLow: 'The configuration file version is too low and cannot be compatible',
|
||||
errorConfigFileFormat: 'The configuration file format is incorrect and cannot be imported',
|
||||
moduleIcon: 'Icon configuration',
|
||||
moduleStyle: 'Style configuration',
|
||||
},
|
||||
userInfo: {
|
||||
appName: 'My Information',
|
||||
},
|
||||
about: {
|
||||
appName: 'About',
|
||||
viewUpdateLog: 'Click here to view update log',
|
||||
issue: 'Feedback:',
|
||||
QQGroup: 'QQ Group:',
|
||||
QR: 'QR Code (Recommended)',
|
||||
author: 'Author:',
|
||||
donate: '🧧 Donate',
|
||||
},
|
||||
uploadsFileManager: {
|
||||
appName: 'Uploads File Management',
|
||||
copyLink: 'Copy link',
|
||||
infoTitle: 'File details',
|
||||
fileName: 'Original file name',
|
||||
path: 'File path',
|
||||
uploadTime: 'Upload time',
|
||||
deleteWarningText: 'Cannot be recovered after deletion. Are you sure you want to continue?',
|
||||
copySuccess: 'Link copied successfully. You can paste it in the address bar.',
|
||||
copyFailed: 'Copy failed',
|
||||
setWallpaper: 'Set as wallpaper',
|
||||
alertText: 'Here you can manage wallpapers and icons you have uploaded.',
|
||||
nothingText: 'You haven\'t uploaded any images yet.',
|
||||
},
|
||||
},
|
||||
}
|
@ -1,12 +1,10 @@
|
||||
import type { App } from 'vue'
|
||||
import { createI18n } from 'vue-i18n'
|
||||
import enUS from './en-US'
|
||||
import enUS from './en-US.json'
|
||||
// import koKR from './ko-KR'
|
||||
import zhCN from './zh-CN'
|
||||
// import zhTW from './zh-TW'
|
||||
import zhCN from './zh-CN.json'
|
||||
// import ruRU from './ru-RU'
|
||||
|
||||
|
||||
const defaultLocale = 'zh-CN'
|
||||
|
||||
const i18n = createI18n({
|
||||
|
241
src/locales/zh-CN.json
Normal file
241
src/locales/zh-CN.json
Normal file
@ -0,0 +1,241 @@
|
||||
{
|
||||
"adminSettingUsers": {
|
||||
"EditpasswordPlaceholder": "请输入新密码,留空密码不变",
|
||||
"alertText": "账号之间的数据不互通",
|
||||
"appName": "用户管理",
|
||||
"currentUseUsername": "当前账号",
|
||||
"deletePromptContent": "你确定删除{name}({username})?",
|
||||
"formRules": {
|
||||
"passwordLimit": "6-20个字符",
|
||||
"roleRequired": "请选择角色",
|
||||
"usernameRequired": "请输入账号且大于5个字符"
|
||||
},
|
||||
"passwordPlaceholder": "请输入密码",
|
||||
"pblicText": "公开",
|
||||
"role": "角色",
|
||||
"setOrUnsetPublicMode": "设置/取消公开访问",
|
||||
"userCountText": "共{count}位用户"
|
||||
},
|
||||
"api": {
|
||||
"loginExpires": "登录状态已过期,请重新登录"
|
||||
},
|
||||
"appLauncher": {
|
||||
"title": "系统应用 & 设置"
|
||||
},
|
||||
"apps": {
|
||||
"about": {
|
||||
"QQGroup": "QQ交流群:",
|
||||
"QR": "二维码(推荐)",
|
||||
"appName": "关于",
|
||||
"author": "作者:",
|
||||
"donate": "🧧打赏",
|
||||
"issue": "建议反馈:",
|
||||
"viewUpdateLog": "点此查看更新说明"
|
||||
},
|
||||
"baseSettings": {
|
||||
"appName": "基础设置",
|
||||
"bottomMargin": "下边距",
|
||||
"clock": "时钟组件",
|
||||
"clockSecondShow": "显示秒",
|
||||
"configFailed": "配置保存失败,{message}",
|
||||
"configSaved": "配置已保存",
|
||||
"contentArea": "内容区域",
|
||||
"customFooter": "自定义footer",
|
||||
"detailIcon": "详情图标",
|
||||
"hideDescription": "隐藏描述信息",
|
||||
"hideTitle": "隐藏标题",
|
||||
"leftRightMargin": "左右边距",
|
||||
"mask": "遮罩",
|
||||
"maxWidth": "最大宽度",
|
||||
"publicVisitModeShow": "公开模式允许显示",
|
||||
"resetWarnText": "确定要重置这些样式吗?",
|
||||
"searchBar": "搜索栏组件",
|
||||
"searchBarSearchItem": "允许搜索栏搜索项目",
|
||||
"searchBarShow": "配置已保存",
|
||||
"show": "显示",
|
||||
"showTitle": "显示标题",
|
||||
"smallIcon": "小图标",
|
||||
"systemMonitorStatus": "系统状态组件",
|
||||
"textContent": "文本内容",
|
||||
"topMargin": "上边距",
|
||||
"uploadOrDragText": "点击上传替换图片或拖拽到框内",
|
||||
"vague": "模糊",
|
||||
"wallpaper": "壁纸"
|
||||
},
|
||||
"exportImport": {
|
||||
"appName": "导出导入",
|
||||
"errorConfigFileFormat": "配置文件格式不正确,无法导入",
|
||||
"errorConfigFileLow": "配置文件版本过低,无法兼容",
|
||||
"export": "导出配置",
|
||||
"fileModified": "文件被修改过,谨慎导入",
|
||||
"import": "导入配置",
|
||||
"moduleIcon": "图标配置",
|
||||
"moduleStyle": "样式配置",
|
||||
"selectExportData": "请选择要导出的配置数据",
|
||||
"selectImportData": "请选择要导入的配置数据",
|
||||
"softwareVersionLow": "当前软件版本可能过旧,很有可能无法兼容该配置文件,请谨慎导入。推荐将软件更新到新版后再次导入",
|
||||
"tip": "导入图标配置数据不会清空现有图标数据",
|
||||
"warnConfigFileLow": "配置文件版本过低,但是兼容"
|
||||
},
|
||||
"itemGroupManage": {
|
||||
"appName": "分组管理",
|
||||
"deleteWarnText": "你确定删除此分组[{name}],删除后此分组应用图标将丢失?",
|
||||
"groupName": "分组名称"
|
||||
},
|
||||
"uploadsFileManager": {
|
||||
"alertText": "你可以在这里管理你上传过的壁纸和图标",
|
||||
"appName": "上传文件管理",
|
||||
"copyFailed": "复制失败",
|
||||
"copyLink": "复制链接",
|
||||
"copySuccess": "链接复制成功,可以在图标地址栏",
|
||||
"deleteWarningText": "删除后无法恢复,你确定要继续吗?",
|
||||
"fileName": "原文件名",
|
||||
"infoTitle": "文件详情",
|
||||
"nothingText": "你还没有上传过任何图片",
|
||||
"path": "文件路径",
|
||||
"setWallpaper": "设置为壁纸",
|
||||
"uploadTime": "上传时间"
|
||||
},
|
||||
"userInfo": {
|
||||
"appName": "我的信息",
|
||||
"theme": "主题",
|
||||
"themeStyle": {
|
||||
"auto": "跟随系统 ",
|
||||
"dark": "深色 ",
|
||||
"light": "浅色 "
|
||||
}
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"action": "操作",
|
||||
"add": "添加",
|
||||
"addSuccess": "添加成功",
|
||||
"appName": "Sun-Panel",
|
||||
"backgroundColor": "背景颜色",
|
||||
"cancel": "取消",
|
||||
"confirm": "确定",
|
||||
"continue": "继续",
|
||||
"delete": "删除",
|
||||
"deleteConfirm": "你确定要删除吗?",
|
||||
"deleteConfirmByName": "你确定要删除{name}吗?",
|
||||
"deleteFail": "删除失败",
|
||||
"deleteSuccess": "删除成功",
|
||||
"description": "描述信息",
|
||||
"download": "下载",
|
||||
"edit": "编辑",
|
||||
"editFail": "编辑失败",
|
||||
"editSuccess": "编辑成功",
|
||||
"export": "导出",
|
||||
"exportSuccess": "导出成功",
|
||||
"failed": "操作失败",
|
||||
"icon": "图标",
|
||||
"image": "图片",
|
||||
"import": "导入",
|
||||
"importSuccess": "导入成功",
|
||||
"inputPlaceholder": "请输入",
|
||||
"inputPlaceholderByText": "请输入{text}",
|
||||
"language": "语言",
|
||||
"leastOne": "请至少保留一项",
|
||||
"nikeName": "昵称",
|
||||
"no": "否",
|
||||
"noData": "暂无数据",
|
||||
"password": "密码",
|
||||
"refreshPage": "请刷新页面",
|
||||
"repeatLater": "请稍后重试",
|
||||
"reset": "重置",
|
||||
"role": {
|
||||
"admin": "管理",
|
||||
"regularUser": "普通"
|
||||
},
|
||||
"save": "保存",
|
||||
"saveFail": "保存成功",
|
||||
"saveSort": "保存排序",
|
||||
"saveSuccess": "保存成功",
|
||||
"serverError": "服务器错误",
|
||||
"show": "显示",
|
||||
"sort": "排序",
|
||||
"style": "样式",
|
||||
"success": "操作成功",
|
||||
"text": "文字",
|
||||
"textColor": "文字颜色",
|
||||
"title": "标题",
|
||||
"unknownError": "未知错误",
|
||||
"uploadFail": "上传失败",
|
||||
"username": "账号",
|
||||
"verify": "验证",
|
||||
"warning": "警告",
|
||||
"yes": "是"
|
||||
},
|
||||
"deskModule": {
|
||||
"clock": {
|
||||
"fri": "星期五",
|
||||
"mon": "星期一",
|
||||
"sat": "星期六",
|
||||
"sun": "星期日",
|
||||
"thu": "星期四",
|
||||
"tue": "星期二",
|
||||
"wed": "星期三"
|
||||
},
|
||||
"searchBox": {
|
||||
"inputPlaceholder": "请输入搜索内容",
|
||||
"openWithNewOpen": "新窗口打开"
|
||||
},
|
||||
"systemMonitor": {
|
||||
"cpuState": "CPU状态",
|
||||
"diskMountPoint": "挂载点",
|
||||
"diskState": "磁盘状态",
|
||||
"memoryState": "内存状态",
|
||||
"progressColor": "主色",
|
||||
"progressRailColor": "副色",
|
||||
"systemState": "系统状态"
|
||||
}
|
||||
},
|
||||
"form": {
|
||||
"required": "必填项"
|
||||
},
|
||||
"iconItem": {
|
||||
"add": "添加项目",
|
||||
"currentPageLayerOpen": "当前页面弹窗打开",
|
||||
"currentPageOpen": "当前页面打开",
|
||||
"edit": "修改项目",
|
||||
"getGroupFail": "分组信息获取失败",
|
||||
"getIcon": "获取图标",
|
||||
"geticonFail": "图标获取失败",
|
||||
"iconGroup": "分组",
|
||||
"inputIconName": "请输入图标名称",
|
||||
"inputIconUrlOrUpload": "输入图标地址或上传",
|
||||
"lanUrl": "局域网地址",
|
||||
"lanUrlInputPlaceholder": "http(s)://(局域网模式,会跳转该地址)",
|
||||
"newWindowOpen": "新窗口打开",
|
||||
"onlineIcon": "在线图标",
|
||||
"onlineIconLibrary": "在线图标库",
|
||||
"openMethod": "打开方式",
|
||||
"selectUpload": "本地上传",
|
||||
"url": "地址"
|
||||
},
|
||||
"login": {
|
||||
"loginButton": "登录",
|
||||
"passwordPlaceholder": "请输入密码",
|
||||
"usernamePlaceholder": "请输入账号",
|
||||
"welcomeMessage": "欢迎回来!"
|
||||
},
|
||||
"panelHome": {
|
||||
"changeToLanModel": "切换为内网模式",
|
||||
"changeToLanModelSuccess": "已经切换到内网模式(模式状态仅保存在本地)",
|
||||
"changeToWanModel": "切换为公网模式",
|
||||
"changeToWanModelSuccess": "已经切换到公网模式(模式状态仅保存在本地)",
|
||||
"goToLogin": "前往登录",
|
||||
"openLanUrl": "打开局域网地址",
|
||||
"openWanUrl": "打开公网地址"
|
||||
},
|
||||
"settingUserInfo": {
|
||||
"confirmLogoutText": "你确定要退出登录吗?",
|
||||
"confirmPassword": "确认新密码",
|
||||
"confirmPasswordInconsistentMsg": "两次密码不一致",
|
||||
"logout": "退出登录",
|
||||
"logoutSuccess": "您已经安全退出,期待与你再次相见!",
|
||||
"newPassword": "新密码",
|
||||
"oldPassword": "旧密码",
|
||||
"updatePassword": "修改密码"
|
||||
}
|
||||
}
|
@ -1,233 +0,0 @@
|
||||
export default {
|
||||
common: {
|
||||
appName: 'Sun-Panel',
|
||||
add: '添加',
|
||||
addSuccess: '添加成功',
|
||||
edit: '编辑',
|
||||
editSuccess: '编辑成功',
|
||||
editFail: '编辑失败',
|
||||
delete: '删除',
|
||||
deleteSuccess: '删除成功',
|
||||
deleteFail: '删除失败',
|
||||
save: '保存',
|
||||
saveSuccess: '保存成功',
|
||||
saveFail: '保存成功',
|
||||
reset: '重置',
|
||||
action: '操作',
|
||||
export: '导出',
|
||||
exportSuccess: '导出成功',
|
||||
import: '导入',
|
||||
importSuccess: '导入成功',
|
||||
yes: '是',
|
||||
no: '否',
|
||||
confirm: '确定',
|
||||
cancel: '取消',
|
||||
warning: '警告',
|
||||
download: '下载',
|
||||
noData: '暂无数据',
|
||||
success: '操作成功',
|
||||
failed: '操作失败',
|
||||
uploadFail: '上传失败',
|
||||
repeatLater: '请稍后重试',
|
||||
verify: '验证',
|
||||
inputPlaceholder: '请输入',
|
||||
inputPlaceholderByText: '请输入{text}',
|
||||
deleteConfirm: '你确定要删除吗?',
|
||||
deleteConfirmByName: '你确定要删除{name}吗?',
|
||||
username: '账号',
|
||||
nikeName: '昵称',
|
||||
password: '密码',
|
||||
serverError: '服务器错误',
|
||||
unknownError: '未知错误',
|
||||
role: {
|
||||
regularUser: '普通',
|
||||
admin: '管理',
|
||||
},
|
||||
leastOne: '请至少保留一项',
|
||||
icon: '图标',
|
||||
style: '样式',
|
||||
show: '显示',
|
||||
text: '文字',
|
||||
textColor: '文字颜色',
|
||||
sort: '排序',
|
||||
saveSort: '保存排序',
|
||||
language: '语言',
|
||||
refreshPage: '请刷新页面',
|
||||
continue: '继续',
|
||||
title: '标题',
|
||||
image: '图片',
|
||||
backgroundColor: '背景颜色',
|
||||
description: '描述信息',
|
||||
},
|
||||
form: {
|
||||
required: '必填项',
|
||||
},
|
||||
panelHome: {
|
||||
openLanUrl: '打开局域网地址',
|
||||
openWanUrl: '打开公网地址',
|
||||
changeToLanModel: '切换为内网模式',
|
||||
changeToWanModel: '切换为公网模式',
|
||||
goToLogin: '前往登录',
|
||||
changeToLanModelSuccess: '已经切换到内网模式(模式状态仅保存在本地)',
|
||||
changeToWanModelSuccess: '已经切换到公网模式(模式状态仅保存在本地)',
|
||||
},
|
||||
appLauncher: {
|
||||
title: '系统应用 & 设置',
|
||||
},
|
||||
login: {
|
||||
loginButton: '登录',
|
||||
usernamePlaceholder: '请输入账号',
|
||||
passwordPlaceholder: '请输入密码',
|
||||
welcomeMessage: '欢迎回来!',
|
||||
},
|
||||
settingUserInfo: {
|
||||
updatePassword: '修改密码',
|
||||
oldPassword: '旧密码',
|
||||
newPassword: '新密码',
|
||||
confirmPassword: '确认新密码',
|
||||
confirmPasswordInconsistentMsg: '两次密码不一致',
|
||||
logout: '退出登录',
|
||||
confirmLogoutText: '你确定要退出登录吗?',
|
||||
logoutSuccess: '您已经安全退出,期待与你再次相见!',
|
||||
},
|
||||
adminSettingUsers: {
|
||||
appName: '用户管理',
|
||||
passwordPlaceholder: '请输入密码',
|
||||
EditpasswordPlaceholder: '请输入新密码,留空密码不变',
|
||||
role: '角色',
|
||||
formRules: {
|
||||
usernameRequired: '请输入账号且大于5个字符',
|
||||
roleRequired: '请选择角色',
|
||||
passwordLimit: '6-20个字符',
|
||||
},
|
||||
alertText: '账号之间的数据不互通',
|
||||
userCountText: '共{count}位用户',
|
||||
deletePromptContent: '你确定删除{name}({username})?',
|
||||
currentUseUsername: '当前账号',
|
||||
setOrUnsetPublicMode: '设置/取消公开访问',
|
||||
pblicText: '公开',
|
||||
},
|
||||
deskModule: {
|
||||
searchBox: {
|
||||
openWithNewOpen: '新窗口打开',
|
||||
inputPlaceholder: '请输入搜索内容',
|
||||
},
|
||||
clock: {
|
||||
mon: '星期一',
|
||||
tue: '星期二',
|
||||
wed: '星期三',
|
||||
thu: '星期四',
|
||||
fri: '星期五',
|
||||
sat: '星期六',
|
||||
sun: '星期日',
|
||||
},
|
||||
systemMonitor: {
|
||||
systemState: '系统状态',
|
||||
diskMountPoint: '挂载点',
|
||||
progressColor: '主色',
|
||||
progressRailColor: '副色',
|
||||
cpuState: 'CPU状态',
|
||||
memoryState: '内存状态',
|
||||
diskState: '磁盘状态',
|
||||
},
|
||||
},
|
||||
iconItem: {
|
||||
add: '添加项目',
|
||||
edit: '修改项目',
|
||||
url: '地址',
|
||||
lanUrl: '局域网地址',
|
||||
getIcon: '获取图标',
|
||||
geticonFail: '图标获取失败',
|
||||
openMethod: '打开方式',
|
||||
onlineIcon: '在线图标',
|
||||
onlineIconLibrary: '在线图标库',
|
||||
inputIconName: '请输入图标名称',
|
||||
inputIconUrlOrUpload: '输入图标地址或上传',
|
||||
selectUpload: '本地上传',
|
||||
currentPageOpen: '当前页面打开',
|
||||
newWindowOpen: '新窗口打开',
|
||||
currentPageLayerOpen: '当前页面弹窗打开',
|
||||
getGroupFail: '分组信息获取失败',
|
||||
iconGroup: '分组',
|
||||
lanUrlInputPlaceholder: 'http(s)://(局域网模式,会跳转该地址)',
|
||||
},
|
||||
apps: {
|
||||
baseSettings: {
|
||||
appName: '基础设置',
|
||||
configSaved: '配置已保存',
|
||||
configFailed: '配置保存失败,{message}',
|
||||
show: '显示',
|
||||
hideTitle: '隐藏标题',
|
||||
textContent: '文本内容',
|
||||
clock: '时钟组件',
|
||||
clockSecondShow: '显示秒',
|
||||
searchBar: '搜索栏组件',
|
||||
searchBarShow: '配置已保存',
|
||||
searchBarSearchItem: '允许搜索栏搜索项目',
|
||||
systemMonitorStatus: '系统状态组件',
|
||||
showTitle: '显示标题',
|
||||
publicVisitModeShow: '公开模式允许显示',
|
||||
hideDescription: '隐藏描述信息',
|
||||
wallpaper: '壁纸',
|
||||
uploadOrDragText: '点击上传替换图片或拖拽到框内',
|
||||
vague: '模糊',
|
||||
mask: '遮罩',
|
||||
contentArea: '内容区域',
|
||||
maxWidth: '最大宽度',
|
||||
leftRightMargin: '左右边距',
|
||||
topMargin: '上边距',
|
||||
bottomMargin: '下边距',
|
||||
customFooter: '自定义footer',
|
||||
resetWarnText: '确定要重置这些样式吗?',
|
||||
detailIcon: '详情图标',
|
||||
smallIcon: '小图标',
|
||||
},
|
||||
itemGroupManage: {
|
||||
appName: '分组管理',
|
||||
deleteWarnText: '你确定删除此分组[{name}],删除后此分组应用图标将丢失?',
|
||||
groupName: '分组名称',
|
||||
},
|
||||
exportImport: {
|
||||
appName: '导出导入',
|
||||
tip: '导入图标配置数据不会清空现有图标数据',
|
||||
export: '导出配置',
|
||||
import: '导入配置',
|
||||
selectImportData: '请选择要导入的配置数据',
|
||||
selectExportData: '请选择要导出的配置数据',
|
||||
fileModified: '文件被修改过,谨慎导入',
|
||||
warnConfigFileLow: '配置文件版本过低,但是兼容',
|
||||
softwareVersionLow: '当前软件版本可能过旧,很有可能无法兼容该配置文件,请谨慎导入。推荐将软件更新到新版后再次导入',
|
||||
errorConfigFileLow: '配置文件版本过低,无法兼容',
|
||||
errorConfigFileFormat: '配置文件格式不正确,无法导入',
|
||||
moduleIcon: '图标配置',
|
||||
moduleStyle: '样式配置',
|
||||
|
||||
},
|
||||
userInfo: {
|
||||
appName: '我的信息',
|
||||
},
|
||||
about: {
|
||||
appName: '关于',
|
||||
viewUpdateLog: '点此查看更新说明',
|
||||
issue: '建议反馈:',
|
||||
QQGroup: 'QQ交流群:',
|
||||
QR: '二维码(推荐)',
|
||||
author: '作者:',
|
||||
donate: '🧧打赏',
|
||||
},
|
||||
uploadsFileManager: {
|
||||
appName: '上传文件管理',
|
||||
copyLink: '复制链接',
|
||||
infoTitle: '文件详情',
|
||||
fileName: '原文件名',
|
||||
path: '文件路径',
|
||||
uploadTime: '上传时间',
|
||||
deleteWarningText: '删除后无法恢复,你确定要继续吗?',
|
||||
copySuccess: '链接复制成功,可以在图标地址栏',
|
||||
copyFailed: '复制失败',
|
||||
setWallpaper: '设置为壁纸',
|
||||
alertText: '你可以在这里管理你上传过的壁纸和图标',
|
||||
nothingText: '你还没有上传过任何图片',
|
||||
},
|
||||
},
|
||||
}
|
@ -1,11 +1,12 @@
|
||||
import type { AxiosProgressEvent, AxiosResponse, GenericAbortSignal } from 'axios'
|
||||
import { createDiscreteApi } from 'naive-ui'
|
||||
import request from './axios'
|
||||
import { t } from '@/locales'
|
||||
import { useAuthStore } from '@/store'
|
||||
import { router } from '@/router'
|
||||
|
||||
const { message } = createDiscreteApi(['message'])
|
||||
|
||||
let loginMessageShow = false
|
||||
export interface HttpOption {
|
||||
url: string
|
||||
data?: any
|
||||
@ -34,7 +35,17 @@ function http<T = any>(
|
||||
return res.data
|
||||
|
||||
if (res.data.code === 1001) {
|
||||
message.warning('登录过期,请重新登录')
|
||||
// 避免重复弹窗
|
||||
if (loginMessageShow === false) {
|
||||
loginMessageShow = true
|
||||
message.warning(t('api.loginExpires'), {
|
||||
// message.warning('登录过期', {
|
||||
onLeave() {
|
||||
loginMessageShow = false
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
router.push({ path: '/login' })
|
||||
authStore.removeToken()
|
||||
return res.data
|
||||
|
@ -10,10 +10,75 @@
|
||||
},
|
||||
{
|
||||
"name": "root",
|
||||
"path": "."
|
||||
"path": ".",
|
||||
}
|
||||
],
|
||||
"settings": {
|
||||
"vue.codeActions.enabled": false
|
||||
}
|
||||
"prettier.enable": false,
|
||||
"editor.formatOnSave": false,
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": "explicit"
|
||||
},
|
||||
"eslint.validate": [
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"vue",
|
||||
"html",
|
||||
"json",
|
||||
"jsonc",
|
||||
"json5",
|
||||
"yaml",
|
||||
"yml",
|
||||
"markdown"
|
||||
],
|
||||
"cSpell.words": [
|
||||
"axios",
|
||||
"bumpp",
|
||||
"commitlint",
|
||||
"davinci",
|
||||
"dockerhub",
|
||||
"esno",
|
||||
"highlightjs",
|
||||
"hljs",
|
||||
"iconify",
|
||||
"katex",
|
||||
"katexmath",
|
||||
"linkify",
|
||||
"logprobs",
|
||||
"mdhljs",
|
||||
"mila",
|
||||
"nodata",
|
||||
"pinia",
|
||||
"Popconfirm",
|
||||
"rushstack",
|
||||
"Sider",
|
||||
"tailwindcss",
|
||||
"traptitech",
|
||||
"tsup",
|
||||
"Typecheck",
|
||||
"unplugin",
|
||||
"VITE",
|
||||
"vueuse",
|
||||
],
|
||||
"i18n-ally.sortKeys": true,
|
||||
"i18n-ally.enabledParsers": ["ts", "js","json"],
|
||||
"i18n-ally.enabledFrameworks": [
|
||||
"vue"
|
||||
],
|
||||
"i18n-ally.dirStructure": "auto",
|
||||
"i18n-ally.localesPaths": [
|
||||
"locales"
|
||||
],
|
||||
"i18n-ally.sourceLanguage": "zh-CN",
|
||||
"i18n-ally.keystyle": "nested",
|
||||
},
|
||||
"extensions": {
|
||||
"recommendations": [
|
||||
"Vue.volar",
|
||||
"dbaeumer.vscode-eslint"
|
||||
]
|
||||
},
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user