mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
Adds an opt-in High Quality mode to the Object Eraser, backed by a new inpaint-hq feature bundle (Stable Diffusion 1.5 inpainting via diffusers). The default fast LaMa path is unchanged. Both arch archives are published to deepsafe/feature-bundles and the manifest carries their real sha256/sizes. Verified end to end: a fresh container pulls the bundle from HuggingFace, checksum-verifies it, extracts torch/diffusers plus the fp16 model, and the HQ sidecar erases a large object with a plausible fill. Refs #141
3820 lines
134 KiB
TypeScript
3820 lines
134 KiB
TypeScript
import type { TranslationKeys } from "./en.js";
|
||
|
||
export const zhCN: TranslationKeys = {
|
||
migrationBanner: {
|
||
successTitle: "已导入 SnapOtter 1.x 数据。",
|
||
successBody: "已从旧版本迁移 {users} 个用户和 {files} 个已保存文件。",
|
||
warningTitle: "发现 1.x 数据库,但未导入。",
|
||
warningBody: "此实例已有数据,因此未导入你的 1.x 数据库。导入需要一个空实例。请参阅升级指南。",
|
||
dismiss: "关闭",
|
||
},
|
||
common: {
|
||
upload: "从电脑上传",
|
||
process: "处理",
|
||
download: "下载",
|
||
cancel: "取消",
|
||
save: "保存",
|
||
delete: "删除",
|
||
settings: "设置",
|
||
search: "搜索工具...",
|
||
dropFiles: "拖放文件到此处或点击上传按钮",
|
||
loading: "加载中...",
|
||
saving: "保存中...",
|
||
error: "发生错误",
|
||
confirm: "确认",
|
||
close: "关闭",
|
||
back: "返回",
|
||
next: "下一步",
|
||
clear: "清除",
|
||
copy: "复制",
|
||
copied: "已复制!",
|
||
noResults: "未找到结果",
|
||
showLess: "收起",
|
||
showMore: "展开 {count} 项",
|
||
experimental: "实验性",
|
||
enabled: "已启用",
|
||
disabled: "已禁用",
|
||
rename: "重命名",
|
||
edit: "编辑",
|
||
actions: "操作",
|
||
create: "创建",
|
||
or: "或",
|
||
goHome: "回到首页",
|
||
somethingWentWrong: "出了点问题",
|
||
unexpectedError: "发生了意外错误。",
|
||
retry: "重试",
|
||
privacyPolicy: "隐私政策",
|
||
pageNotFound: "页面未找到",
|
||
pageNotFoundDescription: "您查找的页面不存在或已被移动。",
|
||
},
|
||
feedback: {
|
||
navLabel: "分享反馈",
|
||
navButtonLabel: "反馈",
|
||
dialogTitle: "分享反馈",
|
||
toolDialogTitle: "这个工具好用吗?",
|
||
failedDialogTitle: "报告工具问题",
|
||
adminDialogTitle: "安装体验如何?",
|
||
closeLabel: "关闭反馈对话框",
|
||
privacyNote:
|
||
"只有在你提交时才会发送反馈。SnapOtter 不会包含你的文件、文件内容、文件名或私密输出。",
|
||
typeLabel: "反馈类型",
|
||
sentimentLabel: "快速评分",
|
||
messageLabel: "反馈",
|
||
messagePlaceholder: "告诉我们哪些功能好用、哪些出了问题,或者怎样能让 SnapOtter 更好。",
|
||
improveFirstLabel: "我们应该优先改进什么?",
|
||
improveFirstPlaceholder: "告诉我们是什么让安装比预期更麻烦。",
|
||
contactOkLabel: "可以就此反馈与我联系。",
|
||
emailPlaceholder: "邮箱(可选)",
|
||
namePlaceholder: "姓名(可选)",
|
||
companyPlaceholder: "公司或组织(可选)",
|
||
submit: "发送反馈",
|
||
submitting: "发送中...",
|
||
submitFailed: "反馈发送失败。请重试。",
|
||
searchMissTitle: "请求工具",
|
||
searchMissContext: "你搜索了:{query}",
|
||
searchMissDiscussionsFallback: "我们无法记录。请在 Discussions 中发起请求。",
|
||
offlineDescription:
|
||
"此实例已关闭分析功能,因此反馈不会记录在这里。你仍然可以直接联系 SnapOtter 团队。",
|
||
offlinePublicNote: "GitHub issue 是公开的。",
|
||
offlineGithubButton: "创建 GitHub issue",
|
||
offlineEmailButton: "给我们发邮件",
|
||
thanksTitle: "感谢你的反馈。",
|
||
thanksDescription: "这能帮助我们改进 SnapOtter,同时不会收集任何文件或私密内容。",
|
||
quickThanks: "感谢反馈!",
|
||
reportIssue: "报告问题",
|
||
toolPromptTitle: "这个工具好用吗?",
|
||
toolPromptDescription: "一个简单的反馈就能帮助我们改进 SnapOtter。",
|
||
dismissPrompt: "关闭反馈提示",
|
||
workedWell: "很好用",
|
||
dontAskAgain: "不再询问",
|
||
shareFeedback: "分享反馈",
|
||
remindLater: "稍后提醒",
|
||
adminCardTitle: "安装体验如何?",
|
||
adminCardDescription: "管理员的简短反馈能帮助我们改进 Docker、源码安装和文档。",
|
||
installMethodLabel: "安装方式",
|
||
frictionAreaLabel: "最费劲的安装环节",
|
||
importantAreasLabel: "最重要的方面",
|
||
sentiments: {
|
||
great: "很好",
|
||
okay: "还行",
|
||
issue: "遇到了问题",
|
||
missing: "缺少功能",
|
||
bug: "Bug",
|
||
idea: "想法",
|
||
other: "其他",
|
||
},
|
||
types: {
|
||
bug: "Bug",
|
||
feature_request: "功能请求",
|
||
confusing_ux: "体验令人困惑",
|
||
performance: "性能",
|
||
other: "其他",
|
||
},
|
||
installMethods: {
|
||
docker: "Docker",
|
||
docker_compose: "Docker Compose",
|
||
source: "从源码构建",
|
||
cloud: "云端/演示",
|
||
other: "其他",
|
||
},
|
||
usageTypes: {
|
||
personal: "仅我自己",
|
||
team_internal: "小型团队",
|
||
business_workflow: "公司或组织",
|
||
education: "教育",
|
||
evaluating: "评估中",
|
||
},
|
||
frictionAreas: {
|
||
smooth: "没有,安装很顺利",
|
||
docker: "Docker/容器配置",
|
||
environment_variables: "环境变量",
|
||
auth: "身份验证/SSO",
|
||
storage: "存储/上传",
|
||
workers: "工作进程/队列",
|
||
ai_tools: "AI 工具",
|
||
docs: "文档",
|
||
performance: "性能/资源",
|
||
other: "其他",
|
||
},
|
||
importantAreas: {
|
||
images: "图片",
|
||
pdf_docs: "PDF/文档",
|
||
video_audio: "视频/音频",
|
||
batch_workflows: "批量工作流",
|
||
ai_tools: "AI 工具",
|
||
},
|
||
},
|
||
onboarding: {
|
||
usageSurveyTitle: "您如何使用 SnapOtter?",
|
||
usageSurveyToolsLabel: "您最看重什么?",
|
||
pickAnyHint: "(可多选)",
|
||
continueLabel: "继续",
|
||
},
|
||
categories: {
|
||
essentials: "基础工具",
|
||
adjustments: "调整",
|
||
enhance: "增强与 AI",
|
||
watermark: "水印与叠加",
|
||
layout: "布局与排版",
|
||
utilities: "实用工具",
|
||
optimization: "优化",
|
||
format: "格式与转换",
|
||
"video-edit": "Video",
|
||
"video-convert": "转换",
|
||
"video-effects": "特效与合成",
|
||
"video-subtitles": "字幕",
|
||
"video-metadata": "元数据",
|
||
"audio-edit": "编辑",
|
||
"audio-convert": "转换",
|
||
"audio-effects": "特效与合成",
|
||
"audio-metadata": "元数据",
|
||
"pdf-organize": "整理",
|
||
"pdf-edit": "编辑与注释",
|
||
"pdf-security": "安全",
|
||
"pdf-optimize": "优化",
|
||
"doc-convert": "转换",
|
||
data: "文件",
|
||
archives: "压缩包",
|
||
},
|
||
modalities: {
|
||
image: "图片",
|
||
video: "视频",
|
||
audio: "音频",
|
||
documentsAndFiles: "PDF 与文件",
|
||
},
|
||
tools: {
|
||
// BEGIN conversion-presets (generated by scripts/generate-conversion-i18n.mjs)
|
||
"jpg-to-png": { name: "JPG 转 PNG", description: "在线将 JPG 转换为 PNG。快速、免费、私密。" },
|
||
"png-to-jpg": { name: "PNG 转 JPG", description: "在线将 PNG 转换为 JPG。快速、免费、私密。" },
|
||
"jpg-to-webp": {
|
||
name: "JPG 转 WebP",
|
||
description: "在线将 JPG 转换为 WebP。快速、免费、私密。",
|
||
},
|
||
"png-to-webp": {
|
||
name: "PNG 转 WebP",
|
||
description: "在线将 PNG 转换为 WebP。快速、免费、私密。",
|
||
},
|
||
"webp-to-jpg": {
|
||
name: "WebP 转 JPG",
|
||
description: "在线将 WebP 转换为 JPG。快速、免费、私密。",
|
||
},
|
||
"webp-to-png": {
|
||
name: "WebP 转 PNG",
|
||
description: "在线将 WebP 转换为 PNG。快速、免费、私密。",
|
||
},
|
||
"jpg-to-avif": {
|
||
name: "JPG 转 AVIF",
|
||
description: "在线将 JPG 转换为 AVIF。快速、免费、私密。",
|
||
},
|
||
"png-to-avif": {
|
||
name: "PNG 转 AVIF",
|
||
description: "在线将 PNG 转换为 AVIF。快速、免费、私密。",
|
||
},
|
||
"webp-to-avif": {
|
||
name: "WebP 转 AVIF",
|
||
description: "在线将 WebP 转换为 AVIF。快速、免费、私密。",
|
||
},
|
||
"heic-to-jpg": {
|
||
name: "HEIC 转 JPG",
|
||
description: "在线将 HEIC 转换为 JPG。快速、免费、私密。",
|
||
},
|
||
"heic-to-png": {
|
||
name: "HEIC 转 PNG",
|
||
description: "在线将 HEIC 转换为 PNG。快速、免费、私密。",
|
||
},
|
||
"heic-to-avif": {
|
||
name: "HEIC 转 AVIF",
|
||
description: "在线将 HEIC 转换为 AVIF。快速、免费、私密。",
|
||
},
|
||
"jpg-to-gif": { name: "JPG 转 GIF", description: "在线将 JPG 转换为 GIF。快速、免费、私密。" },
|
||
"png-to-gif": { name: "PNG 转 GIF", description: "在线将 PNG 转换为 GIF。快速、免费、私密。" },
|
||
"gif-to-jpg": { name: "GIF 转 JPG", description: "在线将 GIF 转换为 JPG。快速、免费、私密。" },
|
||
"gif-to-png": { name: "GIF 转 PNG", description: "在线将 GIF 转换为 PNG。快速、免费、私密。" },
|
||
"webp-to-gif": {
|
||
name: "WebP 转 GIF",
|
||
description: "在线将 WebP 转换为 GIF。快速、免费、私密。",
|
||
},
|
||
"jpg-to-tiff": {
|
||
name: "JPG 转 TIFF",
|
||
description: "在线将 JPG 转换为 TIFF。快速、免费、私密。",
|
||
},
|
||
"png-to-tiff": {
|
||
name: "PNG 转 TIFF",
|
||
description: "在线将 PNG 转换为 TIFF。快速、免费、私密。",
|
||
},
|
||
"tiff-to-jpg": {
|
||
name: "TIFF 转 JPG",
|
||
description: "在线将 TIFF 转换为 JPG。快速、免费、私密。",
|
||
},
|
||
"tiff-to-png": {
|
||
name: "TIFF 转 PNG",
|
||
description: "在线将 TIFF 转换为 PNG。快速、免费、私密。",
|
||
},
|
||
"psd-to-jpg": { name: "PSD 转 JPG", description: "在线将 PSD 转换为 JPG。快速、免费、私密。" },
|
||
"psd-to-png": { name: "PSD 转 PNG", description: "在线将 PSD 转换为 PNG。快速、免费、私密。" },
|
||
"png-to-eps": { name: "PNG 转 EPS", description: "在线将 PNG 转换为 EPS。快速、免费、私密。" },
|
||
"jpg-to-eps": { name: "JPG 转 EPS", description: "在线将 JPG 转换为 EPS。快速、免费、私密。" },
|
||
"eps-to-png": { name: "EPS 转 PNG", description: "在线将 EPS 转换为 PNG。快速、免费、私密。" },
|
||
"eps-to-jpg": { name: "EPS 转 JPG", description: "在线将 EPS 转换为 JPG。快速、免费、私密。" },
|
||
"png-to-svg": { name: "PNG 转 SVG", description: "在线将 PNG 转换为 SVG。快速、免费、私密。" },
|
||
"jpg-to-svg": { name: "JPG 转 SVG", description: "在线将 JPG 转换为 SVG。快速、免费、私密。" },
|
||
"tiff-to-svg": {
|
||
name: "TIFF 转 SVG",
|
||
description: "在线将 TIFF 转换为 SVG。快速、免费、私密。",
|
||
},
|
||
"psd-to-svg": { name: "PSD 转 SVG", description: "在线将 PSD 转换为 SVG。快速、免费、私密。" },
|
||
"eps-to-svg": { name: "EPS 转 SVG", description: "在线将 EPS 转换为 SVG。快速、免费、私密。" },
|
||
"svg-to-png": { name: "SVG 转 PNG", description: "在线将 SVG 转换为 PNG。快速、免费、私密。" },
|
||
"svg-to-jpg": { name: "SVG 转 JPG", description: "在线将 SVG 转换为 JPG。快速、免费、私密。" },
|
||
"jpg-to-pdf": { name: "JPG 转 PDF", description: "在线将 JPG 转换为 PDF。快速、免费、私密。" },
|
||
"png-to-pdf": { name: "PNG 转 PDF", description: "在线将 PNG 转换为 PDF。快速、免费、私密。" },
|
||
"heic-to-pdf": {
|
||
name: "HEIC 转 PDF",
|
||
description: "在线将 HEIC 转换为 PDF。快速、免费、私密。",
|
||
},
|
||
"tiff-to-pdf": {
|
||
name: "TIFF 转 PDF",
|
||
description: "在线将 TIFF 转换为 PDF。快速、免费、私密。",
|
||
},
|
||
"webp-to-pdf": {
|
||
name: "WebP 转 PDF",
|
||
description: "在线将 WebP 转换为 PDF。快速、免费、私密。",
|
||
},
|
||
"gif-to-pdf": { name: "GIF 转 PDF", description: "在线将 GIF 转换为 PDF。快速、免费、私密。" },
|
||
"eps-to-pdf": { name: "EPS 转 PDF", description: "在线将 EPS 转换为 PDF。快速、免费、私密。" },
|
||
"pdf-to-jpg": { name: "PDF 转 JPG", description: "在线将 PDF 转换为 JPG。快速、免费、私密。" },
|
||
"pdf-to-png": { name: "PDF 转 PNG", description: "在线将 PDF 转换为 PNG。快速、免费、私密。" },
|
||
"pdf-to-tiff": {
|
||
name: "PDF 转 TIFF",
|
||
description: "在线将 PDF 转换为 TIFF。快速、免费、私密。",
|
||
},
|
||
"mov-to-mp4": { name: "MOV 转 MP4", description: "在线将 MOV 转换为 MP4。快速、免费、私密。" },
|
||
"webm-to-mp4": {
|
||
name: "WEBM 转 MP4",
|
||
description: "在线将 WEBM 转换为 MP4。快速、免费、私密。",
|
||
},
|
||
"mkv-to-mp4": { name: "MKV 转 MP4", description: "在线将 MKV 转换为 MP4。快速、免费、私密。" },
|
||
"avi-to-mp4": { name: "AVI 转 MP4", description: "在线将 AVI 转换为 MP4。快速、免费、私密。" },
|
||
"mp4-to-mov": { name: "MP4 转 MOV", description: "在线将 MP4 转换为 MOV。快速、免费、私密。" },
|
||
"mp4-to-webm": {
|
||
name: "MP4 转 WEBM",
|
||
description: "在线将 MP4 转换为 WEBM。快速、免费、私密。",
|
||
},
|
||
"webm-to-mov": {
|
||
name: "WEBM 转 MOV",
|
||
description: "在线将 WEBM 转换为 MOV。快速、免费、私密。",
|
||
},
|
||
"mkv-to-mov": { name: "MKV 转 MOV", description: "在线将 MKV 转换为 MOV。快速、免费、私密。" },
|
||
"avi-to-mov": { name: "AVI 转 MOV", description: "在线将 AVI 转换为 MOV。快速、免费、私密。" },
|
||
"mp4-to-avi": { name: "MP4 转 AVI", description: "在线将 MP4 转换为 AVI。快速、免费、私密。" },
|
||
"mov-to-avi": { name: "MOV 转 AVI", description: "在线将 MOV 转换为 AVI。快速、免费、私密。" },
|
||
"mkv-to-avi": { name: "MKV 转 AVI", description: "在线将 MKV 转换为 AVI。快速、免费、私密。" },
|
||
"avi-to-mkv": { name: "AVI 转 MKV", description: "在线将 AVI 转换为 MKV。快速、免费、私密。" },
|
||
"mp4-to-gif": { name: "MP4 转 GIF", description: "在线将 MP4 转换为 GIF。快速、免费、私密。" },
|
||
"mov-to-gif": { name: "MOV 转 GIF", description: "在线将 MOV 转换为 GIF。快速、免费、私密。" },
|
||
"mkv-to-gif": { name: "MKV 转 GIF", description: "在线将 MKV 转换为 GIF。快速、免费、私密。" },
|
||
"avi-to-gif": { name: "AVI 转 GIF", description: "在线将 AVI 转换为 GIF。快速、免费、私密。" },
|
||
"gif-to-mp4": { name: "GIF 转 MP4", description: "在线将 GIF 转换为 MP4。快速、免费、私密。" },
|
||
"gif-to-webm": {
|
||
name: "GIF 转 WEBM",
|
||
description: "在线将 GIF 转换为 WEBM。快速、免费、私密。",
|
||
},
|
||
"gif-to-mov": { name: "GIF 转 MOV", description: "在线将 GIF 转换为 MOV。快速、免费、私密。" },
|
||
"mp4-to-mp3": { name: "MP4 转 MP3", description: "在线将 MP4 转换为 MP3。快速、免费、私密。" },
|
||
"mov-to-mp3": { name: "MOV 转 MP3", description: "在线将 MOV 转换为 MP3。快速、免费、私密。" },
|
||
"mkv-to-mp3": { name: "MKV 转 MP3", description: "在线将 MKV 转换为 MP3。快速、免费、私密。" },
|
||
"webm-to-mp3": {
|
||
name: "WEBM 转 MP3",
|
||
description: "在线将 WEBM 转换为 MP3。快速、免费、私密。",
|
||
},
|
||
"avi-to-mp3": { name: "AVI 转 MP3", description: "在线将 AVI 转换为 MP3。快速、免费、私密。" },
|
||
"mp4-to-wav": { name: "MP4 转 WAV", description: "在线将 MP4 转换为 WAV。快速、免费、私密。" },
|
||
"mov-to-wav": { name: "MOV 转 WAV", description: "在线将 MOV 转换为 WAV。快速、免费、私密。" },
|
||
"mp4-to-ogg": { name: "MP4 转 OGG", description: "在线将 MP4 转换为 OGG。快速、免费、私密。" },
|
||
"m4a-to-mp3": { name: "M4A 转 MP3", description: "在线将 M4A 转换为 MP3。快速、免费、私密。" },
|
||
"m4a-to-wav": { name: "M4A 转 WAV", description: "在线将 M4A 转换为 WAV。快速、免费、私密。" },
|
||
"aac-to-mp3": { name: "AAC 转 MP3", description: "在线将 AAC 转换为 MP3。快速、免费、私密。" },
|
||
"aac-to-wav": { name: "AAC 转 WAV", description: "在线将 AAC 转换为 WAV。快速、免费、私密。" },
|
||
"aac-to-flac": {
|
||
name: "AAC 转 FLAC",
|
||
description: "在线将 AAC 转换为 FLAC。快速、免费、私密。",
|
||
},
|
||
"ogg-to-mp3": { name: "OGG 转 MP3", description: "在线将 OGG 转换为 MP3。快速、免费、私密。" },
|
||
"ogg-to-wav": { name: "OGG 转 WAV", description: "在线将 OGG 转换为 WAV。快速、免费、私密。" },
|
||
"wav-to-mp3": { name: "WAV 转 MP3", description: "在线将 WAV 转换为 MP3。快速、免费、私密。" },
|
||
"mp3-to-wav": { name: "MP3 转 WAV", description: "在线将 MP3 转换为 WAV。快速、免费、私密。" },
|
||
"flac-to-mp3": {
|
||
name: "FLAC 转 MP3",
|
||
description: "在线将 FLAC 转换为 MP3。快速、免费、私密。",
|
||
},
|
||
"excel-to-csv": {
|
||
name: "Excel 转 CSV",
|
||
description: "在线将 Excel 转换为 CSV。快速、免费、私密。",
|
||
},
|
||
// END conversion-presets
|
||
resize: {
|
||
name: "调整图片尺寸",
|
||
description: "按像素、百分比或社交媒体预设调整大小",
|
||
},
|
||
crop: { name: "裁剪图片", description: "自由裁剪、预设比例、形状裁剪" },
|
||
rotate: { name: "旋转和翻转图片", description: "旋转、翻转和校正图片" },
|
||
convert: { name: "转换图片", description: "在图片格式之间转换" },
|
||
compress: { name: "压缩图片", description: "通过质量或目标大小缩减文件体积" },
|
||
"optimize-for-web": {
|
||
name: "网页优化",
|
||
description: "通过格式转换、质量控制和实时预览优化网页图片",
|
||
},
|
||
"strip-metadata": {
|
||
name: "移除图片元数据",
|
||
description: "移除 EXIF、GPS 和相机信息",
|
||
},
|
||
"edit-metadata": {
|
||
name: "编辑图片元数据",
|
||
description: "编辑 EXIF、IPTC、XMP、GPS、关键词和日期",
|
||
},
|
||
"bulk-rename": { name: "批量重命名", description: "使用模式批量重命名多个文件" },
|
||
"image-to-pdf": {
|
||
name: "图片转 PDF",
|
||
description: "将多张图片合并为 PDF 文档",
|
||
},
|
||
"pdf-to-image": { name: "PDF 转图片", description: "将 PDF 页面转换为图片" },
|
||
favicon: {
|
||
name: "Favicon 生成器",
|
||
description: "生成所有 Favicon 和应用图标尺寸",
|
||
},
|
||
"adjust-colors": {
|
||
name: "调整颜色",
|
||
description: "亮度、对比度、曝光度、饱和度、色温、锐度和效果",
|
||
},
|
||
sharpening: {
|
||
name: "锐化图片",
|
||
description: "自适应、USM 锐化和高通锐化,含预设",
|
||
},
|
||
"replace-color": {
|
||
name: "替换和反转颜色",
|
||
description: "替换特定颜色或反转",
|
||
},
|
||
"color-blindness": {
|
||
name: "色盲模拟",
|
||
description: "模拟不同类型色觉缺陷下图片的显示效果",
|
||
},
|
||
"remove-background": {
|
||
name: "移除背景",
|
||
description: "AI 智能抠图",
|
||
},
|
||
upscale: { name: "图片放大", description: "AI 超分辨率增强" },
|
||
"erase-object": { name: "物体擦除", description: "AI 智能移除不需要的物体" },
|
||
ocr: {
|
||
name: "从图片提取文字 (OCR)",
|
||
description: "AI 高精度图片文字识别",
|
||
},
|
||
"ocr-pdf": {
|
||
name: "PDF 文字识别",
|
||
description: "使用AI驱动的OCR从PDF文档中提取文字",
|
||
},
|
||
"blur-faces": {
|
||
name: "模糊人脸和隐私信息",
|
||
description: "自动检测并模糊人脸和敏感信息",
|
||
},
|
||
"enhance-faces": {
|
||
name: "人脸增强",
|
||
description: "AI 修复和增强人脸",
|
||
},
|
||
"smart-crop": {
|
||
name: "智能裁剪",
|
||
description: "基于主体、人脸或裁切的智能裁剪",
|
||
},
|
||
"image-enhancement": {
|
||
name: "图片增强",
|
||
description: "一键自动优化曝光、对比度、色彩和锐度",
|
||
},
|
||
"noise-removal": {
|
||
name: "降噪",
|
||
description: "AI 智能降噪去颗粒",
|
||
},
|
||
"red-eye-removal": {
|
||
name: "红眼消除",
|
||
description: "AI 智能检测和修复闪光灯导致的红眼",
|
||
},
|
||
"restore-photo": {
|
||
name: "照片修复",
|
||
description: "AI 修复老照片的划痕、撕裂和损伤",
|
||
},
|
||
"content-aware-resize": {
|
||
name: "内容感知缩放",
|
||
description: "智能调整图片大小,同时保留重要内容",
|
||
},
|
||
"ai-canvas-expand": {
|
||
name: "AI 画布扩展",
|
||
description: "AI 智能填充扩展画布",
|
||
},
|
||
colorize: {
|
||
name: "AI 上色",
|
||
description: "利用 AI 深度学习模型将黑白照片转为彩色",
|
||
},
|
||
"passport-photo": {
|
||
name: "证件照",
|
||
description: "自动人脸检测,生成符合各国规格的护照、签证和证件照",
|
||
},
|
||
"transcribe-audio": {
|
||
name: "音频转文字",
|
||
description: "使用AI转录将语音转换为文字",
|
||
},
|
||
"auto-subtitles": {
|
||
name: "自动字幕",
|
||
description: "从视频音轨生成字幕文件",
|
||
},
|
||
"transparency-fixer": {
|
||
name: "PNG 透明度修复",
|
||
description: "一键修复伪透明 PNG 图片",
|
||
},
|
||
"background-replace": {
|
||
name: "替换背景",
|
||
description: "将图像背景替换为纯色",
|
||
},
|
||
"blur-background": {
|
||
name: "模糊背景",
|
||
description: "模糊背景同时保持主体清晰",
|
||
},
|
||
"watermark-text": { name: "文字水印", description: "添加文字水印覆盖层" },
|
||
"watermark-image": { name: "图片水印", description: "叠加 Logo 作为水印" },
|
||
"text-overlay": { name: "文字叠加", description: "在图片上添加样式化文字" },
|
||
compose: { name: "图片合成", description: "通过位置和透明度叠加图层" },
|
||
"meme-generator": {
|
||
name: "Meme 生成器",
|
||
description:
|
||
"使用热门模板或自己的图片制作 Meme。经典 Impact 风格文字,可自定义字体、颜色和位置。",
|
||
},
|
||
info: { name: "图片信息", description: "查看所有元数据和图片属性" },
|
||
compare: { name: "图片对比", description: "两张图片并排对比" },
|
||
"find-duplicates": {
|
||
name: "查找重复",
|
||
description: "检测重复和近似重复的图片",
|
||
},
|
||
"color-palette": {
|
||
name: "色彩提取",
|
||
description: "从图片中提取主色调",
|
||
},
|
||
"qr-generate": {
|
||
name: "QR 码生成器",
|
||
description: "生成自定义颜色、图案和 Logo 的 QR 码",
|
||
},
|
||
"html-to-image": {
|
||
name: "HTML 转图片",
|
||
description: "将网页捕获为高质量图片",
|
||
},
|
||
"barcode-read": {
|
||
name: "条码识别",
|
||
description: "扫描图片中的 QR 码、条形码和二维码",
|
||
},
|
||
collage: {
|
||
name: "拼贴和网格",
|
||
description: "使用 25+ 模板将图片拼成精美网格拼贴",
|
||
},
|
||
stitch: {
|
||
name: "拼接合并图片",
|
||
description: "将图片横向、纵向或网格排列拼接",
|
||
},
|
||
split: {
|
||
name: "分割图片",
|
||
description: "按网格或像素大小分割图片,支持实时预览",
|
||
},
|
||
border: {
|
||
name: "边框与相框",
|
||
description: "添加边框、内边距、圆角和阴影,支持一键预设",
|
||
},
|
||
beautify: {
|
||
name: "截图美化",
|
||
description: "为截图添加渐变背景、设备外框、阴影和社交媒体尺寸",
|
||
},
|
||
"circle-crop": {
|
||
name: "圆形裁剪",
|
||
description: "将图片裁剪为居中圆形,四角透明",
|
||
},
|
||
duotone: {
|
||
name: "双色调",
|
||
description: "应用双色调效果,自定义阴影和高光颜色",
|
||
},
|
||
"image-pad": {
|
||
name: "图片填充",
|
||
description: "用纯色背景将图片填充至目标宽高比",
|
||
},
|
||
pixelate: {
|
||
name: "像素化",
|
||
description: "对整张图片或指定区域应用像素化效果",
|
||
},
|
||
vignette: {
|
||
name: "暗角",
|
||
description: "添加可调节强度和颜色的暗角效果",
|
||
},
|
||
"gif-webp": {
|
||
name: "GIF/WebP 转换器",
|
||
description: "在 GIF 和 WebP 动画之间互转,保留所有帧",
|
||
},
|
||
histogram: {
|
||
name: "直方图",
|
||
description: "从图片生成 RGB 直方图",
|
||
},
|
||
"lqip-placeholder": {
|
||
name: "LQIP 占位图",
|
||
description: "生成带 base64 数据 URI 的低质量缩略占位图",
|
||
},
|
||
"sprite-sheet": {
|
||
name: "精灵图",
|
||
description: "将多张图片合并为一张精灵图网格",
|
||
},
|
||
"svg-to-raster": {
|
||
name: "SVG 转位图",
|
||
description: "将 SVG 转换为 PNG、JPEG、WebP、AVIF、TIFF、GIF 或 HEIF,支持自定义缩放和 DPI",
|
||
},
|
||
vectorize: {
|
||
name: "图片转 SVG",
|
||
description: "将图片转换为可缩放矢量图形",
|
||
},
|
||
"gif-tools": {
|
||
name: "GIF 工具",
|
||
description: "调整大小、优化、变速、倒放、提取帧和旋转动画 GIF",
|
||
},
|
||
"image-to-base64": {
|
||
name: "图片转 Base64",
|
||
description: "将图片转换为 Base64 字符串,可嵌入 HTML、CSS 等",
|
||
},
|
||
"barcode-generate": {
|
||
name: "条形码生成器",
|
||
description: "生成 Code 128、EAN-13、UPC-A、Code 39、ITF-14 和 Data Matrix 条形码",
|
||
},
|
||
"chart-maker": {
|
||
name: "图表制作器",
|
||
description: "从 CSV 或 JSON 数据创建柱状图、折线图或饼图",
|
||
},
|
||
"convert-video": {
|
||
name: "转换视频",
|
||
description: "在 MP4、MOV 和 WebM 格式之间转换视频",
|
||
},
|
||
"compress-video": {
|
||
name: "压缩视频",
|
||
description: "在控制质量的同时缩小视频文件大小",
|
||
},
|
||
"trim-video": {
|
||
name: "修剪视频",
|
||
description: "从视频中截取片段",
|
||
},
|
||
"mute-video": {
|
||
name: "视频静音",
|
||
description: "移除视频中的音频轨道",
|
||
},
|
||
"video-to-gif": {
|
||
name: "视频转 GIF",
|
||
description: "将视频片段转换为 GIF 动图",
|
||
},
|
||
"resize-video": {
|
||
name: "调整视频尺寸",
|
||
description: "将视频缩放至新分辨率或预设尺寸",
|
||
},
|
||
"crop-video": {
|
||
name: "裁剪视频",
|
||
description: "裁剪视频中的指定区域",
|
||
},
|
||
"rotate-video": {
|
||
name: "旋转视频",
|
||
description: "旋转或翻转视频",
|
||
},
|
||
"change-fps": {
|
||
name: "更改帧率",
|
||
description: "更改视频的帧率",
|
||
},
|
||
"video-color": {
|
||
name: "视频色彩",
|
||
description: "调整亮度、对比度、饱和度和伽马值",
|
||
},
|
||
"video-speed": {
|
||
name: "视频速度",
|
||
description: "加速或减速视频播放",
|
||
},
|
||
"reverse-video": {
|
||
name: "倒放视频",
|
||
description: "将视频倒序播放",
|
||
},
|
||
"video-loudnorm": {
|
||
name: "视频音频标准化",
|
||
description: "将视频音频音量标准化至广播标准",
|
||
},
|
||
"aspect-pad": {
|
||
name: "比例填充",
|
||
description: "添加纯色边框以适配目标宽高比",
|
||
},
|
||
"blur-pad": {
|
||
name: "模糊填充",
|
||
description: "用视频的模糊副本填充边框",
|
||
},
|
||
"watermark-video": {
|
||
name: "视频水印",
|
||
description: "在视频帧上烧录文字水印",
|
||
},
|
||
"stabilize-video": {
|
||
name: "视频防抖",
|
||
description: "通过双通道防抖减少画面抖动",
|
||
},
|
||
"gif-to-video": {
|
||
name: "GIF 转视频",
|
||
description: "将 GIF 动图转换为 MP4 或 WebM 视频",
|
||
},
|
||
"video-to-webp": {
|
||
name: "视频转 WebP",
|
||
description: "将视频片段转换为 WebP 动图",
|
||
},
|
||
"video-to-frames": {
|
||
name: "视频提取帧",
|
||
description: "从视频中提取帧并打包为 ZIP 图片集",
|
||
},
|
||
"merge-videos": {
|
||
name: "合并视频",
|
||
description: "将多个视频片段合并为一个文件",
|
||
},
|
||
"replace-audio": {
|
||
name: "替换音频",
|
||
description: "将视频的音频轨道替换为其他文件",
|
||
},
|
||
"burn-subtitles": {
|
||
name: "烧录字幕",
|
||
description: "将字幕永久渲染到视频帧上",
|
||
},
|
||
"embed-subtitles": {
|
||
name: "内嵌字幕",
|
||
description: "将字幕轨道封装到视频容器中",
|
||
},
|
||
"extract-subtitles": {
|
||
name: "提取字幕",
|
||
description: "从视频中提取字幕轨道为 SRT 文件",
|
||
},
|
||
"images-to-video": {
|
||
name: "图片转视频",
|
||
description: "将一组图片制作成幻灯片视频",
|
||
},
|
||
"video-metadata": {
|
||
name: "清除视频元数据",
|
||
description: "清除视频元数据并报告发现的内容",
|
||
},
|
||
"convert-audio": {
|
||
name: "转换音频",
|
||
description: "在 MP3、WAV、OGG 等格式之间转换音频",
|
||
},
|
||
"trim-audio": {
|
||
name: "修剪音频",
|
||
description: "从音频文件中截取片段",
|
||
},
|
||
"extract-audio": {
|
||
name: "提取音频",
|
||
description: "从视频中提取音频轨道",
|
||
},
|
||
"volume-adjust": {
|
||
name: "音量调节",
|
||
description: "按固定增益增大或减小音频音量",
|
||
},
|
||
"normalize-audio": {
|
||
name: "音频标准化",
|
||
description: "将音量均衡至广播标准水平",
|
||
},
|
||
"fade-audio": {
|
||
name: "音频淡入淡出",
|
||
description: "为音频添加淡入和淡出效果",
|
||
},
|
||
"reverse-audio": {
|
||
name: "倒放音频",
|
||
description: "将音频倒序播放",
|
||
},
|
||
"audio-speed": {
|
||
name: "音频速度",
|
||
description: "加速或减速音频播放",
|
||
},
|
||
"pitch-shift": {
|
||
name: "变调",
|
||
description: "按半音升高或降低音调,不改变速度",
|
||
},
|
||
"audio-channels": {
|
||
name: "音频声道",
|
||
description: "在单声道和立体声之间转换,或交换左右声道",
|
||
},
|
||
"silence-removal": {
|
||
name: "静音移除",
|
||
description: "删除音频中的静音片段",
|
||
},
|
||
"noise-reduction": {
|
||
name: "降噪",
|
||
description: "使用基于 FFT 的降噪减少背景噪音",
|
||
},
|
||
"merge-audio": {
|
||
name: "合并音频",
|
||
description: "将多个音频文件合并为一个",
|
||
},
|
||
"split-audio": {
|
||
name: "拆分音频",
|
||
description: "按时间、等分或静音检测拆分音频",
|
||
},
|
||
"ringtone-maker": {
|
||
name: "铃声制作器",
|
||
description: "从任意音频文件创建铃声片段",
|
||
},
|
||
"waveform-image": {
|
||
name: "波形图",
|
||
description: "生成 PNG 格式的波形可视化图像",
|
||
},
|
||
"audio-metadata": {
|
||
name: "音频元数据",
|
||
description: "查看、编辑或清除音频标签 (ID3)",
|
||
},
|
||
"merge-pdf": {
|
||
name: "合并 PDF",
|
||
description: "将多个 PDF 合并为一个",
|
||
},
|
||
"split-pdf": {
|
||
name: "拆分 PDF",
|
||
description: "提取页面或拆分为多个部分",
|
||
},
|
||
"compress-pdf": {
|
||
name: "压缩 PDF",
|
||
description: "缩小 PDF 文件大小",
|
||
},
|
||
"rotate-pdf": {
|
||
name: "旋转 PDF",
|
||
description: "旋转 PDF 中的页面",
|
||
},
|
||
"convert-document": {
|
||
name: "转换文档",
|
||
description: "在 Word、OpenDocument、RTF 和纯文本格式之间转换",
|
||
},
|
||
"convert-presentation": {
|
||
name: "转换演示文稿",
|
||
description: "在 PowerPoint 和 OpenDocument 演示文稿格式之间转换",
|
||
},
|
||
"convert-spreadsheet": {
|
||
name: "转换电子表格",
|
||
description:
|
||
"在 Excel、OpenDocument 和 CSV 格式之间转换。多工作表工作簿导出第一个工作表为 CSV。",
|
||
},
|
||
"excel-to-pdf": {
|
||
name: "Excel 转 PDF",
|
||
description: "将电子表格转换为 PDF。较宽的表格可能分页显示。",
|
||
},
|
||
"word-to-pdf": {
|
||
name: "Word 转 PDF",
|
||
description: "将 Word 文档转换为 PDF",
|
||
},
|
||
"extract-pages": {
|
||
name: "提取页面",
|
||
description: "将选定页面提取为新的 PDF",
|
||
},
|
||
"remove-pages": {
|
||
name: "删除页面",
|
||
description: "从 PDF 中删除指定页面",
|
||
},
|
||
"organize-pdf": {
|
||
name: "整理 PDF",
|
||
description: "按指定顺序重新排列页面",
|
||
},
|
||
"protect-pdf": {
|
||
name: "保护 PDF",
|
||
description: "添加密码保护(AES-256 加密)",
|
||
},
|
||
"unlock-pdf": {
|
||
name: "解锁 PDF",
|
||
description: "移除 PDF 的密码保护",
|
||
},
|
||
"repair-pdf": {
|
||
name: "修复 PDF",
|
||
description: "尝试修复损坏的 PDF",
|
||
},
|
||
"linearize-pdf": {
|
||
name: "Web 优化 PDF",
|
||
description: "线性化 PDF 以便快速网页浏览",
|
||
},
|
||
"grayscale-pdf": {
|
||
name: "PDF 灰度化",
|
||
description: "将所有颜色转换为灰度",
|
||
},
|
||
"pdfa-convert": {
|
||
name: "PDF/A 转换器",
|
||
description: "转换为存档格式 PDF/A-2",
|
||
},
|
||
"crop-pdf": {
|
||
name: "裁剪 PDF",
|
||
description: "按统一边距裁剪所有页面",
|
||
},
|
||
"nup-pdf": {
|
||
name: "每张纸多页 (N-up)",
|
||
description: "在每张纸上排列多个页面",
|
||
},
|
||
"booklet-pdf": {
|
||
name: "小册子 PDF",
|
||
description: "排列页面以折叠成小册子",
|
||
},
|
||
"watermark-pdf": {
|
||
name: "PDF 水印",
|
||
description: "为每一页添加文字水印",
|
||
},
|
||
"pdf-page-numbers": {
|
||
name: "PDF 页码",
|
||
description: "为每一页添加页码",
|
||
},
|
||
"flatten-pdf": {
|
||
name: "扁平化 PDF",
|
||
description: "将表单和注释合并到页面内容中",
|
||
},
|
||
"redact-pdf": {
|
||
name: "PDF 涂黑",
|
||
description: "永久删除指定文本(经验证的真实涂黑)",
|
||
},
|
||
"pdf-to-text": {
|
||
name: "PDF 转文本",
|
||
description: "从 PDF 中提取纯文本",
|
||
},
|
||
"pdf-to-word": {
|
||
name: "PDF 转 Word",
|
||
description: "适合文本型 PDF;扫描页面需要 OCR",
|
||
},
|
||
"pdf-metadata": {
|
||
name: "PDF 元数据",
|
||
description: "读取和写入 PDF 文档元数据",
|
||
},
|
||
"powerpoint-to-pdf": {
|
||
name: "PowerPoint 转 PDF",
|
||
description: "将演示文稿转换为 PDF",
|
||
},
|
||
"html-to-pdf": {
|
||
name: "HTML 转 PDF",
|
||
description: "将 HTML 文件转换为 PDF。出于隐私考虑,远程资源已禁用。",
|
||
},
|
||
"markdown-to-docx": {
|
||
name: "Markdown 转 Word",
|
||
description: "将 Markdown 文件转换为 Word 文档 (DOCX)",
|
||
},
|
||
"markdown-to-html": {
|
||
name: "Markdown 转 HTML",
|
||
description: "将 Markdown 文件转换为独立的 HTML 页面。源文件中的远程图片在输出中保持原样。",
|
||
},
|
||
"markdown-to-pdf": {
|
||
name: "Markdown 转 PDF",
|
||
description: "将 Markdown 文件转换为带样式的 PDF。出于隐私考虑,远程资源已禁用。",
|
||
},
|
||
"epub-convert": {
|
||
name: "从 EPUB 转换",
|
||
description: "将 EPUB 转换为 PDF、DOCX、HTML 或 Markdown。书中的远程资源不会被获取。",
|
||
},
|
||
"to-epub": {
|
||
name: "转换为 EPUB",
|
||
description: "将 Word、Markdown、HTML 或纯文本文件转换为 EPUB",
|
||
},
|
||
"csv-excel": {
|
||
name: "CSV 转 Excel",
|
||
description: "在 CSV 和 Excel (XLSX) 之间双向转换",
|
||
},
|
||
"csv-json": {
|
||
name: "CSV 转 JSON",
|
||
description: "在 CSV 和 JSON 之间双向转换",
|
||
},
|
||
"json-xml": {
|
||
name: "JSON 转 XML",
|
||
description: "在 JSON 和 XML 之间双向转换",
|
||
},
|
||
"split-csv": {
|
||
name: "拆分 CSV",
|
||
description: "按行数将 CSV 拆分为多个小文件",
|
||
},
|
||
"merge-csvs": {
|
||
name: "合并 CSV",
|
||
description: "将多个列匹配的 CSV 或 TSV 文件合并为一个",
|
||
},
|
||
"yaml-json": {
|
||
name: "转换 YAML / JSON",
|
||
description: "在 YAML 和 JSON 之间双向转换",
|
||
},
|
||
"xml-to-csv": {
|
||
name: "XML 转 CSV",
|
||
description: "将 XML 中的重复元素提取为 CSV 表格",
|
||
},
|
||
"create-zip": {
|
||
name: "创建 ZIP",
|
||
description: "将多个文件打包为一个 ZIP 压缩包",
|
||
},
|
||
"extract-zip": {
|
||
name: "解压 ZIP",
|
||
description: "安全解压 ZIP 文件并防御压缩炸弹。单文件压缩包直接返回文件。",
|
||
},
|
||
pipeline: { name: "Pipeline 构建器", description: "将多个工具串联为工作流" },
|
||
processing: { canceled: "处理已取消" },
|
||
mediaPlayer: {
|
||
unsupported: "您的浏览器不支持此媒体格式。",
|
||
},
|
||
documentView: {
|
||
loadFailed: "文档加载失败。",
|
||
previousPage: "上一页",
|
||
nextPage: "下一页",
|
||
inputNotPreviewable: "此文件类型无法预览",
|
||
},
|
||
},
|
||
toolSettings: {
|
||
compress: {
|
||
compressionMode: "压缩模式",
|
||
targetSize: "目标大小",
|
||
quality: "质量",
|
||
smallestFile: "最小文件",
|
||
bestQuality: "最佳质量",
|
||
submit: "压缩",
|
||
submitBatch: "压缩({count} 个文件)",
|
||
progressLabel: "压缩中",
|
||
original: "原始:{size} KB",
|
||
processed: "处理后:{size} KB",
|
||
saved: "节省:{percent}%",
|
||
},
|
||
resize: {
|
||
customSize: "自定义大小",
|
||
scale: "缩放",
|
||
presets: "预设",
|
||
contentAware: "内容感知",
|
||
aspectRatio: "宽高比",
|
||
ratioFree: "自由",
|
||
ratioOriginal: "原始",
|
||
widthPx: "宽度(px)",
|
||
heightPx: "高度(px)",
|
||
fitMode: "适应模式",
|
||
cropToFit: "裁剪适应",
|
||
fitInside: "内部适应",
|
||
stretch: "拉伸",
|
||
limitToOriginalSize: "限制为原始大小",
|
||
limitToOriginalSizeHint: "如果图片已经小于目标尺寸,则保持原样而不进行放大",
|
||
scalePercent: "缩放(%)",
|
||
resizeToSquare: "调整为正方形",
|
||
protectFaces: "保护人脸",
|
||
smoothing: "平滑度",
|
||
edgeSensitivity: "边缘灵敏度",
|
||
submit: "调整大小",
|
||
submitBatch: "调整大小({count} 个文件)",
|
||
progressLabel: "调整中",
|
||
},
|
||
crop: {
|
||
aspectRatio: "宽高比",
|
||
custom: "自定义",
|
||
positionAndSize: "位置与大小",
|
||
ruleOfThirds: "三分法",
|
||
leftOffsetPx: "左偏移(px)",
|
||
topOffsetPx: "上偏移(px)",
|
||
submit: "裁剪",
|
||
submitBatch: "裁剪({count} 个文件)",
|
||
progressLabel: "裁剪中",
|
||
},
|
||
rotate: {
|
||
rotate: "旋转",
|
||
angle: "角度",
|
||
straighten: "校正",
|
||
flip: "翻转",
|
||
horizontal: "水平",
|
||
vertical: "垂直",
|
||
resetAllChanges: "重置所有更改",
|
||
submit: "应用",
|
||
submitBatch: "应用({count} 个文件)",
|
||
progressLabel: "应用中",
|
||
},
|
||
convert: {
|
||
targetFormat: "目标格式",
|
||
sourceFormat: "原始格式",
|
||
quality: "质量",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "转换中",
|
||
},
|
||
"optimize-for-web": {
|
||
outputFormat: "输出格式",
|
||
quality: "质量",
|
||
smallestFile: "最小文件",
|
||
bestQuality: "最佳质量",
|
||
maxDimensions: "最大尺寸",
|
||
maxWidth: "最大宽度",
|
||
maxHeight: "最大高度",
|
||
stripMetadata: "移除元数据",
|
||
sizeComparison: "大小对比",
|
||
optimized: "优化后:",
|
||
smaller: "缩小 {percent}%",
|
||
larger: "增大 {percent}%",
|
||
submit: "处理并下载",
|
||
submitBatch: "处理并下载({count} 个文件)",
|
||
progressLabel: "优化中",
|
||
},
|
||
"strip-metadata": {
|
||
currentMetadata: "当前元数据",
|
||
readingMetadata: "正在读取元数据...",
|
||
noMetadataFound: "此图片未发现元数据。",
|
||
removeAllMetadata: "移除所有元数据",
|
||
selectSpecific: "或选择特定元数据:",
|
||
stripExif: "移除 EXIF(相机信息、日期、曝光)",
|
||
stripGps: "移除 GPS(位置数据)",
|
||
stripIcc: "移除 ICC(颜色配置文件)",
|
||
stripXmp: "移除 XMP(扩展元数据)",
|
||
locationFound: "已发现位置信息",
|
||
viewOnMap: "在地图上查看",
|
||
locationWarning: "此图片包含精确的位置信息。建议在分享前移除 GPS 数据。",
|
||
metadataSections: "发现 {count} 个元数据部分",
|
||
metadataSectionsPlural: "发现 {count} 个元数据部分",
|
||
metadataRemoved: "已移除元数据:{size} KB",
|
||
submit: "移除元数据",
|
||
progressLabel: "正在移除元数据",
|
||
},
|
||
"edit-metadata": {
|
||
readingMetadata: "正在读取元数据...",
|
||
couldNotReadMetadata: "无法读取元数据,字段将从空白开始。",
|
||
basicInfo: "基本信息",
|
||
description: "描述",
|
||
artist: "作者",
|
||
copyright: "版权",
|
||
software: "软件",
|
||
iptc: "IPTC",
|
||
title: "标题",
|
||
headline: "标题",
|
||
city: "城市",
|
||
stateProvince: "省份",
|
||
country: "国家",
|
||
dateAndTime: "日期与时间",
|
||
editDates: "编辑日期",
|
||
shiftAllDates: "偏移所有日期",
|
||
dateModified: "修改日期",
|
||
dateTaken: "拍摄日期",
|
||
shiftHint: "将所有日期字段偏移指定量(适用于时区校正)",
|
||
direction: "方向",
|
||
forward: "+ 向前",
|
||
backward: "- 向后",
|
||
hoursMinutes: "时:分",
|
||
locationGps: "位置(GPS)",
|
||
locationDataFound: "已发现位置数据",
|
||
noGpsData: "无 GPS 数据。在下方添加坐标。",
|
||
latitude: "纬度",
|
||
longitude: "经度",
|
||
altitudeMeters: "海拔(米)",
|
||
removeAllGpsData: "移除所有 GPS 数据",
|
||
keywords: "关键词",
|
||
addKeywordPlaceholder: "添加关键词并按回车",
|
||
addToExisting: "追加到已有",
|
||
replaceAll: "全部替换",
|
||
allMetadata: "所有元数据",
|
||
templates: "模板",
|
||
templateNamePlaceholder: "模板名称",
|
||
uploadPrompt: "上传图片以编辑其元数据。",
|
||
changes: "{count} 项更改:",
|
||
modified: "{count} 项已修改",
|
||
removed: "{count} 项已移除",
|
||
gpsCleared: "GPS 已清除",
|
||
gpsAdded: "GPS 已添加",
|
||
datesShifted: "日期已偏移",
|
||
submit: "应用元数据",
|
||
progressLabel: "正在写入元数据",
|
||
},
|
||
"bulk-rename": {
|
||
pattern: "模式",
|
||
patternHint: "变量:{{index}}、{{padded}}、{{original}}",
|
||
startIndex: "起始索引",
|
||
preview: "预览",
|
||
andMore: "... 还有 {count} 项",
|
||
renaming: "重命名中...",
|
||
submit: "重命名 {count} 个文件",
|
||
zipDownloaded: "ZIP 下载成功",
|
||
},
|
||
"image-to-pdf": {
|
||
imageCount: "{count} 张图片将被转换为{mode}",
|
||
imageCountPlural: "{count} 张图片将被转换为{mode}",
|
||
singlePdfMode: "单个 PDF,每页一张图片",
|
||
separatePdfMode: "独立 PDF,每张图片一个",
|
||
combineAllImages: "将所有图片合并为一个 PDF",
|
||
pageSize: "页面大小",
|
||
orientation: "方向",
|
||
portrait: "纵向",
|
||
landscape: "横向",
|
||
margin: "边距",
|
||
targetSizeLabel: "目标文件大小(可选)",
|
||
targetSizePlaceholder: "例如 2",
|
||
targetSizeHint: "留空则保持最高质量",
|
||
targetSizeMet: "已达到目标",
|
||
targetSizeNotMet: "无法达到目标。文件已压缩至最低质量。",
|
||
targetSizeTooSmall: "目标大小至少为 50KB",
|
||
jpegQualityLabel: "使用的 JPEG 质量",
|
||
noImage: "无图片",
|
||
submitCollate: "创建 PDF({count} 页)",
|
||
submitSeparate: "创建 {count} 个 PDF",
|
||
downloadPdf: "下载 PDF",
|
||
downloadZip: "下载 ZIP",
|
||
progressLabel: "正在创建 PDF",
|
||
uploadingImages: "正在上传图片...",
|
||
processingPages: "正在处理 {count} 页...",
|
||
},
|
||
"pdf-to-image": {
|
||
dropPdf: "拖放 PDF 文件到此处或点击选择",
|
||
readingPdf: "正在读取 PDF...",
|
||
pageCount: "{count} 页",
|
||
pageCountPlural: "{count} 页",
|
||
outputFormat: "输出格式",
|
||
quality: "质量",
|
||
resolutionDpi: "分辨率(DPI)",
|
||
dpiScreen: "屏幕",
|
||
dpiStandard: "标准",
|
||
dpiPrint: "打印",
|
||
dpiHighQuality: "高质量",
|
||
colorMode: "色彩模式",
|
||
colorModeColor: "彩色",
|
||
colorModeGrayscale: "灰度",
|
||
colorModeBw: "黑白",
|
||
pages: "页面",
|
||
allPages: "所有页面",
|
||
pagesHint: "例如 1-3、5、8-10(文档共 {count} 页)",
|
||
converting: "正在转换...",
|
||
submit: "转换 {count} 页",
|
||
submitPlural: "转换 {count} 页",
|
||
downloadAllZip: "全部下载(ZIP)",
|
||
},
|
||
favicon: {
|
||
uploadHint: "上传正方形图片(建议 512x512 或更大)以生成所有 Favicon 和应用图标尺寸。",
|
||
multipleHint: "每张图片(共 {count} 张)将在 ZIP 中生成独立的文件夹。",
|
||
generatedSizes: "生成的尺寸(每张图片)",
|
||
plusManifest: "+ manifest.json + HTML 代码片段",
|
||
submit: "生成 Favicon({count} 张图片)",
|
||
submitPlural: "生成 Favicon({count} 张图片)",
|
||
downloadZip: "下载 Favicon ZIP",
|
||
progressLabel: "正在生成 Favicon",
|
||
},
|
||
"adjust-colors": {
|
||
light: "光线",
|
||
brightness: "亮度",
|
||
contrast: "对比度",
|
||
exposure: "曝光",
|
||
color: "色彩",
|
||
saturation: "饱和度",
|
||
temperature: "色温",
|
||
temperatureHint: "冷色 / 暖色",
|
||
tint: "色调",
|
||
tintHint: "绿色 / 品红",
|
||
hue: "色相",
|
||
detail: "细节",
|
||
sharpness: "锐度",
|
||
effects: "效果",
|
||
none: "无",
|
||
grayscale: "灰度",
|
||
sepia: "怀旧",
|
||
invert: "反转",
|
||
colorChannels: "颜色通道",
|
||
channelModified: "已修改",
|
||
red: "红",
|
||
green: "绿",
|
||
blue: "蓝",
|
||
resetAll: "全部重置",
|
||
submit: "应用",
|
||
submitBatch: "应用({count} 个文件)",
|
||
progressLabel: "正在调整颜色",
|
||
},
|
||
sharpening: {
|
||
method: "方法",
|
||
adaptive: "自适应",
|
||
unsharpMask: "USM 锐化",
|
||
highPass: "高通",
|
||
presets: "预设",
|
||
textureAmount: "纹理量",
|
||
amount: "量",
|
||
strength: "强度",
|
||
noiseReduction: "降噪",
|
||
off: "关闭",
|
||
lightDenoise: "轻度",
|
||
mediumDenoise: "中度",
|
||
strongDenoise: "强力",
|
||
advancedControls: "高级控制",
|
||
radius: "半径",
|
||
flatProtection: "平面保护",
|
||
detailThreshold: "细节阈值",
|
||
haloLimitLight: "光晕限制(亮)",
|
||
haloLimitDark: "光晕限制(暗)",
|
||
threshold: "阈值",
|
||
kernelSize: "核大小",
|
||
submit: "锐化",
|
||
submitBatch: "锐化({count} 个文件)",
|
||
progressLabel: "锐化中",
|
||
},
|
||
"replace-color": {
|
||
sourceColor: "源颜色(要替换的)",
|
||
targetColor: "目标颜色(替换为)",
|
||
makeTransparent: "替换为透明",
|
||
tolerance: "容差",
|
||
exactMatch: "精确匹配",
|
||
wideRange: "宽泛范围",
|
||
submit: "替换颜色",
|
||
submitBatch: "替换颜色({count} 个文件)",
|
||
progressLabel: "正在替换颜色",
|
||
},
|
||
"color-blindness": {
|
||
simulationType: "模拟类型",
|
||
redGreen: "红绿色盲",
|
||
blueYellow: "蓝黄色盲",
|
||
monochromatic: "全色盲",
|
||
submit: "模拟",
|
||
submitBatch: "模拟({count} 个文件)",
|
||
progressLabel: "正在模拟色盲效果",
|
||
},
|
||
"remove-background": {
|
||
subject: "主体",
|
||
people: "人物",
|
||
products: "商品",
|
||
general: "通用",
|
||
passportIdPhoto: "证件照",
|
||
quality: "质量",
|
||
fast: "快速",
|
||
hd: "高清",
|
||
max: "超清",
|
||
ultra: "极致",
|
||
background: "背景",
|
||
transparent: "透明",
|
||
bgColor: "颜色",
|
||
gradient: "渐变",
|
||
image: "图片",
|
||
gradientDirection: "方向",
|
||
chooseBackgroundImage: "选择背景图片",
|
||
effectsSection: "效果",
|
||
effectsActive: "已启用",
|
||
blurBackground: "模糊背景",
|
||
intensity: "强度",
|
||
addShadow: "添加阴影",
|
||
opacity: "不透明度",
|
||
outputFormat: "输出格式",
|
||
edgeSmoothing: "边缘平滑",
|
||
edgeSmoothingOff: "关闭",
|
||
edgeSmoothingLight: "轻微",
|
||
edgeSmoothingMedium: "中等",
|
||
edgeSmoothingStrong: "强烈",
|
||
colorDecontamination: "颜色去污",
|
||
rendering: "渲染中...",
|
||
submit: "移除背景",
|
||
submitBatch: "移除背景({count} 个文件)",
|
||
progressLabel: "正在移除背景",
|
||
},
|
||
"remove-gif-background": {
|
||
quality: "质量",
|
||
qualityFast: "快速",
|
||
qualityBalanced: "均衡",
|
||
qualityBest: "最佳",
|
||
qualityNote: "每一帧都会经过模型处理,因此质量越高,处理长片段就越慢。",
|
||
outputFormat: "输出格式",
|
||
formatWebp: "WebP",
|
||
formatApng: "APNG",
|
||
formatGif: "GIF",
|
||
formatWebpHint: "WebP 和 APNG 可保留平滑、完整的透明度。",
|
||
gifCaveat: "GIF 仅支持 1 位透明度,因此边缘看起来生硬。",
|
||
background: "背景",
|
||
bgTransparent: "透明",
|
||
bgColor: "颜色",
|
||
bgGradient: "渐变",
|
||
bgBlur: "模糊",
|
||
bgImage: "图片",
|
||
gradientStart: "起点",
|
||
gradientEnd: "终点",
|
||
gradientAngle: "角度({deg}°)",
|
||
blurStrength: "模糊强度({value})",
|
||
shadow: "添加阴影",
|
||
shadowStrength: "阴影不透明度({value})",
|
||
advanced: "高级",
|
||
edgeRefine: "边缘细化(级别 {level})",
|
||
edgeRefineOff: "边缘细化:关闭",
|
||
decontaminate: "去除颜色溢出",
|
||
uploadBg: "上传背景图片",
|
||
frameNote: "会处理每一帧,因此长动画较慢。建议使用 GPU。",
|
||
submit: "移除背景",
|
||
submitBatch: "移除背景({count} 个文件)",
|
||
progressLabel: "正在从帧中移除背景",
|
||
download: "下载",
|
||
},
|
||
upscale: {
|
||
scaleFactor: "放大倍数",
|
||
quality: "质量",
|
||
enhanceFaces: "增强人脸",
|
||
noiseReduction: "降噪",
|
||
noiseReductionHint: "平滑颗粒和噪点。数值越高去噪越强,但可能会模糊细节。",
|
||
outputFormat: "输出格式",
|
||
submit: "放大 {scale}x",
|
||
submitBatch: "放大 {scale}x({count} 个文件)",
|
||
progressLabel: "正在放大图片",
|
||
progressLabelBatch: "正在放大 {count} 张图片",
|
||
},
|
||
"erase-object": {
|
||
qualityFast: "快速",
|
||
qualityHq: "高质量",
|
||
qualityHint: "高质量使用扩散模型处理大型物体和精细纹理。",
|
||
brushMode: "画笔",
|
||
lassoMode: "套索",
|
||
brushSize: "画笔大小",
|
||
fine: "细",
|
||
wide: "粗",
|
||
undo: "撤销",
|
||
clear: "清除",
|
||
outputFormat: "输出格式",
|
||
quality: "质量",
|
||
paintHint: "涂抹要移除的物体。按 Ctrl+Z 撤销。",
|
||
lassoHint: "在要移除的物体周围画一个圈。按 Ctrl+Z 撤销。",
|
||
submit: "擦除物体",
|
||
submitBatch: "全部擦除({count})",
|
||
progressLabel: "正在擦除物体",
|
||
},
|
||
ocr: {
|
||
quality: "质量",
|
||
enhanceBeforeScanning: "扫描前增强",
|
||
enhanceHint:
|
||
"识别前改善局部对比度。快速模式会直接应用;均衡和最佳模式仅在校准评分改善结果时保留该版本。",
|
||
fastKoreanUnsupported: "快速 OCR 不支持韩语。请安装精确 OCR 包,然后选择“均衡”或“最佳”。",
|
||
language: "语言",
|
||
autoDetect: "自动检测",
|
||
extractedText: "提取的文字",
|
||
noTextDetected: "此图片未检测到文字",
|
||
characters: "{count} 个字符",
|
||
submit: "提取文字",
|
||
submitBatch: "提取文字({count} 个文件)",
|
||
progressLabel: "正在提取文字",
|
||
},
|
||
"ocr-pdf": {
|
||
quality: "质量",
|
||
language: "语言",
|
||
autoDetect: "自动检测",
|
||
pages: "页面",
|
||
pagesPlaceholder: "全部, 1-3, 5",
|
||
pagesHint: "输入页码或范围(例如 1-3, 5, 8-10)。最多50页。",
|
||
submit: "提取文字",
|
||
submitBatch: "提取文字({count}个文件)",
|
||
progressLabel: "正在从PDF中提取文字",
|
||
},
|
||
"blur-faces": {
|
||
blurRadius: "模糊半径",
|
||
blurLight: "轻度",
|
||
blurHeavy: "强力",
|
||
detectionSensitivity: "检测灵敏度",
|
||
moreFaces: "更多人脸",
|
||
fewerFaces: "更少人脸",
|
||
submit: "模糊人脸",
|
||
progressLabel: "正在模糊人脸",
|
||
},
|
||
"enhance-faces": {
|
||
quality: "质量",
|
||
enhancementStrength: "增强强度",
|
||
onlyCenterFace: "仅中心人脸",
|
||
detectionSensitivity: "检测灵敏度",
|
||
submit: "增强人脸",
|
||
submitBatch: "增强人脸({count} 个文件)",
|
||
progressLabel: "正在增强人脸",
|
||
},
|
||
"smart-crop": {
|
||
subjectFocus: "主体聚焦",
|
||
faceFocus: "人脸聚焦",
|
||
autoTrim: "自动裁切",
|
||
customSize: "自定义大小",
|
||
socialPresets: "社交媒体预设",
|
||
detectionStrategy: "检测策略",
|
||
detectionStrategyHint:
|
||
"注意力模式找到视觉上最显著的区域。信息熵模式找到细节和信息最丰富的区域。",
|
||
attention: "注意力",
|
||
entropy: "信息熵",
|
||
padding: "内边距",
|
||
paddingHint: "焦点区域周围的额外空间",
|
||
outputQuality: "输出质量",
|
||
outputQualityHint: "适用于 JPEG 和 WebP 输出。PNG 始终为无损。",
|
||
subjectDescription: "利用显著性分析检测最感兴趣的区域,并裁剪到目标尺寸。",
|
||
framing: "构图",
|
||
facePadding: "人脸边距",
|
||
facePaddingHint: "检测到的人脸周围的额外空间",
|
||
fewerFalsePositives: "减少误检",
|
||
faceDescription: "使用 AI 人脸检测保持人脸正确构图。若未检测到人脸,则回退到主体聚焦。",
|
||
trimTolerance: "容差",
|
||
trimDescription: "边缘像素与边框颜色的最大差异值。数值越高裁切越激进。",
|
||
padToSquare: "填充为正方形",
|
||
targetSizePx: "目标大小(px)",
|
||
padColor: "填充颜色",
|
||
trimHint: "移除主体周围的单色边框。启用「填充为正方形」可生成电商适用的图片。",
|
||
submitSubject: "智能裁剪",
|
||
submitFace: "人脸裁剪",
|
||
submitTrim: "裁切边框",
|
||
},
|
||
imageEnhancement: {
|
||
enhancementMode: "增强模式",
|
||
auto: "自动",
|
||
portrait: "人像",
|
||
landscape: "风景",
|
||
lowLight: "低光照",
|
||
food: "美食",
|
||
document: "文档",
|
||
intensity: "强度",
|
||
deepEnhance: "深度增强(AI)",
|
||
deepEnhanceDescription: "利用 AI 移除噪点和伪影",
|
||
deepEnhanceRequires: "需要「放大与增强」功能包",
|
||
analyzingImage: "正在分析图片...",
|
||
detectedIssues: "检测到的问题",
|
||
imageLooksGood: "图片状态良好。可使用强度滑块进行微调。",
|
||
issueUnderexposed: "曝光不足",
|
||
issueOverexposed: "过度曝光",
|
||
issueLowContrast: "对比度平淡",
|
||
issueColorCast: "偏色",
|
||
issueDesaturated: "饱和度不足",
|
||
issueSoftFocus: "对焦偏软",
|
||
issueNoisy: "噪点较多",
|
||
submit: "增强",
|
||
submitDeep: "深度增强",
|
||
submitBatch: "增强({count} 个文件)",
|
||
submitDeepBatch: "深度增强({count} 个文件)",
|
||
progressLabel: "正在增强图片",
|
||
progressLabelBatch: "正在增强 {count} 张图片",
|
||
},
|
||
"noise-removal": {
|
||
denoisingTier: "降噪等级",
|
||
quick: "快速",
|
||
balanced: "均衡",
|
||
quality: "高质量",
|
||
maximum: "极致",
|
||
quickDesc: "快速,轻量",
|
||
balancedDesc: "质量好,速度适中",
|
||
qualityDesc: "AI 驱动,较慢",
|
||
maximumDesc: "最佳 AI 模型,最慢",
|
||
strength: "强度",
|
||
subtle: "轻微",
|
||
aggressive: "激进",
|
||
detailPreservation: "细节保留",
|
||
smooth: "平滑",
|
||
sharp: "锐利",
|
||
colorNoise: "色彩噪点",
|
||
heavy: "严重",
|
||
outputFormat: "输出格式",
|
||
gifAiWarning: "GIF 文件的 AI 降噪仅处理第一帧。对于动画 GIF,请使用快速或均衡等级。",
|
||
submit: "去除噪点",
|
||
submitBatch: "去除噪点({count} 个文件)",
|
||
progressLabel: "正在去除噪点",
|
||
progressLabelBatch: "正在去除 {count} 张图片的噪点",
|
||
},
|
||
"red-eye-removal": {
|
||
sensitivity: "灵敏度",
|
||
strict: "严格",
|
||
aggressive: "激进",
|
||
correctionStrength: "校正强度",
|
||
subtle: "轻微",
|
||
dark: "深色",
|
||
outputFormat: "输出格式",
|
||
quality: "质量",
|
||
submit: "修复红眼",
|
||
submitBatch: "修复红眼({count} 个文件)",
|
||
progressLabel: "正在修复红眼",
|
||
progressLabelBatch: "正在修复 {count} 张图片的红眼",
|
||
},
|
||
"restore-photo": {
|
||
scratchRemoval: "划痕修复",
|
||
scratchRemovalDesc: "检测和修复划痕、撕裂、污点",
|
||
faceEnhancement: "人脸增强",
|
||
faceEnhancementDesc: "使用 CodeFormer AI 修复退化的人脸",
|
||
faceFidelity: "人脸保真度",
|
||
enhanced: "增强",
|
||
faithful: "忠实",
|
||
noiseReduction: "降噪",
|
||
noiseReductionDesc: "去除老照片的颗粒和噪点",
|
||
denoiseStrength: "降噪强度",
|
||
autoColorize: "自动上色",
|
||
autoColorizeDesc: "使用 DDColor AI 为黑白照片上色",
|
||
colorizeStrength: "上色强度",
|
||
vivid: "鲜艳",
|
||
submit: "修复照片",
|
||
submitBatch: "修复照片({count})",
|
||
progressLabel: "正在修复照片",
|
||
progressLabelBatch: "正在修复 {count} 张照片",
|
||
},
|
||
"content-aware-resize": {
|
||
widthPx: "宽度(px)",
|
||
heightPx: "高度(px)",
|
||
resizeToSquare: "调整为正方形",
|
||
protectFaces: "保护人脸",
|
||
protectFacesHint: "通过人脸检测识别并保护人脸区域不被接缝移除",
|
||
smoothing: "平滑度",
|
||
edgeSensitivity: "边缘灵敏度",
|
||
submit: "调整大小",
|
||
submitBatch: "调整大小({count} 个文件)",
|
||
progressLabel: "内容感知缩放中",
|
||
},
|
||
"ai-canvas-expand": {
|
||
quality: "质量",
|
||
fast: "快速",
|
||
balanced: "均衡",
|
||
highQuality: "高质量",
|
||
fastDesc: "快速预览,较少 AI 迭代",
|
||
balancedDesc: "质量好,速度适中",
|
||
highQualityDesc: "最佳效果,速度较慢",
|
||
extendToAspectRatio: "扩展为指定比例",
|
||
extendByPixels: "扩展像素数",
|
||
top: "上",
|
||
right: "右",
|
||
bottom: "下",
|
||
left: "左",
|
||
newSize: "新尺寸:{width} x {height}",
|
||
submit: "扩展画布",
|
||
submitBatch: "扩展({count} 个文件)",
|
||
progressLabel: "正在扩展画布",
|
||
},
|
||
colorize: {
|
||
aiModel: "AI 模型",
|
||
fast: "快速",
|
||
fastDesc: "快速出图",
|
||
balanced: "均衡",
|
||
balancedDesc: "当前最佳",
|
||
best: "极致",
|
||
bestDesc: "最高质量",
|
||
colorIntensity: "色彩强度",
|
||
grayscaleLabel: "灰度",
|
||
subtleLabel: "淡雅",
|
||
naturalLabel: "自然",
|
||
vividLabel: "鲜艳",
|
||
intensityHint: "较低的值会产生更柔和、复古风格的色彩。",
|
||
strength: "上色强度",
|
||
submit: "上色",
|
||
submitBatch: "上色({count} 个文件)",
|
||
progressLabel: "上色中",
|
||
progressLabelBatch: "正在为 {count} 张图片上色",
|
||
},
|
||
"passport-photo": {
|
||
country: "国家",
|
||
searchCountries: "搜索国家...",
|
||
noCountriesFound: "未找到国家",
|
||
customDimensions: "自定义尺寸",
|
||
documentType: "证件类型",
|
||
dimensionsMm: "尺寸(mm)",
|
||
dpi: "DPI",
|
||
pixelsPerInch: "像素/英寸",
|
||
backgroundColor: "背景颜色",
|
||
maxFileSize: "最大文件大小",
|
||
noLimit: "无限制",
|
||
customKb: "自定义 KB...",
|
||
uploadPortrait: "上传一张人像照片",
|
||
uploadHint: "在左侧面板中拖放或上传图片以预览证件照",
|
||
analyzingPhoto: "正在分析照片",
|
||
detectingLandmarks: "正在检测人脸特征点并移除背景...",
|
||
generatePassportPhoto: "生成证件照",
|
||
generating: "生成中...",
|
||
downloadPhoto: "下载照片",
|
||
faceCentered: "人脸居中",
|
||
headLevel: "头部水平",
|
||
lookingStraight: "目视前方",
|
||
faceSize: "人脸大小",
|
||
whatYouSee: "所见即所得",
|
||
dragToAdjust: "拖动调整",
|
||
scrollToZoom: "滚轮缩放",
|
||
photoGenerated: "照片已生成。从左侧面板下载。",
|
||
},
|
||
"transcribe-audio": {
|
||
language: "语言",
|
||
autoDetect: "自动检测",
|
||
outputFormat: "输出格式",
|
||
plainText: "纯文本",
|
||
submit: "转录",
|
||
submitBatch: "转录 ({count} 个文件)",
|
||
progressLabel: "正在转录音频",
|
||
},
|
||
"auto-subtitles": {
|
||
language: "语言",
|
||
autoDetect: "自动检测",
|
||
format: "字幕格式",
|
||
submit: "生成字幕",
|
||
submitBatch: "生成字幕 ({count} 个文件)",
|
||
progressLabel: "正在生成字幕",
|
||
},
|
||
"transparency-fixer": {
|
||
description: "上传一张伪透明 PNG 图片,一键修复透明背景。",
|
||
removeWatermark: "移除水印",
|
||
removeWatermarkHelp: "检测并移除半透明水印",
|
||
requiresEraser: "需要「物体擦除」功能包",
|
||
advanced: "高级",
|
||
defringe: "去边",
|
||
outputFormat: "输出格式",
|
||
submit: "修复透明度",
|
||
submitBatch: "修复透明度({count} 个文件)",
|
||
progressLabel: "正在修复透明度",
|
||
},
|
||
"background-replace": {
|
||
color: "背景颜色",
|
||
submit: "替换背景",
|
||
submitBatch: "替换背景 ({count} 个文件)",
|
||
progressLabel: "正在替换背景",
|
||
},
|
||
"blur-background": {
|
||
intensity: "模糊强度",
|
||
submit: "模糊背景",
|
||
submitBatch: "模糊背景 ({count} 个文件)",
|
||
progressLabel: "正在模糊背景",
|
||
},
|
||
"watermark-text": {
|
||
watermarkText: "水印文字",
|
||
fontSize: "字号",
|
||
color: "颜色",
|
||
opacity: "不透明度",
|
||
position: "位置",
|
||
rotation: "旋转",
|
||
center: "居中",
|
||
topLeft: "左上",
|
||
topRight: "右上",
|
||
bottomLeft: "左下",
|
||
bottomRight: "右下",
|
||
tiled: "平铺",
|
||
submit: "添加水印",
|
||
submitBatch: "添加水印({count} 个文件)",
|
||
progressLabel: "正在添加水印",
|
||
},
|
||
"watermark-image": {
|
||
uploadWatermark: "上传水印图片",
|
||
position: "位置",
|
||
opacity: "不透明度",
|
||
scale: "缩放",
|
||
submit: "应用水印",
|
||
submitBatch: "应用水印({count} 个文件)",
|
||
},
|
||
"text-overlay": {
|
||
text: "文字",
|
||
fontSize: "字号",
|
||
color: "颜色",
|
||
position: "位置",
|
||
top: "顶部",
|
||
center: "居中",
|
||
bottom: "底部",
|
||
backgroundBox: "背景框",
|
||
backgroundColor: "背景颜色",
|
||
shadow: "阴影",
|
||
submit: "添加文字",
|
||
submitBatch: "添加文字({count} 个文件)",
|
||
progressLabel: "正在添加文字叠加",
|
||
download: "下载",
|
||
defaultText: "在此输入文字",
|
||
},
|
||
compose: {
|
||
uploadOverlay: "上传叠加图片",
|
||
xPosition: "X 位置",
|
||
yPosition: "Y 位置",
|
||
opacity: "不透明度",
|
||
blendMode: "混合模式",
|
||
submit: "合成",
|
||
},
|
||
"meme-generator": {
|
||
selectTemplate: "从图库中选择模板或上传自己的图片开始制作。",
|
||
chooseLayout: "为自定义图片选择文字布局。",
|
||
textContent: "文字内容",
|
||
textStyle: "文字样式",
|
||
font: "字体",
|
||
fontSize: "字号",
|
||
textColor: "文字颜色",
|
||
strokeColor: "描边颜色",
|
||
allCaps: "全部大写",
|
||
generate: "生成 Meme",
|
||
generating: "生成中...",
|
||
downloadMeme: "下载 Meme",
|
||
backToGallery: "返回图库",
|
||
},
|
||
info: {
|
||
loadingInfo: "正在加载信息...",
|
||
filename: "文件名",
|
||
fileSize: "文件大小",
|
||
dimensions: "尺寸",
|
||
format: "格式",
|
||
channels: "通道",
|
||
colorSpace: "色彩空间",
|
||
density: "密度",
|
||
bitDepth: "位深",
|
||
progressive: "渐进式",
|
||
pages: "页数",
|
||
hasAlpha: "含 Alpha 通道",
|
||
hasProfile: "含色彩配置文件",
|
||
hasExif: "含 EXIF",
|
||
hasIcc: "含 ICC",
|
||
hasXmp: "含 XMP",
|
||
readInfo: "读取信息",
|
||
reading: "读取中...",
|
||
channelStats: "通道统计",
|
||
yes: "是",
|
||
no: "否",
|
||
na: "无",
|
||
failedToRead: "读取信息失败",
|
||
},
|
||
compare: {
|
||
uploadSecondImage: "上传第二张图片",
|
||
similarity: "相似度:{percent}%",
|
||
submit: "对比",
|
||
downloadDiff: "下载差异图",
|
||
},
|
||
"find-duplicates": {
|
||
preset: "预设",
|
||
exact: "精确",
|
||
similar: "相似",
|
||
loose: "宽泛",
|
||
exactDesc: "像素级相同的副本,相同图片不同格式。",
|
||
similarDesc: "经过缩放、重新压缩或轻微编辑的副本。",
|
||
looseDesc: "视觉相关的图片,轻微裁剪、不同曝光。",
|
||
threshold: "阈值",
|
||
submit: "扫描重复项",
|
||
scanning: "扫描中...",
|
||
},
|
||
"color-palette": {
|
||
submit: "提取色板",
|
||
extracting: "提取中...",
|
||
dominantColors: "主色调",
|
||
clickToCopy: "点击复制",
|
||
},
|
||
"qr-generate": {
|
||
contentType: "内容类型",
|
||
url: "网址",
|
||
text: "文本",
|
||
wifi: "WiFi",
|
||
vcard: "vCard",
|
||
email: "邮箱",
|
||
phone: "电话",
|
||
sms: "短信",
|
||
styling: "样式",
|
||
dotStyle: "点样式",
|
||
cornerSquareStyle: "角方块样式",
|
||
cornerDotStyle: "角点样式",
|
||
foregroundColor: "前景色",
|
||
bgColor: "背景色",
|
||
logo: "徽标",
|
||
downloadFormat: "下载格式",
|
||
submit: "生成 QR 码",
|
||
download: "下载 QR 码",
|
||
},
|
||
"html-to-image": {
|
||
modeUrl: "URL",
|
||
modeHtml: "HTML 文件",
|
||
htmlFile: "HTML 文件",
|
||
url: "URL",
|
||
urlPlaceholder: "https://snapotter.com",
|
||
format: "输出格式",
|
||
quality: "质量",
|
||
devicePreset: "设备",
|
||
viewportWidth: "宽度",
|
||
viewportHeight: "高度",
|
||
fullPage: "整页",
|
||
submit: "截图",
|
||
download: "下载截图",
|
||
capturing: "正在截取网页...",
|
||
errorTimeout: "页面加载超时",
|
||
errorBlocked: "无法截取此 URL",
|
||
errorUnavailable: "截图服务不可用",
|
||
errorFailed: "截取页面失败",
|
||
placeholder: "输入 URL 并点击截图",
|
||
presets: {
|
||
desktop: "桌面端",
|
||
tablet: "平板",
|
||
mobile: "手机",
|
||
custom: "自定义",
|
||
},
|
||
},
|
||
"barcode-read": {
|
||
submit: "扫描条码",
|
||
submitBatch: "扫描({count} 个文件)",
|
||
scanning: "扫描中...",
|
||
noBarcodesFound: "未找到条码",
|
||
barcodesFound: "找到 {count} 个条码",
|
||
barcodesFoundPlural: "找到 {count} 个条码",
|
||
},
|
||
collage: {
|
||
template: "模板",
|
||
aspectRatio: "宽高比",
|
||
gap: "间距",
|
||
cornerRadius: "圆角",
|
||
backgroundColor: "背景颜色",
|
||
outputFormat: "输出格式",
|
||
quality: "质量",
|
||
submit: "创建拼贴",
|
||
downloadCollage: "下载拼贴",
|
||
},
|
||
stitch: {
|
||
direction: "方向",
|
||
horizontal: "水平",
|
||
vertical: "垂直",
|
||
grid: "网格",
|
||
gridColumns: "网格列数",
|
||
resizeMode: "缩放模式",
|
||
fit: "适应",
|
||
original: "原始",
|
||
stretchMode: "拉伸",
|
||
cropMode: "裁剪",
|
||
alignment: "对齐",
|
||
start: "起始",
|
||
center: "居中",
|
||
end: "末尾",
|
||
gap: "间距",
|
||
border: "边框",
|
||
cornerRadius: "圆角",
|
||
backgroundColor: "背景颜色",
|
||
outputFormat: "输出格式",
|
||
quality: "质量",
|
||
submit: "拼接图片",
|
||
},
|
||
split: {
|
||
modeGrid: "网格",
|
||
modeTileSize: "切片大小",
|
||
presets: "预设",
|
||
columns: "列数",
|
||
rows: "行数",
|
||
tileWidth: "切片宽度",
|
||
tileHeight: "切片高度",
|
||
outputFormat: "输出格式",
|
||
quality: "质量",
|
||
submit: "分割图片",
|
||
downloadAll: "全部下载(ZIP)",
|
||
},
|
||
border: {
|
||
presets: "预设",
|
||
borderWidth: "边框宽度",
|
||
borderColor: "边框颜色",
|
||
padding: "内边距",
|
||
paddingColor: "内边距颜色",
|
||
cornerRadius: "圆角",
|
||
shadow: "阴影",
|
||
shadowBlur: "阴影模糊",
|
||
shadowOffsetX: "阴影 X 偏移",
|
||
shadowOffsetY: "阴影 Y 偏移",
|
||
shadowColor: "阴影颜色",
|
||
shadowOpacity: "阴影不透明度",
|
||
submit: "添加边框",
|
||
submitBatch: "添加边框({count} 个文件)",
|
||
progressLabel: "正在添加边框",
|
||
},
|
||
beautify: {
|
||
preset: "预设",
|
||
backgroundType: "背景类型",
|
||
solidColor: "纯色",
|
||
linearGradient: "线性渐变",
|
||
radialGradient: "径向渐变",
|
||
customImage: "自定义图片",
|
||
gradientAngle: "渐变角度",
|
||
padding: "内边距",
|
||
borderRadius: "圆角半径",
|
||
shadowPreset: "阴影预设",
|
||
deviceFrame: "设备外框",
|
||
submit: "美化",
|
||
submitBatch: "美化({count} 个文件)",
|
||
progressLabel: "正在美化截图",
|
||
},
|
||
"circle-crop": {
|
||
submit: "圆形裁剪",
|
||
submitBatch: "圆形裁剪({count} 个文件)",
|
||
progressLabel: "正在圆形裁剪",
|
||
},
|
||
duotone: {
|
||
shadow: "阴影颜色",
|
||
highlight: "高光颜色",
|
||
submit: "应用双色调",
|
||
submitBatch: "应用双色调({count} 个文件)",
|
||
progressLabel: "正在应用双色调",
|
||
},
|
||
"image-pad": {
|
||
target: "目标比例",
|
||
color: "背景颜色",
|
||
submit: "填充图像",
|
||
submitBatch: "填充图像({count} 个文件)",
|
||
progressLabel: "正在填充图像",
|
||
},
|
||
pixelate: {
|
||
blockSize: "块大小",
|
||
submit: "像素化",
|
||
submitBatch: "像素化({count} 个文件)",
|
||
progressLabel: "正在像素化",
|
||
},
|
||
vignette: {
|
||
strength: "强度",
|
||
color: "暗角颜色",
|
||
submit: "应用暗角",
|
||
submitBatch: "应用暗角({count} 个文件)",
|
||
progressLabel: "正在应用暗角",
|
||
},
|
||
"gif-webp": {
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换动画",
|
||
},
|
||
histogram: {
|
||
submit: "生成直方图",
|
||
submitBatch: "生成直方图({count} 个文件)",
|
||
progressLabel: "正在生成直方图",
|
||
},
|
||
"lqip-placeholder": {
|
||
width: "宽度",
|
||
blur: "模糊",
|
||
submit: "生成占位图",
|
||
submitBatch: "生成占位图({count} 个文件)",
|
||
progressLabel: "正在生成占位图",
|
||
},
|
||
"sprite-sheet": {
|
||
columns: "列数",
|
||
padding: "间距",
|
||
background: "背景颜色",
|
||
submit: "创建精灵图",
|
||
submitBatch: "创建精灵图",
|
||
progressLabel: "正在创建精灵图",
|
||
},
|
||
"svg-to-raster": {
|
||
outputFormat: "输出格式",
|
||
sizing: "尺寸",
|
||
scaleMode: "缩放",
|
||
customMode: "自定义",
|
||
scalePresets: "缩放预设",
|
||
dpiPresets: "DPI 预设",
|
||
customWidth: "宽度(px)",
|
||
customHeight: "高度(px)",
|
||
background: "背景",
|
||
bgTransparent: "透明",
|
||
bgColor: "颜色",
|
||
quality: "质量",
|
||
submit: "转换 SVG",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换 SVG",
|
||
},
|
||
vectorize: {
|
||
preset: "预设",
|
||
logo: "徽标",
|
||
illustration: "插画",
|
||
photo: "照片",
|
||
sketch: "素描",
|
||
customPreset: "自定义",
|
||
colorMode: "色彩模式",
|
||
bw: "黑白",
|
||
colorModeColor: "彩色",
|
||
threshold: "阈值",
|
||
colorPrecision: "色彩精度",
|
||
layerDifference: "图层差异",
|
||
filterSpeckle: "过滤斑点",
|
||
pathMode: "路径模式",
|
||
cornerThreshold: "拐角阈值",
|
||
invertColors: "反转颜色",
|
||
submit: "矢量化",
|
||
submitBatch: "矢量化({count} 个文件)",
|
||
progressLabel: "矢量化中",
|
||
},
|
||
"gif-tools": {
|
||
mode: "模式",
|
||
resize: "调整大小",
|
||
optimize: "优化",
|
||
speed: "速度",
|
||
reverse: "倒放",
|
||
extract: "提取",
|
||
rotateMode: "旋转",
|
||
pixel: "像素",
|
||
percentage: "百分比",
|
||
colors: "颜色数",
|
||
dither: "抖动",
|
||
effort: "处理强度",
|
||
speedFactor: "速度倍率",
|
||
loopControl: "循环控制",
|
||
infinite: "无限",
|
||
once: "一次",
|
||
customLoop: "自定义",
|
||
loopCount: "循环次数",
|
||
extractSingle: "单帧",
|
||
extractRange: "范围",
|
||
extractAll: "全部",
|
||
frameNumber: "帧号",
|
||
frameStart: "起始帧",
|
||
frameEnd: "结束帧",
|
||
extractFormat: "格式",
|
||
submit: "处理 GIF",
|
||
submitBatch: "处理({count} 个文件)",
|
||
progressLabel: "正在处理 GIF",
|
||
},
|
||
"image-to-base64": {
|
||
outputFormat: "输出格式",
|
||
keepOriginal: "保持原始格式",
|
||
quality: "质量",
|
||
maxWidth: "最大宽度",
|
||
maxHeight: "最大高度",
|
||
submit: "转换为 Base64",
|
||
submitBatch: "转换({count} 个文件)",
|
||
copyBase64: "复制 Base64",
|
||
copyDataUri: "复制 Data URI",
|
||
copyImgTag: "复制 <img> 标签",
|
||
copyCssUrl: "复制 CSS url()",
|
||
},
|
||
"barcode-generate": {
|
||
text: "文本",
|
||
type: "条形码类型",
|
||
scale: "缩放",
|
||
includeText: "包含文本",
|
||
submit: "生成条形码",
|
||
download: "下载条形码",
|
||
},
|
||
"chart-maker": {
|
||
kind: "图表类型",
|
||
title: "标题",
|
||
width: "宽度",
|
||
height: "高度",
|
||
submit: "创建图表",
|
||
submitBatch: "创建图表({count} 个文件)",
|
||
progressLabel: "正在创建图表",
|
||
},
|
||
"enhance-faces-standalone": {
|
||
model: "模型",
|
||
fast: "快速",
|
||
balanced: "均衡",
|
||
best: "极致",
|
||
},
|
||
"convert-video": {
|
||
format: "输出格式",
|
||
quality: "质量",
|
||
high: "高",
|
||
balanced: "均衡",
|
||
small: "最小",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"compress-video": {
|
||
quality: "压缩程度",
|
||
light: "轻度",
|
||
balanced: "均衡",
|
||
strong: "强力",
|
||
resolution: "分辨率",
|
||
original: "原始",
|
||
submit: "压缩",
|
||
submitBatch: "压缩({count} 个文件)",
|
||
progressLabel: "正在压缩",
|
||
},
|
||
"trim-video": {
|
||
start: "开始(秒)",
|
||
end: "结束(秒)",
|
||
precise: "逐帧精确(重新编码)",
|
||
submit: "裁剪",
|
||
submitBatch: "裁剪({count} 个文件)",
|
||
progressLabel: "正在裁剪",
|
||
},
|
||
"mute-video": {
|
||
submit: "移除音频",
|
||
submitBatch: "移除音频({count} 个文件)",
|
||
progressLabel: "正在移除音频",
|
||
},
|
||
"video-to-gif": {
|
||
fps: "每秒帧数",
|
||
width: "宽度 (px)",
|
||
start: "开始(秒)",
|
||
duration: "时长(秒)",
|
||
submit: "创建 GIF",
|
||
submitBatch: "创建 GIF({count} 个文件)",
|
||
progressLabel: "正在创建 GIF",
|
||
},
|
||
"resize-video": {
|
||
preset: "预设",
|
||
width: "宽度 (px)",
|
||
height: "高度 (px)",
|
||
hint: "留空其中一个维度以保持宽高比",
|
||
submit: "调整大小",
|
||
submitBatch: "调整大小({count} 个文件)",
|
||
progressLabel: "正在调整大小",
|
||
},
|
||
"crop-video": {
|
||
width: "宽度 (px)",
|
||
height: "高度 (px)",
|
||
x: "X 偏移",
|
||
y: "Y 偏移",
|
||
submit: "裁剪",
|
||
submitBatch: "裁剪({count} 个文件)",
|
||
progressLabel: "正在裁剪",
|
||
},
|
||
"rotate-video": {
|
||
transform: "变换",
|
||
cw90: "顺时针旋转 90°",
|
||
ccw90: "逆时针旋转 90°",
|
||
rotate180: "旋转 180°",
|
||
hflip: "水平翻转",
|
||
vflip: "垂直翻转",
|
||
submit: "旋转",
|
||
submitBatch: "旋转({count} 个文件)",
|
||
progressLabel: "正在旋转",
|
||
},
|
||
"change-fps": {
|
||
fps: "每秒帧数",
|
||
submit: "更改帧率",
|
||
submitBatch: "更改帧率({count} 个文件)",
|
||
progressLabel: "正在更改帧率",
|
||
},
|
||
"video-color": {
|
||
brightness: "亮度",
|
||
contrast: "对比度",
|
||
saturation: "饱和度",
|
||
gamma: "伽马",
|
||
submit: "应用",
|
||
submitBatch: "应用({count} 个文件)",
|
||
progressLabel: "正在调整颜色",
|
||
},
|
||
"video-speed": {
|
||
factor: "速度倍数",
|
||
keepPitch: "保持原始音调",
|
||
submit: "更改速度",
|
||
submitBatch: "更改速度({count} 个文件)",
|
||
progressLabel: "正在更改速度",
|
||
},
|
||
"reverse-video": {
|
||
hint: "仅限 5 分钟以内的片段",
|
||
submit: "倒放",
|
||
submitBatch: "倒放({count} 个文件)",
|
||
progressLabel: "正在倒放",
|
||
},
|
||
"video-loudnorm": {
|
||
hint: "将音频标准化至 EBU R128 广播标准",
|
||
submit: "标准化",
|
||
submitBatch: "标准化({count} 个文件)",
|
||
progressLabel: "正在标准化",
|
||
},
|
||
"aspect-pad": {
|
||
target: "目标比例",
|
||
color: "背景颜色",
|
||
colorHint: "HEX 颜色,例如 #000000",
|
||
submit: "填充",
|
||
submitBatch: "填充({count} 个文件)",
|
||
progressLabel: "正在填充",
|
||
},
|
||
"blur-pad": {
|
||
target: "目标比例",
|
||
blur: "模糊强度",
|
||
submit: "填充",
|
||
submitBatch: "填充({count} 个文件)",
|
||
progressLabel: "正在填充",
|
||
},
|
||
"watermark-video": {
|
||
text: "水印文本",
|
||
position: "位置",
|
||
fontSize: "字号",
|
||
opacity: "不透明度",
|
||
color: "颜色",
|
||
colorHint: "HEX 颜色,例如 #ffffff",
|
||
submit: "添加水印",
|
||
submitBatch: "添加水印({count} 个文件)",
|
||
progressLabel: "正在添加水印",
|
||
},
|
||
"stabilize-video": {
|
||
smoothing: "平滑度",
|
||
hint: "需要两次处理,耗时较长",
|
||
submit: "防抖",
|
||
submitBatch: "防抖({count} 个文件)",
|
||
progressLabel: "正在防抖",
|
||
},
|
||
"gif-to-video": {
|
||
format: "输出格式",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"video-to-webp": {
|
||
fps: "每秒帧数",
|
||
width: "宽度 (px)",
|
||
quality: "质量",
|
||
loop: "循环动画",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"video-to-frames": {
|
||
mode: "提取模式",
|
||
modeAll: "所有帧",
|
||
modeNth: "每隔 N 帧",
|
||
modeTimestamps: "指定时间点",
|
||
n: "每隔 N 帧提取",
|
||
timestamps: "时间点(秒)",
|
||
timestampsHint: "以逗号分隔,例如 0.5, 2, 4.5",
|
||
format: "图像格式",
|
||
submit: "提取帧",
|
||
submitBatch: "提取帧({count} 个文件)",
|
||
progressLabel: "正在提取帧",
|
||
},
|
||
"merge-videos": {
|
||
hint: "文件按上传顺序拼接",
|
||
submit: "合并",
|
||
submitBatch: "合并({count} 个文件)",
|
||
progressLabel: "正在合并",
|
||
},
|
||
"replace-audio": {
|
||
hint: "先上传视频,再上传音频",
|
||
submit: "替换音频",
|
||
submitBatch: "替换音频({count} 个文件)",
|
||
progressLabel: "正在替换音频",
|
||
},
|
||
"burn-subtitles": {
|
||
fontSize: "字号",
|
||
hint: "上传视频和字幕文件(.srt 或 .vtt)",
|
||
submit: "烧录字幕",
|
||
submitBatch: "烧录字幕({count} 个文件)",
|
||
progressLabel: "正在烧录字幕",
|
||
},
|
||
"embed-subtitles": {
|
||
language: "语言代码",
|
||
languageHint: "三位 ISO 639-2 代码,例如 eng、spa、fra",
|
||
submit: "嵌入字幕",
|
||
submitBatch: "嵌入字幕({count} 个文件)",
|
||
progressLabel: "正在嵌入字幕",
|
||
},
|
||
"extract-subtitles": {
|
||
submit: "提取字幕",
|
||
submitBatch: "提取字幕({count} 个文件)",
|
||
progressLabel: "正在提取字幕",
|
||
},
|
||
"images-to-video": {
|
||
secondsPerImage: "每张图片秒数",
|
||
resolution: "分辨率",
|
||
fps: "每秒帧数",
|
||
submit: "创建视频",
|
||
submitBatch: "创建视频({count} 个文件)",
|
||
progressLabel: "正在创建幻灯片",
|
||
},
|
||
"video-metadata": {
|
||
hint: "元数据报告显示在结果中",
|
||
submit: "清除元数据",
|
||
submitBatch: "清除元数据({count} 个文件)",
|
||
progressLabel: "正在清除元数据",
|
||
},
|
||
"convert-audio": {
|
||
format: "输出格式",
|
||
bitrate: "比特率 (kbps)",
|
||
sampleRate: "采样率 (Hz)",
|
||
sampleRatePreserve: "保留原始",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"trim-audio": {
|
||
start: "开始(秒)",
|
||
end: "结束(秒)",
|
||
submit: "裁剪",
|
||
submitBatch: "裁剪({count} 个文件)",
|
||
progressLabel: "正在裁剪",
|
||
},
|
||
"extract-audio": {
|
||
format: "输出格式",
|
||
submit: "提取",
|
||
submitBatch: "提取({count} 个文件)",
|
||
progressLabel: "正在提取",
|
||
},
|
||
"volume-adjust": {
|
||
"gain-db": "增益 (dB)",
|
||
submit: "调整音量",
|
||
submitBatch: "调整音量({count} 个文件)",
|
||
progressLabel: "正在调整音量",
|
||
},
|
||
"normalize-audio": {
|
||
hint: "EBU R128 响度标准化",
|
||
submit: "标准化",
|
||
submitBatch: "标准化({count} 个文件)",
|
||
progressLabel: "正在标准化",
|
||
},
|
||
"fade-audio": {
|
||
"fade-in-s": "淡入(秒)",
|
||
"fade-out-s": "淡出(秒)",
|
||
submit: "应用淡入淡出",
|
||
submitBatch: "应用淡入淡出({count} 个文件)",
|
||
progressLabel: "正在应用淡入淡出",
|
||
},
|
||
"reverse-audio": {
|
||
submit: "倒放",
|
||
submitBatch: "倒放({count} 个文件)",
|
||
progressLabel: "正在倒放",
|
||
},
|
||
"audio-speed": {
|
||
factor: "速度倍数",
|
||
submit: "更改速度",
|
||
submitBatch: "更改速度({count} 个文件)",
|
||
progressLabel: "正在更改速度",
|
||
},
|
||
"pitch-shift": {
|
||
semitones: "半音",
|
||
hint: "不允许为 0 半音",
|
||
submit: "变调",
|
||
submitBatch: "变调({count} 个文件)",
|
||
progressLabel: "正在变调",
|
||
},
|
||
"audio-channels": {
|
||
mode: "声道模式",
|
||
"stereo-to-mono": "立体声转单声道",
|
||
"mono-to-stereo": "单声道转立体声",
|
||
swap: "交换左右声道",
|
||
submit: "转换声道",
|
||
submitBatch: "转换声道({count} 个文件)",
|
||
progressLabel: "正在转换声道",
|
||
},
|
||
"silence-removal": {
|
||
"threshold-db": "静音阈值 (dB)",
|
||
"min-silence-s": "最短静音时长(秒)",
|
||
submit: "移除静音",
|
||
submitBatch: "移除静音({count} 个文件)",
|
||
progressLabel: "正在移除静音",
|
||
},
|
||
"noise-reduction": {
|
||
strength: "强度",
|
||
light: "轻度",
|
||
medium: "中度",
|
||
strong: "强力",
|
||
submit: "降噪",
|
||
submitBatch: "降噪({count} 个文件)",
|
||
progressLabel: "正在降噪",
|
||
},
|
||
"merge-audio": {
|
||
format: "输出格式",
|
||
mp3: "MP3",
|
||
wav: "WAV",
|
||
flac: "FLAC",
|
||
m4a: "M4A",
|
||
"order-hint": "文件将按上传顺序合并",
|
||
submit: "合并音频",
|
||
submitBatch: "合并音频({count} 个文件)",
|
||
progressLabel: "正在合并音频",
|
||
},
|
||
"split-audio": {
|
||
mode: "分割模式",
|
||
time: "按时间",
|
||
parts: "等分",
|
||
silence: "按静音",
|
||
"segment-s": "片段时长(秒)",
|
||
"num-parts": "分割数量",
|
||
"threshold-db": "静音阈值 (dB)",
|
||
"min-silence-s": "最短静音时长(秒)",
|
||
submit: "分割音频",
|
||
submitBatch: "分割音频({count} 个文件)",
|
||
progressLabel: "正在分割音频",
|
||
},
|
||
"ringtone-maker": {
|
||
"start-s": "开始时间(秒)",
|
||
"duration-s": "时长(秒)",
|
||
"max-hint": "最长 30 秒",
|
||
submit: "创建铃声",
|
||
submitBatch: "创建铃声({count} 个文件)",
|
||
progressLabel: "正在创建铃声",
|
||
},
|
||
"waveform-image": {
|
||
width: "宽度 (px)",
|
||
height: "高度 (px)",
|
||
color: "波形颜色",
|
||
submit: "生成波形",
|
||
submitBatch: "生成波形({count} 个文件)",
|
||
progressLabel: "正在生成波形",
|
||
},
|
||
"audio-metadata": {
|
||
strip: "清除所有元数据",
|
||
title: "标题",
|
||
artist: "艺术家",
|
||
album: "专辑",
|
||
submit: "应用元数据",
|
||
submitBatch: "应用元数据({count} 个文件)",
|
||
progressLabel: "正在应用元数据",
|
||
},
|
||
"merge-pdf": {
|
||
addFiles: "添加要合并的 PDF",
|
||
needTwo: "至少需要两个 PDF",
|
||
orderHint: "{count} 个 PDF 将按此顺序合并",
|
||
submit: "合并",
|
||
submitBatch: "合并({count} 个文件)",
|
||
progressLabel: "正在合并",
|
||
},
|
||
"split-pdf": {
|
||
mode: "分割模式",
|
||
range: "页码范围",
|
||
rangeHint: "例如 1-3, 5, 7-z",
|
||
everyN: "每部分页数",
|
||
submit: "分割",
|
||
submitBatch: "分割({count} 个文件)",
|
||
progressLabel: "正在分割",
|
||
},
|
||
"compress-pdf": {
|
||
preset: "质量预设",
|
||
screen: "屏幕(最小体积)",
|
||
ebook: "电子书(均衡)",
|
||
printer: "打印(最佳质量)",
|
||
submit: "压缩",
|
||
submitBatch: "压缩({count} 个文件)",
|
||
progressLabel: "正在压缩",
|
||
bestEffortHint:
|
||
"尽力压缩的上限。基于图像的 PDF 会接近该大小;纯文本 PDF 可能无法缩小到此大小。",
|
||
targetReached: "已达到你设定的 {target} 目标(结果:{size})。",
|
||
targetMissed:
|
||
"无法达到 {target}。可实现的最小体积为 {size},因为此 PDF 主要由文本或矢量图形组成,图像压缩无法将其缩小。",
|
||
},
|
||
"rotate-pdf": {
|
||
angle: "旋转角度",
|
||
range: "页码范围",
|
||
rangeHint: "例如 1-3, 5, 1-z(所有页面)",
|
||
submit: "旋转",
|
||
submitBatch: "旋转({count} 个文件)",
|
||
progressLabel: "正在旋转",
|
||
},
|
||
"convert-document": {
|
||
format: "输出格式",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"convert-presentation": {
|
||
format: "输出格式",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"convert-spreadsheet": {
|
||
format: "输出格式",
|
||
hint: "多工作表的工作簿仅导出第一个工作表为 CSV。",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"excel-to-pdf": {
|
||
submit: "转换为 PDF",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"powerpoint-to-pdf": {
|
||
submit: "转换为 PDF",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"word-to-pdf": {
|
||
submit: "转换为 PDF",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"extract-pages": {
|
||
range: "页码范围",
|
||
rangeHint: "例如 1-3, 5, 7-z",
|
||
submit: "提取",
|
||
submitBatch: "提取({count} 个文件)",
|
||
progressLabel: "正在提取",
|
||
},
|
||
"remove-pages": {
|
||
pages: "要删除的页面",
|
||
pagesHint: "例如 2, 4-6, z(最后一页)",
|
||
submit: "删除",
|
||
submitBatch: "删除({count} 个文件)",
|
||
progressLabel: "正在删除",
|
||
},
|
||
"organize-pdf": {
|
||
order: "页面顺序",
|
||
orderHint: "例如 3,1,2 或 1-z(保持原序)",
|
||
submit: "重新排序",
|
||
submitBatch: "重新排序({count} 个文件)",
|
||
progressLabel: "正在重新排序",
|
||
},
|
||
"protect-pdf": {
|
||
userPassword: "用户密码",
|
||
ownerPassword: "所有者密码(可选)",
|
||
ownerPasswordHint: "为空时默认使用用户密码",
|
||
submit: "加密保护",
|
||
submitBatch: "加密保护({count} 个文件)",
|
||
progressLabel: "正在加密",
|
||
},
|
||
"unlock-pdf": {
|
||
password: "密码",
|
||
submit: "解锁",
|
||
submitBatch: "解锁({count} 个文件)",
|
||
progressLabel: "正在解密",
|
||
},
|
||
"repair-pdf": {
|
||
submit: "修复",
|
||
submitBatch: "修复({count} 个文件)",
|
||
progressLabel: "正在修复",
|
||
},
|
||
"linearize-pdf": {
|
||
submit: "优化",
|
||
submitBatch: "优化({count} 个文件)",
|
||
progressLabel: "正在线性化",
|
||
},
|
||
"grayscale-pdf": {
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"pdfa-convert": {
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"crop-pdf": {
|
||
margin: "边距(点)",
|
||
submit: "裁剪",
|
||
submitBatch: "裁剪({count} 个文件)",
|
||
progressLabel: "正在裁剪",
|
||
},
|
||
"nup-pdf": {
|
||
perSheet: "每张纸的页数",
|
||
submit: "排列",
|
||
submitBatch: "排列({count} 个文件)",
|
||
progressLabel: "正在排列",
|
||
},
|
||
"booklet-pdf": {
|
||
perSheet: "每张纸的页数",
|
||
submit: "创建小册子",
|
||
submitBatch: "创建小册子({count} 个文件)",
|
||
progressLabel: "正在创建小册子",
|
||
},
|
||
"watermark-pdf": {
|
||
text: "水印文字",
|
||
position: "位置",
|
||
fontSize: "字体大小",
|
||
opacity: "不透明度",
|
||
rotation: "旋转角度",
|
||
submit: "添加水印",
|
||
submitBatch: "添加水印({count} 个文件)",
|
||
progressLabel: "正在添加水印",
|
||
},
|
||
"pdf-page-numbers": {
|
||
position: "位置",
|
||
fontSize: "字体大小",
|
||
submit: "添加页码",
|
||
submitBatch: "添加页码({count} 个文件)",
|
||
progressLabel: "正在添加页码",
|
||
},
|
||
"flatten-pdf": {
|
||
submit: "拼合",
|
||
submitBatch: "拼合({count} 个文件)",
|
||
progressLabel: "正在拼合",
|
||
},
|
||
"sign-pdf": {
|
||
yourSignatures: "您的签名",
|
||
newSignature: "新建",
|
||
clickToPlace: "点击签名即可将其放置到当前页面。",
|
||
selectedSignature: "选中的签名",
|
||
dragToAdjust: "拖动控制点可调整大小或旋转。",
|
||
disclaimer: "添加可见的签名图像。这不是基于证书的数字签名。",
|
||
signing: "正在签名…",
|
||
signingPercent: "正在签名… {percent}%",
|
||
downloadSigned: "下载已签名的 PDF",
|
||
addFirst: "下载前请至少添加一个签名。",
|
||
loadFailed:
|
||
"无法显示此 PDF。文件可能已损坏或受密码保护;如果已加密,请先使用“PDF 解锁”工具移除密码。",
|
||
pad: {
|
||
title: "创建签名",
|
||
draw: "手写",
|
||
type: "输入",
|
||
upload: "上传",
|
||
color: "颜色",
|
||
pen: "画笔",
|
||
namePlaceholder: "输入您的姓名",
|
||
yourName: "您的姓名",
|
||
remember: "在此设备上记住",
|
||
save: "保存并放置",
|
||
uploadHint: "拖入 PNG / JPG,或点击选择。透明 PNG 效果最佳。",
|
||
},
|
||
},
|
||
"redact-pdf": {
|
||
terms: "要涂黑的内容",
|
||
termsHint: "每行一个词条(最多 50 个)",
|
||
caseSensitive: "区分大小写",
|
||
submit: "涂黑",
|
||
submitBatch: "涂黑({count} 个文件)",
|
||
progressLabel: "正在涂黑",
|
||
},
|
||
"pdf-to-text": {
|
||
submit: "提取文本",
|
||
submitBatch: "提取文本({count} 个文件)",
|
||
progressLabel: "正在提取",
|
||
},
|
||
"pdf-to-word": {
|
||
hint: "适用于文字型 PDF;扫描页面需要 OCR",
|
||
submit: "转换为 Word",
|
||
submitBatch: "转换为 Word({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"pdf-metadata": {
|
||
title: "标题",
|
||
author: "作者",
|
||
subject: "主题",
|
||
keywords: "关键词",
|
||
submit: "设置元数据",
|
||
submitBatch: "设置元数据({count} 个文件)",
|
||
progressLabel: "正在设置元数据",
|
||
},
|
||
"html-to-pdf": {
|
||
hint: "出于隐私考虑,已禁用远程资源。",
|
||
submit: "转换为 PDF",
|
||
submitBatch: "转换为 PDF({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"markdown-to-docx": {
|
||
submit: "转换为 DOCX",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"markdown-to-html": {
|
||
hint: "源文件中的远程图片将在输出中保持原样。",
|
||
submit: "转换为 HTML",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"markdown-to-pdf": {
|
||
hint: "出于隐私考虑,已禁用远程资源。",
|
||
submit: "转换为 PDF",
|
||
submitBatch: "转换为 PDF({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"epub-convert": {
|
||
format: "输出格式",
|
||
hint: "不会获取书中的远程资源。",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"to-epub": {
|
||
submit: "转换为 EPUB",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"csv-excel": {
|
||
sheet: "工作表编号",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"csv-json": {
|
||
pretty: "美化输出",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"json-xml": {
|
||
pretty: "美化输出",
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"split-csv": {
|
||
rowsPerFile: "每个文件的行数",
|
||
keepHeader: "每个文件保留表头",
|
||
submit: "分割",
|
||
submitBatch: "分割({count} 个文件)",
|
||
progressLabel: "正在分割",
|
||
},
|
||
"merge-csvs": {
|
||
submit: "合并",
|
||
submitBatch: "合并({count} 个文件)",
|
||
progressLabel: "正在合并",
|
||
},
|
||
"yaml-json": {
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"xml-to-csv": {
|
||
submit: "转换",
|
||
submitBatch: "转换({count} 个文件)",
|
||
progressLabel: "正在转换",
|
||
},
|
||
"create-zip": {
|
||
submit: "创建 ZIP",
|
||
submitBatch: "创建 ZIP({count} 个文件)",
|
||
progressLabel: "正在压缩",
|
||
},
|
||
"extract-zip": {
|
||
submit: "解压",
|
||
submitBatch: "解压({count} 个文件)",
|
||
progressLabel: "正在解压",
|
||
},
|
||
},
|
||
urlImport: {
|
||
title: "从 URL 导入",
|
||
placeholder: "粘贴图片 URL,每行一个...",
|
||
importButton: "导入 URL",
|
||
addButton: "添加 {count} 个文件",
|
||
adding: "正在添加...",
|
||
retryButton: "重试",
|
||
cancelButton: "取消",
|
||
readyCount: "{count} 个就绪",
|
||
failedStatus: "失败",
|
||
},
|
||
comparison: {
|
||
original: "原图",
|
||
processed: "处理后",
|
||
before: "之前",
|
||
after: "之后",
|
||
savings: "节省",
|
||
},
|
||
toolPage: {
|
||
emptyPrompt: "拖放或上传图片开始",
|
||
filesCount: "文件({count})",
|
||
addMore: "+ 添加更多",
|
||
clearAll: "清除全部",
|
||
acceptDescription: "仅支持 {exts} 文件",
|
||
notFound: "未找到工具",
|
||
configureAndGenerate: "配置设置并生成。",
|
||
processingFailed: "此文件处理失败",
|
||
conversionComplete: "转换完成",
|
||
cannotPreviewDownload: "{type} 文件无法在浏览器中预览。请使用下载按钮保存文件。",
|
||
generatingPreview: "正在生成预览...",
|
||
cannotPreviewWillProcess: "{ext} 文件无法在浏览器中预览。该工具仍会正常处理此文件。",
|
||
previousImage: "上一个文件",
|
||
nextImage: "下一个文件",
|
||
imageCounter: "{current} / {total}",
|
||
settingsLabel: "设置",
|
||
downloadAllZip: "全部下载(ZIP)",
|
||
hideSettings: "隐藏设置",
|
||
imageArea: "预览区域",
|
||
disabledByAdmin: "此工具已被管理员禁用",
|
||
browseOtherTools: "浏览其他工具",
|
||
privacyNote: "文件在您的服务器上处理,不会离开您的网络",
|
||
applyAndDownload: "应用并下载",
|
||
andMore: "及其他 {count} 个",
|
||
importFromFiles: "从文件库导入",
|
||
saveToFiles: "保存到文件库",
|
||
savedToFiles: "已保存到文件库",
|
||
librarySaveTitle: "此文件来自文件库",
|
||
librarySaveAsNew: "将结果保存为新文件",
|
||
librarySaveAsNewHint: "原文件保留在文件库中",
|
||
libraryOverwrite: "覆盖原文件",
|
||
libraryOverwriteHint: "结果将替换文件库中的原文件",
|
||
viewInFiles: "在文件库中查看",
|
||
adjustSettings: "调整设置",
|
||
startOver: "使用新文件重新开始",
|
||
newFile: "新文件",
|
||
previewUnavailable: "处理完成后可预览",
|
||
generatePreview: "生成预览",
|
||
previewFailed: "预览生成失败",
|
||
backToTools: "返回工具",
|
||
original: "原始",
|
||
processed: "已处理",
|
||
saved: "已保存",
|
||
noChange: "无变化",
|
||
download: "下载",
|
||
settingsSaved: "您的设置已保存。",
|
||
tryAgain: "重试",
|
||
tryDifferentFile: "尝试其他文件",
|
||
batchPartialSuccess: "{total} 个中已处理 {success} 个,{failed} 个失败。",
|
||
dataResultsHint: "结果显示在上方。请使用结果面板中的复制按钮。",
|
||
downloadAsFile: "下载为文件",
|
||
downloadAll: "全部下载",
|
||
downloadFiles: "下载 {count} 个文件",
|
||
audioDecodeUnsupported: "此音频格式无法在浏览器中预览",
|
||
},
|
||
homePage: {
|
||
generatingPreview: "正在生成预览...",
|
||
loadingPreview: "正在加载预览...",
|
||
changeFile: "更换文件",
|
||
quickActions: "快捷操作",
|
||
allTools: "所有工具",
|
||
searchPlaceholder: "搜索 {count} 个工具...",
|
||
recent: "最近",
|
||
pinned: "已固定",
|
||
popular: "热门",
|
||
browseByCategory: "按分类浏览",
|
||
gettingStarted: "开始使用",
|
||
noToolsMatch: "没有匹配 '{query}' 的工具",
|
||
clearSearch: "清除搜索",
|
||
requestToolCta: "请求 '{query}'",
|
||
requestToolBelowResults: "找不到?请求一个工具",
|
||
all: "全部",
|
||
documents: "PDF",
|
||
data: "文件",
|
||
pdf: "PDF",
|
||
files: "文件",
|
||
toolCount: "{count} 个工具",
|
||
heading: "SnapOtter 工具",
|
||
},
|
||
fullscreenGrid: {
|
||
searchPlaceholder: "搜索工具...",
|
||
hideDetails: "隐藏详情",
|
||
showDetails: "显示详情",
|
||
switchToSidebar: "切换到侧边栏视图",
|
||
sidebarButton: "侧边栏",
|
||
noToolsFound: "未找到工具",
|
||
tryDifferent: "请尝试其他搜索词",
|
||
},
|
||
editor: {
|
||
menu: {
|
||
file: {
|
||
label: "文件",
|
||
new: "新建",
|
||
open: "打开",
|
||
save: "保存",
|
||
exportAs: "导出为...",
|
||
quickExportPng: "快速导出为 PNG",
|
||
close: "关闭",
|
||
},
|
||
edit: {
|
||
label: "编辑",
|
||
undo: "撤销",
|
||
redo: "重做",
|
||
cut: "剪切",
|
||
copy: "复制",
|
||
copyMerged: "合并复制",
|
||
paste: "粘贴",
|
||
pasteInPlace: "原位粘贴",
|
||
delete: "删除",
|
||
freeTransform: "自由变换",
|
||
transform: {
|
||
label: "变换",
|
||
scale: "缩放",
|
||
rotate: "旋转",
|
||
skew: "倾斜",
|
||
flipHorizontal: "水平翻转",
|
||
flipVertical: "垂直翻转",
|
||
},
|
||
},
|
||
image: {
|
||
label: "图像",
|
||
imageSize: "图像大小...",
|
||
canvasSize: "画布大小...",
|
||
rotation: {
|
||
label: "图像旋转",
|
||
cw90: "顺时针 90°",
|
||
ccw90: "逆时针 90°",
|
||
r180: "180°",
|
||
flipHorizontal: "水平翻转",
|
||
flipVertical: "垂直翻转",
|
||
},
|
||
trim: "裁切",
|
||
adjustments: {
|
||
label: "调整",
|
||
brightnessContrast: "亮度/对比度",
|
||
hueSaturation: "色相/饱和度",
|
||
colorBalance: "色彩平衡",
|
||
levels: "色阶",
|
||
curves: "曲线",
|
||
},
|
||
},
|
||
layer: {
|
||
label: "图层",
|
||
newLayer: "新建图层",
|
||
duplicateLayer: "复制图层",
|
||
deleteLayer: "删除图层",
|
||
arrange: {
|
||
label: "排列",
|
||
bringToFront: "置于顶层",
|
||
bringForward: "上移一层",
|
||
sendBackward: "下移一层",
|
||
sendToBack: "置于底层",
|
||
},
|
||
mergeDown: "向下合并",
|
||
flattenImage: "拼合图像",
|
||
},
|
||
select: {
|
||
label: "选择",
|
||
all: "全选",
|
||
deselect: "取消选择",
|
||
inverse: "反选",
|
||
colorRange: "色彩范围...",
|
||
},
|
||
filter: {
|
||
label: "滤镜",
|
||
blur: {
|
||
label: "模糊",
|
||
gaussian: "高斯模糊",
|
||
motion: "动感模糊",
|
||
radial: "径向模糊",
|
||
surface: "表面模糊",
|
||
},
|
||
sharpen: {
|
||
label: "锐化",
|
||
sharpen: "锐化",
|
||
unsharpMask: "USM 锐化",
|
||
},
|
||
noise: {
|
||
label: "噪点",
|
||
addNoise: "添加噪点",
|
||
reduceNoise: "降低噪点",
|
||
},
|
||
pixelate: {
|
||
label: "像素化",
|
||
pixelate: "像素化",
|
||
mosaic: "马赛克",
|
||
},
|
||
stylize: {
|
||
label: "风格化",
|
||
emboss: "浮雕",
|
||
solarize: "曝光过度",
|
||
posterize: "色调分离",
|
||
},
|
||
grayscale: "灰度",
|
||
sepia: "怀旧",
|
||
invert: "反相",
|
||
},
|
||
view: {
|
||
label: "视图",
|
||
zoomIn: "放大",
|
||
zoomOut: "缩小",
|
||
fitOnScreen: "适合屏幕",
|
||
actualPixels: "实际像素",
|
||
rulers: "标尺",
|
||
grid: "网格",
|
||
guides: "参考线",
|
||
snap: "对齐",
|
||
panels: "面板",
|
||
},
|
||
},
|
||
menuBar: {
|
||
backTitle: "返回 SnapOtter",
|
||
},
|
||
welcome: {
|
||
ariaLabel: "图片拖放区域",
|
||
heading: "图片编辑器",
|
||
dropDescription: "拖放图片到此处开始编辑",
|
||
openImageButton: "打开图片",
|
||
newDocumentButton: "新建文档",
|
||
pasteHint: "或从剪贴板粘贴(Ctrl+V)",
|
||
},
|
||
mobile: {
|
||
heading: "建议使用桌面设备",
|
||
description: "图片编辑器在桌面屏幕上效果最佳。请切换到更大显示屏的设备以获得完整的编辑体验。",
|
||
},
|
||
errors: {
|
||
serverDecodeFailed: "服务器解码失败",
|
||
},
|
||
shapes: {
|
||
shape: "形状",
|
||
fill: "填充",
|
||
stroke: "描边",
|
||
strokeWidth: "宽度",
|
||
cornerRadius: "圆角",
|
||
sides: "边数",
|
||
points: "角数",
|
||
dashStyle: "线型",
|
||
solid: "实线",
|
||
dashed: "虚线",
|
||
dotted: "点线",
|
||
none: "无",
|
||
opacity: "不透明度",
|
||
rectangle: "矩形",
|
||
ellipse: "椭圆",
|
||
line: "直线",
|
||
arrow: "箭头",
|
||
polygon: "多边形",
|
||
star: "星形",
|
||
},
|
||
},
|
||
settings: {
|
||
heading: "设置",
|
||
nav: {
|
||
general: "通用",
|
||
systemSettings: "系统设置",
|
||
security: "安全",
|
||
people: "成员",
|
||
teams: "团队",
|
||
roles: "角色",
|
||
auditLog: "审计日志",
|
||
usage: "使用情况",
|
||
apiKeys: "API 密钥",
|
||
aiFeatures: "AI 功能",
|
||
tools: "工具",
|
||
about: "关于",
|
||
},
|
||
general: {
|
||
heading: "通用",
|
||
description: "用户偏好与显示设置。",
|
||
loading: "加载中...",
|
||
logOut: "退出登录",
|
||
defaultToolViewLabel: "默认工具视图",
|
||
defaultToolViewDescription: "首页工具的展示方式",
|
||
sidebarOption: "侧边栏",
|
||
fullscreenGridOption: "全屏网格",
|
||
appVersionLabel: "应用版本",
|
||
appVersionDescription: "SnapOtter 当前版本",
|
||
saveButton: "保存设置",
|
||
saveSuccess: "设置已保存。",
|
||
saveFailed: "保存设置失败。",
|
||
},
|
||
system: {
|
||
heading: "系统设置",
|
||
description: "服务器端配置和限制。",
|
||
fileUploadLimitLabel: "文件上传限制(MB)",
|
||
fileUploadLimitDescription: "每次上传的最大文件大小",
|
||
defaultThemeLabel: "默认主题",
|
||
defaultThemeDescription: "新会话应用的主题",
|
||
lightOption: "浅色",
|
||
darkOption: "深色",
|
||
systemOption: "跟随系统",
|
||
languageLabel: "语言",
|
||
languageDescription: "界面语言",
|
||
loginAttemptLimitLabel: "登录尝试限制",
|
||
loginAttemptLimitDescription: "每分钟最大登录失败次数,超过后锁定",
|
||
fileManagementHeading: "文件管理",
|
||
maxFileAgeLabel: "文件最大保留时间(小时)",
|
||
maxFileAgeDescription: "处理后的文件在自动清理前保留的时间",
|
||
startupCleanupLabel: "启动时清理",
|
||
startupCleanupDescription: "服务器启动时清理旧的临时文件",
|
||
saveButton: "保存设置",
|
||
saveSuccess: "设置已保存。",
|
||
saveFailed: "保存设置失败。",
|
||
limitsAndResources: "限制与资源",
|
||
maxFileSize: "最大文件大小",
|
||
maxBatchSize: "最大批量大小",
|
||
concurrentJobs: "并发任务数",
|
||
workerThreads: "工作线程数",
|
||
maxPipelineSteps: "最大 Pipeline 步骤数",
|
||
processingTimeout: "处理超时",
|
||
rateLimitPerMin: "速率限制(请求/分钟)",
|
||
unlimited: "无限制",
|
||
auto: "自动",
|
||
envOverride: "由环境变量设定",
|
||
maxCanvasPixels: "最大画布像素数",
|
||
maxSvgSize: "最大 SVG 大小",
|
||
maxSplitGrid: "最大分割网格",
|
||
maxPdfPages: "最大 PDF 页数",
|
||
sessionDuration: "会话持续时间",
|
||
supportBundleButton: "下载支持包",
|
||
supportBundleDescription: "下载包含脱敏配置、日志和任务数据的诊断压缩包,用于故障排查。",
|
||
supportBundleFailed: "下载支持包失败。",
|
||
},
|
||
privacy: {
|
||
title: "隐私",
|
||
description:
|
||
"匿名产品分析有助于改进 SnapOtter。该功能默认开启,并由管理员为整个实例统一设置。",
|
||
analyticsLabel: "匿名产品分析",
|
||
analyticsDescription:
|
||
"共享匿名使用数据(运行了哪些工具、时长、错误代码)和崩溃报告。不含 IP 地址,不含账户身份。我们绝不收集您的文件名、文件内容、OCR 输出、图像元数据或文档文本。关闭此项即可停止所有这些收集。",
|
||
},
|
||
security: {
|
||
heading: "安全",
|
||
description: "密码和认证设置。",
|
||
changePasswordHeading: "修改密码",
|
||
currentPasswordPlaceholder: "当前密码",
|
||
newPasswordPlaceholder: "新密码",
|
||
confirmPasswordPlaceholder: "确认新密码",
|
||
passwordsMismatch: "两次密码输入不一致",
|
||
passwordTooShort: "密码长度至少为 4 个字符",
|
||
changeSuccess: "密码修改成功",
|
||
changeFailed: "密码修改失败",
|
||
currentPasswordIncorrect: "当前密码不正确",
|
||
changePasswordButton: "修改密码",
|
||
loginAttemptLimitNote: "登录尝试限制可在系统设置中配置。",
|
||
twoFactorHeading: "双重身份验证",
|
||
twoFactorDescription: "使用身份验证器应用为您的账户添加额外一层安全保护。",
|
||
twoFactorEnabledStatus: "双重身份验证已启用。",
|
||
twoFactorDisabledStatus: "双重身份验证尚未启用。",
|
||
enableTwoFactorButton: "启用双重身份验证",
|
||
disableTwoFactorButton: "禁用双重身份验证",
|
||
twoFactorScanQr:
|
||
"使用您的身份验证器应用(如 Google Authenticator、Authy 或 1Password)扫描此二维码。",
|
||
twoFactorManualEntry: "无法扫描二维码?请手动输入此密钥:",
|
||
twoFactorRecoveryCodesHeading: "恢复代码",
|
||
twoFactorRecoveryCodesDescription:
|
||
"请将这些代码妥善保存。如果您无法访问身份验证器应用,每个代码均可用于登录一次。",
|
||
twoFactorCopyRecoveryCodes: "复制代码",
|
||
twoFactorCodesCopied: "已复制",
|
||
twoFactorCopyFailed: "无法自动复制。请选择上方的代码并手动复制。",
|
||
twoFactorEnterCode: "输入应用中的 6 位数验证码以确认设置。",
|
||
twoFactorCodePlaceholder: "000000",
|
||
twoFactorConfirmButton: "确认并启用",
|
||
twoFactorCancelButton: "取消",
|
||
twoFactorEnableSuccess: "双重身份验证现已启用。",
|
||
twoFactorDisableSuccess: "双重身份验证已禁用。",
|
||
twoFactorDisablePrompt: "输入您当前的身份验证器验证码以禁用双重身份验证。",
|
||
adminHeading: "管理员安全设置",
|
||
adminDescription: "企业安全策略设置。适用于所有用户。",
|
||
sessionIdleTimeout: "会话空闲超时(分钟)",
|
||
sessionIdleTimeoutDesc: "自动注销空闲会话。0 = 禁用。",
|
||
maxSessionsPerUser: "每用户最大会话数",
|
||
maxSessionsPerUserDesc: "限制每用户的并发会话数。0 = 无限制。",
|
||
mfaPolicy: "MFA 策略",
|
||
mfaPolicyDesc: "要求用户使用多因素认证。",
|
||
mfaPolicyOptional: "可选",
|
||
mfaPolicyAdminsOnly: "仅管理员必须",
|
||
mfaPolicyRequired: "所有用户必须",
|
||
ssoEnforcement: "SSO 强制登录",
|
||
ssoEnforcementDesc: "要求所有非紧急访问用户使用 SSO 登录。",
|
||
ssoBreakGlassUsername: "紧急访问管理员用户名",
|
||
ssoBreakGlassUsernameDesc: "强制 SSO 时,此管理员仍可使用本地凭据登录。",
|
||
passwordMinLength: "最小密码长度",
|
||
passwordMinLengthDesc: "密码所需的最少字符数。",
|
||
passwordRequireUppercase: "要求大写字母",
|
||
passwordRequireUppercaseDesc: "要求至少包含一个大写字母。",
|
||
passwordRequireNumber: "要求数字",
|
||
passwordRequireNumberDesc: "要求至少包含一个数字。",
|
||
passwordRequireSpecial: "要求特殊字符",
|
||
passwordRequireSpecialDesc: "要求至少包含一个特殊字符。",
|
||
passwordPolicyHeading: "密码策略",
|
||
securitySettingsSaved: "安全设置已保存",
|
||
securitySettingsFailed: "保存安全设置失败",
|
||
},
|
||
people: {
|
||
heading: "成员",
|
||
description: "管理工作区成员及其权限",
|
||
userCount: "{count} 个用户",
|
||
userCountPlural: "{count} 个用户",
|
||
searchPlaceholder: "搜索成员...",
|
||
addMembersButton: "添加成员",
|
||
newMemberHeading: "新成员",
|
||
usernamePlaceholder: "用户名",
|
||
passwordPlaceholder: "密码",
|
||
roleUserOption: "用户",
|
||
roleEditorOption: "编辑者",
|
||
roleAdminOption: "管理员",
|
||
roleUserDescription: "基本工具访问",
|
||
roleEditorDescription: "所有文件和 Pipeline",
|
||
roleAdminDescription: "完全访问",
|
||
noDescription: "无描述",
|
||
defaultTeamOption: "默认",
|
||
createButton: "创建",
|
||
cancelButton: "取消",
|
||
createSuccess: "用户创建成功",
|
||
createFailed: "用户创建失败",
|
||
userLimitReached: "已达到用户上限(最多 {max})",
|
||
deleteConfirm: "删除用户「{username}」?此操作无法撤销。",
|
||
deleteSuccess: "用户「{username}」已删除",
|
||
deleteFailed: "用户删除失败",
|
||
editHeading: "编辑 {username}",
|
||
updateSuccess: "用户已更新",
|
||
updateFailed: "用户更新失败",
|
||
cannotRemoveOwnAdmin: "无法移除自己的管理员角色",
|
||
resetPasswordHeading: "重置 {username} 的密码",
|
||
newPasswordLabel: "新密码(至少 8 个字符)",
|
||
resetPasswordButton: "重置密码",
|
||
resetPasswordWarning: "此操作将使该用户的所有会话和 API 密钥失效。",
|
||
resetSuccess: "密码重置成功",
|
||
resetFailed: "密码重置失败",
|
||
tableHeaderUser: "用户",
|
||
tableHeaderRole: "角色",
|
||
tableHeaderTeam: "团队",
|
||
noSearchResults: "没有匹配的成员。",
|
||
noUsersFound: "未找到用户。",
|
||
authBadgeLocalOidc: "本地 + OIDC",
|
||
authBadgeOidc: "OIDC",
|
||
editRoleTeamAction: "编辑角色 / 团队",
|
||
resetPasswordAction: "重置密码",
|
||
deleteUserAction: "删除用户",
|
||
saveButton: "保存",
|
||
copyPasswordButton: "复制密码",
|
||
passwordCopied: "已复制!",
|
||
copyPasswordWarning: "请立即复制此密码。创建用户后将无法再次查看。",
|
||
},
|
||
teams: {
|
||
heading: "团队",
|
||
description: "将成员组织到团队中以便管理。",
|
||
createButton: "创建新团队",
|
||
newTeamHeading: "新团队",
|
||
teamNamePlaceholder: "团队名称",
|
||
createSubmitButton: "创建",
|
||
cancelButton: "取消",
|
||
createSuccess: "团队创建成功",
|
||
createFailed: "团队创建失败",
|
||
duplicateTeamError: "该名称的团队已存在",
|
||
renameSuccess: "团队已重命名",
|
||
renameFailed: "团队重命名失败",
|
||
deleteConfirm: "删除团队「{name}」?成员将被取消分配。",
|
||
deleteSuccess: "团队「{name}」已删除",
|
||
deleteFailed: "团队删除失败",
|
||
cannotDeleteDefault: "无法删除默认团队或有成员的团队",
|
||
tableHeaderTeamName: "团队名称",
|
||
tableHeaderMembers: "成员",
|
||
emptyState: "未找到团队。",
|
||
renameSaveButton: "保存",
|
||
renameCancelButton: "取消",
|
||
renameAction: "重命名",
|
||
deleteAction: "删除",
|
||
totalMembers: "总成员数",
|
||
nameRequired: "团队名称为必填项",
|
||
nameTooLong: "团队名称不能超过 50 个字符",
|
||
duplicateName: "该名称的团队已存在",
|
||
teamStorageQuota: "存储配额 (MB)",
|
||
teamStorageQuotaDesc: "团队最大存储空间(MB)。留空表示无限制。",
|
||
teamRetentionHours: "保留时间(小时)",
|
||
teamRetentionHoursDesc: "此团队的处理文件保留时间。留空使用全局默认值。",
|
||
quotaSaved: "团队设置已保存",
|
||
},
|
||
roles: {
|
||
heading: "角色",
|
||
description: "管理角色及其权限。内置角色无法修改。",
|
||
createButton: "创建自定义角色",
|
||
newRoleHeading: "新角色",
|
||
roleNamePlaceholder: "角色名称",
|
||
descriptionPlaceholder: "描述(可选)",
|
||
permissionsLabel: "权限",
|
||
createSubmitButton: "创建",
|
||
cancelButton: "取消",
|
||
createSuccess: "角色创建成功",
|
||
createFailed: "角色创建失败",
|
||
duplicateRoleError: "该名称的角色已存在",
|
||
editHeading: "编辑角色:{name}",
|
||
editSaveButton: "保存",
|
||
editCancelButton: "取消",
|
||
updateSuccess: "角色已更新",
|
||
updateFailed: "角色更新失败",
|
||
deleteConfirm: "删除角色「{name}」?{count} 个用户需要重新分配角色。",
|
||
deleteConfirmSimple: "删除角色「{name}」?",
|
||
deleteSuccess: "角色「{name}」已删除",
|
||
deleteFailed: "角色删除失败",
|
||
emptyState: "未找到角色。",
|
||
builtInBadge: "内置",
|
||
userCountBadge: "{count} 个用户",
|
||
editRoleTitle: "编辑角色",
|
||
deleteRoleTitle: "删除角色",
|
||
permGroup: {
|
||
tools: "工具",
|
||
files: "文件",
|
||
apiKeys: "API 密钥",
|
||
pipelines: "流水线",
|
||
settings: "设置",
|
||
users: "用户",
|
||
teams: "团队",
|
||
system: "系统",
|
||
},
|
||
},
|
||
auditLog: {
|
||
heading: "审计日志",
|
||
allActionsFilter: "所有操作",
|
||
emptyState: "暂无审计日志记录。",
|
||
tableHeaderTime: "时间",
|
||
tableHeaderUser: "用户",
|
||
tableHeaderAction: "操作",
|
||
tableHeaderTarget: "目标",
|
||
paginationInfo: "第 {page} 页,共 {totalPages} 页({total} 条记录)",
|
||
previousButton: "上一页",
|
||
nextButton: "下一页",
|
||
justNow: "刚刚",
|
||
minutesAgo: "{mins} 分钟前",
|
||
hoursAgo: "{hrs} 小时前",
|
||
daysAgo: "{days} 天前",
|
||
},
|
||
usage: {
|
||
heading: "使用情况",
|
||
description: "来自任务和文件存储的本地使用统计。",
|
||
periodLabel: "时间段",
|
||
days7: "7 天",
|
||
days30: "30 天",
|
||
days90: "90 天",
|
||
jobsPerDayHeading: "每日任务数",
|
||
topToolsHeading: "热门工具",
|
||
perUserHeading: "用户用量",
|
||
durationsHeading: "耗时百分位",
|
||
noData: "该时段无数据。",
|
||
dayColumn: "日期",
|
||
totalColumn: "总计",
|
||
completedColumn: "已完成",
|
||
failedColumn: "失败",
|
||
toolColumn: "工具",
|
||
runsColumn: "运行次数",
|
||
userColumn: "用户",
|
||
bytesInColumn: "输入字节",
|
||
poolColumn: "队列",
|
||
p50Column: "p50",
|
||
p95Column: "p95",
|
||
storageHeading: "文件库存储",
|
||
storageFiles: "{count} 个文件",
|
||
unknownUser: "(未知)",
|
||
storageByTeam: "按团队存储",
|
||
teamColumn: "团队",
|
||
storageColumn: "存储",
|
||
usersColumn: "用户",
|
||
},
|
||
apiKeys: {
|
||
heading: "API 密钥",
|
||
description: "管理用于程序化访问 SnapOtter 的 API 密钥。",
|
||
keyNamePlaceholder: "密钥名称(可选)",
|
||
generateButton: "生成 API 密钥",
|
||
removeScopingLabel: "移除权限范围限制",
|
||
restrictPermissionsLabel: "限制权限(可选)",
|
||
expiresLabel: "过期时间:",
|
||
clearButton: "清除",
|
||
copyTitle: "复制",
|
||
keyWarning: "请妥善保管此密钥。它将不再显示。",
|
||
existingKeysHeading: "现有密钥",
|
||
createdPrefix: "创建于 {date}",
|
||
scopedPrefix: "权限范围:",
|
||
expiresPrefix: "过期于 {date}",
|
||
deleteKeyTitle: "删除密钥",
|
||
deleteConfirm: "删除此 API 密钥?使用该密钥的集成将停止工作。",
|
||
emptyState: "暂无 API 密钥。生成一个开始使用。",
|
||
},
|
||
tools: {
|
||
heading: "工具",
|
||
description: "启用或禁用单个工具。禁用的工具对所有用户隐藏。",
|
||
restartBanner: "需要重启才能使更改生效。",
|
||
searchPlaceholder: "搜索工具...",
|
||
noSearchResults: "没有匹配的工具。",
|
||
loadFailedError: "加载工具设置失败。为防止数据丢失,保存功能已禁用。",
|
||
saveButton: "保存工具设置",
|
||
disabledCount: "{count} 个工具已禁用",
|
||
},
|
||
experimental: {
|
||
label: "启用实验性工具",
|
||
description: "显示仍在开发中的工具。这些工具可能不稳定。",
|
||
},
|
||
fileManagement: {
|
||
title: "文件管理",
|
||
maxAge: "文件最大保留时间(小时)",
|
||
maxAgeDescription: "处理后的文件在自动清理前保留的时间",
|
||
startupCleanup: "启动时清理",
|
||
startupCleanupDescription: "服务器启动时清理旧的临时文件",
|
||
},
|
||
dataRetention: {
|
||
title: "数据保留",
|
||
fileMaxAgeHours: "处理文件保留时间(小时)",
|
||
fileMaxAgeHoursDesc: "上传和处理文件的保留时长。默认:72 小时。",
|
||
jobsRetentionDays: "任务记录保留时间(天)",
|
||
jobsRetentionDaysDesc: "任务元数据的保留时长。0 = 永久保留。默认:30 天。",
|
||
auditRetentionDays: "审计日志保留时间(天)",
|
||
auditRetentionDaysDesc: "审计日志条目的保留时长。0 = 永久保留。默认:永久。",
|
||
},
|
||
aiFeatures: {
|
||
title: "AI 功能",
|
||
description: "管理用于高级文件处理的 AI 模型包。",
|
||
installAll: "全部安装",
|
||
diskUsage: "磁盘使用量:{size}",
|
||
sizeOnDisk: "占用磁盘 {size}",
|
||
installed: "已安装",
|
||
notInstalled: "未安装",
|
||
queued: "排队中",
|
||
install: "安装",
|
||
repair: "修复",
|
||
uninstall: "卸载",
|
||
installing: "安装中...",
|
||
importBundle: "导入包",
|
||
importDescription: "导入已签名的 OCR 运行时或旧版 AI 包以供离线使用。",
|
||
importButton: "从文件导入",
|
||
importing: "导入中...",
|
||
importSuccess: "包导入成功。",
|
||
importError: "包导入失败:{error}",
|
||
importType: "包类型",
|
||
importOcr: "高精度 OCR 包",
|
||
importLegacy: "旧版 AI 包",
|
||
importOcrIndex: "已签名的 OCR 索引 (.json)",
|
||
importOcrArchive: "OCR 运行时归档 (.tar.gz)",
|
||
importLegacyArchive: "旧版包归档 (.tar.gz)",
|
||
resetTitle: "重置 AI 环境",
|
||
resetDescription:
|
||
"删除所有已安装的 AI 功能和已下载的模型,然后重新开始。如果更新后 AI 工具出现异常,且重新安装包也无法解决问题,请使用此功能。",
|
||
resetButton: "重置",
|
||
resetConfirmMessage:
|
||
"此操作将删除所有已安装的 AI 功能和模型,你需要从 Hugging Face 重新安装它们。此操作无法撤销。",
|
||
resetFailed: "重置失败:{error}",
|
||
},
|
||
about: {
|
||
heading: "关于",
|
||
appName: "SnapOtter",
|
||
appDescription:
|
||
"自托管、隐私优先的文件处理套件,包含 200+ 种工具。转换、压缩、编辑、转录、OCR,自动化图片、视频、音频、PDF 和文件工作流,无需将数据发送到云端。",
|
||
versionLabel: "版本:",
|
||
linksHeading: "链接",
|
||
githubLink: "GitHub 仓库",
|
||
docsLink: "文档",
|
||
apiRefLink: "API 参考(Swagger)",
|
||
licenseLabel: "许可证:",
|
||
licenseDescription: "SnapOtter 是基于 GNU Affero 通用公共许可证 v3 (AGPLv3) 的开源软件。",
|
||
},
|
||
},
|
||
auth: {
|
||
login: "登录",
|
||
logout: "退出登录",
|
||
username: "用户名",
|
||
password: "密码",
|
||
loginButton: "登录",
|
||
loggingIn: "正在登录...",
|
||
invalidCredentials: "用户名或密码错误",
|
||
connectionError: "连接错误",
|
||
signInWith: "使用 {provider} 登录",
|
||
signInWithSso: "使用 SSO 登录",
|
||
or: "或",
|
||
methodLocal: "本地",
|
||
methodOidc: "OIDC",
|
||
methodBoth: "本地 + OIDC",
|
||
oidcAuthFailed: "认证失败。请重试。",
|
||
oidcProviderUnreachable: "无法连接身份提供商。请稍后再试。",
|
||
oidcSessionExpired: "登录会话已过期。请重试。",
|
||
oidcUserNotAuthorized: "您的账号无权访问此应用。请联系管理员。",
|
||
oidcUserLimitReached: "用户数量已达上限。请联系管理员。",
|
||
oidcGenericError: "认证错误。请重试。",
|
||
samlAuthFailed: "SAML 认证失败,请重试。",
|
||
samlUserNotAuthorized: "您的账户无权访问此应用。请联系管理员。",
|
||
samlUserLimitReached: "已达用户上限。请联系管理员。",
|
||
ssoEnforcedLocalRestricted: "本地登录仅限授权管理员使用。",
|
||
mfaRequired: "请输入验证码",
|
||
mfaRecoveryHint: "也可以使用恢复码",
|
||
verify: "验证",
|
||
verifying: "验证中...",
|
||
mfaInvalidCode: "验证码无效,请重试。",
|
||
mfaEnrollmentRequired: "您的组织要求启用多因素认证。请在账户设置中设置 MFA。",
|
||
methodSaml: "SAML",
|
||
passwordManagedByProvider: "密码修改由您的身份提供商管理。",
|
||
enterUsername: "输入用户名",
|
||
enterPassword: "输入密码",
|
||
heroTitle: "您的文件,由您掌控。",
|
||
heroSubtitle: "您需要的每一种工具。",
|
||
rotatingPhrases: [
|
||
"无需注册,无需账号。",
|
||
"永不上传到云端。",
|
||
"100% 本地处理。",
|
||
"免费,永远免费。",
|
||
"无限制,无隐藏上限。",
|
||
"完全离线可用。",
|
||
"无限批量处理。",
|
||
"200+ 种工具。",
|
||
"15 个 AI 模型,在你自己的设备上运行。",
|
||
"基于 Sharp 构建,闪电般快速。",
|
||
"支持内网隔离部署。",
|
||
"一个 Docker 容器搞定一切。",
|
||
"开源,始终如一。",
|
||
"每一个像素都留在你的设备上。",
|
||
"你的服务器,你做主。",
|
||
"一行 docker pull 即可部署。",
|
||
"自托管的替代方案。",
|
||
"调整大小、压缩、转换,全部在本地完成。",
|
||
"免费图片编辑器,无水印。",
|
||
"批量文件处理,无限制。",
|
||
"离线移除背景。",
|
||
"自托管的 Canva 替代品。",
|
||
"无需 API 密钥。",
|
||
"从设计上符合 GDPR。",
|
||
"无需互联网即可使用。",
|
||
],
|
||
},
|
||
changePassword: {
|
||
title: "修改密码",
|
||
description: "继续之前需要设置新密码。密码至少 8 个字符,需包含大小写字母和数字。",
|
||
usernameLabel: "用户名",
|
||
currentPasswordLabel: "当前密码",
|
||
currentPasswordPlaceholder: "输入当前密码",
|
||
newPasswordLabel: "新密码",
|
||
generateButton: "生成强密码",
|
||
newPasswordPlaceholder: "至少 8 个字符",
|
||
confirmPasswordLabel: "确认新密码",
|
||
confirmPasswordPlaceholder: "再次输入新密码",
|
||
passwordsMismatch: "两次密码输入不一致",
|
||
failedError: "密码修改失败",
|
||
connectionError: "连接错误",
|
||
changingButton: "正在修改...",
|
||
changeButton: "修改密码",
|
||
sidebarTitle: "快要完成了",
|
||
sidebarDescription: "设置一个强密码来保护您的账号,然后就可以开始使用了。",
|
||
},
|
||
automate: {
|
||
title: "自动化",
|
||
invalidPipelineFile: "不是有效的 SnapOtter Pipeline 文件",
|
||
newerVersion: "此 Pipeline 由更新版本的 SnapOtter 创建",
|
||
missingName: "Pipeline 文件缺少名称",
|
||
noSteps: "Pipeline 文件没有步骤",
|
||
importFailed: "导入失败",
|
||
couldNotRead: "无法读取 Pipeline 文件",
|
||
fileCount: "{count} 个文件",
|
||
fileCountPlural: "{count} 个文件",
|
||
importFromLibrary: "从库中导入",
|
||
addButton: "+ 添加",
|
||
libraryButton: "库",
|
||
clearButton: "清除",
|
||
processingFailed: "此文件处理失败",
|
||
processingMultiple: "正在处理 {count} 个文件...",
|
||
processingPipeline: "正在处理 Pipeline...",
|
||
processButton: "处理",
|
||
processButtonMultiple: "处理({count})",
|
||
processAllButton: "全部处理({count})",
|
||
addTool: "添加工具",
|
||
toolPalette: "工具面板",
|
||
clickToAdd: "点击添加到 Pipeline",
|
||
savedLabel: "已保存",
|
||
templatesLabel: "模板",
|
||
importButton: "导入",
|
||
noSavedPipelines: "暂无已保存的 Pipeline",
|
||
stepCount: "({count} 个步骤)",
|
||
stepCountPlural: "({count} 个步骤)",
|
||
exportPipeline: "导出 Pipeline",
|
||
deletePipeline: "删除 Pipeline",
|
||
moreCount: "还有 {count} 项",
|
||
pipelineBuilder: "Pipeline 构建器",
|
||
addToolsPrompt: "从工具面板添加工具开始",
|
||
stepsConfigured: "已配置 {count} 个步骤",
|
||
stepsConfiguredPlural: "已配置 {count} 个步骤",
|
||
noFilesLoaded: "未加载文件",
|
||
downloadZip: "下载 ZIP",
|
||
saveButton: "保存",
|
||
pipelineNamePlaceholder: "Pipeline 名称",
|
||
descriptionPlaceholder: "描述",
|
||
savingIndicator: "...",
|
||
cancelButton: "取消",
|
||
preview: "预览",
|
||
previousImage: "上一个文件",
|
||
nextImage: "下一个文件",
|
||
imageCounter: "{current} / {total}",
|
||
imageArea: "预览区域",
|
||
templateSocialMedia: "社交媒体适配",
|
||
templatePrivacyClean: "隐私清理",
|
||
templateWebOptimization: "网页优化",
|
||
templateProfilePicture: "头像制作",
|
||
templateWatermarkBatch: "批量水印",
|
||
createNew: "创建新自动化",
|
||
savedAutomations: "已保存的自动化",
|
||
templates: "模板",
|
||
addStep: "添加步骤",
|
||
removeStep: "移除",
|
||
moveUp: "上移",
|
||
moveDown: "下移",
|
||
savePipeline: "保存 Pipeline",
|
||
runPipeline: "处理",
|
||
pipelineName: "Pipeline 名称",
|
||
pipelineDescription: "描述(可选)",
|
||
noStepsPrompt: "添加步骤来构建自动化流程",
|
||
noStepsHeading: "暂无步骤",
|
||
searchToolsPlaceholder: "搜索工具...",
|
||
step: "步骤",
|
||
modalityWarning: "模态不匹配",
|
||
modalityWarningTooltip: "此步骤需要 {expected},但接收到 {received};运行管道时可能会失败。",
|
||
},
|
||
nav: {
|
||
tools: "工具",
|
||
reader: "阅读器",
|
||
automate: "自动化",
|
||
editor: "编辑器",
|
||
files: "文件",
|
||
help: "帮助",
|
||
settings: "设置",
|
||
grid: "网格",
|
||
},
|
||
files: {
|
||
myFiles: "我的文件",
|
||
recentTab: "最近",
|
||
uploadTab: "上传文件",
|
||
fileDetailsAriaLabel: "文件详情",
|
||
fileDetailsHeading: "文件详情",
|
||
searchPlaceholder: "搜索文件...",
|
||
selectedCount: "已选择 {count} 个",
|
||
fileCount: "{count} 个文件",
|
||
fileCountSingular: "{count} 个文件",
|
||
noFilesFound: "未找到文件",
|
||
selectFilePrompt: "选择文件查看详情",
|
||
openFile: "打开文件",
|
||
selectFile: "选择文件",
|
||
openInPipeline: "在流水线中打开",
|
||
dropFilesHere: "将文件拖放到此处",
|
||
orClickToSelect: "或点击选择文件",
|
||
name: "名称",
|
||
format: "格式",
|
||
size: "大小",
|
||
dimensions: "尺寸",
|
||
version: "版本",
|
||
toolsUsed: "使用的工具",
|
||
none: "无",
|
||
delete: "删除",
|
||
pipeline: "流水线",
|
||
download: "下载",
|
||
},
|
||
dropzone: {
|
||
unsupportedFileType: "此工具不支持该文件类型",
|
||
urlFetchFailed: "无法从 URL 获取图片",
|
||
ariaLabel: "文件拖放区域",
|
||
dropPrompt: "将图片拖放到此处",
|
||
browseOrPaste: "使用上传按钮,或从剪贴板粘贴",
|
||
uploadButton: "上传",
|
||
defaultFormats: "图片、视频、音频、PDF、文件及 150+ 种格式",
|
||
orSeparator: "或",
|
||
urlPlaceholder: "粘贴图片 URL...",
|
||
urlLoadingIndicator: "...",
|
||
addUrlButton: "添加",
|
||
importMultipleUrls: "导入多个 URL...",
|
||
filesSelected: "已选择 {count} 个文件",
|
||
dropToAdd: "放下以添加文件",
|
||
dropToReplace: "放下以替换文件",
|
||
},
|
||
reviewPanel: {
|
||
processedResultAlt: "处理结果",
|
||
sizeLabel: "大小:{size}",
|
||
typeLabel: "类型:{type}",
|
||
processedLabel: "处理时间:{time}",
|
||
undoButton: "撤销",
|
||
downloadButton: "下载",
|
||
openInEditor: "在编辑器中打开",
|
||
reviewHeading: "审查",
|
||
continueEditing: "继续编辑",
|
||
},
|
||
features: {
|
||
notEnabledTitle: "功能未启用",
|
||
notEnabledDescription: "此功能未启用。请让管理员在设置中启用。",
|
||
requiresDownload: "此功能需要额外下载(约 {size})",
|
||
retryButton: "重试",
|
||
queued: "已加入安装队列...",
|
||
enableButton: "启用 {name}",
|
||
repairRequired: "需要修复",
|
||
repairDescription: "部分模型文件缺失或损坏。修复将重新下载这些文件。",
|
||
repairButton: "修复 {name}",
|
||
lessThanMinute: "不到一分钟",
|
||
oneMinuteLeft: "约 1 分钟",
|
||
minutesLeft: "约 {mins} 分钟",
|
||
progressMessages: [
|
||
"快好了... 大概吧...",
|
||
"好东西需要等一等...",
|
||
"总比看油漆变干快...",
|
||
"您的耐心令人钦佩...",
|
||
"比看起来忙碌得多...",
|
||
"这是最精彩的部分,相信我...",
|
||
"正在做一些重要的幕后工作...",
|
||
"如果你看到这条,说明一切正常...",
|
||
"正在准备一些很棒的东西...",
|
||
"等待是值得的,拉勾保证...",
|
||
"悬念也是体验的一部分...",
|
||
"正在教你的电脑学新本事...",
|
||
"正在为你配置超能力...",
|
||
"你的文件以后会感谢你的...",
|
||
"加载中... 但要加点仪式感...",
|
||
"现在正适合去泡杯咖啡...",
|
||
"罗马也不是一天建成的...",
|
||
"嘘... 天才正在工作...",
|
||
"让你的项目提前嫉妒一下...",
|
||
"正在集结梦之队...",
|
||
"正在拆箱精彩内容...",
|
||
"差不多要开始想要不要开始了... 开玩笑的...",
|
||
"反转来了:这真的在干活...",
|
||
"正在预热创意引擎...",
|
||
"想象力加载中...",
|
||
"这不是屏保,我们保证...",
|
||
"伟大的艺术安装需要时间...",
|
||
"未来的你会感谢现在的自己...",
|
||
"正在获取一些非常聪明的文件...",
|
||
"稍安勿躁,精彩即将到来...",
|
||
],
|
||
},
|
||
help: {
|
||
heading: "帮助",
|
||
gettingStarted: {
|
||
heading: "快速入门",
|
||
description: "从侧边栏选择工具或搜索。将文件拖到页面上或点击上传区域。调整设置后下载结果。",
|
||
},
|
||
keyboardShortcuts: {
|
||
heading: "键盘快捷键",
|
||
focusSearchBar: "聚焦搜索栏",
|
||
goToTools: "前往工具",
|
||
toggleTheme: "切换主题",
|
||
goToResize: "前往调整大小",
|
||
goToCrop: "前往裁剪",
|
||
goToCompress: "前往压缩",
|
||
goToConvert: "前往转换",
|
||
goToRemoveBackground: "前往移除背景",
|
||
goToWatermarkText: "前往文字水印",
|
||
goToStripMetadata: "前往移除元数据",
|
||
goToImageInfo: "前往图片信息",
|
||
processFile: "处理文件",
|
||
downloadResult: "下载结果",
|
||
},
|
||
resources: {
|
||
heading: "资源",
|
||
githubLink: "GitHub 仓库",
|
||
reportIssueLink: "报告问题",
|
||
docsLink: "文档",
|
||
apiRefLink: "API 参考(Swagger)",
|
||
},
|
||
versionLabel: "SnapOtter v{version}",
|
||
},
|
||
errors: {
|
||
generic: "发生错误",
|
||
offline: "您已离线",
|
||
reconnecting: "正在重新连接服务器...",
|
||
connected: "已连接",
|
||
processingFailed: "此文件处理失败",
|
||
timeout: "请求超时。服务器可能过载。请重试。",
|
||
networkError: "网络错误。请检查您的连接。",
|
||
invalidCredentials: "用户名或密码错误",
|
||
connectionError: "连接错误",
|
||
},
|
||
sidebar: {
|
||
sponsor: "支持我们",
|
||
tools: "工具",
|
||
grid: "网格",
|
||
automate: "自动化",
|
||
editor: "编辑器",
|
||
files: "文件",
|
||
help: "帮助",
|
||
settings: "设置",
|
||
},
|
||
toolCard: {
|
||
pin: "固定",
|
||
unpin: "取消固定",
|
||
},
|
||
appLayout: {
|
||
mobileNavTools: "工具",
|
||
mobileNavAutomate: "自动化",
|
||
mobileNavEditor: "编辑器",
|
||
mobileNavFiles: "文件",
|
||
mobileNavSettings: "设置",
|
||
},
|
||
a11y: {
|
||
sponsorLink: "在 GitHub Sponsors 上支持 SnapOtter",
|
||
skipToContent: "跳到主要内容",
|
||
openSidebar: "打开侧边栏",
|
||
closeSidebar: "关闭侧边栏",
|
||
closeSettings: "关闭设置",
|
||
closeHelp: "关闭帮助",
|
||
closeDialog: "关闭对话框",
|
||
zoomIn: "放大",
|
||
zoomOut: "缩小",
|
||
fitToView: "适应视图",
|
||
actualSize: "实际大小",
|
||
pan: "平移",
|
||
previousImage: "上一个文件",
|
||
nextImage: "下一个文件",
|
||
imageArea: "预览区域",
|
||
imageViewer: "文件查看器",
|
||
fileDropZone: "文件拖放区域",
|
||
imageDropZone: "文件拖放区域",
|
||
beforeAfterSlider: "前后对比滑块",
|
||
imageControls: "预览控件",
|
||
zoomControls: "缩放控件",
|
||
dragToReorder: "拖动以重新排序",
|
||
whiteBackground: "白色背景",
|
||
blackBackground: "黑色背景",
|
||
expandPanel: "展开面板",
|
||
collapsePanel: "折叠面板",
|
||
swapDimensions: "交换尺寸",
|
||
applyCrop: "应用裁剪",
|
||
cancelCrop: "取消裁剪",
|
||
fontFamily: "字体",
|
||
textColor: "文字颜色",
|
||
flipHorizontal: "水平翻转",
|
||
flipVertical: "垂直翻转",
|
||
hexColorValue: "HEX 颜色值",
|
||
backgroundColor: "背景颜色",
|
||
foregroundColor: "前景颜色",
|
||
swapColors: "交换前景和背景颜色",
|
||
resetColors: "重置为默认黑白",
|
||
foregroundHex: "前景颜色 HEX 值",
|
||
undo: "撤销",
|
||
redo: "重做",
|
||
layers: "图层",
|
||
addLayer: "添加图层",
|
||
deleteLayer: "删除图层",
|
||
cancelOperation: "取消操作",
|
||
fill: "填充",
|
||
fileDetails: "文件详情",
|
||
language: "语言",
|
||
selected: "已选择",
|
||
deleteKey: "删除密钥",
|
||
editRole: "编辑角色",
|
||
deleteRole: "删除角色",
|
||
notInstalled: "未安装",
|
||
queued: "排队安装中",
|
||
installing: "安装中",
|
||
imageNOfTotal: "图片 {n}/{total}",
|
||
processingComplete: "图片处理成功",
|
||
processingFailed: "处理失败",
|
||
settingsDialog: "设置",
|
||
helpDialog: "帮助",
|
||
navigationMenu: "导航",
|
||
homeLink: "SnapOtter 首页",
|
||
},
|
||
pipelineTemplates: {
|
||
"web-optimize": {
|
||
name: "网页优化",
|
||
description: "调整尺寸、转换为 WebP 并压缩图片,以便在网页上快速加载。",
|
||
},
|
||
"email-friendly": {
|
||
name: "适合邮件",
|
||
description: "将图片缩小到足够小,以便附加到电子邮件中。",
|
||
},
|
||
"privacy-scrub": {
|
||
name: "隐私清理",
|
||
description: "去除 EXIF、GPS 和其他元数据,然后压缩。",
|
||
},
|
||
"social-square": {
|
||
name: "社交方图",
|
||
description: "裁剪为 1:1 方形并压缩,用于社交媒体帖子。",
|
||
},
|
||
"watermark-batch": {
|
||
name: "批量水印",
|
||
description: "在图片上加盖文字水印,然后压缩。",
|
||
},
|
||
"shrink-pdf-email": {
|
||
name: "为邮件缩小 PDF",
|
||
description: "拼合并大力压缩 PDF,使其符合邮件大小限制。",
|
||
},
|
||
"podcast-polish": {
|
||
name: "播客润色",
|
||
description: "去除静音、统一响度,并为录音添加淡入淡出。",
|
||
},
|
||
"cut-out-subject": {
|
||
name: "抠出主体",
|
||
description: "用 AI 去除背景,并压缩透明的抠图。",
|
||
},
|
||
"restore-old-photo": {
|
||
name: "修复老照片",
|
||
description: "用 AI 修复、上色并放大老旧或受损的照片。",
|
||
},
|
||
},
|
||
} as const;
|
||
|
||
export default zhCN;
|