Files
SnapOtter/packages/shared/src/i18n/zh-CN.ts
T
SnapOtterandGitHub 1bac663a2e feat(erase-object): optional high-quality diffusion inpainting bundle (#566)
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
2026-07-19 20:47:35 +08:00

3820 lines
134 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;