import type { TranslationKeys } from "./en.js";

export const zhCN: TranslationKeys = {
  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: "您查找的页面不存在或已被移动。",
  },
  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: {
    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: "多页合印 PDF",
      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: "内容感知",
      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: "输出格式",
      edgeSmoothing: "边缘平滑",
      edgeSmoothingOff: "关闭",
      edgeSmoothingLight: "轻微",
      edgeSmoothingMedium: "中等",
      edgeSmoothingStrong: "强烈",
      colorDecontamination: "颜色去污",
      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: "正在提取文字",
    },
    "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: "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)",
      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: "正在压缩",
    },
    "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: "正在拼合",
    },
    "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: "已保存到文件库",
    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: "最近",
    popular: "热门",
    browseByCategory: "按分类浏览",
    gettingStarted: "开始使用",
    noToolsMatch: "没有匹配 '{query}' 的工具",
    clearSearch: "清除搜索",
    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: "下载支持包失败。",
    },
    security: {
      heading: "安全",
      description: "密码和认证设置。",
      changePasswordHeading: "修改密码",
      currentPasswordPlaceholder: "当前密码",
      newPasswordPlaceholder: "新密码",
      confirmPasswordPlaceholder: "确认新密码",
      passwordsMismatch: "两次密码输入不一致",
      passwordTooShort: "密码长度至少为 4 个字符",
      changeSuccess: "密码修改成功",
      changeFailed: "密码修改失败",
      currentPasswordIncorrect: "当前密码不正确",
      changePasswordButton: "修改密码",
      loginAttemptLimitNote: "登录尝试限制可在系统设置中配置。",
      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}",
      installed: "已安装",
      notInstalled: "未安装",
      queued: "排队中",
      install: "安装",
      repair: "修复",
      uninstall: "卸载",
      installing: "安装中...",
      importBundle: "导入包",
      importDescription: "上传从其他安装导出的 .tar.gz 包存档。",
      importButton: "从文件导入",
      importing: "导入中...",
      importSuccess: "包导入成功。",
      importError: "包导入失败：{error}",
    },
    about: {
      heading: "关于",
      appName: "SnapOtter",
      appDescription:
        "自托管、隐私优先的文件处理套件，包含 157 种工具。转换、压缩、编辑、转录、OCR，自动化图片、视频、音频、文档和数据工作流，无需将数据发送到云端。",
      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% 本地处理。",
      "免费，永远免费。",
      "无限制，无隐藏上限。",
      "完全离线可用。",
      "无限批量处理。",
      "157 种工具。",
      "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: "暂无步骤",
    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: "PNG、JPG、WebP、HEIC、RAW、PSD 及 65+ 种格式",
    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: {
    tools: "工具",
    grid: "网格",
    automate: "自动化",
    editor: "编辑器",
    files: "文件",
    help: "帮助",
    settings: "设置",
  },
  toolCard: {
    addToFavourites: "添加到收藏",
  },
  appLayout: {
    mobileNavTools: "工具",
    mobileNavAutomate: "自动化",
    mobileNavEditor: "编辑器",
    mobileNavFiles: "文件",
    mobileNavSettings: "设置",
  },
  a11y: {
    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 首页",
  },
} as const;

export default zhCN;
