import type { TranslationKeys } from "./en.js"; export const zhCN: TranslationKeys = { common: { upload: "从电脑上传", process: "处理", download: "下载", cancel: "取消", save: "保存", delete: "删除", settings: "设置", search: "搜索工具...", dropFiles: "拖放文件到此处或点击上传按钮", loading: "加载中...", 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: "Page not found", pageNotFoundDescription: "The page you are looking for does not exist or has been moved.", }, categories: { essentials: "基础工具", optimization: "优化", adjustments: "调整", watermark: "水印与叠加", utilities: "实用工具", layout: "布局与排版", format: "格式与转换", ai: "AI 工具", }, tools: { 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 高精度图片文字识别", }, "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: "自动人脸检测,生成符合各国规格的护照、签证和证件照", }, "transparency-fixer": { name: "PNG 透明度修复", description: "一键修复伪透明 PNG 图片", }, "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 to Image", description: "Capture webpages as high-quality images", }, "barcode-read": { name: "条码识别", description: "扫描图片中的 QR 码、条形码和二维码", }, collage: { name: "拼贴 / 网格", description: "使用 25+ 模板将图片拼成精美网格拼贴", }, stitch: { name: "拼接 / 合并", description: "将图片横向、纵向或网格排列拼接", }, split: { name: "图片分割", description: "按网格或像素大小分割图片,支持实时预览", }, border: { name: "边框与相框", description: "添加边框、内边距、圆角和阴影,支持一键预设", }, beautify: { 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 等", }, pipeline: { name: "Pipeline 构建器", description: "将多个工具串联为工作流" }, }, toolSettings: { compress: { compressionMode: "压缩模式", targetSize: "目标大小", quality: "质量", smallestFile: "最小文件", bestQuality: "最佳质量", submit: "压缩", submitBatch: "压缩({count} 个文件)", progressLabel: "压缩中", original: "原始:{size} KB", processed: "处理后:{size} KB", saved: "节省:{percent}%", }, resize: { customSize: "自定义大小", scale: "缩放", presets: "预设", contentAware: "内容感知", 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: "已发现位置信息", 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: "Output Format", edgeSmoothing: "Edge Smoothing", edgeSmoothingOff: "Off", edgeSmoothingLight: "Light", edgeSmoothingMedium: "Medium", edgeSmoothingStrong: "Strong", colorDecontamination: "Color Decontamination", rendering: "渲染中...", submit: "移除背景", submitBatch: "移除背景({count} 个文件)", progressLabel: "正在移除背景", }, upscale: { scaleFactor: "放大倍数", quality: "质量", enhanceFaces: "增强人脸", noiseReduction: "降噪", noiseReductionHint: "平滑颗粒和噪点。数值越高去噪越强,但可能会模糊细节。", outputFormat: "输出格式", submit: "放大 {scale}x", submitBatch: "放大 {scale}x({count} 个文件)", progressLabel: "正在放大图片", progressLabelBatch: "正在放大 {count} 张图片", }, "erase-object": { brushSize: "画笔大小", fine: "细", wide: "粗", undo: "撤销", clear: "清除", outputFormat: "输出格式", quality: "质量", paintHint: "涂抹要移除的物体。按 Ctrl+Z 撤销。", submit: "擦除物体", submitBatch: "全部擦除({count})", progressLabel: "正在擦除物体", }, ocr: { quality: "质量", enhanceBeforeScanning: "扫描前增强", enhanceHint: "扫描前自动校正倾斜、增强对比度、去除噪点并放大图片,以提高识别精度。", language: "语言", autoDetect: "自动检测", extractedText: "提取的文字", noTextDetected: "此图片未检测到文字", characters: "{count} 个字符", submit: "提取文字", submitBatch: "提取文字({count} 个文件)", progressLabel: "正在提取文字", }, "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: "照片已生成。从左侧面板下载。", }, "transparency-fixer": { description: "上传一张伪透明 PNG 图片,一键修复透明背景。", removeWatermark: "移除水印", removeWatermarkHelp: "检测并移除半透明水印", requiresEraser: "需要「物体擦除」功能包", advanced: "高级", defringe: "去边", outputFormat: "输出格式", 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: "Download", defaultText: "Your Text Here", }, 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: "Read Info", reading: "Reading...", channelStats: "Channel Stats", yes: "Yes", no: "No", na: "N/A", failedToRead: "Failed to read info", }, 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: "URL", text: "文本", wifi: "WiFi", vcard: "vCard", email: "邮箱", phone: "电话", sms: "短信", styling: "样式", dotStyle: "点样式", cornerSquareStyle: "角方块样式", cornerDotStyle: "角点样式", foregroundColor: "前景色", bgColor: "背景色", logo: "Logo", downloadFormat: "下载格式", submit: "生成 QR 码", download: "下载 QR 码", }, "html-to-image": { modeUrl: "URL", modeHtml: "HTML File", htmlFile: "HTML File", url: "URL", urlPlaceholder: "https://snapotter.com", format: "Output Format", quality: "Quality", devicePreset: "Device", viewportWidth: "Width", viewportHeight: "Height", fullPage: "Full Page", submit: "Capture", download: "Download Screenshot", capturing: "Capturing webpage...", errorTimeout: "Page took too long to load", errorBlocked: "This URL cannot be captured", errorUnavailable: "Screenshot service is not available", errorFailed: "Failed to capture the page", placeholder: "Enter a URL and click Capture", presets: { desktop: "Desktop", tablet: "Tablet", mobile: "Mobile", custom: "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: "正在美化截图", }, "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: "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: "复制 标签", copyCssUrl: "复制 CSS url()", }, "enhance-faces-standalone": { model: "模型", fast: "快速", balanced: "均衡", best: "极致", }, }, 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: "图片区域", }, homePage: { generatingPreview: "正在生成预览...", loadingPreview: "正在加载预览...", changeFile: "更换文件", quickActions: "快捷操作", allTools: "所有工具", }, 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: "Shape", fill: "Fill", stroke: "Stroke", strokeWidth: "Width", cornerRadius: "Radius", sides: "Sides", points: "Points", dashStyle: "Dash", solid: "Solid", dashed: "Dashed", dotted: "Dotted", none: "None", opacity: "Opacity", rectangle: "Rectangle", ellipse: "Ellipse", line: "Line", arrow: "Arrow", polygon: "Polygon", star: "Star", }, }, settings: { heading: "设置", nav: { general: "通用", systemSettings: "系统设置", security: "安全", people: "成员", teams: "团队", roles: "角色", auditLog: "审计日志", apiKeys: "API 密钥", aiFeatures: "AI 功能", tools: "工具", productAnalytics: "产品分析", 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: "会话持续时间", }, security: { heading: "安全", description: "密码和认证设置。", changePasswordHeading: "修改密码", currentPasswordPlaceholder: "当前密码", newPasswordPlaceholder: "新密码", confirmPasswordPlaceholder: "确认新密码", passwordsMismatch: "两次密码输入不一致", passwordTooShort: "密码长度至少为 4 个字符", changeSuccess: "密码修改成功", changeFailed: "密码修改失败", currentPasswordIncorrect: "当前密码不正确", changePasswordButton: "修改密码", loginAttemptLimitNote: "登录尝试限制可在系统设置中配置。", }, 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: "该名称的团队已存在", }, 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: "Pipeline", 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} 天前", }, 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: "服务器启动时清理旧的临时文件", }, analytics: { heading: "产品分析", description: "分享匿名使用数据,帮助改进 SnapOtter。", privacyNote: "您的图片永远不会离开您的机器。", disabledByAdmin: "产品分析已被服务器管理员禁用。", enabledLabel: "分析已启用", disabledLabel: "分析已禁用", learnMore: "了解更多", }, aiFeatures: { title: "AI Features", description: "Manage AI model bundles for advanced image processing.", installAll: "Install All", diskUsage: "Disk usage:", installed: "Installed", notInstalled: "Not installed", queued: "Queued", install: "Install", repair: "Repair", uninstall: "Uninstall", installing: "Installing...", }, about: { heading: "关于", appName: "SnapOtter", appDescription: "自托管、隐私优先的图片处理套件,包含 53 种工具。调整大小、压缩、转换、加水印,自动化您的图片工作流,无需将数据发送到云端。", versionLabel: "版本:", linksHeading: "链接", githubLink: "GitHub 仓库", docsLink: "文档", apiRefLink: "API 参考(Swagger)", licenseLabel: "License:", licenseDescription: "SnapOtter is open-source software licensed under the GNU Affero General Public License 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: "认证错误。请重试。", passwordManagedByProvider: "密码修改由您的身份提供商管理。", enterUsername: "输入用户名", enterPassword: "输入密码", heroTitle: "您的图片,由您掌控。", heroSubtitle: "您需要的每一种图片工具。", rotatingPhrases: [ "无需注册,无需账号。", "永不上传到云端。", "100% 本地处理。", "免费,永远免费。", "无限制,无隐藏上限。", "完全离线可用。", "无限批量处理。", "53 种图片工具。", "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: "已保存", 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: "No steps yet", searchToolsPlaceholder: "Search tools...", step: "步骤", }, nav: { tools: "工具", reader: "阅读器", automate: "自动化", editor: "编辑器", files: "文件", help: "帮助", settings: "设置", grid: "网格", }, files: { myFiles: "My Files", recentTab: "Recent", uploadTab: "Upload Files", fileDetailsAriaLabel: "File Details", fileDetailsHeading: "File Details", searchPlaceholder: "Search files...", selectedCount: "{count} selected", fileCount: "{count} files", fileCountSingular: "{count} file", noFilesFound: "No files found", selectFilePrompt: "Select a file to view details", openFile: "Open File", openInPipeline: "Open in Pipeline", name: "Name", format: "Format", size: "Size", dimensions: "Dimensions", version: "Version", toolsUsed: "Tools Used", none: "None", delete: "Delete", pipeline: "Pipeline", download: "Download", }, dropzone: { unsupportedFileType: "此工具不支持该文件类型", urlFetchFailed: "无法从 URL 获取图片", ariaLabel: "文件拖放区域", dropPrompt: "将图片拖放到此处", browseOrPaste: "点击任意位置浏览,或从剪贴板粘贴", uploadButton: "上传", defaultFormats: "PNG、JPG、WebP、HEIC、RAW、PSD 及 65+ 种格式", orSeparator: "或", urlPlaceholder: "粘贴图片 URL...", urlLoadingIndicator: "...", addUrlButton: "添加", importMultipleUrls: "导入多个 URL...", filesSelected: "已选择 {count} 个文件", }, reviewPanel: { processedResultAlt: "处理结果", sizeLabel: "大小:{size}", typeLabel: "类型:{type}", processedLabel: "处理时间:{time}", undoButton: "撤销", downloadButton: "下载", openInEditor: "在编辑器中打开", reviewHeading: "审查", continueEditing: "继续编辑", }, features: { notEnabledTitle: "功能未启用", notEnabledDescription: "此功能未启用。请让管理员在设置中启用。", requiresDownload: "此功能需要额外下载(约 {size})", retryButton: "重试", queued: "已加入安装队列...", enableButton: "启用 {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: "前往图片信息", }, resources: { heading: "资源", githubLink: "GitHub 仓库", reportIssueLink: "报告问题", docsLink: "文档", apiRefLink: "API 参考(Swagger)", }, versionLabel: "SnapOtter v{version}", }, errors: { generic: "发生错误", offline: "您已离线", reconnecting: "正在重新连接服务器...", connected: "已连接", processingFailed: "此文件处理失败", timeout: "请求超时。服务器可能过载。请重试。", networkError: "网络错误。请检查您的连接。", invalidCredentials: "用户名或密码错误", connectionError: "连接错误", }, analytics: { consentTitle: "帮助改进 SnapOtter", consentDescription: "匿名使用统计帮助我们修复问题并构建您真正需要的工具。您的图片和文件始终留在您的设备上。", consentChangeable: "您可以随时在设置中关闭。", acceptButton: "好的,没问题", declineButton: "暂时不了", settingsTitle: "产品分析", settingsDescription: "分享匿名使用数据,帮助改进 SnapOtter。", settingsPrivacy: "您的图片永远不会离开您的机器。", settingsDisabledByAdmin: "产品分析已被服务器管理员禁用。", learnMore: "了解更多", }, sidebar: { tools: "工具", grid: "网格", automate: "自动化", editor: "编辑器", files: "文件", help: "帮助", settings: "设置", }, toolCard: { addToFavourites: "添加到收藏", }, appLayout: { mobileNavTools: "工具", mobileNavAutomate: "自动化", mobileNavEditor: "编辑器", mobileNavFiles: "文件", mobileNavSettings: "设置", }, a11y: { skipToContent: "Skip to main content", openSidebar: "Open sidebar", closeSidebar: "Close sidebar", closeSettings: "Close settings", closeHelp: "Close help", closeDialog: "Close dialog", zoomIn: "Zoom in", zoomOut: "Zoom out", fitToView: "Fit to view", actualSize: "Actual size", previousImage: "Previous image", nextImage: "Next image", imageArea: "Image area", imageViewer: "Image viewer", fileDropZone: "File drop zone", imageDropZone: "Image drop zone", beforeAfterSlider: "Before/after comparison slider", imageControls: "Image controls", zoomControls: "Zoom controls", dragToReorder: "Drag to reorder", whiteBackground: "White background", blackBackground: "Black background", expandPanel: "Expand panel", collapsePanel: "Collapse panel", swapDimensions: "Swap dimensions", applyCrop: "Apply crop", cancelCrop: "Cancel crop", fontFamily: "Font family", textColor: "Text color", flipHorizontal: "Flip horizontal", flipVertical: "Flip vertical", hexColorValue: "Hex color value", backgroundColor: "Background color", foregroundColor: "Foreground color", swapColors: "Swap foreground and background colors", resetColors: "Reset to default black and white", foregroundHex: "Foreground color hex value", undo: "Undo", redo: "Redo", layers: "Layers", addLayer: "Add layer", deleteLayer: "Delete layer", cancelOperation: "Cancel operation", fill: "Fill", fileDetails: "File details", language: "Language", selected: "Selected", deleteKey: "Delete key", editRole: "Edit role", deleteRole: "Delete role", notInstalled: "Not installed", queued: "Queued for install", installing: "Installing", imageNOfTotal: "Image {n} of {total}", processingComplete: "Image processed successfully", processingFailed: "Processing failed", settingsDialog: "Settings", helpDialog: "Help", navigationMenu: "Navigation", }, } as const;