Files
SnapOtter/packages/shared/src/i18n/zh-CN.ts
T

2055 lines
70 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationKeys } from "./en.js";
export const zhCN: TranslationKeys = {
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: "复制 <img> 标签",
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;