fix: resolve remaining QA issues -- editor features, masking, persistence, Playwright tests

Phase 1 quick fixes:
- Add isInputFocused() guard to Cmd+A/D/T/J shortcuts (P1-7)
- Add Go Home button to tool-not-found page (P2-30)
- Fix hardcoded "Import from Library" string in file library modal (P2-28)
- Fix TeamEntry.id type from number to string to match API (P2-6)
- Add eye toggle to confirm password field (P2-10)
- Add Apply/Cancel buttons to Free Transform options bar (P2-14)

Phase 2 state fixes:
- Add sessionStorage persistence to pipeline store (P1-26)
- Fix Free Transform 0 dimensions by falling back to selection bounds (P1-6)

Phase 3 editor features:
- Constrain brush/eraser drawing within active selection bounds (P1-5)
- Add feather radius control to selection options (P2-21)
- Add flow control slider to brush options (P2-22)
- Add brush/block mode selector to eraser options (P2-23)
- Add estimated file size display to export dialog (P2-18)

Phase 4:
- Add Playwright e2e tests for key fixes (404 page, routing, pipeline persistence, export dialog)
This commit is contained in:
SnapOtter
2026-06-05 23:14:57 +08:00
parent 07e12754ba
commit 190d5c84bf
40 changed files with 1144 additions and 500 deletions
+17 -10
View File
@@ -37,9 +37,8 @@ export const ar: TranslationKeys = {
retry: "إعادة المحاولة",
privacyPolicy: "سياسة الخصوصية",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "الأساسيات",
optimization: "التحسين",
@@ -590,6 +589,13 @@ export const ar: TranslationKeys = {
intensity: "الشدة",
addShadow: "إضافة ظل",
opacity: "الشفافية",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "جاري المعالجة...",
submit: "إزالة الخلفية",
submitBatch: "إزالة الخلفية ({count} ملف)",
@@ -1683,7 +1689,8 @@ export const ar: TranslationKeys = {
docsLink: "التوثيق",
apiRefLink: "مرجع API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1824,9 +1831,9 @@ export const ar: TranslationKeys = {
pipelineName: "اسم Pipeline",
pipelineDescription: "الوصف (اختياري)",
noStepsPrompt: "أضف خطوات لبناء أتمتتك",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "خطوة",
step: "خطوة",
},
nav: {
tools: "الأدوات",
@@ -1839,11 +1846,11 @@ export const ar: TranslationKeys = {
grid: "شبكة",
},
files: {
recentTab: "الأخيرة",
uploadTab: "رفع",
fileDetailsAriaLabel: "تفاصيل الملف",
fileDetailsHeading: "تفاصيل الملف",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const de: TranslationKeys = {
retry: "Erneut versuchen",
privacyPolicy: "Datenschutzerklaerung",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Grundlagen",
optimization: "Optimierung",
@@ -598,6 +597,13 @@ export const de: TranslationKeys = {
intensity: "Intensitaet",
addShadow: "Schatten hinzufuegen",
opacity: "Deckkraft",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Wird gerendert...",
submit: "Hintergrund entfernen",
submitBatch: "Hintergrund entfernen ({count} Dateien)",
@@ -1708,7 +1714,8 @@ export const de: TranslationKeys = {
docsLink: "Dokumentation",
apiRefLink: "API-Referenz (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1853,9 +1860,9 @@ export const de: TranslationKeys = {
pipelineName: "Pipeline-Name",
pipelineDescription: "Beschreibung (optional)",
noStepsPrompt: "Fuegen Sie Schritte hinzu, um Ihre Automatisierung zu erstellen",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Schritt",
step: "Schritt",
},
nav: {
tools: "Werkzeuge",
@@ -1868,11 +1875,11 @@ export const de: TranslationKeys = {
grid: "Raster",
},
files: {
recentTab: "Zuletzt",
uploadTab: "Hochladen",
fileDetailsAriaLabel: "Dateidetails",
fileDetailsHeading: "Dateidetails",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+13 -5
View File
@@ -36,7 +36,6 @@ export const en = {
privacyPolicy: "Privacy Policy",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
categories: {
essentials: "Essentials",
@@ -548,6 +547,13 @@ export const en = {
intensity: "Intensity",
addShadow: "Add Shadow",
opacity: "Opacity",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Rendering...",
submit: "Remove Background",
submitBatch: "Remove Background ({count} files)",
@@ -1427,7 +1433,8 @@ export const en = {
newPasswordPlaceholder: "New Password",
confirmPasswordPlaceholder: "Confirm New Password",
passwordsMismatch: "Passwords do not match",
passwordTooShort: "Password must be at least 4 characters",
passwordTooShort:
"Password must be at least 8 characters with uppercase, lowercase, and a number",
changeSuccess: "Password changed successfully",
changeFailed: "Failed to change password",
currentPasswordIncorrect: "Current password is incorrect",
@@ -1642,7 +1649,8 @@ export const en = {
docsLink: "Documentation",
apiRefLink: "API Reference (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1799,11 +1807,11 @@ export const en = {
grid: "Grid",
},
files: {
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
myFiles: "My Files",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const es: TranslationKeys = {
retry: "Reintentar",
privacyPolicy: "Politica de privacidad",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Esenciales",
optimization: "Optimizacion",
@@ -582,6 +581,13 @@ export const es: TranslationKeys = {
intensity: "Intensidad",
addShadow: "Agregar sombra",
opacity: "Opacidad",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Renderizando...",
submit: "Eliminar fondo",
submitBatch: "Eliminar fondo ({count} archivos)",
@@ -1687,7 +1693,8 @@ export const es: TranslationKeys = {
docsLink: "Documentacion",
apiRefLink: "Referencia API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1830,9 +1837,9 @@ export const es: TranslationKeys = {
pipelineName: "Nombre del Pipeline",
pipelineDescription: "Descripcion (opcional)",
noStepsPrompt: "Agrega pasos para construir tu automatizacion",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Paso",
step: "Paso",
},
nav: {
tools: "Herramientas",
@@ -1845,11 +1852,11 @@ export const es: TranslationKeys = {
grid: "Cuadricula",
},
files: {
recentTab: "Recientes",
uploadTab: "Subir",
fileDetailsAriaLabel: "Detalles del archivo",
fileDetailsHeading: "Detalles del archivo",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const fr: TranslationKeys = {
retry: "Réessayer",
privacyPolicy: "Politique de confidentialite",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Essentiels",
optimization: "Optimisation",
@@ -599,6 +598,13 @@ export const fr: TranslationKeys = {
intensity: "Intensite",
addShadow: "Ajouter une ombre",
opacity: "Opacite",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Rendu en cours...",
submit: "Supprimer l'arriere-plan",
submitBatch: "Supprimer l'arriere-plan ({count} fichiers)",
@@ -1706,7 +1712,8 @@ export const fr: TranslationKeys = {
docsLink: "Documentation",
apiRefLink: "Reference API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1851,9 +1858,9 @@ export const fr: TranslationKeys = {
pipelineName: "Nom du Pipeline",
pipelineDescription: "Description (optionnel)",
noStepsPrompt: "Ajoutez des etapes pour construire votre automatisation",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Etape",
step: "Etape",
},
nav: {
tools: "Outils",
@@ -1866,11 +1873,11 @@ export const fr: TranslationKeys = {
grid: "Grille",
},
files: {
recentTab: "Recents",
uploadTab: "Importer",
fileDetailsAriaLabel: "Details du fichier",
fileDetailsHeading: "Details du fichier",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const hi: TranslationKeys = {
retry: "पुनः प्रयास करें",
privacyPolicy: "गोपनीयता नीति",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "आवश्यक टूल्स",
optimization: "ऑप्टिमाइज़ेशन",
@@ -586,6 +585,13 @@ export const hi: TranslationKeys = {
intensity: "तीव्रता",
addShadow: "शैडो जोड़ें",
opacity: "ओपेसिटी",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "रेंडर हो रहा है...",
submit: "बैकग्राउंड हटाएं",
submitBatch: "बैकग्राउंड हटाएं ({count} फाइलें)",
@@ -1679,7 +1685,8 @@ export const hi: TranslationKeys = {
docsLink: "डॉक्यूमेंटेशन",
apiRefLink: "API रेफरेंस (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1821,9 +1828,9 @@ export const hi: TranslationKeys = {
pipelineName: "Pipeline का नाम",
pipelineDescription: "विवरण (वैकल्पिक)",
noStepsPrompt: "अपना ऑटोमेशन बनाने के लिए स्टेप्स जोड़ें",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "स्टेप",
step: "स्टेप",
},
nav: {
tools: "टूल्स",
@@ -1836,11 +1843,11 @@ export const hi: TranslationKeys = {
grid: "ग्रिड",
},
files: {
recentTab: "हाल के",
uploadTab: "अपलोड",
fileDetailsAriaLabel: "फाइल विवरण",
fileDetailsHeading: "फाइल विवरण",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const id: TranslationKeys = {
retry: "Coba lagi",
privacyPolicy: "Kebijakan Privasi",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Dasar",
optimization: "Optimasi",
@@ -596,6 +595,13 @@ export const id: TranslationKeys = {
intensity: "Intensitas",
addShadow: "Tambah Bayangan",
opacity: "Opasitas",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Merender...",
submit: "Hapus Latar Belakang",
submitBatch: "Hapus Latar Belakang ({count} file)",
@@ -1695,7 +1701,8 @@ export const id: TranslationKeys = {
docsLink: "Dokumentasi",
apiRefLink: "Referensi API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1838,9 +1845,9 @@ export const id: TranslationKeys = {
pipelineName: "Nama Pipeline",
pipelineDescription: "Deskripsi (opsional)",
noStepsPrompt: "Tambahkan langkah untuk membangun otomasi Anda",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Langkah",
step: "Langkah",
},
nav: {
tools: "Alat",
@@ -1853,11 +1860,11 @@ export const id: TranslationKeys = {
grid: "Grid",
},
files: {
recentTab: "Terbaru",
uploadTab: "Unggah",
fileDetailsAriaLabel: "Detail File",
fileDetailsHeading: "Detail File",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const it: TranslationKeys = {
retry: "Riprova",
privacyPolicy: "Informativa sulla privacy",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Essenziali",
optimization: "Ottimizzazione",
@@ -595,6 +594,13 @@ export const it: TranslationKeys = {
intensity: "Intensita",
addShadow: "Aggiungi ombra",
opacity: "Opacita",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Rendering...",
submit: "Rimuovi sfondo",
submitBatch: "Rimuovi sfondo ({count} file)",
@@ -1701,7 +1707,8 @@ export const it: TranslationKeys = {
docsLink: "Documentazione",
apiRefLink: "Riferimento API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1845,9 +1852,9 @@ export const it: TranslationKeys = {
pipelineName: "Nome del Pipeline",
pipelineDescription: "Descrizione (opzionale)",
noStepsPrompt: "Aggiungi passaggi per costruire la tua automazione",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Passaggio",
step: "Passaggio",
},
nav: {
tools: "Strumenti",
@@ -1860,11 +1867,11 @@ export const it: TranslationKeys = {
grid: "Griglia",
},
files: {
recentTab: "Recenti",
uploadTab: "Carica",
fileDetailsAriaLabel: "Dettagli file",
fileDetailsHeading: "Dettagli file",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const ja: TranslationKeys = {
retry: "再試行",
privacyPolicy: "プライバシーポリシー",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "基本ツール",
optimization: "最適化",
@@ -555,6 +554,13 @@ export const ja: TranslationKeys = {
intensity: "強度",
addShadow: "シャドウ追加",
opacity: "不透明度",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "レンダリング中...",
submit: "背景を除去",
submitBatch: "背景を除去({count}ファイル)",
@@ -1652,7 +1658,8 @@ export const ja: TranslationKeys = {
docsLink: "ドキュメント",
apiRefLink: "APIリファレンス(Swagger",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1794,9 +1801,9 @@ export const ja: TranslationKeys = {
pipelineName: "Pipeline名",
pipelineDescription: "説明(任意)",
noStepsPrompt: "ステップを追加して自動化を構築",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "ステップ",
step: "ステップ",
},
nav: {
tools: "ツール",
@@ -1809,11 +1816,11 @@ export const ja: TranslationKeys = {
grid: "グリッド",
},
files: {
recentTab: "最近",
uploadTab: "アップロード",
fileDetailsAriaLabel: "ファイル詳細",
fileDetailsHeading: "ファイル詳細",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const ko: TranslationKeys = {
retry: "재시도",
privacyPolicy: "개인정보 처리방침",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "기본 도구",
optimization: "최적화",
@@ -542,6 +541,13 @@ export const ko: TranslationKeys = {
intensity: "강도",
addShadow: "그림자 추가",
opacity: "불투명도",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "렌더링 중...",
submit: "배경 제거",
submitBatch: "배경 제거 ({count}개 파일)",
@@ -1637,7 +1643,8 @@ export const ko: TranslationKeys = {
docsLink: "문서",
apiRefLink: "API 레퍼런스 (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1779,9 +1786,9 @@ export const ko: TranslationKeys = {
pipelineName: "Pipeline 이름",
pipelineDescription: "설명 (선택)",
noStepsPrompt: "단계를 추가하여 자동화를 구성하세요",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "단계",
step: "단계",
},
nav: {
tools: "도구",
@@ -1794,11 +1801,11 @@ export const ko: TranslationKeys = {
grid: "그리드",
},
files: {
recentTab: "최근",
uploadTab: "업로드",
fileDetailsAriaLabel: "파일 상세",
fileDetailsHeading: "파일 상세",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const nl: TranslationKeys = {
retry: "Opnieuw proberen",
privacyPolicy: "Privacybeleid",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Basistools",
optimization: "Optimalisatie",
@@ -596,6 +595,13 @@ export const nl: TranslationKeys = {
intensity: "Intensiteit",
addShadow: "Schaduw toevoegen",
opacity: "Dekking",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Renderen...",
submit: "Achtergrond verwijderen",
submitBatch: "Achtergrond verwijderen ({count} bestanden)",
@@ -1698,7 +1704,8 @@ export const nl: TranslationKeys = {
docsLink: "Documentatie",
apiRefLink: "API-referentie (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1841,9 +1848,9 @@ export const nl: TranslationKeys = {
pipelineName: "Pipeline-naam",
pipelineDescription: "Beschrijving (optioneel)",
noStepsPrompt: "Voeg stappen toe om je automatisering te bouwen",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Stap",
step: "Stap",
},
nav: {
tools: "Tools",
@@ -1856,11 +1863,11 @@ export const nl: TranslationKeys = {
grid: "Raster",
},
files: {
recentTab: "Recent",
uploadTab: "Uploaden",
fileDetailsAriaLabel: "Bestandsdetails",
fileDetailsHeading: "Bestandsdetails",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const pl: TranslationKeys = {
retry: "Ponów",
privacyPolicy: "Polityka prywatności",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Podstawowe",
optimization: "Optymalizacja",
@@ -599,6 +598,13 @@ export const pl: TranslationKeys = {
intensity: "Intensywność",
addShadow: "Dodaj cień",
opacity: "Krycie",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Renderowanie...",
submit: "Usuń tło",
submitBatch: "Usuń tło ({count} plików)",
@@ -1704,7 +1710,8 @@ export const pl: TranslationKeys = {
docsLink: "Dokumentacja",
apiRefLink: "Dokumentacja API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1848,9 +1855,9 @@ export const pl: TranslationKeys = {
pipelineName: "Nazwa Pipeline",
pipelineDescription: "Opis (opcjonalnie)",
noStepsPrompt: "Dodaj kroki, aby zbudować automatyzację",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Krok",
step: "Krok",
},
nav: {
tools: "Narzędzia",
@@ -1863,11 +1870,11 @@ export const pl: TranslationKeys = {
grid: "Siatka",
},
files: {
recentTab: "Ostatnie",
uploadTab: "Przesyłanie",
fileDetailsAriaLabel: "Szczegóły pliku",
fileDetailsHeading: "Szczegóły pliku",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const ptBR: TranslationKeys = {
retry: "Tentar novamente",
privacyPolicy: "Politica de privacidade",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Essenciais",
optimization: "Otimizacao",
@@ -595,6 +594,13 @@ export const ptBR: TranslationKeys = {
intensity: "Intensidade",
addShadow: "Adicionar sombra",
opacity: "Opacidade",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Renderizando...",
submit: "Remover fundo",
submitBatch: "Remover fundo ({count} arquivos)",
@@ -1697,7 +1703,8 @@ export const ptBR: TranslationKeys = {
docsLink: "Documentacao",
apiRefLink: "Referencia da API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1841,9 +1848,9 @@ export const ptBR: TranslationKeys = {
pipelineName: "Nome do Pipeline",
pipelineDescription: "Descricao (opcional)",
noStepsPrompt: "Adicione passos para construir sua automacao",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Passo",
step: "Passo",
},
nav: {
tools: "Ferramentas",
@@ -1856,11 +1863,11 @@ export const ptBR: TranslationKeys = {
grid: "Grade",
},
files: {
recentTab: "Recentes",
uploadTab: "Enviar",
fileDetailsAriaLabel: "Detalhes do arquivo",
fileDetailsHeading: "Detalhes do arquivo",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const ru: TranslationKeys = {
retry: "Повторить",
privacyPolicy: "Политика конфиденциальности",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Основные",
optimization: "Оптимизация",
@@ -597,6 +596,13 @@ export const ru: TranslationKeys = {
intensity: "Интенсивность",
addShadow: "Добавить тень",
opacity: "Непрозрачность",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Рендеринг...",
submit: "Удалить фон",
submitBatch: "Удалить фон ({count} файлов)",
@@ -1697,7 +1703,8 @@ export const ru: TranslationKeys = {
docsLink: "Документация",
apiRefLink: "Справочник API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1840,9 +1847,9 @@ export const ru: TranslationKeys = {
pipelineName: "Название Pipeline",
pipelineDescription: "Описание (необязательно)",
noStepsPrompt: "Добавьте шаги для построения автоматизации",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Шаг",
step: "Шаг",
},
nav: {
tools: "Инструменты",
@@ -1855,11 +1862,11 @@ export const ru: TranslationKeys = {
grid: "Сетка",
},
files: {
recentTab: "Недавние",
uploadTab: "Загрузка",
fileDetailsAriaLabel: "Сведения о файле",
fileDetailsHeading: "Сведения о файле",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const sv: TranslationKeys = {
retry: "Försök igen",
privacyPolicy: "Integritetspolicy",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Grundlaggande",
optimization: "Optimering",
@@ -594,6 +593,13 @@ export const sv: TranslationKeys = {
intensity: "Intensitet",
addShadow: "Lagg till skugga",
opacity: "Opacitet",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Renderar...",
submit: "Ta bort bakgrund",
submitBatch: "Ta bort bakgrund ({count} filer)",
@@ -1693,7 +1699,8 @@ export const sv: TranslationKeys = {
docsLink: "Dokumentation",
apiRefLink: "API-referens (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1835,9 +1842,9 @@ export const sv: TranslationKeys = {
pipelineName: "Pipeline-namn",
pipelineDescription: "Beskrivning (valfritt)",
noStepsPrompt: "Lagg till steg for att bygga din automatisering",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Steg",
step: "Steg",
},
nav: {
tools: "Verktyg",
@@ -1850,11 +1857,11 @@ export const sv: TranslationKeys = {
grid: "Rutnat",
},
files: {
recentTab: "Senaste",
uploadTab: "Ladda upp",
fileDetailsAriaLabel: "Fildetaljer",
fileDetailsHeading: "Fildetaljer",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const th: TranslationKeys = {
retry: "ลองใหม่",
privacyPolicy: "นโยบายความเป็นส่วนตัว",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "พื้นฐาน",
optimization: "การเพิ่มประสิทธิภาพ",
@@ -586,6 +585,13 @@ export const th: TranslationKeys = {
intensity: "ความเข้ม",
addShadow: "เพิ่มเงา",
opacity: "ความทึบ",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "กำลังเรนเดอร์...",
submit: "ลบพื้นหลัง",
submitBatch: "ลบพื้นหลัง ({count} ไฟล์)",
@@ -1671,7 +1677,8 @@ export const th: TranslationKeys = {
docsLink: "เอกสารประกอบ",
apiRefLink: "อ้างอิง API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1812,9 +1819,9 @@ export const th: TranslationKeys = {
pipelineName: "ชื่อ Pipeline",
pipelineDescription: "คำอธิบาย (ไม่บังคับ)",
noStepsPrompt: "เพิ่มขั้นตอนเพื่อสร้างการทำงานอัตโนมัติ",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "ขั้นตอน",
step: "ขั้นตอน",
},
nav: {
tools: "เครื่องมือ",
@@ -1827,11 +1834,11 @@ export const th: TranslationKeys = {
grid: "กริด",
},
files: {
recentTab: "ล่าสุด",
uploadTab: "อัปโหลด",
fileDetailsAriaLabel: "รายละเอียดไฟล์",
fileDetailsHeading: "รายละเอียดไฟล์",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const tr: TranslationKeys = {
retry: "Yeniden dene",
privacyPolicy: "Gizlilik Politikası",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Temel Araçlar",
optimization: "Optimizasyon",
@@ -598,6 +597,13 @@ export const tr: TranslationKeys = {
intensity: "Yoğunluk",
addShadow: "Gölge Ekle",
opacity: "Opaklık",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "İşleniyor...",
submit: "Arka Planı Kaldır",
submitBatch: "Arka Planı Kaldır ({count} dosya)",
@@ -1701,7 +1707,8 @@ export const tr: TranslationKeys = {
docsLink: "Dokümantasyon",
apiRefLink: "API Referansı (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1845,9 +1852,9 @@ export const tr: TranslationKeys = {
pipelineName: "Pipeline Adı",
pipelineDescription: "Açıklama (isteğe bağlı)",
noStepsPrompt: "Otomasyonunuzu oluşturmak için adımlar ekleyin",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Adım",
step: "Adım",
},
nav: {
tools: "Araçlar",
@@ -1860,11 +1867,11 @@ export const tr: TranslationKeys = {
grid: "Izgara",
},
files: {
recentTab: "Son Kullanılanlar",
uploadTab: "Yükle",
fileDetailsAriaLabel: "Dosya Ayrıntıları",
fileDetailsHeading: "Dosya Ayrıntıları",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const uk: TranslationKeys = {
retry: "Повторити",
privacyPolicy: "Політика конфіденційності",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Основні",
optimization: "Оптимізація",
@@ -597,6 +596,13 @@ export const uk: TranslationKeys = {
intensity: "Інтенсивність",
addShadow: "Додати тінь",
opacity: "Непрозорість",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Рендеринг...",
submit: "Видалити фон",
submitBatch: "Видалити фон ({count} файлів)",
@@ -1697,7 +1703,8 @@ export const uk: TranslationKeys = {
docsLink: "Документація",
apiRefLink: "Довідник API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1841,9 +1848,9 @@ export const uk: TranslationKeys = {
pipelineName: "Назва Pipeline",
pipelineDescription: "Опис (необов'язково)",
noStepsPrompt: "Додайте кроки для побудови автоматизації",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Крок",
step: "Крок",
},
nav: {
tools: "Інструменти",
@@ -1856,11 +1863,11 @@ export const uk: TranslationKeys = {
grid: "Сітка",
},
files: {
recentTab: "Нещодавні",
uploadTab: "Завантаження",
fileDetailsAriaLabel: "Відомості про файл",
fileDetailsHeading: "Відомості про файл",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const vi: TranslationKeys = {
retry: "Thử lại",
privacyPolicy: "Chính sách bảo mật",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Cơ bản",
optimization: "Tối ưu hóa",
@@ -597,6 +596,13 @@ export const vi: TranslationKeys = {
intensity: "Cường độ",
addShadow: "Thêm bóng đổ",
opacity: "Độ mờ",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Đang kết xuất...",
submit: "Xóa nền",
submitBatch: "Xóa nền ({count} tệp)",
@@ -1693,7 +1699,8 @@ export const vi: TranslationKeys = {
docsLink: "Tài liệu",
apiRefLink: "Tham chiếu API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1835,9 +1842,9 @@ export const vi: TranslationKeys = {
pipelineName: "Tên Pipeline",
pipelineDescription: "Mô tả (tùy chọn)",
noStepsPrompt: "Thêm các bước để xây dựng tự động hóa",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Bước",
step: "Bước",
},
nav: {
tools: "Công cụ",
@@ -1850,11 +1857,11 @@ export const vi: TranslationKeys = {
grid: "Lưới",
},
files: {
recentTab: "Gần đây",
uploadTab: "Tải lên",
fileDetailsAriaLabel: "Chi tiết tệp",
fileDetailsHeading: "Chi tiết tệp",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const zhCN: TranslationKeys = {
retry: "重试",
privacyPolicy: "隐私政策",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "基础工具",
optimization: "优化",
@@ -540,6 +539,13 @@ export const zhCN: TranslationKeys = {
intensity: "强度",
addShadow: "添加阴影",
opacity: "不透明度",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "渲染中...",
submit: "移除背景",
submitBatch: "移除背景({count} 个文件)",
@@ -1623,7 +1629,8 @@ export const zhCN: TranslationKeys = {
docsLink: "文档",
apiRefLink: "API 参考(Swagger",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1763,9 +1770,9 @@ export const zhCN: TranslationKeys = {
pipelineName: "Pipeline 名称",
pipelineDescription: "描述(可选)",
noStepsPrompt: "添加步骤来构建自动化流程",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "步骤",
step: "步骤",
},
nav: {
tools: "工具",
@@ -1778,11 +1785,11 @@ export const zhCN: TranslationKeys = {
grid: "网格",
},
files: {
recentTab: "最近",
uploadTab: "上传",
fileDetailsAriaLabel: "文件详情",
fileDetailsHeading: "文件详情",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
+17 -10
View File
@@ -37,9 +37,8 @@ export const zhTW: TranslationKeys = {
retry: "重試",
privacyPolicy: "隱私權政策",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
noToolsFound: "No tools found",
},
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "基本工具",
optimization: "最佳化",
@@ -539,6 +538,13 @@ export const zhTW: TranslationKeys = {
intensity: "強度",
addShadow: "加入陰影",
opacity: "不透明度",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "算繪中...",
submit: "移除背景",
submitBatch: "移除背景({count}個檔案)",
@@ -1621,7 +1627,8 @@ export const zhTW: TranslationKeys = {
docsLink: "說明文件",
apiRefLink: "API參考(Swagger",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
@@ -1761,9 +1768,9 @@ export const zhTW: TranslationKeys = {
pipelineName: "Pipeline名稱",
pipelineDescription: "描述(選填)",
noStepsPrompt: "加入步驟來建構自動化",
noStepsHeading: "No steps yet",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "步驟",
step: "步驟",
},
nav: {
tools: "工具",
@@ -1776,11 +1783,11 @@ export const zhTW: TranslationKeys = {
grid: "格線",
},
files: {
recentTab: "最近",
uploadTab: "上傳",
fileDetailsAriaLabel: "檔案詳情",
fileDetailsHeading: "檔案詳情",
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",