Skip to main content
Glama
translations.js68 kB
export const translations = { en: { // Header appTitle: "🦐 Shrimp Task Manager Viewer", version: "Version", releaseNotes: "Release Notes", help: "Help", language: "Language", // Navigation tabs tasks: "Tasks", templates: "Templates", projects: "Projects", // Template Management templateManagement: "🎨 Template Management", templateManagementDesc: "Manage prompt templates for all task manager functions. Edit, duplicate, or reset templates to customize AI behavior.", exportTemplates: "📤 Export Templates", exportTemplatesDesc: "Export your template configurations to share with your team or backup for later use", // Template columns function: "Function", description: "Description", status: "Status", actions: "Actions", // Template statuses statusDefault: "Default", statusCustom: "Custom", statusCustomAppend: "Custom+Append", // Template actions edit: "Edit", editTemplate: "✏️ Edit Template", preview: "Preview", previewTemplate: "Preview: {name}", duplicate: "Duplicate", duplicateTemplate: "📋 Duplicate Template", activate: "Activate", activateTemplate: "🚀 Activate Template", reset: "Reset", resetToDefault: "Reset to default template", // Common actions save: "Save", cancel: "Cancel", back: "Back", backToTemplates: "← Back to Templates", close: "Close", // Duplicate Template View whyDuplicate: "📚 Why Duplicate Templates?", duplicateExplanation: "Duplicating templates allows you to create specialized versions of existing templates for different use cases:", createVariations: "🎯 Creating Variations", createVariationsDesc: "Make specialized versions for different contexts:", safeExperimentation: "🧪 Safe Experimentation", safeExperimentationDesc: "Test changes without affecting your working template:", templateLibraries: "📂 Template Libraries", templateLibrariesDesc: "Build collections of related templates:", versionManagement: "💾 Version Management", versionManagementDesc: "Keep different versions for different needs:", // Duplicate form createDuplicate: "📝 Create Duplicate", originalTemplate: "Original Template", newTemplateName: "New Template Name", required: "*", nameHint: "Choose a descriptive name that indicates the purpose or variation of this duplicate", whatWillHappen: "📋 What will happen:", createNewTemplate: "Create new template", copyContent: "Copy content", independentEditing: "Independent editing", readyToUse: "Ready to use", // Export Templates exportTemplateConfigurations: "Export Template Configurations", exportFormat: "Export Format:", exportOnlyModified: "Export only modified templates (recommended)", exportHint: "When checked, only exports templates that have been customized or overridden", // Activation Dialog whatIsEnvVar: "📋 What is an Environment Variable?", envVarExplanation: "Environment variables are settings that programs can read when they start. The MCP server checks for custom template variables to override its default prompts. By setting {envVar}, you're telling the MCP server to use your edited template instead of the built-in one.", whyNeedThis: "Why do we need this?", whyNeedThisExplanation: "When Claude starts the MCP server, it reads these environment variables to customize how it responds. Without setting this variable, your template edits won't be used.", howToSetVariable: "🚀 How to Set This Variable", chooseCommand: "Choose the appropriate command below based on your setup. These commands will export the variable to your shell configuration file (like ~/.bashrc or ~/.zshrc) so it's available when Claude starts.", // Messages loading: "Loading...", error: "Error", success: "Success", noTemplatesFound: "No templates found", failedToLoad: "Failed to load", // Pagination showing: "Showing", to: "to", of: "of", page: "Page", filteredFrom: "filtered from", total: "total", // Statistics totalTemplates: "Total Templates", totalNumberOfTemplates: "Total number of templates", numberOfDefaultTemplates: "Number of default templates", numberOfCustomTemplates: "Number of custom templates", numberOfEnvOverrideTemplates: "Number of environment overridden templates", default: "Default", custom: "Custom", envOverride: "Env Override", // Project management readme: "Readme", addTab: "Add Project", history: "History", viewProjectHistory: "View project history", totalTasks: "Total Tasks", completed: "Completed", inProgress: "In Progress", pending: "Pending", autoRefresh: "Auto-refresh", // History management backToTasks: "Back to Tasks", backToHistory: "Back to History", projectHistory: "Project History", dateTime: "Date/Time", taskCount: "Task Count", notes: "Notes", statusSummary: "Status Summary", viewTasks: "View Tasks", noHistoryFound: "No History Found", noHistoryDescription: "No historical task snapshots are available for this project", historyRowTitle: "History entry - click View Tasks to see details", historyEntries: "history entries", tasksFrom: "Tasks from", taskName: "Task Name", noDependencies: "None", created: "Created", noTasksFound: "No Tasks Found", noTasksMessage: "The tasks.json file hasn't been created yet. Run shrimp in this folder to generate tasks.", noTasksInHistory: "This history snapshot contains no tasks", taskRowTitle: "Task details from historical snapshot", // Search and UI searchTemplatesPlaceholder: "🔍 Search templates...", searchTemplatesTitle: "Search and filter templates by function name or description", refreshTemplateData: "Refresh template data", searchTasksPlaceholder: "🔍 Search tasks...", searchTasksTitle: "Search and filter tasks by any text content", refreshCurrentProfile: "Refresh current project data - reload tasks from file", // Project management editProjectSettings: "Edit Project Settings", chooseProfileTitle: "Choose a project from the dropdown above", selectProfileToViewTasks: "Select a project to view tasks", noProfilesAvailable: "No projects available", noProfilesClickAddTab: "No projects available. Click \"Add Project\" to create one.", loadingTasksFromFile: "Loading tasks from file", loadingTasks: "Loading tasks... ⏳", // Add/Edit Project forms addNewProfile: "Add New Project", profileName: "Project Name", profileNamePlaceholder: "e.g., Team Alpha Tasks", profileNameTitle: "Enter a descriptive name for this project", taskFolderPath: "Task Folder Path", taskFolderPathPlaceholder: "/path/to/shrimp_data_folder", taskFolderPathTitle: "Enter the path to your shrimp data folder containing tasks.json", tip: "Tip", navigateToFolder: "Navigate to your shrimp data folder in terminal and", typePwd: "type pwd to get the full path", example: "Example", projectRootPath: "Project Root Path", projectRootPlaceholder: "e.g., /home/user/my-project", projectRootTitle: "Enter the absolute path to the project root directory", projectRootHint: "This enables clickable file links that open in VS Code", optional: "optional", addProfile: "Add Project", cancelAndCloseDialog: "Cancel and close this dialog", addProject: "Add Project", // Edit Project specific projectRoot: "Project Root", taskPath: "Task Path", editProfileNameTitle: "Edit the project name", projectRootEditPlaceholder: "e.g., /home/user/projects/my-project", projectRootEditTitle: "Set the project root path to enable VS Code file links", projectRootEditHint: "Set this to enable clickable VS Code links for task files", taskPathPlaceholder: "/path/to/shrimp_data_folder/tasks.json", taskPathTitle: "Edit the path to the tasks.json file for this project", taskPathHint: "Path to the tasks.json file containing the project's task data", saveChanges: "Save Changes", // Toast messages with parameters profileAddedSuccess: "Project \"{name}\" added successfully!", profileRemovedSuccess: "Project \"{name}\" removed successfully!", templateSavedSuccess: "Template \"{name}\" saved successfully!", templateResetSuccess: "Template \"{name}\" reset to default!", templateDuplicatedSuccess: "Template duplicated as \"{name}\"!", rememberToRestartClaude: "💡 Remember to restart Claude Code after setting environment variables", // Confirmation dialogs confirmRemoveProfile: "Are you sure you want to remove this project? This action cannot be undone.", confirmResetTemplate: "Are you sure you want to reset {name} to default? This will remove any customizations.", // Template activation defaultTemplateAlreadyActive: "Default template is already active - no activation needed", // Duplicate Template View additional keys noTemplateSelected: "No template selected", pleaseEnterDuplicateName: "Please enter a name for the duplicate template", duplicateNameMustBeDifferent: "Duplicate name must be different from the original", failedToDuplicateTemplate: "Failed to duplicate template", backToTemplateList: "Back to template list", creatingDuplicate: "Creating Duplicate...", // Task Table task: "TASK", taskName: "Task Name", created: "Created", updated: "Updated", dependencies: "Dependencies", noTasksFound: "No tasks found in this project", noDescriptionProvided: "No description provided", viewTask: "View task", clickToCopyUuid: "Click to copy UUID to clipboard", copyTaskInstruction: "Copy the following to the clipboard: Use task manager to complete this shrimp task", useTaskManager: "Use task manager to complete this shrimp task", clickToViewTaskDetails: "Click to view task details", // Template Editor saving: "Saving...", saveTemplate: "Save Template", // Project Settings projectSettings: "Project Settings", settingsSaved: "Settings saved successfully", settings: "Settings", // Global Settings globalSettings: "Global Settings", claudeFolderPath: "Claude Folder Path", claudeFolderPathDesc: "If you specify your Claude folder path, you will have access to sub-agent and hook settings", claudeFolderPathPlaceholder: "e.g., ~/.config/claude", // Task messages taskSavedSuccess: "Task saved successfully", confirmDeleteTask: "Are you sure you want to delete this task?", taskDeletedSuccess: "Task deleted successfully", deleteTask: "Delete task", // Agent functionality subAgents: "Sub-Agents", agents: "Agents", agentName: "Agent Name", type: "Type", viewAgent: "View Agent", editAgent: "Edit Agent", noAgentsFound: "No agents found", agentSavedSuccess: "Agent saved successfully", aiInstruction: "AI Instruction" }, zh: { // Header appTitle: "🦐 虾米任务管理器查看器", version: "版本", releaseNotes: "发布说明", help: "帮助", language: "语言", // Navigation tabs tasks: "任务", templates: "模板", projects: "项目", // Template Management templateManagement: "🎨 模板管理", templateManagementDesc: "管理所有任务管理器功能的提示模板。编辑、复制或重置模板以自定义 AI 行为。", exportTemplates: "📤 导出模板", exportTemplatesDesc: "导出您的模板配置以与团队共享或备份以供日后使用", // Template columns function: "功能", description: "描述", status: "状态", actions: "操作", // Template statuses statusDefault: "默认", statusCustom: "自定义", statusCustomAppend: "自定义+追加", // Template actions edit: "编辑", editTemplate: "✏️ 编辑模板", preview: "预览", previewTemplate: "预览:{name}", duplicate: "复制", duplicateTemplate: "📋 复制模板", activate: "激活", activateTemplate: "🚀 激活模板", reset: "重置", resetToDefault: "重置为默认模板", // Common actions save: "保存", cancel: "取消", back: "返回", backToTemplates: "← 返回模板列表", close: "关闭", // Duplicate Template View whyDuplicate: "📚 为什么要复制模板?", duplicateExplanation: "复制模板允许您为不同的用例创建现有模板的专门版本:", createVariations: "🎯 创建变体", createVariationsDesc: "为不同上下文制作专门版本:", safeExperimentation: "🧪 安全实验", safeExperimentationDesc: "在不影响工作模板的情况下测试更改:", templateLibraries: "📂 模板库", templateLibrariesDesc: "构建相关模板的集合:", versionManagement: "💾 版本管理", versionManagementDesc: "根据不同需求保留不同版本:", // Duplicate form createDuplicate: "📝 创建副本", originalTemplate: "原始模板", newTemplateName: "新模板名称", required: "*", nameHint: "选择一个能说明此副本用途或变体的描述性名称", whatWillHappen: "📋 将会发生什么:", createNewTemplate: "创建新模板", copyContent: "复制内容", independentEditing: "独立编辑", readyToUse: "准备使用", // Export Templates exportTemplateConfigurations: "导出模板配置", exportFormat: "导出格式:", exportOnlyModified: "仅导出修改过的模板(推荐)", exportHint: "选中后,仅导出已自定义或覆盖的模板", // Activation Dialog whatIsEnvVar: "📋 什么是环境变量?", envVarExplanation: "环境变量是程序启动时可以读取的设置。MCP 服务器会检查自定义模板变量以覆盖其默认提示。通过设置 {envVar},您告诉 MCP 服务器使用您编辑的模板而不是内置模板。", whyNeedThis: "为什么需要这个?", whyNeedThisExplanation: "当 Claude 启动 MCP 服务器时,它会读取这些环境变量来自定义响应方式。如果不设置此变量,您的模板编辑将不会被使用。", howToSetVariable: "🚀 如何设置此变量", chooseCommand: "根据您的设置选择下面的适当命令。这些命令会将变量导出到您的 shell 配置文件(如 ~/.bashrc 或 ~/.zshrc),以便在 Claude 启动时可用。", // Messages loading: "加载中...", error: "错误", success: "成功", noTemplatesFound: "未找到模板", failedToLoad: "加载失败", // Pagination showing: "显示", to: "至", of: "共", page: "页", filteredFrom: "筛选自", total: "总计", // Statistics totalTemplates: "模板总数", totalNumberOfTemplates: "模板总数", numberOfDefaultTemplates: "默认模板数量", numberOfCustomTemplates: "自定义模板数量", numberOfEnvOverrideTemplates: "环境覆盖模板数量", default: "默认", custom: "自定义", envOverride: "环境覆盖", // Project management readme: "说明文档", addTab: "添加项目", history: "历史记录", viewProjectHistory: "查看项目历史记录", totalTasks: "任务总数", completed: "已完成", inProgress: "进行中", pending: "待处理", autoRefresh: "自动刷新", // History management backToTasks: "返回任务", backToHistory: "返回历史记录", projectHistory: "项目历史", dateTime: "日期/时间", taskCount: "任务数量", notes: "备注", statusSummary: "状态摘要", viewTasks: "查看任务", noHistoryFound: "未找到历史记录", noHistoryDescription: "此项目没有可用的历史任务快照", historyRowTitle: "历史条目 - 点击查看任务查看详情", historyEntries: "历史条目", tasksFrom: "任务来自", taskName: "任务名称", noDependencies: "无", created: "创建时间", noTasksFound: "未找到任务", noTasksInHistory: "此历史快照不包含任务", taskRowTitle: "来自历史快照的任务详情", // Search and UI searchTemplatesPlaceholder: "🔍 搜索模板...", searchTemplatesTitle: "按功能名称或描述搜索和筛选模板", refreshTemplateData: "刷新模板数据", searchTasksPlaceholder: "🔍 搜索任务...", searchTasksTitle: "按任何文本内容搜索和筛选任务", refreshCurrentProfile: "刷新当前项目数据 - 从文件重新加载任务", // Project management editProjectSettings: "编辑项目设置", chooseProfileTitle: "从上面的下拉菜单中选择项目", selectProfileToViewTasks: "选择项目以查看任务", noProfilesAvailable: "没有可用的项目", noProfilesClickAddTab: "没有可用的项目。点击\"添加项目\"创建一个。", loadingTasksFromFile: "从文件加载任务", loadingTasks: "加载任务中... ⏳", // Add/Edit Project forms addNewProfile: "添加新项目", profileName: "项目名称", profileNamePlaceholder: "例如,团队 Alpha 任务", profileNameTitle: "为此项目输入描述性名称", taskFolderPath: "任务文件夹路径", taskFolderPathPlaceholder: "/path/to/shrimp_data_folder", taskFolderPathTitle: "输入包含 tasks.json 的虾米数据文件夹路径", tip: "提示", navigateToFolder: "在终端中导航到您的虾米数据文件夹并", typePwd: "输入 pwd 获取完整路径", example: "示例", projectRootPath: "项目根路径", projectRootPlaceholder: "例如,/home/user/my-project", projectRootTitle: "输入项目根目录的绝对路径", projectRootHint: "这启用了在 VS Code 中打开的可点击文件链接", optional: "可选", addProfile: "添加项目", cancelAndCloseDialog: "取消并关闭对话框", addProject: "添加项目", // Edit Project specific projectRoot: "项目根目录", taskPath: "任务路径", editProfileNameTitle: "编辑项目名称", projectRootEditPlaceholder: "例如,/home/user/projects/my-project", projectRootEditTitle: "设置项目根路径以启用 VS Code 文件链接", projectRootEditHint: "设置此项以启用任务文件的可点击 VS Code 链接", taskPathPlaceholder: "/path/to/shrimp_data_folder/tasks.json", taskPathTitle: "编辑此项目的 tasks.json 文件路径", taskPathHint: "包含项目任务数据的 tasks.json 文件路径", saveChanges: "保存更改", // Toast messages with parameters profileAddedSuccess: "项目\"{name}\"添加成功!", profileRemovedSuccess: "项目\"{name}\"删除成功!", templateSavedSuccess: "模板\"{name}\"保存成功!", templateResetSuccess: "模板\"{name}\"重置为默认!", templateDuplicatedSuccess: "模板复制为\"{name}\"!", rememberToRestartClaude: "💡 记住在设置环境变量后重启 Claude Code", // Confirmation dialogs confirmRemoveProfile: "您确定要删除此项目吗?此操作无法撤消。", confirmResetTemplate: "您确定要将 {name} 重置为默认吗?这将删除任何自定义设置。", // Template activation defaultTemplateAlreadyActive: "默认模板已经激活 - 无需激活", // Duplicate Template View additional keys noTemplateSelected: "未选择模板", pleaseEnterDuplicateName: "请为复制模板输入名称", duplicateNameMustBeDifferent: "复制名称必须与原始名称不同", failedToDuplicateTemplate: "复制模板失败", backToTemplateList: "返回模板列表", creatingDuplicate: "正在创建副本...", // Task Table task: "任务", taskName: "任务名称", created: "创建时间", updated: "更新时间", dependencies: "依赖项", noTasksFound: "此项目中未找到任务", noDescriptionProvided: "未提供描述", viewTask: "查看任务", clickToCopyUuid: "点击复制 UUID 到剪贴板", copyTaskInstruction: "复制以下内容到剪贴板:使用任务管理器完成此虾米任务", useTaskManager: "使用任务管理器完成此虾米任务", clickToViewTaskDetails: "点击查看任务详情", // Template Editor saving: "保存中...", saveTemplate: "保存模板", // Project Settings projectSettings: "项目设置", settingsSaved: "设置保存成功", settings: "设置", // Global Settings globalSettings: "全局设置", claudeFolderPath: "Claude 文件夹路径", claudeFolderPathDesc: "如果您指定 Claude 文件夹路径,您将能够访问子代理和钩子设置", claudeFolderPathPlaceholder: "例如:~/.config/claude", // Task messages taskSavedSuccess: "任务保存成功", confirmDeleteTask: "您确定要删除此任务吗?", taskDeletedSuccess: "任务删除成功", deleteTask: "删除任务", // Agent functionality subAgents: "子代理", agents: "代理", agentName: "代理名称", type: "类型", viewAgent: "查看代理", editAgent: "编辑代理", noAgentsFound: "未找到代理", agentSavedSuccess: "代理保存成功", aiInstruction: "AI 指令" }, es: { // Header appTitle: "🦐 Visor del Gestor de Tareas Shrimp", version: "Versión", releaseNotes: "Notas de la versión", help: "Ayuda", language: "Idioma", // Navigation tabs tasks: "Tareas", templates: "Plantillas", projects: "Proyectos", // Template Management templateManagement: "🎨 Gestión de Plantillas", templateManagementDesc: "Gestiona las plantillas de prompts para todas las funciones del gestor de tareas. Edita, duplica o restablece plantillas para personalizar el comportamiento de la IA.", exportTemplates: "📤 Exportar Plantillas", exportTemplatesDesc: "Exporta tus configuraciones de plantillas para compartir con tu equipo o hacer copias de seguridad", // Template columns function: "Función", description: "Descripción", status: "Estado", actions: "Acciones", // Template statuses statusDefault: "Predeterminado", statusCustom: "Personalizado", statusCustomAppend: "Personalizado+Añadir", // Template actions edit: "Editar", editTemplate: "✏️ Editar Plantilla", preview: "Vista previa", previewTemplate: "Vista previa: {name}", duplicate: "Duplicar", duplicateTemplate: "📋 Duplicar Plantilla", activate: "Activar", activateTemplate: "🚀 Activar Plantilla", reset: "Restablecer", resetToDefault: "Restablecer a plantilla predeterminada", // Common actions save: "Guardar", cancel: "Cancelar", back: "Atrás", backToTemplates: "← Volver a Plantillas", close: "Cerrar", // Duplicate Template View whyDuplicate: "📚 ¿Por qué duplicar plantillas?", duplicateExplanation: "Duplicar plantillas te permite crear versiones especializadas de plantillas existentes para diferentes casos de uso:", createVariations: "🎯 Crear Variaciones", createVariationsDesc: "Crea versiones especializadas para diferentes contextos:", safeExperimentation: "🧪 Experimentación Segura", safeExperimentationDesc: "Prueba cambios sin afectar tu plantilla de trabajo:", templateLibraries: "📂 Bibliotecas de Plantillas", templateLibrariesDesc: "Construye colecciones de plantillas relacionadas:", versionManagement: "💾 Gestión de Versiones", versionManagementDesc: "Mantén diferentes versiones para diferentes necesidades:", // Duplicate form createDuplicate: "📝 Crear Duplicado", originalTemplate: "Plantilla Original", newTemplateName: "Nombre de la Nueva Plantilla", required: "*", nameHint: "Elige un nombre descriptivo que indique el propósito o variación de este duplicado", whatWillHappen: "📋 ¿Qué sucederá?", createNewTemplate: "Crear nueva plantilla", copyContent: "Copiar contenido", independentEditing: "Edición independiente", readyToUse: "Lista para usar", // Export Templates exportTemplateConfigurations: "Exportar Configuraciones de Plantillas", exportFormat: "Formato de exportación:", exportOnlyModified: "Exportar solo plantillas modificadas (recomendado)", exportHint: "Cuando está marcado, solo exporta plantillas que han sido personalizadas o sobrescritas", // Activation Dialog whatIsEnvVar: "📋 ¿Qué es una Variable de Entorno?", envVarExplanation: "Las variables de entorno son configuraciones que los programas pueden leer cuando se inician. El servidor MCP verifica las variables de plantilla personalizadas para sobrescribir sus prompts predeterminados. Al establecer {envVar}, le estás diciendo al servidor MCP que use tu plantilla editada en lugar de la incorporada.", whyNeedThis: "¿Por qué necesitamos esto?", whyNeedThisExplanation: "Cuando Claude inicia el servidor MCP, lee estas variables de entorno para personalizar cómo responde. Sin establecer esta variable, tus ediciones de plantilla no se utilizarán.", howToSetVariable: "🚀 Cómo Establecer Esta Variable", chooseCommand: "Elige el comando apropiado a continuación según tu configuración. Estos comandos exportarán la variable a tu archivo de configuración del shell (como ~/.bashrc o ~/.zshrc) para que esté disponible cuando Claude se inicie.", // Messages loading: "Cargando...", error: "Error", success: "Éxito", noTemplatesFound: "No se encontraron plantillas", failedToLoad: "Error al cargar", // Pagination showing: "Mostrando", to: "a", of: "de", page: "Página", filteredFrom: "filtrado de", total: "total", // Statistics totalTemplates: "Total de Plantillas", totalNumberOfTemplates: "Número total de plantillas", numberOfDefaultTemplates: "Número de plantillas predeterminadas", numberOfCustomTemplates: "Número de plantillas personalizadas", numberOfEnvOverrideTemplates: "Número de plantillas sobrescritas por el entorno", default: "Predeterminado", custom: "Personalizado", envOverride: "Sobrescrito por Entorno", // Project management readme: "Léeme", addTab: "Agregar Proyecto", history: "Historial", viewProjectHistory: "Ver historial del proyecto", totalTasks: "Total de Tareas", completed: "Completadas", inProgress: "En Progreso", pending: "Pendientes", autoRefresh: "Actualización automática", // History management backToTasks: "Volver a Tareas", backToHistory: "Volver al Historial", projectHistory: "Historial del Proyecto", dateTime: "Fecha/Hora", taskCount: "Cantidad de Tareas", notes: "Notas", statusSummary: "Resumen de Estado", viewTasks: "Ver Tareas", noHistoryFound: "No se Encontró Historial", noHistoryDescription: "No hay instantáneas históricas de tareas disponibles para este proyecto", historyRowTitle: "Entrada de historial - haz clic en Ver Tareas para ver detalles", historyEntries: "entradas de historial", tasksFrom: "Tareas de", taskName: "Nombre de Tarea", noDependencies: "Ninguna", created: "Creado", noTasksFound: "No se Encontraron Tareas", noTasksInHistory: "Esta instantánea histórica no contiene tareas", taskRowTitle: "Detalles de tareas de instantánea histórica", // Search and UI searchTemplatesPlaceholder: "🔍 Buscar plantillas...", searchTemplatesTitle: "Buscar y filtrar plantillas por nombre de función o descripción", refreshTemplateData: "Actualizar datos de plantillas", searchTasksPlaceholder: "🔍 Buscar tareas...", searchTasksTitle: "Buscar y filtrar tareas por cualquier contenido de texto", refreshCurrentProfile: "Actualizar datos del proyecto actual - recargar tareas desde archivo", // Project management editProjectSettings: "Editar Configuración del Proyecto", chooseProfileTitle: "Elige un proyecto del menú desplegable de arriba", selectProfileToViewTasks: "Selecciona un proyecto para ver las tareas", noProfilesAvailable: "No hay proyectos disponibles", noProfilesClickAddTab: "No hay proyectos disponibles. Haz clic en \"Agregar Proyecto\" para crear uno.", loadingTasksFromFile: "Cargando tareas desde archivo", loadingTasks: "Cargando tareas... ⏳", // Add/Edit Project forms addNewProfile: "Agregar Nuevo Proyecto", profileName: "Nombre del Proyecto", profileNamePlaceholder: "ej., Tareas del Equipo Alpha", profileNameTitle: "Ingresa un nombre descriptivo para este proyecto", taskFolderPath: "Ruta de la Carpeta de Tareas", taskFolderPathPlaceholder: "/ruta/a/carpeta_datos_shrimp", taskFolderPathTitle: "Ingresa la ruta a tu carpeta de datos shrimp que contiene tasks.json", tip: "Consejo", navigateToFolder: "Navega a tu carpeta de datos shrimp en terminal y", typePwd: "escribe pwd para obtener la ruta completa", example: "Ejemplo", projectRootPath: "Ruta Raíz del Proyecto", projectRootPlaceholder: "ej., /home/usuario/mi-proyecto", projectRootTitle: "Ingresa la ruta absoluta al directorio raíz del proyecto", projectRootHint: "Esto habilita enlaces de archivos clicables que se abren en VS Code", optional: "opcional", addProfile: "Agregar Proyecto", cancelAndCloseDialog: "Cancelar y cerrar diálogo", addProject: "Agregar Proyecto", // Edit Project specific projectRoot: "Raíz del Proyecto", taskPath: "Ruta de Tareas", editProfileNameTitle: "Editar el nombre del proyecto", projectRootEditPlaceholder: "ej., /home/usuario/proyectos/mi-proyecto", projectRootEditTitle: "Establece la ruta raíz del proyecto para habilitar enlaces de archivos VS Code", projectRootEditHint: "Establece esto para habilitar enlaces VS Code clicables para archivos de tareas", taskPathPlaceholder: "/ruta/a/carpeta_datos_shrimp/tasks.json", taskPathTitle: "Editar la ruta al archivo tasks.json para este proyecto", taskPathHint: "Ruta al archivo tasks.json que contiene los datos de tareas del proyecto", saveChanges: "Guardar Cambios", // Toast messages with parameters profileAddedSuccess: "¡Proyecto \"{name}\" agregado exitosamente!", profileRemovedSuccess: "¡Proyecto \"{name}\" eliminado exitosamente!", templateSavedSuccess: "¡Plantilla \"{name}\" guardada exitosamente!", templateResetSuccess: "¡Plantilla \"{name}\" restablecida a predeterminada!", templateDuplicatedSuccess: "¡Plantilla duplicada como \"{name}\"!", rememberToRestartClaude: "💡 Recuerda reiniciar Claude Code después de establecer variables de entorno", // Confirmation dialogs confirmRemoveProfile: "¿Estás seguro de que quieres eliminar este proyecto? Esta acción no se puede deshacer.", confirmResetTemplate: "¿Estás seguro de que quieres restablecer {name} a predeterminado? Esto eliminará cualquier personalización.", // Template activation defaultTemplateAlreadyActive: "La plantilla predeterminada ya está activa - no necesita activación", // Duplicate Template View additional keys noTemplateSelected: "Ninguna plantilla seleccionada", pleaseEnterDuplicateName: "Por favor ingresa un nombre para la plantilla duplicada", duplicateNameMustBeDifferent: "El nombre del duplicado debe ser diferente del original", failedToDuplicateTemplate: "Error al duplicar plantilla", backToTemplateList: "Volver a la lista de plantillas", creatingDuplicate: "Creando Duplicado...", // Task Table task: "TAREA", taskName: "Nombre de Tarea", created: "Creado", updated: "Actualizado", dependencies: "Dependencias", noTasksFound: "No se encontraron tareas en este proyecto", noDescriptionProvided: "No se proporcionó descripción", viewTask: "Ver tarea", clickToCopyUuid: "Haz clic para copiar UUID al portapapeles", copyTaskInstruction: "Copiar lo siguiente al portapapeles: Usa el gestor de tareas para completar esta tarea shrimp", useTaskManager: "Usa el gestor de tareas para completar esta tarea shrimp", clickToViewTaskDetails: "Haz clic para ver detalles de la tarea", // Template Editor saving: "Guardando...", saveTemplate: "Guardar Plantilla", // Project Settings projectSettings: "Configuración del Proyecto", settingsSaved: "Configuración guardada exitosamente", settings: "Configuración", // Global Settings globalSettings: "Configuración Global", claudeFolderPath: "Ruta de la Carpeta Claude", claudeFolderPathDesc: "Si especifica la ruta de su carpeta Claude, tendrá acceso a la configuración de sub-agentes y hooks", claudeFolderPathPlaceholder: "p.ej., ~/.config/claude", // Task messages taskSavedSuccess: "Tarea guardada exitosamente", confirmDeleteTask: "¿Está seguro de que desea eliminar esta tarea?", taskDeletedSuccess: "Tarea eliminada exitosamente", deleteTask: "Eliminar tarea", // Agent functionality subAgents: "Sub-Agentes", agents: "Agentes", agentName: "Nombre del Agente", type: "Tipo", viewAgent: "Ver Agente", editAgent: "Editar Agente", noAgentsFound: "No se encontraron agentes", agentSavedSuccess: "Agente guardado exitosamente", aiInstruction: "Instrucción IA" }, pt: { // Header appTitle: "🦐 Visualizador do Gerenciador de Tarefas Shrimp", version: "Versão", releaseNotes: "Notas de Lançamento", help: "Ajuda", language: "Idioma", // Navigation tabs tasks: "Tarefas", templates: "Templates", projects: "Projetos", // Template Management templateManagement: "🎨 Gerenciamento de Templates", templateManagementDesc: "Gerencie templates de prompts para todas as funções do gerenciador de tarefas. Edite, duplique ou redefina templates para personalizar o comportamento da IA.", exportTemplates: "📤 Exportar Templates", exportTemplatesDesc: "Exporte suas configurações de templates para compartilhar com sua equipe ou fazer backup para uso posterior", // Template columns function: "Função", description: "Descrição", status: "Status", actions: "Ações", // Template statuses statusDefault: "Padrão", statusCustom: "Personalizado", statusCustomAppend: "Personalizado+Anexar", // Template actions edit: "Editar", editTemplate: "✏️ Editar Template", preview: "Visualizar", previewTemplate: "Visualizar: {name}", duplicate: "Duplicar", duplicateTemplate: "📋 Duplicar Template", activate: "Ativar", activateTemplate: "🚀 Ativar Template", reset: "Redefinir", resetToDefault: "Redefinir para template padrão", // Common actions save: "Salvar", cancel: "Cancelar", back: "Voltar", backToTemplates: "← Voltar aos Templates", close: "Fechar", // Project management readme: "Leia-me", addTab: "Adicionar Projeto", history: "Histórico", viewProjectHistory: "Ver histórico do projeto", totalTasks: "Total de Tarefas", completed: "Concluídas", inProgress: "Em Progresso", pending: "Pendentes", autoRefresh: "Atualização automática", // History management backToTasks: "Voltar às Tarefas", backToHistory: "Voltar ao Histórico", projectHistory: "Histórico do Projeto", dateTime: "Data/Hora", taskCount: "Quantidade de Tarefas", notes: "Anotações", statusSummary: "Resumo do Status", viewTasks: "Ver Tarefas", noHistoryFound: "Nenhum Histórico Encontrado", noHistoryDescription: "Nenhum snapshot histórico de tarefas está disponível para este projeto", historyRowTitle: "Entrada de histórico - clique em Ver Tarefas para ver detalhes", historyEntries: "entradas de histórico", tasksFrom: "Tarefas de", taskName: "Nome da Tarefa", noDependencies: "Nenhuma", created: "Criado", noTasksFound: "Nenhuma Tarefa Encontrada", noTasksMessage: "O arquivo tasks.json ainda não foi criado. Execute shrimp nesta pasta para gerar tarefas.", noTasksInHistory: "Este snapshot histórico não contém tarefas", taskRowTitle: "Detalhes da tarefa do snapshot histórico", // Search and UI searchTemplatesPlaceholder: "🔍 Procurar templates...", searchTemplatesTitle: "Pesquisar e filtrar templates por nome de função ou descrição", refreshTemplateData: "Atualizar dados dos templates", searchTasksPlaceholder: "🔍 Procurar tarefas...", searchTasksTitle: "Pesquisar e filtrar tarefas por qualquer conteúdo de texto", refreshCurrentProfile: "Atualizar dados do projeto atual - recarregar tarefas do arquivo", // Project management editProjectSettings: "Editar Configurações do Projeto", chooseProfileTitle: "Escolha um projeto no menu suspenso acima", selectProfileToViewTasks: "Selecione um projeto para ver as tarefas", noProfilesAvailable: "Nenhum projeto disponível", noProfilesClickAddTab: "Nenhum projeto disponível. Clique em \"Adicionar Projeto\" para criar um.", loadingTasksFromFile: "Carregando tarefas do arquivo", loadingTasks: "Carregando tarefas... ⏳", // Add/Edit Project forms addNewProfile: "Adicionar Novo Projeto", profileName: "Nome do Projeto", profileNamePlaceholder: "ex., Tarefas da Equipe Alpha", profileNameTitle: "Digite um nome descritivo para este projeto", taskFolderPath: "Caminho da Pasta de Tarefas", taskFolderPathPlaceholder: "/caminho/para/pasta_dados_shrimp", taskFolderPathTitle: "Digite o caminho para sua pasta de dados shrimp contendo tasks.json", tip: "Dica", navigateToFolder: "Navegue até sua pasta de dados shrimp no terminal e", typePwd: "digite pwd para obter o caminho completo", example: "Exemplo", projectRootPath: "Caminho Raiz do Projeto", projectRootPlaceholder: "ex., /home/usuario/meu-projeto", projectRootTitle: "Digite o caminho absoluto para o diretório raiz do projeto", projectRootHint: "Isso habilita links de arquivos clicáveis que abrem no VS Code", optional: "opcional", addProfile: "Adicionar Projeto", cancelAndCloseDialog: "Cancelar e fechar este diálogo", addProject: "Adicionar Projeto", // Edit Project specific projectRoot: "Raiz do Projeto", taskPath: "Caminho da Tarefa", editProfileNameTitle: "Editar o nome do projeto", projectRootEditPlaceholder: "ex., /home/usuario/projetos/meu-projeto", projectRootEditTitle: "Definir o caminho raiz do projeto para habilitar links de arquivos do VS Code", projectRootEditHint: "Configure isso para habilitar links clicáveis do VS Code para arquivos de tarefas", taskPathPlaceholder: "/caminho/para/pasta_dados_shrimp/tasks.json", taskPathTitle: "Editar o caminho para o arquivo tasks.json para este projeto", taskPathHint: "Caminho para o arquivo tasks.json contendo os dados de tarefas do projeto", saveChanges: "Salvar Alterações", // Toast messages with parameters profileAddedSuccess: "Projeto \"{name}\" adicionado com sucesso!", profileRemovedSuccess: "Projeto \"{name}\" removido com sucesso!", templateSavedSuccess: "Template \"{name}\" salvo com sucesso!", templateResetSuccess: "Template \"{name}\" redefinido para padrão!", templateDuplicatedSuccess: "Template duplicado como \"{name}\"!", rememberToRestartClaude: "💡 Lembre-se de reiniciar o Claude Code após definir variáveis de ambiente", // Confirmation dialogs confirmRemoveProfile: "Tem certeza de que deseja remover este projeto? Esta ação não pode ser desfeita.", confirmResetTemplate: "Tem certeza de que deseja redefinir {name} para padrão? Isso removerá qualquer personalização.", // Template activation defaultTemplateAlreadyActive: "Template padrão já está ativo - não precisa de ativação", // Task Table task: "TAREFA", taskName: "Nome da Tarefa", created: "Criado", updated: "Atualizado", dependencies: "Dependências", noTasksFound: "Nenhuma tarefa encontrada neste projeto", noDescriptionProvided: "Nenhuma descrição fornecida", viewTask: "Ver tarefa", clickToCopyUuid: "Clique para copiar UUID para área de transferência", copyTaskInstruction: "Copiar o seguinte para a área de transferência: Use o gerenciador de tarefas para completar esta tarefa shrimp", useTaskManager: "Use o gerenciador de tarefas para completar esta tarefa shrimp", clickToViewTaskDetails: "Clique para ver detalhes da tarefa", // Template Editor saving: "Salvando...", saveTemplate: "Salvar Template", // Project Settings projectSettings: "Configurações do Projeto", settingsSaved: "Configurações salvas com sucesso", settings: "Configurações", // Global Settings globalSettings: "Configurações Globais", claudeFolderPath: "Caminho da Pasta Claude", claudeFolderPathDesc: "Se você especificar o caminho da sua pasta Claude, terá acesso às configurações de sub-agentes e hooks", claudeFolderPathPlaceholder: "ex., ~/.config/claude", // Task messages taskSavedSuccess: "Tarefa salva com sucesso", confirmDeleteTask: "Tem certeza de que deseja excluir esta tarefa?", taskDeletedSuccess: "Tarefa excluída com sucesso", deleteTask: "Excluir tarefa", // Agent functionality subAgents: "Sub-Agentes", agents: "Agentes", agentName: "Nome do Agente", type: "Tipo", viewAgent: "Ver Agente", editAgent: "Editar Agente", noAgentsFound: "Nenhum agente encontrado", agentSavedSuccess: "Agente salvo com sucesso", aiInstruction: "Instrução de IA", // Messages loading: "Carregando...", error: "Erro", success: "Sucesso", noTemplatesFound: "Nenhum template encontrado", failedToLoad: "Falha ao carregar", // Pagination showing: "Mostrando", to: "até", of: "de", page: "Página", filteredFrom: "filtrados de", total: "total", // Statistics totalTemplates: "Total de Templates", totalNumberOfTemplates: "Número total de templates", numberOfDefaultTemplates: "Número de templates padrão", numberOfCustomTemplates: "Número de templates personalizados", numberOfEnvOverrideTemplates: "Número de templates sobrescritos por ambiente", default: "Padrão", custom: "Personalizado", envOverride: "Sobrescrito por Ambiente" }, tr: { // Header appTitle: "🦐 Shrimp Görev Yöneticisi Görüntüleyici", version: "Sürüm", releaseNotes: "Sürüm Notları", help: "Yardım", language: "Dil", // Navigation tabs tasks: "Görevler", templates: "Şablonlar", projects: "Projeler", // Template Management templateManagement: "🎨 Şablon Yönetimi", templateManagementDesc: "Tüm görev yöneticisi işlevleri için prompt şablonlarını yönetin. AI davranışını özelleştirmek için şablonları düzenleyin, çoğaltın veya sıfırlayın.", exportTemplates: "📤 Şablonları Dışa Aktar", exportTemplatesDesc: "Ekibinizle paylaşmak veya daha sonra kullanmak üzere yedeklemek için şablon yapılandırmalarınızı dışa aktarın", // Template columns function: "İşlev", description: "Açıklama", status: "Durum", actions: "Eylemler", // Template statuses statusDefault: "Varsayılan", statusCustom: "Özel", statusCustomAppend: "Özel+Ekle", // Template actions edit: "Düzenle", editTemplate: "✏️ Şablonu Düzenle", preview: "Önizleme", previewTemplate: "Önizleme: {name}", duplicate: "Çoğalt", duplicateTemplate: "📋 Şablonu Çoğalt", activate: "Etkinleştir", activateTemplate: "🚀 Şablonu Etkinleştir", reset: "Sıfırla", resetToDefault: "Varsayılan şablona sıfırla", // Common actions save: "Kaydet", cancel: "İptal", back: "Geri", backToTemplates: "← Şablonlara Geri Dön", close: "Kapat", // Project management readme: "Beni Oku", addTab: "Proje Ekle", history: "Geçmiş", viewProjectHistory: "Proje geçmişini görüntüle", totalTasks: "Toplam Görevler", completed: "Tamamlanmış", inProgress: "Devam Eden", pending: "Bekleyen", autoRefresh: "Otomatik yenileme", // History management backToTasks: "Görevlere Geri Dön", backToHistory: "Geçmişe Geri Dön", projectHistory: "Proje Geçmişi", dateTime: "Tarih/Saat", taskCount: "Görev Sayısı", notes: "Notlar", statusSummary: "Durum Özeti", viewTasks: "Görevleri Görüntüle", noHistoryFound: "Geçmiş Bulunamadı", noHistoryDescription: "Bu proje için mevcut geçmiş görev anlık görüntüleri yok", historyRowTitle: "Geçmiş girişi - detayları görmek için Görevleri Görüntüle'ye tıklayın", historyEntries: "geçmiş girişleri", tasksFrom: "Görevler şundan:", taskName: "Görev Adı", noDependencies: "Yok", created: "Oluşturuldu", noTasksFound: "Görev Bulunamadı", noTasksMessage: "tasks.json dosyası henüz oluşturulmadı. Görevler oluşturmak için bu klasörde shrimp çalıştırın.", noTasksInHistory: "Bu geçmiş anlık görüntüsü görev içermiyor", taskRowTitle: "Geçmiş anlık görüntüsünden görev detayları", // Search and UI searchTemplatesPlaceholder: "🔍 Şablonları ara...", searchTemplatesTitle: "İşlev adı veya açıklamaya göre şablonları ara ve filtrele", refreshTemplateData: "Şablon verilerini yenile", searchTasksPlaceholder: "🔍 Görevleri ara...", searchTasksTitle: "Herhangi bir metin içeriğine göre görevleri ara ve filtrele", refreshCurrentProfile: "Mevcut proje verilerini yenile - dosyadan görevleri yeniden yükle", // Project management editProjectSettings: "Proje Ayarlarını Düzenle", chooseProfileTitle: "Yukarıdaki açılır menüden bir proje seçin", selectProfileToViewTasks: "Görevleri görüntülemek için bir proje seçin", noProfilesAvailable: "Mevcut proje yok", noProfilesClickAddTab: "Mevcut proje yok. Bir tane oluşturmak için \"Proje Ekle\"ye tıklayın.", loadingTasksFromFile: "Dosyadan görevler yükleniyor", loadingTasks: "Görevler yükleniyor... ⏳", // Add/Edit Project forms addNewProfile: "Yeni Proje Ekle", profileName: "Proje Adı", profileNamePlaceholder: "örn., Takım Alpha Görevleri", profileNameTitle: "Bu proje için açıklayıcı bir ad girin", taskFolderPath: "Görev Klasörü Yolu", taskFolderPathPlaceholder: "/yol/to/shrimp_veri_klasoru", taskFolderPathTitle: "tasks.json içeren shrimp veri klasörünüzün yolunu girin", tip: "İpucu", navigateToFolder: "Terminalde shrimp veri klasörünüze gidin ve", typePwd: "tam yolu almak için pwd yazın", example: "Örnek", projectRootPath: "Proje Kök Yolu", projectRootPlaceholder: "örn., /home/kullanici/projem", projectRootTitle: "Proje kök dizininin mutlak yolunu girin", projectRootHint: "Bu, VS Code'da açılan tıklanabilir dosya bağlantılarını etkinleştirir", optional: "isteğe bağlı", addProfile: "Proje Ekle", cancelAndCloseDialog: "İptal et ve bu diyalogu kapat", addProject: "Proje Ekle", // Edit Project specific projectRoot: "Proje Kökü", taskPath: "Görev Yolu", editProfileNameTitle: "Proje adını düzenle", projectRootEditPlaceholder: "örn., /home/kullanici/projeler/projem", projectRootEditTitle: "VS Code dosya bağlantılarını etkinleştirmek için proje kök yolunu ayarla", projectRootEditHint: "Görev dosyaları için tıklanabilir VS Code bağlantılarını etkinleştirmek için bunu ayarlayın", taskPathPlaceholder: "/yol/to/shrimp_veri_klasoru/tasks.json", taskPathTitle: "Bu proje için tasks.json dosyasının yolunu düzenle", taskPathHint: "Projenin görev verilerini içeren tasks.json dosyasının yolu", saveChanges: "Değişiklikleri Kaydet", // Toast messages with parameters profileAddedSuccess: "Proje \"{name}\" başarıyla eklendi!", profileRemovedSuccess: "Proje \"{name}\" başarıyla kaldırıldı!", templateSavedSuccess: "Şablon \"{name}\" başarıyla kaydedildi!", templateResetSuccess: "Şablon \"{name}\" varsayılana sıfırlandı!", templateDuplicatedSuccess: "Şablon \"{name}\" olarak çoğaltıldı!", rememberToRestartClaude: "💡 Çevre değişkenlerini ayarladıktan sonra Claude Code'u yeniden başlatmayı unutmayın", // Confirmation dialogs confirmRemoveProfile: "Bu projeyi kaldırmak istediğinizden emin misiniz? Bu eylem geri alınamaz.", confirmResetTemplate: "{name} şablonunu varsayılana sıfırlamak istediğinizden emin misiniz? Bu, tüm özelleştirmeleri kaldıracak.", // Template activation defaultTemplateAlreadyActive: "Varsayılan şablon zaten etkin - etkinleştirme gerekmiyor", // Task Table task: "GÖREV", taskName: "Görev Adı", created: "Oluşturuldu", updated: "Güncellendi", dependencies: "Bağımlılıklar", noTasksFound: "Bu projede görev bulunamadı", noDescriptionProvided: "Açıklama sağlanmadı", viewTask: "Görevi görüntüle", clickToCopyUuid: "UUID'yi panoya kopyalamak için tıklayın", copyTaskInstruction: "Aşağıdakini panoya kopyala: Bu shrimp görevini tamamlamak için görev yöneticisini kullan", useTaskManager: "Bu shrimp görevini tamamlamak için görev yöneticisini kullan", clickToViewTaskDetails: "Görev detaylarını görüntülemek için tıklayın", // Template Editor saving: "Kaydediliyor...", saveTemplate: "Şablonu Kaydet", // Project Settings projectSettings: "Proje Ayarları", settingsSaved: "Ayarlar başarıyla kaydedildi", settings: "Ayarlar", // Global Settings globalSettings: "Genel Ayarlar", claudeFolderPath: "Claude Klasör Yolu", claudeFolderPathDesc: "Claude klasör yolunuzu belirtirseniz, alt ajan ve hook ayarlarına erişiminiz olacak", claudeFolderPathPlaceholder: "örn., ~/.config/claude", // Task messages taskSavedSuccess: "Görev başarıyla kaydedildi", confirmDeleteTask: "Bu görevi silmek istediğinizden emin misiniz?", taskDeletedSuccess: "Görev başarıyla silindi", deleteTask: "Görevi sil", // Agent functionality subAgents: "Alt Ajanlar", agents: "Ajanlar", agentName: "Ajan Adı", type: "Tip", viewAgent: "Ajanı Görüntüle", editAgent: "Ajanı Düzenle", noAgentsFound: "Ajan bulunamadı", agentSavedSuccess: "Ajan başarıyla kaydedildi", aiInstruction: "AI Talimatı", // Messages loading: "Yükleniyor...", error: "Hata", success: "Başarılı", noTemplatesFound: "Şablon bulunamadı", failedToLoad: "Yükleme başarısız", // Pagination showing: "Gösteriliyor", to: "ile", of: "arasında", page: "Sayfa", filteredFrom: "filtrelendi", total: "toplam", // Statistics totalTemplates: "Toplam Şablonlar", totalNumberOfTemplates: "Toplam şablon sayısı", numberOfDefaultTemplates: "Varsayılan şablon sayısı", numberOfCustomTemplates: "Özel şablon sayısı", numberOfEnvOverrideTemplates: "Çevre tarafından geçersiz kılınmış şablon sayısı", default: "Varsayılan", custom: "Özel", envOverride: "Çevre Geçersiz Kılma" }, ko: { // Header appTitle: "🦐 새우 작업 관리자 뷰어", version: "버전", releaseNotes: "릴리스 노트", help: "도움말", language: "언어", // Navigation tabs tasks: "작업", templates: "템플릿", projects: "프로젝트", // Template Management templateManagement: "🎨 템플릿 관리", templateManagementDesc: "모든 작업 관리자 기능에 대한 프롬프트 템플릿을 관리합니다. 템플릿을 편집, 복제 또는 재설정하여 AI 동작을 사용자 정의하세요.", exportTemplates: "📤 템플릿 내보내기", exportTemplatesDesc: "팀과 공유하거나 나중에 사용하기 위해 백업할 템플릿 구성을 내보냅니다", // Template columns function: "기능", description: "설명", status: "상태", actions: "작업", // Template statuses statusDefault: "기본", statusCustom: "사용자 정의", statusCustomAppend: "사용자 정의+추가", // Template actions edit: "편집", editTemplate: "✏️ 템플릿 편집", preview: "미리보기", previewTemplate: "미리보기: {name}", duplicate: "복제", duplicateTemplate: "📋 템플릿 복제", activate: "활성화", activateTemplate: "🚀 템플릿 활성화", reset: "재설정", resetToDefault: "기본 템플릿으로 재설정", // Common actions save: "저장", cancel: "취소", back: "뒤로", backToTemplates: "← 템플릿으로 돌아가기", close: "닫기", // Common UI elements loading: "로딩 중...", error: "오류", success: "성공", warning: "경고", info: "정보", // Profile Management profileManagement: "🔧 프로필 관리", profileManagementDesc: "작업 파일 프로필을 관리합니다. 새 프로필을 생성하거나 기존 프로필을 편집하세요.", taskFolderPath: "작업 폴더 경로", taskFolderPathPlaceholder: "작업 파일이 포함된 폴더 경로 입력", profileName: "프로필 이름", profileNamePlaceholder: "프로필 이름 입력", projectRootPath: "프로젝트 루트 경로", projectRootPathPlaceholder: "프로젝트 루트 경로 입력 (선택사항)", addProfile: "프로필 추가", editProfile: "프로필 편집", deleteProfile: "프로필 삭제", // Task Table taskNumber: "작업 번호", taskName: "작업 이름", taskStatus: "상태", dependencies: "의존성", assignedAgent: "할당된 에이전트", // Task statuses pending: "대기 중", inProgress: "진행 중", completed: "완료됨", // Task actions viewDetails: "세부정보 보기", editTask: "작업 편집", copyUUID: "UUID 복사", copyAIInstruction: "AI 지시 복사", // Bulk operations bulkOperations: "일괄 작업", selectAll: "모두 선택", deselectAll: "모두 선택 해제", bulkAssignAgent: "에이전트 일괄 할당", bulkDelete: "일괄 삭제", // Task Detail View taskDetails: "작업 세부정보", relatedFiles: "관련 파일", verificationCriteria: "검증 기준", implementationGuide: "구현 가이드", notes: "메모", // Agent Management agentManagement: "🤖 에이전트 관리", agentManagementDesc: "AI 에이전트를 관리하고 작업에 할당합니다.", availableAgents: "사용 가능한 에이전트", assignAgent: "에이전트 할당", unassignAgent: "에이전트 할당 해제", agentInstructions: "에이전트 지시사항", // Project History projectHistory: "📊 프로젝트 기록", projectHistoryDesc: "프로젝트 작업 기록과 통계를 확인합니다.", historyEntries: "기록 항목", commitHistory: "커밋 기록", // Global Settings globalSettings: "⚙️ 전역 설정", globalSettingsDesc: "애플리케이션 전역 설정을 구성합니다.", settings: "설정", readme: "읽어보기", subAgents: "서브 에이전트", projectSettings: "프로젝트 설정", editProjectSettings: "프로젝트 설정 편집", settingsSaved: "설정이 성공적으로 저장되었습니다", openaiApiKey: "OpenAI API 키", openaiApiKeyPlaceholder: "OpenAI API 키 입력", // Notifications profileCreatedSuccess: "프로필이 성공적으로 생성되었습니다", profileUpdatedSuccess: "프로필이 성공적으로 업데이트되었습니다", profileDeletedSuccess: "프로필이 성공적으로 삭제되었습니다", taskUpdatedSuccess: "작업이 성공적으로 업데이트되었습니다", settingsSavedSuccess: "설정이 성공적으로 저장되었습니다", copiedToClipboard: "클립보드에 복사되었습니다", // Empty states noTasksFound: "작업을 찾을 수 없습니다", noProfilesFound: "프로필을 찾을 수 없습니다", noTemplatesFound: "템플릿을 찾을 수 없습니다", noHistoryFound: "기록을 찾을 수 없습니다", // File operations selectFolder: "폴더 선택", browseFolder: "폴더 찾아보기", invalidPath: "잘못된 경로입니다", pathNotFound: "경로를 찾을 수 없습니다", // Search and filters search: "검색", searchPlaceholder: "검색...", filter: "필터", filterByStatus: "상태별 필터", filterByAgent: "에이전트별 필터", // Pagination page: "페이지", of: "의", itemsPerPage: "페이지당 항목", showingItems: "{start}-{end} 항목 표시 (총 {total}개)", // Statistics totalTasks: "총 작업", completedTasks: "완료된 작업", pendingTasks: "대기 중 작업", inProgressTasks: "진행 중 작업", // Agent related viewAgent: "에이전트 보기", editAgent: "에이전트 편집", noAgentsFound: "에이전트를 찾을 수 없습니다", agentSavedSuccess: "에이전트가 성공적으로 저장되었습니다", aiInstruction: "AI 지시사항" }, ja: { // Header appTitle: "🦐 シュリンプタスクマネージャービューア", version: "バージョン", releaseNotes: "リリースノート", help: "ヘルプ", language: "言語", // Navigation tabs tasks: "タスク", templates: "テンプレート", projects: "プロジェクト", // Template Management templateManagement: "🎨 テンプレート管理", templateManagementDesc: "すべてのタスクマネージャー機能のプロンプトテンプレートを管理します。テンプレートを編集、複製、またはリセットしてAIの動作をカスタマイズします。", exportTemplates: "📤 テンプレートエクスポート", exportTemplatesDesc: "チームと共有したり、後で使用するためにバックアップするテンプレート設定をエクスポートします", // Template columns function: "機能", description: "説明", status: "ステータス", actions: "操作", // Template statuses statusDefault: "デフォルト", statusCustom: "カスタム", statusCustomAppend: "カスタム+追加", // Template actions edit: "編集", editTemplate: "✏️ テンプレート編集", preview: "プレビュー", previewTemplate: "プレビュー: {name}", duplicate: "複製", duplicateTemplate: "📋 テンプレート複製", activate: "アクティベート", activateTemplate: "🚀 テンプレートアクティベート", reset: "リセット", resetToDefault: "デフォルトテンプレートにリセット", // Common actions save: "保存", cancel: "キャンセル", back: "戻る", backToTemplates: "← テンプレートに戻る", close: "閉じる", // Common UI elements loading: "読み込み中...", error: "エラー", success: "成功", warning: "警告", info: "情報", // Profile Management profileManagement: "🔧 プロファイル管理", profileManagementDesc: "タスクファイルプロファイルを管理します。新しいプロファイルを作成するか、既存のプロファイルを編集します。", taskFolderPath: "タスクフォルダパス", taskFolderPathPlaceholder: "タスクファイルを含むフォルダパスを入力", profileName: "プロファイル名", profileNamePlaceholder: "プロファイル名を入力", projectRootPath: "プロジェクトルートパス", projectRootPathPlaceholder: "プロジェクトルートパスを入力(オプション)", addProfile: "プロファイル追加", editProfile: "プロファイル編集", deleteProfile: "プロファイル削除", // Task Table taskNumber: "タスク番号", taskName: "タスク名", taskStatus: "ステータス", dependencies: "依存関係", assignedAgent: "割り当てられたエージェント", // Task statuses pending: "保留中", inProgress: "進行中", completed: "完了", // Task actions viewDetails: "詳細表示", editTask: "タスク編集", copyUUID: "UUID をコピー", copyAIInstruction: "AI指示をコピー", // Bulk operations bulkOperations: "一括操作", selectAll: "すべて選択", deselectAll: "すべて選択解除", bulkAssignAgent: "エージェント一括割り当て", bulkDelete: "一括削除", // Task Detail View taskDetails: "タスク詳細", relatedFiles: "関連ファイル", verificationCriteria: "検証基準", implementationGuide: "実装ガイド", notes: "メモ", // Agent Management agentManagement: "🤖 エージェント管理", agentManagementDesc: "AIエージェントを管理し、タスクに割り当てます。", availableAgents: "利用可能なエージェント", assignAgent: "エージェント割り当て", unassignAgent: "エージェント割り当て解除", agentInstructions: "エージェント指示", // Project History projectHistory: "📊 プロジェクト履歴", projectHistoryDesc: "プロジェクトタスク履歴と統計を確認します。", historyEntries: "履歴エントリ", commitHistory: "コミット履歴", // Global Settings globalSettings: "⚙️ グローバル設定", globalSettingsDesc: "アプリケーションのグローバル設定を構成します。", settings: "設定", readme: "リードミー", subAgents: "サブエージェント", projectSettings: "プロジェクト設定", editProjectSettings: "プロジェクト設定を編集", settingsSaved: "設定が正常に保存されました", openaiApiKey: "OpenAI APIキー", openaiApiKeyPlaceholder: "OpenAI APIキーを入力", // Notifications profileCreatedSuccess: "プロファイルが正常に作成されました", profileUpdatedSuccess: "プロファイルが正常に更新されました", profileDeletedSuccess: "プロファイルが正常に削除されました", taskUpdatedSuccess: "タスクが正常に更新されました", settingsSavedSuccess: "設定が正常に保存されました", copiedToClipboard: "クリップボードにコピーされました", // Empty states noTasksFound: "タスクが見つかりません", noProfilesFound: "プロファイルが見つかりません", noTemplatesFound: "テンプレートが見つかりません", noHistoryFound: "履歴が見つかりません", // File operations selectFolder: "フォルダ選択", browseFolder: "フォルダを参照", invalidPath: "無効なパスです", pathNotFound: "パスが見つかりません", // Search and filters search: "検索", searchPlaceholder: "検索...", filter: "フィルター", filterByStatus: "ステータス別フィルター", filterByAgent: "エージェント別フィルター", // Pagination page: "ページ", of: "の", itemsPerPage: "ページあたりのアイテム", showingItems: "{start}-{end}項目を表示中(合計{total}件)", // Statistics totalTasks: "総タスク数", completedTasks: "完了タスク", pendingTasks: "保留中タスク", inProgressTasks: "進行中タスク", // Agent related viewAgent: "エージェント表示", editAgent: "エージェント編集", noAgentsFound: "エージェントが見つかりません", agentSavedSuccess: "エージェントが正常に保存されました", aiInstruction: "AI指示" }, // Thai th: { projects: "โครงการ", releaseNotes: "บันทึกการเผยแพร่", readme: "อ่านเพิ่มเติม", templates: "เทมเพลต", subAgents: "ตัวแทนย่อย", settings: "การตั้งค่า" }, // Vietnamese vi: { projects: "Dự án", releaseNotes: "Ghi chú phát hành", readme: "Tài liệu", templates: "Mẫu", subAgents: "Tác nhân phụ", settings: "Cài đặt" }, // Hindi hi: { projects: "परियोजनाएं", releaseNotes: "रिलीज़ नोट्स", readme: "रीडमी", templates: "टेम्प्लेट", subAgents: "उप-एजेंट", settings: "सेटिंग्स" }, // Italian it: { projects: "Progetti", releaseNotes: "Note di rilascio", readme: "Leggimi", templates: "Modelli", subAgents: "Sotto-agenti", settings: "Impostazioni" }, // French fr: { projects: "Projets", releaseNotes: "Notes de version", readme: "Lisez-moi", templates: "Modèles", subAgents: "Sous-agents", settings: "Paramètres" }, // German de: { projects: "Projekte", releaseNotes: "Versionshinweise", readme: "Liesmich", templates: "Vorlagen", subAgents: "Unter-Agenten", settings: "Einstellungen" }, // Russian ru: { projects: "Проекты", releaseNotes: "Примечания к выпуску", readme: "Прочитай меня", templates: "Шаблоны", subAgents: "Суб-агенты", settings: "Настройки" } }; export const getTranslation = (lang, key, params = {}) => { // Default to 'en' if lang is null, undefined, or not a valid language const safeLang = lang && translations[lang] ? lang : 'en'; const keys = key.split('.'); let value = translations[safeLang]; for (const k of keys) { value = value?.[k]; } if (!value) { console.warn(`Translation missing for key: ${key}`); return key; } // Replace parameters like {name} with actual values let result = value; Object.entries(params).forEach(([param, val]) => { result = result.replace(`{${param}}`, val); }); return result; };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cjo4m06/mcp-shrimp-task-manager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server