From 163332c6cc5662b0a64d11f3fc116e8082be1cff Mon Sep 17 00:00:00 2001 From: gsxdsm Date: Sat, 6 Jun 2026 06:59:25 -0700 Subject: [PATCH] fix: localize create-folder validation error and add missing i18n keys - Add dirPicker.createFolderError to all locale files (en, es, fr, ko, zh-CN, zh-TW) - Use t() for the folder name validation error in DirectoryPicker - Add missing dirPicker keys: cancel, createFolder, createFolderAria, createFolderConfirm, createFolderTitle, newFolderPlaceholder --- packages/dashboard/app/components/DirectoryPicker.tsx | 2 +- packages/i18n/locales/en/app.json | 7 +++++++ packages/i18n/locales/es/app.json | 7 +++++++ packages/i18n/locales/fr/app.json | 7 +++++++ packages/i18n/locales/ko/app.json | 7 +++++++ packages/i18n/locales/zh-CN/app.json | 7 +++++++ packages/i18n/locales/zh-TW/app.json | 7 +++++++ 7 files changed, 43 insertions(+), 1 deletion(-) diff --git a/packages/dashboard/app/components/DirectoryPicker.tsx b/packages/dashboard/app/components/DirectoryPicker.tsx index 28247491b8..262ffe6fb7 100644 --- a/packages/dashboard/app/components/DirectoryPicker.tsx +++ b/packages/dashboard/app/components/DirectoryPicker.tsx @@ -124,7 +124,7 @@ export function DirectoryPicker({ value, onChange, placeholder, onInputKeyDown, if (trimmedName.includes("/") || trimmedName.includes("\\") || trimmedName.includes("..")) { setBrowser((prev) => ({ ...prev, - createFolderError: "Folder name cannot contain path separators or '..'", + createFolderError: t("dirPicker.createFolderError", "Folder name cannot contain path separators or '..'"), })); return; } diff --git a/packages/i18n/locales/en/app.json b/packages/i18n/locales/en/app.json index 7152123a10..b693b53bd8 100644 --- a/packages/i18n/locales/en/app.json +++ b/packages/i18n/locales/en/app.json @@ -1630,12 +1630,19 @@ "dirPicker": { "ariaLabel": "Directory browser", "browse": "Browse", + "cancel": "Cancel", "closeBrowser": "Close directory browser", + "createFolder": "New folder", + "createFolderAria": "Create new folder", + "createFolderConfirm": "Create", + "createFolderError": "Folder name cannot contain path separators or '..'", + "createFolderTitle": "Create folder", "defaultPlaceholder": "/path/to/your/project", "hideHidden": "Hide hidden", "hideHiddenAria": "Hide hidden directories", "hideHiddenTitle": "Hide hidden", "loading": "Loading…", + "newFolderPlaceholder": "Folder name", "noSubdirs": "No subdirectories", "openBrowser": "Browse directories", "parentDir": "Go to parent directory", diff --git a/packages/i18n/locales/es/app.json b/packages/i18n/locales/es/app.json index 9d3b07f82b..0e25bd2c8b 100644 --- a/packages/i18n/locales/es/app.json +++ b/packages/i18n/locales/es/app.json @@ -1629,12 +1629,19 @@ "dirPicker": { "ariaLabel": "Explorador de directorios", "browse": "Examinar", + "cancel": "Cancelar", "closeBrowser": "Cerrar explorador de directorios", + "createFolder": "Nueva carpeta", + "createFolderAria": "Crear nueva carpeta", + "createFolderConfirm": "Crear", + "createFolderError": "El nombre de la carpeta no puede contener separadores de ruta o '..'", + "createFolderTitle": "Crear carpeta", "defaultPlaceholder": "/ruta/a/tu/proyecto", "hideHidden": "Ocultar ocultos", "hideHiddenAria": "Ocultar directorios ocultos", "hideHiddenTitle": "Ocultar ocultos", "loading": "Cargando…", + "newFolderPlaceholder": "Nombre de carpeta", "noSubdirs": "Sin subdirectorios", "openBrowser": "Examinar directorios", "parentDir": "Ir al directorio padre", diff --git a/packages/i18n/locales/fr/app.json b/packages/i18n/locales/fr/app.json index a9a5c21878..86c4aef2a3 100644 --- a/packages/i18n/locales/fr/app.json +++ b/packages/i18n/locales/fr/app.json @@ -1629,12 +1629,19 @@ "dirPicker": { "ariaLabel": "Navigateur de répertoires", "browse": "Parcourir", + "cancel": "Annuler", "closeBrowser": "Fermer le navigateur de répertoires", + "createFolder": "Nouveau dossier", + "createFolderAria": "Créer un nouveau dossier", + "createFolderConfirm": "Créer", + "createFolderError": "Le nom du dossier ne peut pas contenir de séparateurs de chemin ou '..'", + "createFolderTitle": "Créer un dossier", "defaultPlaceholder": "/chemin/vers/votre/projet", "hideHidden": "Masquer les fichiers cachés", "hideHiddenAria": "Masquer les répertoires cachés", "hideHiddenTitle": "Masquer les fichiers cachés", "loading": "Chargement…", + "newFolderPlaceholder": "Nom du dossier", "noSubdirs": "Aucun sous-répertoire", "openBrowser": "Parcourir les répertoires", "parentDir": "Aller au répertoire parent", diff --git a/packages/i18n/locales/ko/app.json b/packages/i18n/locales/ko/app.json index a6eb88c43b..8dfa242996 100644 --- a/packages/i18n/locales/ko/app.json +++ b/packages/i18n/locales/ko/app.json @@ -1629,12 +1629,19 @@ "dirPicker": { "ariaLabel": "디렉터리 브라우저", "browse": "찾아보기", + "cancel": "취소", "closeBrowser": "디렉터리 브라우저 닫기", + "createFolder": "새 폴더", + "createFolderAria": "새 폴더 만들기", + "createFolderConfirm": "만들기", + "createFolderError": "폴더 이름에 경로 구분자나 '..'를 포함할 수 없습니다", + "createFolderTitle": "폴더 만들기", "defaultPlaceholder": "/path/to/your/project", "hideHidden": "숨김 파일 숨기기", "hideHiddenAria": "숨겨진 디렉터리 숨기기", "hideHiddenTitle": "숨김 파일 숨기기", "loading": "로드 중…", + "newFolderPlaceholder": "폴더 이름", "noSubdirs": "하위 디렉터리 없음", "openBrowser": "디렉터리 찾아보기", "parentDir": "상위 디렉터리로 이동", diff --git a/packages/i18n/locales/zh-CN/app.json b/packages/i18n/locales/zh-CN/app.json index 35a35fa0f9..0b77256cc2 100644 --- a/packages/i18n/locales/zh-CN/app.json +++ b/packages/i18n/locales/zh-CN/app.json @@ -1629,12 +1629,19 @@ "dirPicker": { "ariaLabel": "目录浏览器", "browse": "浏览", + "cancel": "取消", "closeBrowser": "关闭目录浏览器", + "createFolder": "新建文件夹", + "createFolderAria": "创建新文件夹", + "createFolderConfirm": "创建", + "createFolderError": "文件夹名称不能包含路径分隔符或 '..'", + "createFolderTitle": "创建文件夹", "defaultPlaceholder": "/path/to/your/project", "hideHidden": "隐藏隐藏", "hideHiddenAria": "隐藏隐藏目录", "hideHiddenTitle": "隐藏隐藏", "loading": "加载中…", + "newFolderPlaceholder": "文件夹名称", "noSubdirs": "无子目录", "openBrowser": "浏览目录", "parentDir": "进入父目录", diff --git a/packages/i18n/locales/zh-TW/app.json b/packages/i18n/locales/zh-TW/app.json index 706eeaa596..419267b7bd 100644 --- a/packages/i18n/locales/zh-TW/app.json +++ b/packages/i18n/locales/zh-TW/app.json @@ -1629,12 +1629,19 @@ "dirPicker": { "ariaLabel": "目錄瀏覽器", "browse": "瀏覽", + "cancel": "取消", "closeBrowser": "關閉目錄瀏覽器", + "createFolder": "新增資料夾", + "createFolderAria": "建立新資料夾", + "createFolderConfirm": "建立", + "createFolderError": "資料夾名稱不能包含路徑分隔符或 '..'", + "createFolderTitle": "建立資料夾", "defaultPlaceholder": "/path/to/your/project", "hideHidden": "隱藏隱藏", "hideHiddenAria": "隱藏隱藏目錄", "hideHiddenTitle": "隱藏隱藏", "loading": "載入中…", + "newFolderPlaceholder": "資料夾名稱", "noSubdirs": "無子目錄", "openBrowser": "瀏覽目錄", "parentDir": "進入上層目錄",