mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-10-05 17:27:47 +00:00
发布v2.0.0分支
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import type { App } from "vue";
|
||||
import { createI18n } from "vue-i18n";
|
||||
import { useAppStoreHook } from "@/store/modules/app.store";
|
||||
// 本地语言包
|
||||
import enLocale from "./package/en";
|
||||
import zhCnLocale from "./package/zh-cn";
|
||||
|
||||
const appStore = useAppStoreHook();
|
||||
|
||||
const messages = {
|
||||
"zh-cn": {
|
||||
...zhCnLocale,
|
||||
},
|
||||
en: {
|
||||
...enLocale,
|
||||
},
|
||||
};
|
||||
|
||||
const i18n = createI18n({
|
||||
legacy: false,
|
||||
locale: appStore.language,
|
||||
messages,
|
||||
globalInjection: true,
|
||||
});
|
||||
|
||||
// 全局注册 i18n
|
||||
export function setupI18n(app: App<Element>) {
|
||||
app.use(i18n);
|
||||
}
|
||||
|
||||
export default i18n;
|
||||
@@ -0,0 +1,205 @@
|
||||
export default {
|
||||
// Common section
|
||||
common: {
|
||||
confirm: "Confirm",
|
||||
cancel: "Cancel",
|
||||
reset: "Reset",
|
||||
save: "Save",
|
||||
edit: "Edit",
|
||||
delete: "Delete",
|
||||
add: "Add",
|
||||
export: "Export",
|
||||
import: "Import",
|
||||
query: "Query",
|
||||
resetQuery: "Reset Query",
|
||||
back: "Back",
|
||||
close: "Close",
|
||||
refresh: "Refresh",
|
||||
inputText: 'Please enter',
|
||||
selectText: 'Please select',
|
||||
startTimeText: 'Start Time',
|
||||
endTimeText: 'End Time',
|
||||
login: 'Login',
|
||||
required: 'This field is required',
|
||||
loginOut: 'Logout',
|
||||
document: 'Project Documentation',
|
||||
reminder: 'Reminder',
|
||||
loginOutMessage: 'Are you sure you want to log out?',
|
||||
ok: 'OK',
|
||||
reload: 'Reload',
|
||||
closeTab: 'Close Tab',
|
||||
closeTheLeftTab: 'Close Left Tabs',
|
||||
closeTheRightTab: 'Close Right Tabs',
|
||||
closeOther: 'Close Other Tabs',
|
||||
closeAll: 'Close All Tabs',
|
||||
prevLabel: 'Previous',
|
||||
nextLabel: 'Next',
|
||||
skipLabel: 'Skip',
|
||||
doneLabel: 'Done',
|
||||
menu: 'Menu',
|
||||
menuDes: 'Menu rendered based on route structure',
|
||||
collapse: 'Collapse/Expand',
|
||||
collapseDes: 'Expand and collapse the menu bar',
|
||||
tagsView: 'Tags View',
|
||||
tagsViewDes: 'Used to record route history',
|
||||
tool: 'Tool',
|
||||
toolDes: 'Used to customize system settings',
|
||||
shrink: 'Collapse',
|
||||
expand: 'Expand',
|
||||
delMessage: 'Delete selected data?',
|
||||
delWarning: 'Warning',
|
||||
delOk: 'OK',
|
||||
delCancel: 'Cancel',
|
||||
delNoData: 'Please select data to delete',
|
||||
delSuccess: 'Deleted successfully',
|
||||
fullscreen: 'Fullscreen',
|
||||
size: 'Size',
|
||||
columnSetting: 'Column Settings',
|
||||
lengthRange: 'Length must be between {min} and {max} characters',
|
||||
notSpace: 'Cannot contain spaces',
|
||||
notSpecialCharacters: 'Cannot contain special characters',
|
||||
isEqual: 'The two inputs are inconsistent',
|
||||
setting: 'Settings',
|
||||
copySuccess: 'Copy successfully',
|
||||
copyFailed: 'Copy failed',
|
||||
},
|
||||
// Menu internationalization
|
||||
route: {
|
||||
dashboard: "Dashboard",
|
||||
document: "Document",
|
||||
},
|
||||
// 登录页面国际化
|
||||
login: {
|
||||
themeToggle: "Theme Switch",
|
||||
languageToggle: "Language Switch",
|
||||
dark: "Dark",
|
||||
light: "Light",
|
||||
username: "Please enter Username",
|
||||
password: "Please enter Password",
|
||||
newPassword: "Please enter new Password",
|
||||
login: "Login",
|
||||
captchaCode: "Please enter Verify Code",
|
||||
capsLock: "Caps Lock is On",
|
||||
rememberMe: "Remember Me",
|
||||
forgetPassword: "Forget Password?",
|
||||
message: {
|
||||
username: {
|
||||
required: "Please enter Username",
|
||||
},
|
||||
password: {
|
||||
required: "Please enter Password",
|
||||
min: "The password cannot be less than 6 characters",
|
||||
confirm: "Please confirm the password again",
|
||||
inconformity: "The two password entries are inconsistent",
|
||||
},
|
||||
captchaCode: {
|
||||
required: "Please enter Verify Code",
|
||||
},
|
||||
mobile: {
|
||||
required: "Please enter mobile number",
|
||||
invalid: "Invalid mobile number format",
|
||||
exist: "Mobile number already exists",
|
||||
},
|
||||
email: {
|
||||
required: "Please enter email",
|
||||
invalid: "Invalid email format",
|
||||
exist: "Email already exists",
|
||||
},
|
||||
name: {
|
||||
required: "Please enter account",
|
||||
invalid: "Invalid account format",
|
||||
min: "Account cannot be less than 2 characters",
|
||||
},
|
||||
agree: {
|
||||
required: "Please agree to the User Agreement",
|
||||
}
|
||||
},
|
||||
otherLoginMethods: "Other",
|
||||
resetPassword: "Reset password",
|
||||
thinkOfPasswd: "Remember your password?",
|
||||
register: "Register account",
|
||||
agree: "I have read and agree to the",
|
||||
userAgreement: "User Agreement",
|
||||
haveAccount: "Already have an account?",
|
||||
noAccount: "Don't have an account?",
|
||||
quickFill: "Quick fill",
|
||||
reg: "Register",
|
||||
},
|
||||
// 导航栏国际化
|
||||
navbar: {
|
||||
dashboard: "Dashboard",
|
||||
logout: "Logout",
|
||||
document: "Document",
|
||||
gitee: "Gitee",
|
||||
lock: 'Lock',
|
||||
unlock: 'Unlock',
|
||||
profile: "User Profile",
|
||||
config: "Config Center",
|
||||
tour: "Project Tour",
|
||||
refresh: "Refresh",
|
||||
close: "Close",
|
||||
closeLeft: "Close Left",
|
||||
closeRight: "Close Right",
|
||||
closeOther: "Close Other",
|
||||
closeAll: "Close All",
|
||||
},
|
||||
lock: {
|
||||
lockScreen: 'Lock screen',
|
||||
lockPassword: 'Lock screen password',
|
||||
unlock: 'Click to unlock',
|
||||
backToLogin: 'Back to login',
|
||||
entrySystem: 'Entry the system',
|
||||
placeholder: 'Please enter the lock screen password',
|
||||
message: 'Lock screen password error'
|
||||
},
|
||||
sizeSelect: {
|
||||
tooltip: "Layout Size",
|
||||
default: "Default",
|
||||
large: "Large",
|
||||
small: "Small",
|
||||
message: {
|
||||
success: "Switch Layout Size Successful!",
|
||||
},
|
||||
},
|
||||
langSelect: {
|
||||
message: {
|
||||
success: "Switch Language Successful!",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
project: "Project Settings",
|
||||
theme: "Theme",
|
||||
interface: "Interface",
|
||||
navigation: "Navigation",
|
||||
themeColor: "Theme Color",
|
||||
showTagsView: "Show Tags View",
|
||||
showAppLogo: "Show App Logo",
|
||||
sidebarColorScheme: "Sidebar Color Scheme",
|
||||
showWatermark: "Show Watermark",
|
||||
classicBlue: "Classic Blue",
|
||||
minimalWhite: "Minimal White",
|
||||
copyConfig: "Copy Config",
|
||||
resetConfig: "Reset Default",
|
||||
copySuccess: "Configuration copied to clipboard",
|
||||
resetSuccess: "Reset to default configuration",
|
||||
copyDescription:
|
||||
"Copy config will generate current settings code, reset will restore all settings to default",
|
||||
confirmReset: "Are you sure to reset all settings to default? This operation cannot be undone.",
|
||||
applyToFile: "Apply to File",
|
||||
onlyCopy: "Only Copy",
|
||||
leftLayout: "Left Mode",
|
||||
topLayout: "Top Mode",
|
||||
mixLayout: "Mix Mode",
|
||||
configManagement: "Config Management",
|
||||
copyConfigDescription:
|
||||
"Generate current settings code and copy to clipboard, then overwrite src/settings.ts file",
|
||||
resetConfigDescription: "Restore all settings to system default values",
|
||||
systemTheme: "System Theme",
|
||||
},
|
||||
error: {
|
||||
noPermission: `Sorry, you don't have permission to access this page.`,
|
||||
pageError: 'Sorry, the page you visited does not exist.',
|
||||
networkError: 'Sorry, the server reported an error.',
|
||||
returnToHome: 'Return to home'
|
||||
},
|
||||
};
|
||||
@@ -0,0 +1,207 @@
|
||||
export default {
|
||||
// 公共部分
|
||||
common: {
|
||||
confirm: "确定",
|
||||
cancel: "取消",
|
||||
reset: "重置",
|
||||
save: "保存",
|
||||
edit: "编辑",
|
||||
delete: "删除",
|
||||
add: "添加",
|
||||
export: "导出",
|
||||
import: "导入",
|
||||
query: "查询",
|
||||
resetQuery: "重置查询",
|
||||
back: "返回",
|
||||
close: "关闭",
|
||||
refresh: "刷新",
|
||||
inputText: '请输入',
|
||||
selectText: '请选择',
|
||||
startTimeText: '开始时间',
|
||||
endTimeText: '结束时间',
|
||||
login: '登录',
|
||||
required: '该项为必填项',
|
||||
loginOut: '退出系统',
|
||||
document: '项目文档',
|
||||
reminder: '温馨提示',
|
||||
loginOutMessage: '是否退出本系统?',
|
||||
ok: '确定',
|
||||
reload: '重新加载',
|
||||
closeTab: '关闭标签页',
|
||||
closeTheLeftTab: '关闭左侧标签页',
|
||||
closeTheRightTab: '关闭右侧标签页',
|
||||
closeOther: '关闭其它标签页',
|
||||
closeAll: '关闭全部标签页',
|
||||
prevLabel: '上一步',
|
||||
nextLabel: '下一步',
|
||||
skipLabel: '跳过',
|
||||
doneLabel: '结束',
|
||||
menu: '菜单',
|
||||
menuDes: '以路由的结构渲染的菜单栏',
|
||||
collapse: '展开缩收',
|
||||
collapseDes: '展开和缩放菜单栏',
|
||||
tagsView: '标签页',
|
||||
tagsViewDes: '用于记录路由历史记录',
|
||||
tool: '工具',
|
||||
toolDes: '用于设置定制系统',
|
||||
shrink: '收起',
|
||||
expand: '展开',
|
||||
delMessage: '是否删除所选中数据?',
|
||||
delWarning: '提示',
|
||||
delOk: '确定',
|
||||
delCancel: '取消',
|
||||
delNoData: '请选择需要删除的数据',
|
||||
delSuccess: '删除成功',
|
||||
fullscreen: '全屏',
|
||||
size: '尺寸',
|
||||
columnSetting: '列设置',
|
||||
lengthRange: '长度在 {min} 到 {max} 个字符',
|
||||
notSpace: '不能包含空格',
|
||||
notSpecialCharacters: '不能包含特殊字符',
|
||||
isEqual: '两次输入不一致',
|
||||
setting: '设置',
|
||||
copySuccess: '复制成功',
|
||||
copyFailed: '复制失败',
|
||||
},
|
||||
// 菜单国际化
|
||||
route: {
|
||||
dashboard: "首页",
|
||||
document: "项目文档",
|
||||
},
|
||||
// 登录页面国际化
|
||||
login: {
|
||||
themeToggle: "主题切换",
|
||||
languageToggle: "语言切换",
|
||||
dark: "暗黑",
|
||||
light: "明亮",
|
||||
username: "请输入账号",
|
||||
password: "请输入密码",
|
||||
newPassword: "请输入新密码",
|
||||
login: "登 录",
|
||||
captchaCode: "请输入验证码",
|
||||
capsLock: "大写锁定已打开",
|
||||
rememberMe: "记住我",
|
||||
forgetPassword: "忘记密码?",
|
||||
message: {
|
||||
username: {
|
||||
required: "请输入账号",
|
||||
},
|
||||
password: {
|
||||
required: "请输入密码",
|
||||
min: "密码不能少于6位",
|
||||
confirm: "请再次确认密码",
|
||||
inconformity: "两次密码输入不一致",
|
||||
},
|
||||
captchaCode: {
|
||||
required: "请输入验证码",
|
||||
},
|
||||
mobile: {
|
||||
required: "请输入手机号",
|
||||
invalid: "手机号格式不正确",
|
||||
exist: "手机号已存在",
|
||||
},
|
||||
email: {
|
||||
required: "请输入邮箱",
|
||||
invalid: "邮箱格式不正确",
|
||||
exist: "邮箱已存在",
|
||||
},
|
||||
name: {
|
||||
required: "请输入名称",
|
||||
invalid: "名称格式不正确",
|
||||
min: "名称不能少于2位",
|
||||
},
|
||||
agree: {
|
||||
required: "请先勾选同意用户协议",
|
||||
}
|
||||
},
|
||||
otherLoginMethods: "其他",
|
||||
resetPassword: "重置密码",
|
||||
thinkOfPasswd: "想起密码?",
|
||||
register: "注册账号",
|
||||
agree: "我已同意并阅读",
|
||||
userAgreement: "用户协议",
|
||||
haveAccount: "已有账号?",
|
||||
noAccount: "您没有账号?",
|
||||
quickFill: "快速填写",
|
||||
reg: "注 册",
|
||||
},
|
||||
// 导航栏国际化
|
||||
navbar: {
|
||||
dashboard: "首页",
|
||||
logout: "退出登录",
|
||||
document: "项目文档",
|
||||
gitee: "项目地址",
|
||||
lock: '锁定屏幕',
|
||||
unlock: '解锁屏幕',
|
||||
profile: "个人中心",
|
||||
config: "配置中心",
|
||||
tour: "项目引导",
|
||||
refresh: "刷新",
|
||||
close: "关闭",
|
||||
closeLeft: "关闭左侧",
|
||||
closeRight: "关闭右侧",
|
||||
closeOther: "关闭其他",
|
||||
closeAll: "关闭所有",
|
||||
},
|
||||
lock: {
|
||||
lockScreen: '锁定屏幕',
|
||||
lockPassword: '锁屏密码',
|
||||
unlock: '点击解锁',
|
||||
backToLogin: '返回登录',
|
||||
entrySystem: '进入系统',
|
||||
placeholder: '请输入锁屏密码',
|
||||
required: '请输入必填项',
|
||||
message: '锁屏密码错误'
|
||||
},
|
||||
sizeSelect: {
|
||||
tooltip: "布局大小",
|
||||
default: "默认",
|
||||
large: "大型",
|
||||
small: "小型",
|
||||
message: {
|
||||
success: "切换布局大小成功!",
|
||||
},
|
||||
},
|
||||
langSelect: {
|
||||
message: {
|
||||
success: "切换语言成功!",
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
project: "项目配置",
|
||||
theme: "主题设置",
|
||||
interface: "界面设置",
|
||||
navigation: "导航主题",
|
||||
themeColor: "主题颜色",
|
||||
themeColorTip: "主题颜色",
|
||||
darkMode: "暗黑模式",
|
||||
layoutSetting: "布局设置",
|
||||
sidebarColorScheme: "侧边栏配色",
|
||||
showTagsView: "显示页签",
|
||||
showAppLogo: "显示Logo",
|
||||
showWatermark: "显示水印",
|
||||
classicBlue: "经典蓝",
|
||||
minimalWhite: "极简白",
|
||||
copyConfig: "复制配置",
|
||||
resetConfig: "重置默认",
|
||||
copySuccess: "配置已复制到剪贴板",
|
||||
resetSuccess: "已重置为默认配置",
|
||||
copyDescription: "复制配置将生成当前设置的代码,重置将恢复所有设置为默认值",
|
||||
confirmReset: "确定要重置所有设置为默认值吗?此操作不可恢复。",
|
||||
applyToFile: "应用到文件",
|
||||
onlyCopy: "仅复制",
|
||||
leftLayout: "左侧模式",
|
||||
topLayout: "顶部模式",
|
||||
mixLayout: "混合模式",
|
||||
configManagement: "配置管理",
|
||||
copyConfigDescription: "生成当前设置的代码并复制到剪贴板,然后覆盖 src/settings.ts 文件",
|
||||
resetConfigDescription: "恢复所有设置为系统默认值",
|
||||
systemTheme: "系统主题",
|
||||
},
|
||||
error: {
|
||||
noPermission: `抱歉,您无权访问此页面。`,
|
||||
pageError: '抱歉,您访问的页面不存在。',
|
||||
networkError: '抱歉,服务器报告错误。',
|
||||
returnToHome: '返回首页'
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user