Multi-run with configurable prompt templates (#1111)

* Multi-run with configurable prompt templates

* Fixes

* Fix handleDuplicate fire-and-forget: await createTemplate and handle failure

* Add Polish translations for prompt template and multirun group keys

* fix: migrate remaining Remix icons to Icon component in MultiRunLauncher

---------

Signed-off-by: Tom Rochette <roctom@gmail.com>
This commit is contained in:
Tom Rochette
2026-05-21 16:35:42 +03:00
committed by GitHub
parent 8dac0f73c0
commit 6cc1afc963
29 changed files with 1590 additions and 564 deletions
@@ -44,6 +44,39 @@ export const settingsDict = {
'settings.page.notifications.title': 'Notifications',
'settings.page.voice.title': 'Voice',
'settings.page.tunnel.title': 'Remote Tunnel',
'settings.page.promptTemplates.title': 'Prompt Templates',
'settings.promptTemplates.sidebar.title': 'Prompt Templates',
'settings.promptTemplates.sidebar.total': 'Total: {count}',
'settings.promptTemplates.sidebar.empty.title': 'No prompt templates',
'settings.promptTemplates.sidebar.empty.description': 'Create a prompt template to get started.',
'settings.promptTemplates.sidebar.toast.deleted': 'Template "{name}" deleted',
'settings.promptTemplates.sidebar.toast.deleteFailed': 'Failed to delete template',
'settings.promptTemplates.sidebar.toast.nameRequired': 'Template name is required',
'settings.promptTemplates.sidebar.toast.renamed': 'Template renamed',
'settings.promptTemplates.sidebar.toast.renameFailed': 'Failed to rename template',
'settings.promptTemplates.sidebar.dialog.deleteTitle': 'Delete template?',
'settings.promptTemplates.sidebar.dialog.deleteDescription': 'This will permanently delete "{name}". This action cannot be undone.',
'settings.promptTemplates.sidebar.renameDialog.title': 'Rename template',
'settings.promptTemplates.sidebar.renameDialog.description': 'Enter a new name for "{name}".',
'settings.promptTemplates.sidebar.renameDialog.placeholder': 'Template name',
'settings.promptTemplates.sidebar.badge.default': 'default',
'settings.promptTemplates.page.empty.title': 'Select a template',
'settings.promptTemplates.page.empty.description': 'Choose a template from the sidebar to edit it.',
'settings.promptTemplates.page.title.new': 'New template',
'settings.promptTemplates.page.subtitle.edit': 'Edit template',
'settings.promptTemplates.page.subtitle.new': 'Create a new prompt template',
'settings.promptTemplates.page.section.identity': 'Identity',
'settings.promptTemplates.page.field.name': 'Name',
'settings.promptTemplates.page.field.namePlaceholder': 'Template name',
'settings.promptTemplates.page.section.template': 'Template',
'settings.promptTemplates.page.field.templatePlaceholder': 'Enter the prompt template text...',
'settings.promptTemplates.page.templateHint': 'This text will be prepended to the user\'s prompt when selected in a multi-run group.',
'settings.promptTemplates.page.toast.nameRequired': 'Template name is required',
'settings.promptTemplates.page.toast.updated': 'Template updated',
'settings.promptTemplates.page.toast.updateFailed': 'Failed to update template',
'settings.promptTemplates.page.toast.created': 'Template created',
'settings.promptTemplates.page.toast.createFailed': 'Failed to create template',
'settings.promptTemplates.page.toast.saveUnexpectedError': 'An unexpected error occurred while saving',
'settings.openchamber.tunnel.title': 'Remote Tunnel',
'settings.openchamber.tunnel.description': 'Configure secure remote access with quick links or your own managed remote Cloudflare tunnel.',
'settings.openchamber.tunnel.note.serverSideEnforced': 'Secure tunnel access is enforced server-side.',
+10
View File
@@ -191,6 +191,16 @@ export const dict = {
'multirun.fusion.actions.starting': 'Starting...',
'multirun.fusion.toast.noOutputs': 'No assistant outputs found to fuse.',
'multirun.fusion.toast.failed': 'Failed to start fusion.',
'multirun.launcher.attachments.label': 'Files',
'multirun.launcher.actions.startWithRunCount': 'Start ({count} runs)',
'multirun.launcher.groups.addGroup': 'Add run group',
'multirun.launcher.groups.removeGroup': 'Remove group',
'multirun.launcher.groups.groupLabel': 'Run group {index}',
'multirun.launcher.groups.template.label': 'Template',
'multirun.launcher.groups.template.placeholder': 'Select a template...',
'multirun.launcher.groups.template.custom': 'Custom prompt',
'multirun.launcher.groups.prompt.label': 'Prompt',
'multirun.launcher.groups.prompt.placeholder': 'Enter the prompt for this group...',
'sessions.sidebar.header.actions.searchSessions': 'Search sessions',
'sessions.sidebar.header.actions.exitSelection': 'Exit selection',
'sessions.sidebar.header.actions.selectSessions': 'Select sessions',
@@ -1570,4 +1570,37 @@ export const settingsDict = {
"settings.magicPrompts.page.toast.resetFailed": "No se pudo restablecer el prompt",
"settings.magicPrompts.page.toast.resetAllSuccess": "Se restablecieron todos los prompts sobrescritos",
"settings.magicPrompts.page.toast.resetAllFailed": "No se pudieron restablecer todos los prompts",
"settings.page.promptTemplates.title": "Plantillas de prompt",
"settings.promptTemplates.sidebar.title": "Plantillas de prompt",
"settings.promptTemplates.sidebar.total": "Total: {count}",
"settings.promptTemplates.sidebar.empty.title": "Sin plantillas de prompt",
"settings.promptTemplates.sidebar.empty.description": "Crea una plantilla de prompt para comenzar.",
"settings.promptTemplates.sidebar.toast.deleted": 'Plantilla "{name}" eliminada',
"settings.promptTemplates.sidebar.toast.deleteFailed": "Error al eliminar la plantilla",
"settings.promptTemplates.sidebar.toast.nameRequired": "El nombre de la plantilla es obligatorio",
"settings.promptTemplates.sidebar.toast.renamed": "Plantilla renombrada",
"settings.promptTemplates.sidebar.toast.renameFailed": "Error al renombrar la plantilla",
"settings.promptTemplates.sidebar.dialog.deleteTitle": "¿Eliminar plantilla?",
"settings.promptTemplates.sidebar.dialog.deleteDescription": 'Se eliminará permanentemente "{name}". Esta acción no se puede deshacer.',
"settings.promptTemplates.sidebar.renameDialog.title": "Renombrar plantilla",
"settings.promptTemplates.sidebar.renameDialog.description": 'Introduce un nuevo nombre para "{name}".',
"settings.promptTemplates.sidebar.renameDialog.placeholder": "Nombre de la plantilla",
"settings.promptTemplates.sidebar.badge.default": "predeterminada",
"settings.promptTemplates.page.empty.title": "Selecciona una plantilla",
"settings.promptTemplates.page.empty.description": "Elige una plantilla de la barra lateral para editarla.",
"settings.promptTemplates.page.title.new": "Nueva plantilla",
"settings.promptTemplates.page.subtitle.edit": "Editar plantilla",
"settings.promptTemplates.page.subtitle.new": "Crear una nueva plantilla de prompt",
"settings.promptTemplates.page.section.identity": "Identidad",
"settings.promptTemplates.page.field.name": "Nombre",
"settings.promptTemplates.page.field.namePlaceholder": "Nombre de la plantilla",
"settings.promptTemplates.page.section.template": "Plantilla",
"settings.promptTemplates.page.field.templatePlaceholder": "Introduce el texto de la plantilla de prompt...",
"settings.promptTemplates.page.templateHint": "Este texto se antepondrá al prompt del usuario cuando se seleccione en un grupo multi-run.",
"settings.promptTemplates.page.toast.nameRequired": "El nombre de la plantilla es obligatorio",
"settings.promptTemplates.page.toast.updated": "Plantilla actualizada",
"settings.promptTemplates.page.toast.updateFailed": "Error al actualizar la plantilla",
"settings.promptTemplates.page.toast.created": "Plantilla creada",
"settings.promptTemplates.page.toast.createFailed": "Error al crear la plantilla",
"settings.promptTemplates.page.toast.saveUnexpectedError": "Ocurrió un error inesperado al guardar",
} as const;
+10
View File
@@ -192,6 +192,16 @@ export const dict: Record<I18nKey, string> = {
"multirun.fusion.actions.starting": "Iniciando...",
"multirun.fusion.toast.noOutputs": "No se encontraron respuestas del asistente para fusionar.",
"multirun.fusion.toast.failed": "No se pudo iniciar fusion.",
"multirun.launcher.attachments.label": "Archivos",
"multirun.launcher.actions.startWithRunCount": "Iniciar ({count} ejecuciones)",
"multirun.launcher.groups.addGroup": "Añadir grupo de ejecución",
"multirun.launcher.groups.removeGroup": "Eliminar grupo",
"multirun.launcher.groups.groupLabel": "Grupo de ejecución {index}",
"multirun.launcher.groups.template.label": "Plantilla",
"multirun.launcher.groups.template.placeholder": "Selecciona una plantilla...",
"multirun.launcher.groups.template.custom": "Prompt personalizado",
"multirun.launcher.groups.prompt.label": "Prompt",
"multirun.launcher.groups.prompt.placeholder": "Introduce el prompt para este grupo...",
"sessions.sidebar.header.actions.searchSessions": "Buscar sesiones",
"sessions.sidebar.header.actions.exitSelection": "Salir de selección",
"sessions.sidebar.header.actions.selectSessions": "Seleccionar sesiones",
@@ -1570,4 +1570,37 @@ export const settingsDict = {
'settings.magicPrompts.page.toast.resetFailed': '프롬프트를 초기화하지 못했습니다',
'settings.magicPrompts.page.toast.resetAllSuccess': '모든 프롬프트 오버라이드가 초기화되었습니다',
'settings.magicPrompts.page.toast.resetAllFailed': '모든 프롬프트를 초기화하지 못했습니다',
'settings.page.promptTemplates.title': '프롬프트 템플릿',
'settings.promptTemplates.sidebar.title': '프롬프트 템플릿',
'settings.promptTemplates.sidebar.total': '총 {count}개',
'settings.promptTemplates.sidebar.empty.title': '프롬프트 템플릿 없음',
'settings.promptTemplates.sidebar.empty.description': '프롬프트 템플릿을 만들어 보세요.',
'settings.promptTemplates.sidebar.toast.deleted': '템플릿 "{name}"이(가) 삭제되었습니다',
'settings.promptTemplates.sidebar.toast.deleteFailed': '템플릿 삭제 실패',
'settings.promptTemplates.sidebar.toast.nameRequired': '템플릿 이름은 필수입니다',
'settings.promptTemplates.sidebar.toast.renamed': '템플릿 이름이 변경되었습니다',
'settings.promptTemplates.sidebar.toast.renameFailed': '템플릿 이름 변경 실패',
'settings.promptTemplates.sidebar.dialog.deleteTitle': '템플릿을 삭제하시겠습니까?',
'settings.promptTemplates.sidebar.dialog.deleteDescription': '"{name}"이(가) 영구적으로 삭제됩니다. 이 작업은 취소할 수 없습니다.',
'settings.promptTemplates.sidebar.renameDialog.title': '템플릿 이름 변경',
'settings.promptTemplates.sidebar.renameDialog.description': '"{name}"의 새 이름을 입력하세요.',
'settings.promptTemplates.sidebar.renameDialog.placeholder': '템플릿 이름',
'settings.promptTemplates.sidebar.badge.default': '기본',
'settings.promptTemplates.page.empty.title': '템플릿을 선택하세요',
'settings.promptTemplates.page.empty.description': '사이드바에서 템플릿을 선택하여 편집하세요.',
'settings.promptTemplates.page.title.new': '새 템플릿',
'settings.promptTemplates.page.subtitle.edit': '템플릿 편집',
'settings.promptTemplates.page.subtitle.new': '새 프롬프트 템플릿 만들기',
'settings.promptTemplates.page.section.identity': '식별 정보',
'settings.promptTemplates.page.field.name': '이름',
'settings.promptTemplates.page.field.namePlaceholder': '템플릿 이름',
'settings.promptTemplates.page.section.template': '템플릿',
'settings.promptTemplates.page.field.templatePlaceholder': '프롬프트 템플릿 텍스트를 입력하세요...',
'settings.promptTemplates.page.templateHint': '멀티런 그룹에서 선택하면 이 텍스트가 사용자 프롬프트 앞에 추가됩니다.',
'settings.promptTemplates.page.toast.nameRequired': '템플릿 이름은 필수입니다',
'settings.promptTemplates.page.toast.updated': '템플릿이 업데이트되었습니다',
'settings.promptTemplates.page.toast.updateFailed': '템플릿 업데이트 실패',
'settings.promptTemplates.page.toast.created': '템플릿이 생성되었습니다',
'settings.promptTemplates.page.toast.createFailed': '템플릿 생성 실패',
'settings.promptTemplates.page.toast.saveUnexpectedError': '저장 중 예기치 않은 오류가 발생했습니다',
} as const;
+10
View File
@@ -192,6 +192,16 @@ export const dict: Record<I18nKey, string> = {
'multirun.fusion.actions.starting': '시작 중...',
'multirun.fusion.toast.noOutputs': 'fusion할 어시스턴트 응답을 찾지 못했습니다.',
'multirun.fusion.toast.failed': 'fusion을 시작하지 못했습니다.',
'multirun.launcher.attachments.label': '파일',
'multirun.launcher.actions.startWithRunCount': '시작 ({count}개 실행)',
'multirun.launcher.groups.addGroup': '실행 그룹 추가',
'multirun.launcher.groups.removeGroup': '그룹 제거',
'multirun.launcher.groups.groupLabel': '실행 그룹 {index}',
'multirun.launcher.groups.template.label': '템플릿',
'multirun.launcher.groups.template.placeholder': '템플릿 선택...',
'multirun.launcher.groups.template.custom': '사용자 지정 프롬프트',
'multirun.launcher.groups.prompt.label': '프롬프트',
'multirun.launcher.groups.prompt.placeholder': '이 그룹의 프롬프트를 입력하세요...',
'sessions.sidebar.header.actions.searchSessions': '세션 검색',
'sessions.sidebar.header.actions.exitSelection': '선택 종료',
'sessions.sidebar.header.actions.selectSessions': '세션 선택',
@@ -963,6 +963,39 @@ export const settingsDict = {
'settings.page.skills.title': 'Umiejętności',
'settings.page.skillsCatalog.title': 'Katalog umiejętności',
'settings.page.tunnel.title': 'Zdalny Tunel',
'settings.page.promptTemplates.title': 'Szablony promptów',
'settings.promptTemplates.sidebar.title': 'Szablony promptów',
'settings.promptTemplates.sidebar.total': 'Suma: {count}',
'settings.promptTemplates.sidebar.empty.title': 'Brak szablonów promptów',
'settings.promptTemplates.sidebar.empty.description': 'Utwórz szablon promptu, aby rozpocząć.',
'settings.promptTemplates.sidebar.toast.deleted': 'Szablon "{name}" usunięty',
'settings.promptTemplates.sidebar.toast.deleteFailed': 'Nie udało się usunąć szablonu',
'settings.promptTemplates.sidebar.toast.nameRequired': 'Nazwa szablonu jest wymagana',
'settings.promptTemplates.sidebar.toast.renamed': 'Szablon zmienił nazwę',
'settings.promptTemplates.sidebar.toast.renameFailed': 'Nie udało się zmienić nazwy szablonu',
'settings.promptTemplates.sidebar.dialog.deleteTitle': 'Usunąć szablon?',
'settings.promptTemplates.sidebar.dialog.deleteDescription': 'To trwale usunie "{name}". Tej operacji nie można cofnąć.',
'settings.promptTemplates.sidebar.renameDialog.title': 'Zmień nazwę szablonu',
'settings.promptTemplates.sidebar.renameDialog.description': 'Wpisz nową nazwę dla "{name}".',
'settings.promptTemplates.sidebar.renameDialog.placeholder': 'Nazwa szablonu',
'settings.promptTemplates.sidebar.badge.default': 'domyślny',
'settings.promptTemplates.page.empty.title': 'Wybierz szablon',
'settings.promptTemplates.page.empty.description': 'Wybierz szablon z paska bocznego, aby go edytować.',
'settings.promptTemplates.page.title.new': 'Nowy szablon',
'settings.promptTemplates.page.subtitle.edit': 'Edytuj szablon',
'settings.promptTemplates.page.subtitle.new': 'Utwórz nowy szablon promptu',
'settings.promptTemplates.page.section.identity': 'Tożsamość',
'settings.promptTemplates.page.field.name': 'Nazwa',
'settings.promptTemplates.page.field.namePlaceholder': 'Nazwa szablonu',
'settings.promptTemplates.page.section.template': 'Szablon',
'settings.promptTemplates.page.field.templatePlaceholder': 'Wpisz tekst szablonu promptu...',
'settings.promptTemplates.page.templateHint': 'Ten tekst zostanie dodany przed promptem użytkownika po wybraniu w grupie wielokrotnego uruchomienia.',
'settings.promptTemplates.page.toast.nameRequired': 'Nazwa szablonu jest wymagana',
'settings.promptTemplates.page.toast.updated': 'Szablon zaktualizowany',
'settings.promptTemplates.page.toast.updateFailed': 'Nie udało się zaktualizować szablonu',
'settings.promptTemplates.page.toast.created': 'Szablon utworzony',
'settings.promptTemplates.page.toast.createFailed': 'Nie udało się utworzyć szablonu',
'settings.promptTemplates.page.toast.saveUnexpectedError': 'Wystąpił nieoczekiwany błąd podczas zapisywania',
'settings.page.usage.title': 'Użycie',
'settings.page.voice.title': 'Głos',
'settings.projects.actions.actions.add': 'Dodaj akcję',
+10
View File
@@ -262,6 +262,16 @@ export const dict: Record<I18nKey, string> = {
'multirun.modelMultiSelect.validation.minOnly': 'Wybierz przynajmniej {min} modele.',
'multirun.modelMultiSelect.validation.minToMax': 'Wybierz od {min} do {max} modeli.',
'multirun.agentSelector.placeholder': 'Wybierz agenta',
'multirun.launcher.attachments.label': 'Pliki',
'multirun.launcher.actions.startWithRunCount': 'Uruchom ({count} uruchomień)',
'multirun.launcher.groups.addGroup': 'Dodaj grupę uruchomień',
'multirun.launcher.groups.removeGroup': 'Usuń grupę',
'multirun.launcher.groups.groupLabel': 'Grupa uruchomień {index}',
'multirun.launcher.groups.template.label': 'Szablon',
'multirun.launcher.groups.template.placeholder': 'Wybierz szablon...',
'multirun.launcher.groups.template.custom': 'Niestandardowy prompt',
'multirun.launcher.groups.prompt.label': 'Prompt',
'multirun.launcher.groups.prompt.placeholder': 'Wpisz prompt dla tej grupy...',
'multirun.fusion.title': 'Uruchom fusion',
'multirun.fusion.description': 'Połącz wybrane wyniki multi-run w jedną mocniejszą odpowiedź.',
'multirun.fusion.provider.placeholder': 'Provider',
@@ -1570,4 +1570,37 @@ export const settingsDict = {
"settings.magicPrompts.page.toast.resetFailed": "Não foi possível redefinir o prompt",
"settings.magicPrompts.page.toast.resetAllSuccess": "Todos os prompts sobrescritos foram redefinidos",
"settings.magicPrompts.page.toast.resetAllFailed": "Não foi possível redefinir todos os prompts",
"settings.page.promptTemplates.title": "Templates de Prompt",
"settings.promptTemplates.sidebar.title": "Templates de Prompt",
"settings.promptTemplates.sidebar.total": "Total: {count}",
"settings.promptTemplates.sidebar.empty.title": "Nenhum template de prompt",
"settings.promptTemplates.sidebar.empty.description": "Crie um template de prompt para começar.",
"settings.promptTemplates.sidebar.toast.deleted": 'Template "{name}" excluído',
"settings.promptTemplates.sidebar.toast.deleteFailed": "Falha ao excluir template",
"settings.promptTemplates.sidebar.toast.nameRequired": "O nome do template é obrigatório",
"settings.promptTemplates.sidebar.toast.renamed": "Template renomeado",
"settings.promptTemplates.sidebar.toast.renameFailed": "Falha ao renomear template",
"settings.promptTemplates.sidebar.dialog.deleteTitle": "Excluir template?",
"settings.promptTemplates.sidebar.dialog.deleteDescription": 'Isso excluirá permanentemente "{name}". Esta ação não pode ser desfeita.',
"settings.promptTemplates.sidebar.renameDialog.title": "Renomear template",
"settings.promptTemplates.sidebar.renameDialog.description": 'Digite um novo nome para "{name}".',
"settings.promptTemplates.sidebar.renameDialog.placeholder": "Nome do template",
"settings.promptTemplates.sidebar.badge.default": "padrão",
"settings.promptTemplates.page.empty.title": "Selecione um template",
"settings.promptTemplates.page.empty.description": "Escolha um template na barra lateral para editá-lo.",
"settings.promptTemplates.page.title.new": "Novo template",
"settings.promptTemplates.page.subtitle.edit": "Editar template",
"settings.promptTemplates.page.subtitle.new": "Criar um novo template de prompt",
"settings.promptTemplates.page.section.identity": "Identidade",
"settings.promptTemplates.page.field.name": "Nome",
"settings.promptTemplates.page.field.namePlaceholder": "Nome do template",
"settings.promptTemplates.page.section.template": "Template",
"settings.promptTemplates.page.field.templatePlaceholder": "Digite o texto do template de prompt...",
"settings.promptTemplates.page.templateHint": "Este texto será adicionado antes do prompt do usuário quando selecionado em um grupo multi-run.",
"settings.promptTemplates.page.toast.nameRequired": "O nome do template é obrigatório",
"settings.promptTemplates.page.toast.updated": "Template atualizado",
"settings.promptTemplates.page.toast.updateFailed": "Falha ao atualizar template",
"settings.promptTemplates.page.toast.created": "Template criado",
"settings.promptTemplates.page.toast.createFailed": "Falha ao criar template",
"settings.promptTemplates.page.toast.saveUnexpectedError": "Ocorreu um erro inesperado ao salvar",
} as const;
@@ -192,6 +192,16 @@ export const dict: Record<I18nKey, string> = {
"multirun.fusion.actions.starting": "Iniciando...",
"multirun.fusion.toast.noOutputs": "Nenhuma resposta do assistente encontrada para fusion.",
"multirun.fusion.toast.failed": "Falha ao iniciar fusion.",
"multirun.launcher.attachments.label": "Arquivos",
"multirun.launcher.actions.startWithRunCount": "Iniciar ({count} execuções)",
"multirun.launcher.groups.addGroup": "Adicionar grupo de execução",
"multirun.launcher.groups.removeGroup": "Remover grupo",
"multirun.launcher.groups.groupLabel": "Grupo de execução {index}",
"multirun.launcher.groups.template.label": "Template",
"multirun.launcher.groups.template.placeholder": "Selecione um template...",
"multirun.launcher.groups.template.custom": "Prompt personalizado",
"multirun.launcher.groups.prompt.label": "Prompt",
"multirun.launcher.groups.prompt.placeholder": "Insira o prompt para este grupo...",
"sessions.sidebar.header.actions.searchSessions": "Pesquisar sessões",
"sessions.sidebar.header.actions.exitSelection": "Sair da seleção",
"sessions.sidebar.header.actions.selectSessions": "Selecionar sessões",
@@ -1570,4 +1570,37 @@ export const settingsDict = {
"settings.magicPrompts.page.toast.resetFailed": "Не вдалося скинути промпт",
"settings.magicPrompts.page.toast.resetAllSuccess": "Усі перевизначення промптів скинуто",
"settings.magicPrompts.page.toast.resetAllFailed": "Не вдалося скинути всі промпти",
"settings.page.promptTemplates.title": "Шаблони промптів",
"settings.promptTemplates.sidebar.title": "Шаблони промптів",
"settings.promptTemplates.sidebar.total": "Всього: {count}",
"settings.promptTemplates.sidebar.empty.title": "Немає шаблонів промптів",
"settings.promptTemplates.sidebar.empty.description": "Створіть шаблон промпту для початку.",
"settings.promptTemplates.sidebar.toast.deleted": 'Шаблон "{name}" видалено',
"settings.promptTemplates.sidebar.toast.deleteFailed": "Не вдалося видалити шаблон",
"settings.promptTemplates.sidebar.toast.nameRequired": "Назва шаблону обов'язкова",
"settings.promptTemplates.sidebar.toast.renamed": "Шаблон перейменовано",
"settings.promptTemplates.sidebar.toast.renameFailed": "Не вдалося перейменувати шаблон",
"settings.promptTemplates.sidebar.dialog.deleteTitle": "Видалити шаблон?",
"settings.promptTemplates.sidebar.dialog.deleteDescription": 'Це назавжди видалить "{name}". Цю дію не можна скасувати.',
"settings.promptTemplates.sidebar.renameDialog.title": "Перейменувати шаблон",
"settings.promptTemplates.sidebar.renameDialog.description": 'Введіть нову назву для "{name}".',
"settings.promptTemplates.sidebar.renameDialog.placeholder": "Назва шаблону",
"settings.promptTemplates.sidebar.badge.default": "за замовчуванням",
"settings.promptTemplates.page.empty.title": "Оберіть шаблон",
"settings.promptTemplates.page.empty.description": "Оберіть шаблон на бічній панелі для редагування.",
"settings.promptTemplates.page.title.new": "Новий шаблон",
"settings.promptTemplates.page.subtitle.edit": "Редагувати шаблон",
"settings.promptTemplates.page.subtitle.new": "Створити новий шаблон промпту",
"settings.promptTemplates.page.section.identity": "Ідентифікація",
"settings.promptTemplates.page.field.name": "Назва",
"settings.promptTemplates.page.field.namePlaceholder": "Назва шаблону",
"settings.promptTemplates.page.section.template": "Шаблон",
"settings.promptTemplates.page.field.templatePlaceholder": "Введіть текст шаблону промпту...",
"settings.promptTemplates.page.templateHint": "Цей текст буде додано перед промптом користувача при виборі в групі мультизапуску.",
"settings.promptTemplates.page.toast.nameRequired": "Назва шаблону обов'язкова",
"settings.promptTemplates.page.toast.updated": "Шаблон оновлено",
"settings.promptTemplates.page.toast.updateFailed": "Не вдалося оновити шаблон",
"settings.promptTemplates.page.toast.created": "Шаблон створено",
"settings.promptTemplates.page.toast.createFailed": "Не вдалося створити шаблон",
"settings.promptTemplates.page.toast.saveUnexpectedError": "Сталася неочікувана помилка під час збереження",
} as const;
+10
View File
@@ -192,6 +192,16 @@ export const dict: Record<I18nKey, string> = {
"multirun.fusion.actions.starting": "Запуск...",
"multirun.fusion.toast.noOutputs": "Не знайдено відповідей асистента для fusion.",
"multirun.fusion.toast.failed": "Не вдалося запустити fusion.",
"multirun.launcher.attachments.label": "Файли",
"multirun.launcher.actions.startWithRunCount": "Запустити ({count} запусків)",
"multirun.launcher.groups.addGroup": "Додати групу запусків",
"multirun.launcher.groups.removeGroup": "Видалити групу",
"multirun.launcher.groups.groupLabel": "Група запусків {index}",
"multirun.launcher.groups.template.label": "Шаблон",
"multirun.launcher.groups.template.placeholder": "Оберіть шаблон...",
"multirun.launcher.groups.template.custom": "Довільний промпт",
"multirun.launcher.groups.prompt.label": "Промпт",
"multirun.launcher.groups.prompt.placeholder": "Введіть промпт для цієї групи...",
"sessions.sidebar.header.actions.searchSessions": "Пошук сесій",
"sessions.sidebar.header.actions.exitSelection": "Вийти з вибору",
"sessions.sidebar.header.actions.selectSessions": "Вибрати сесії",
@@ -1570,4 +1570,37 @@ export const settingsDict = {
'settings.magicPrompts.page.toast.resetFailed': '重置提示词失败',
'settings.magicPrompts.page.toast.resetAllSuccess': '所有提示词覆盖已重置',
'settings.magicPrompts.page.toast.resetAllFailed': '重置全部提示词失败',
'settings.page.promptTemplates.title': '提示词模板',
'settings.promptTemplates.sidebar.title': '提示词模板',
'settings.promptTemplates.sidebar.total': '共 {count} 个',
'settings.promptTemplates.sidebar.empty.title': '暂无提示词模板',
'settings.promptTemplates.sidebar.empty.description': '创建一个提示词模板开始使用。',
'settings.promptTemplates.sidebar.toast.deleted': '模板"{name}"已删除',
'settings.promptTemplates.sidebar.toast.deleteFailed': '删除模板失败',
'settings.promptTemplates.sidebar.toast.nameRequired': '模板名称为必填项',
'settings.promptTemplates.sidebar.toast.renamed': '模板已重命名',
'settings.promptTemplates.sidebar.toast.renameFailed': '重命名模板失败',
'settings.promptTemplates.sidebar.dialog.deleteTitle': '删除模板?',
'settings.promptTemplates.sidebar.dialog.deleteDescription': '将永久删除"{name}"。此操作无法撤销。',
'settings.promptTemplates.sidebar.renameDialog.title': '重命名模板',
'settings.promptTemplates.sidebar.renameDialog.description': '为"{name}"输入新名称。',
'settings.promptTemplates.sidebar.renameDialog.placeholder': '模板名称',
'settings.promptTemplates.sidebar.badge.default': '默认',
'settings.promptTemplates.page.empty.title': '选择一个模板',
'settings.promptTemplates.page.empty.description': '从侧边栏选择一个模板进行编辑。',
'settings.promptTemplates.page.title.new': '新建模板',
'settings.promptTemplates.page.subtitle.edit': '编辑模板',
'settings.promptTemplates.page.subtitle.new': '创建新的提示词模板',
'settings.promptTemplates.page.section.identity': '标识',
'settings.promptTemplates.page.field.name': '名称',
'settings.promptTemplates.page.field.namePlaceholder': '模板名称',
'settings.promptTemplates.page.section.template': '模板',
'settings.promptTemplates.page.field.templatePlaceholder': '输入提示词模板文本...',
'settings.promptTemplates.page.templateHint': '在多运行组中选择此模板时,此文本将添加到用户提示词之前。',
'settings.promptTemplates.page.toast.nameRequired': '模板名称为必填项',
'settings.promptTemplates.page.toast.updated': '模板已更新',
'settings.promptTemplates.page.toast.updateFailed': '更新模板失败',
'settings.promptTemplates.page.toast.created': '模板已创建',
'settings.promptTemplates.page.toast.createFailed': '创建模板失败',
'settings.promptTemplates.page.toast.saveUnexpectedError': '保存时发生意外错误',
} as const;
@@ -192,6 +192,16 @@ export const dict: Record<I18nKey, string> = {
'multirun.fusion.actions.starting': '正在开始...',
'multirun.fusion.toast.noOutputs': '未找到可用于融合的助手输出。',
'multirun.fusion.toast.failed': '启动融合失败。',
'multirun.launcher.attachments.label': '文件',
'multirun.launcher.actions.startWithRunCount': '开始({count} 次运行)',
'multirun.launcher.groups.addGroup': '添加运行组',
'multirun.launcher.groups.removeGroup': '移除运行组',
'multirun.launcher.groups.groupLabel': '运行组 {index}',
'multirun.launcher.groups.template.label': '模板',
'multirun.launcher.groups.template.placeholder': '选择模板...',
'multirun.launcher.groups.template.custom': '自定义提示词',
'multirun.launcher.groups.prompt.label': '提示词',
'multirun.launcher.groups.prompt.placeholder': '输入此运行组的提示词...',
'sessions.sidebar.header.actions.searchSessions': '搜索会话',
'sessions.sidebar.header.actions.exitSelection': '退出选择',
'sessions.sidebar.header.actions.selectSessions': '选择会话',