fix: resolve QA report issues across routing, editor, i18n, and pipeline

- Add /tools/:toolId legacy redirect and catch-all 404 page (P1-12, P1-13)
- Add Shift+O dodge/burn/sponge cycle and Ctrl+Y redo shortcut (P1-3, P1-4)
- Fix Fit on Screen menu action to properly compute fit zoom (P1-8)
- Add filename input to editor export dialog (P1-2)
- Fix password validation mismatch: frontend now requires 8 chars (P1-11)
- Add license info to Settings About section (P1-9)
- Replace hardcoded strings in dropzone, files, pipeline with i18n keys (P1-17 to P1-25)
- Add 20+ missing i18n keys to all 21 locale files
- Translate Japanese editor.shapes and settings.aiFeatures sections (P1-19, P1-20)
- Fix RTL: use logical CSS properties in sidebar, files, app-layout (P2-24 to P2-26)
- Add single-file download button to pipeline results (P1-28)
- Fix compress step settings restoration on pipeline load (P1-27)
- Increase mobile nav touch targets to 44px minimum (P2-29)
This commit is contained in:
SnapOtter
2026-06-05 22:31:28 +08:00
parent 91e90b390e
commit 07e12754ba
35 changed files with 706 additions and 44 deletions
+26
View File
@@ -36,6 +36,9 @@ export const vi: TranslationKeys = {
unexpectedError: "Đã xảy ra lỗi không mong muốn.",
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",
},
categories: {
essentials: "Cơ bản",
@@ -1689,6 +1692,8 @@ export const vi: TranslationKeys = {
githubLink: "Kho mã nguồn GitHub",
docsLink: "Tài liệu",
apiRefLink: "Tham chiếu API (Swagger)",
licenseLabel: "License:",
licenseDescription: "Dual-licensed under AGPLv3 and a commercial license.",
},
},
auth: {
@@ -1830,6 +1835,8 @@ 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",
searchToolsPlaceholder: "Search tools...",
step: "Bước",
},
nav: {
@@ -1847,6 +1854,25 @@ export const vi: TranslationKeys = {
uploadTab: "Tải lên",
fileDetailsAriaLabel: "Chi tiết tệp",
fileDetailsHeading: "Chi tiết tệp",
myFiles: "My Files",
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: "Loại tệp này không được công cụ này hỗ trợ",