feat(i18n): 改进英语翻译 (#762)

This commit is contained in:
ayangweb
2025-12-24 17:52:05 +08:00
committed by GitHub
parent f1fac05975
commit 49b5d9954c
6 changed files with 125 additions and 125 deletions

View File

@@ -53,7 +53,7 @@ useTauriListen<boolean>(LISTEN_KEY.UPDATE_APP, () => {
message.loading({
key: MESSAGE_KEY,
duration: 0,
content: t('components.proShortcut.updateApp.hints.checkingUpdates'),
content: t('components.updateApp.hints.checkingUpdates'),
})
})
@@ -93,7 +93,7 @@ async function checkUpdate(visibleMessage = false) {
message.destroy(MESSAGE_KEY)
} else if (visibleMessage) {
message.success({ key: MESSAGE_KEY, content: t('components.proShortcut.updateApp.hints.alreadyLatest') })
message.success({ key: MESSAGE_KEY, content: t('components.updateApp.hints.alreadyLatest') })
}
} catch (error) {
if (!visibleMessage) return
@@ -140,15 +140,15 @@ async function handleOk() {
<template>
<Modal
v-model:open="state.open"
:cancel-text="$t('components.proShortcut.updateApp.buttons.updateLater')"
:cancel-text="$t('components.updateApp.buttons.updateLater')"
centered
:closable="false"
:mask-closable="false"
:title="$t('components.proShortcut.updateApp.title')"
:title="$t('components.updateApp.title')"
@ok="handleOk"
>
<template #okText>
{{ state.downloading ? downloadProgress : $t('components.proShortcut.updateApp.buttons.updateNow') }}
{{ state.downloading ? downloadProgress : $t('components.updateApp.buttons.updateNow') }}
</template>
<Flex
@@ -157,7 +157,7 @@ async function handleOk() {
vertical
>
<Flex align="center">
<span>{{ $t('components.proShortcut.updateApp.labels.updateVersion') }}</span>
<span>{{ $t('components.updateApp.labels.updateVersion') }}</span>
<span>
<span>{{ state.update?.currentVersion }} 👉 </span>
<a
@@ -169,12 +169,12 @@ async function handleOk() {
</Flex>
<Flex align="center">
<span>{{ $t('components.proShortcut.updateApp.labels.updateTime') }}</span>
<span>{{ $t('components.updateApp.labels.updateTime') }}</span>
<span>{{ state.update?.date }}</span>
</Flex>
<Flex vertical>
<span>{{ $t('components.proShortcut.updateApp.labels.changelog') }}</span>
<span>{{ $t('components.updateApp.labels.changelog') }}</span>
<VueMarkdown
class="update-note max-h-40 overflow-auto"

View File

@@ -2,7 +2,7 @@
"pages": {
"main": {
"hints": {
"redrawing": "Resizing..."
"redrawing": "Redrawing..."
}
},
"preference": {
@@ -12,11 +12,11 @@
"labels": {
"modelSettings": "Model Settings",
"mirrorMode": "Mirror Mode",
"singleMode": "Show Last Key Only",
"singleMode": "Single Key Mode",
"mouseMirror": "Mouse Mirror",
"windowSettings": "Window Settings",
"passThrough": "Window Penetration",
"alwaysOnTop": "Always On Top",
"passThrough": "Pass Through",
"alwaysOnTop": "Always on Top",
"windowSize": "Window Size",
"windowRadius": "Window Radius",
"opacity": "Opacity",
@@ -24,28 +24,28 @@
"hideOnHover": "Hide on Hover"
},
"hints": {
"mirrorMode": "When enabled, the model will be horizontally flipped.",
"singleMode": "When enabled, only the last key pressed on each hand is displayed (prevents showing multiple hands when pressing multiple keys at once).",
"mouseMirror": "When enabled, the mouse will mirror follow the hand movement.",
"passThrough": "When enabled, the window will not affect operations on other applications.",
"alwaysOnTop": "When enabled, the window will always stay above other applications.",
"windowSize": "Move the mouse to the edge of the window or hold Shift and right-drag to resize.",
"autoReleaseDelay": "Due to Windows not capturing the release events of certain system-level keys, they will be automatically treated as released after a timeout.",
"hideOnHover": "When enabled, the window will hide when the mouse hovers over it."
"mirrorMode": "When enabled, the model will be mirrored horizontally.",
"singleMode": "When enabled, only the last pressed key is displayed for each hand.",
"mouseMirror": "When enabled, the mouse will mirror the hand movement.",
"passThrough": "When enabled, clicks pass through the window without affecting it.",
"alwaysOnTop": "When enabled, the window stays above all other windows.",
"windowSize": "Move mouse to window edge, or hold Shift and right-drag to resize.",
"autoReleaseDelay": "On Windows, some system keys cannot capture release events and will auto-release after timeout.",
"hideOnHover": "When enabled, the window hides when mouse hovers over it."
}
},
"general": {
"title": "General",
"labels": {
"appSettings": "Application settings",
"launchOnStartup": "Launch at startup",
"showTaskbarIcon": "Show taskbar icon",
"appearanceSettings": "Appearance settings",
"themeMode": "Theme",
"language": "Languages",
"updateSettings": "Update settings",
"autoCheckUpdate": "Check for updates automatically",
"permissionsSettings": "Permission Settings",
"appSettings": "Application Settings",
"launchOnStartup": "Launch on Startup",
"showTaskbarIcon": "Show Taskbar Icon",
"appearanceSettings": "Appearance Settings",
"themeMode": "Theme Mode",
"language": "Language",
"updateSettings": "Update Settings",
"autoCheckUpdate": "Auto Check for Updates",
"permissionsSettings": "Permissions Settings",
"inputMonitoringPermission": "Input Monitoring Permission"
},
"options": {
@@ -54,9 +54,9 @@
"darkMode": "Dark"
},
"hints": {
"showTaskbarIcon": "Once enabled, you can capture the window via OBS Studio.",
"inputMonitoringPermission": "Enable input monitoring permission to receive system keyboard and mouse events to respond to your actions.",
"inputMonitoringPermissionGuide": "If the permission is already enabled, first select it and click the \"-\" button to remove it. Then add it again manually and restart the application to ensure the permission takes effect."
"showTaskbarIcon": "When enabled, the window can be captured via OBS Studio.",
"inputMonitoringPermission": "Enable input monitoring to receive keyboard and mouse events from the system.",
"inputMonitoringPermissionGuide": "If the permission is already enabled, select it and click the \"-\" button to remove it, then manually add it again and restart the app."
},
"status": {
"authorized": "Authorized",
@@ -70,34 +70,34 @@
"model": {
"title": "Model",
"labels": {
"deleteModel": "Delete model"
"deleteModel": "Delete Model"
},
"hints": {
"deleteSuccess": "Deleted successfully",
"deleteSuccess": "Deleted Successfully",
"deleteModel": "Are you sure you want to delete this model?",
"importSuccess": "Import successful",
"clickOrDragToImport": "Click or drag to import"
"importSuccess": "Imported Successfully",
"clickOrDragToImport": "Click or drag here to import"
},
"tooltips": {
"createModel": "Create model",
"convertModel": "Convert model",
"moreModels": "More models"
"createModel": "Create Model",
"convertModel": "Convert Model",
"moreModels": "More Models"
}
},
"shortcut": {
"title": "Shortcuts",
"labels": {
"toggleCat": "Show/Hide Cat",
"togglePreferences": "Open Preferences",
"toggleCat": "Toggle Cat",
"togglePreferences": "Toggle Preferences",
"mirrorMode": "Mirror Mode",
"passThrough": "Window Penetration",
"alwaysOnTop": "Always On Top"
"passThrough": "Pass Through",
"alwaysOnTop": "Always on Top"
},
"hints": {
"toggleCat": "Toggle the cat window's visibility.",
"togglePreferences": "Toggle the preferences window visibility.",
"toggleCat": "Toggle the visibility of the cat window.",
"togglePreferences": "Toggle the visibility of the preferences window.",
"mirrorMode": "Toggle the cat's mirror mode.",
"passThrough": "Toggle whether the cat window is click-through.",
"passThrough": "Toggle whether the cat window is pass-through.",
"alwaysOnTop": "Toggle whether the cat window stays on top."
}
},
@@ -110,13 +110,13 @@
"openSource": "Open Source"
},
"hints": {
"appInfo": "Copy app information to include in bug reports.",
"copySuccess": "Copied successfully"
"appInfo": "Copy app information and provide it to bug issue.",
"copySuccess": "Copied Successfully"
},
"buttons": {
"checkUpdate": "Check for updates",
"checkUpdate": "Check for Updates",
"copy": "Copy",
"feedbackIssues": "Report Issue",
"feedbackIssues": "Feedback Issues",
"viewLog": "View Logs"
}
}
@@ -125,24 +125,24 @@
"components": {
"proShortcut": {
"hints": {
"pressRecordShortcut": "Press keys to record shortcut",
"pressRecordShortcut": "Press to record shortcut",
"clickRecordShortcut": "Click to record shortcut"
}
},
"updateApp": {
"title": "New Version Found 🥳",
"labels": {
"updateVersion": "Update Version: ",
"updateTime": "Update Time: ",
"changelog": "Changelog: "
},
"updateApp": {
"title": "New version found 🥳",
"labels": {
"updateVersion": "Version: ",
"updateTime": "Update time: ",
"changelog": "Changelog: "
},
"hints": {
"checkingUpdates": "Checking for updates...",
"alreadyLatest": "You are already on the latest version 🎉"
},
"buttons": {
"updateNow": "Update Now",
"updateLater": "Update later"
}
"hints": {
"checkingUpdates": "Checking for updates...",
"alreadyLatest": "Already on the latest version 🎉"
},
"buttons": {
"updateNow": "Update Now",
"updateLater": "Update Later"
}
}
},
@@ -152,22 +152,22 @@
"preference": "Preferences...",
"hideCat": "Hide Cat",
"showCat": "Show Cat",
"passThrough": "Window Penetration",
"passThrough": "Pass Through",
"windowSize": "Window Size",
"opacity": "Opacity"
}
},
"useTray": {
"checkUpdate": "Check for updates",
"openSource": "Source Code",
"restartApp": "Restart",
"quitApp": "Exit"
"checkUpdate": "Check for Updates",
"openSource": "Open Source",
"restartApp": "Restart App",
"quitApp": "Quit App"
}
},
"utils": {
"live2d": {
"errors": {
"notFoundMainConfig": "Main model config not found. Please ensure the model files are complete."
"hints": {
"notFound": "Model master configuration file not found, please ensure the model files are complete."
}
}
}

View File

@@ -127,22 +127,22 @@
"hints": {
"pressRecordShortcut": "Pressione as teclas para gravar atalho",
"clickRecordShortcut": "Clique para gravar atalho"
}
},
"updateApp": {
"title": "Nova versão encontrada 🥳",
"labels": {
"updateVersion": "Versão: ",
"updateTime": "Hora da atualização: ",
"changelog": "Registro de alterações: "
},
"updateApp": {
"title": "Nova versão encontrada 🥳",
"labels": {
"updateVersion": "Versão: ",
"updateTime": "Hora da atualização: ",
"changelog": "Registro de alterações: "
},
"hints": {
"checkingUpdates": "Verificando atualizações...",
"alreadyLatest": "Você já está na versão mais recente 🎉"
},
"buttons": {
"updateNow": "Atualizar Agora",
"updateLater": "Atualizar mais tarde"
}
"hints": {
"checkingUpdates": "Verificando atualizações...",
"alreadyLatest": "Você já está na versão mais recente 🎉"
},
"buttons": {
"updateNow": "Atualizar Agora",
"updateLater": "Atualizar mais tarde"
}
}
},
@@ -166,8 +166,8 @@
},
"utils": {
"live2d": {
"errors": {
"notFoundMainConfig": "Arquivo de configuração principal do modelo não encontrado. Verifique se os arquivos do modelo estão completos."
"hints": {
"notFound": "Arquivo de configuração principal do modelo não encontrado. Verifique se os arquivos do modelo estão completos."
}
}
}

View File

@@ -127,22 +127,22 @@
"hints": {
"pressRecordShortcut": "Nhấn phím/tổ hợp phím để ghi",
"clickRecordShortcut": "Click để ghi phím tắt"
}
},
"updateApp": {
"title": "Đã tìm thấy phiên bản mới 🥳",
"labels": {
"updateVersion": "Phiên bản: ",
"updateTime": "Thời gian cập nhật: ",
"changelog": "Nhật ký thay đổi: "
},
"updateApp": {
"title": "Đã tìm thấy phiên bản mới 🥳",
"labels": {
"updateVersion": "Phiên bản: ",
"updateTime": "Thời gian cập nhật: ",
"changelog": "Nhật ký thay đổi: "
},
"hints": {
"checkingUpdates": "Đang kiểm tra cập nhật...",
"alreadyLatest": "Bạn đang dùng phiên bản mới nhất 🎉"
},
"buttons": {
"updateNow": "Cập nhật ngay",
"updateLater": "Để sau"
}
"hints": {
"checkingUpdates": "Đang kiểm tra cập nhật...",
"alreadyLatest": "Bạn đang dùng phiên bản mới nhất 🎉"
},
"buttons": {
"updateNow": "Cập nhật ngay",
"updateLater": "Để sau"
}
}
},
@@ -166,8 +166,8 @@
},
"utils": {
"live2d": {
"errors": {
"notFoundMainConfig": "Không tìm thấy cấu hình chính của mô hình. Vui lòng đảm bảo tệp mô hình đầy đủ."
"hints": {
"notFound": "Không tìm thấy tệp cấu hình chính của mô hình, vui lòng xác nhận các tệp mô hình đầy đủ không."
}
}
}

View File

@@ -127,22 +127,22 @@
"hints": {
"pressRecordShortcut": "按下录制快捷键",
"clickRecordShortcut": "点击录制快捷键"
}
},
"updateApp": {
"title": "发现新版本🥳",
"labels": {
"updateVersion": "更新版本:",
"updateTime": "更新时间:",
"changelog": "更新日志:"
},
"updateApp": {
"title": "发现新版本🥳",
"labels": {
"updateVersion": "更新版本:",
"updateTime": "更新时间:",
"changelog": "更新日志:"
},
"hints": {
"checkingUpdates": "正在检查更新...",
"alreadyLatest": "当前已是最新版本🎉"
},
"buttons": {
"updateNow": "立即更新",
"updateLater": "稍后更新"
}
"hints": {
"checkingUpdates": "正在检查更新...",
"alreadyLatest": "当前已是最新版本🎉"
},
"buttons": {
"updateNow": "立即更新",
"updateLater": "稍后更新"
}
}
},
@@ -166,8 +166,8 @@
},
"utils": {
"live2d": {
"errors": {
"notFoundMainConfig": "未找到模型主配置文件,请确认模型文件是否完整。"
"hints": {
"notFound": "未找到模型主配置文件,请确认模型文件是否完整。"
}
}
}

View File

@@ -41,7 +41,7 @@ class Live2d {
const modelFile = files.find(file => file.name.endsWith('.model3.json'))
if (!modelFile) {
throw new Error(i18n.global.t('utils.live2d.errors.notFoundMainConfig'))
throw new Error(i18n.global.t('utils.live2d.hints.notFound'))
}
const modelPath = join(path, modelFile.name)