feat: add export conversation to image, markdown, and HTML formats

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
xintaofei
2026-04-03 18:56:37 +08:00
parent 1282dcee19
commit 4c36369dd2
14 changed files with 895 additions and 11 deletions

View File

@@ -736,7 +736,32 @@
"closeConversation": "إغلاق المحادثة",
"forkSession": "تفريع الجلسة",
"forkSessionSuccess": "تم تفريع الجلسة بنجاح",
"forkSessionFailed": "فشل في تفريع الجلسة: {error}"
"forkSessionFailed": "فشل في تفريع الجلسة: {error}",
"exportConversation": "تصدير المحادثة",
"exportImage": "صورة",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "تم تصدير المحادثة",
"exportFailed": "فشل التصدير",
"exportLabels": {
"untitledConversation": "محادثة بدون عنوان",
"agent": "الوكيل",
"model": "النموذج",
"status": "الحالة",
"started": "البداية",
"updated": "التحديث",
"tokens": "إحصائيات الرموز",
"duration": "المدة",
"inputTokens": "الإدخال",
"outputTokens": "الإخراج",
"cacheRead": "قراءة الذاكرة",
"cacheWrite": "كتابة الذاكرة",
"user": "المستخدم",
"assistant": "المساعد",
"system": "النظام",
"toolResult": "النتيجة",
"toolError": "خطأ"
}
},
"conversationCard": {
"untitledConversation": "محادثة بدون عنوان",

View File

@@ -736,7 +736,32 @@
"closeConversation": "Konversation schließen",
"forkSession": "Sitzung forken",
"forkSessionSuccess": "Sitzung erfolgreich geforkt",
"forkSessionFailed": "Sitzung konnte nicht geforkt werden: {error}"
"forkSessionFailed": "Sitzung konnte nicht geforkt werden: {error}",
"exportConversation": "Konversation exportieren",
"exportImage": "Bild",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "Konversation exportiert",
"exportFailed": "Export fehlgeschlagen",
"exportLabels": {
"untitledConversation": "Unbenannte Konversation",
"agent": "Agent",
"model": "Modell",
"status": "Status",
"started": "Gestartet",
"updated": "Aktualisiert",
"tokens": "Token-Statistik",
"duration": "Dauer",
"inputTokens": "Eingabe",
"outputTokens": "Ausgabe",
"cacheRead": "Cache gelesen",
"cacheWrite": "Cache geschrieben",
"user": "Benutzer",
"assistant": "Assistent",
"system": "System",
"toolResult": "Ergebnis",
"toolError": "Fehler"
}
},
"conversationCard": {
"untitledConversation": "Unbenannte Konversation",

View File

@@ -736,7 +736,32 @@
"closeConversation": "Close Conversation",
"forkSession": "Fork Session",
"forkSessionSuccess": "Session forked successfully",
"forkSessionFailed": "Failed to fork session: {error}"
"forkSessionFailed": "Failed to fork session: {error}",
"exportConversation": "Export Conversation",
"exportImage": "Image",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "Conversation exported",
"exportFailed": "Export failed",
"exportLabels": {
"untitledConversation": "Untitled Conversation",
"agent": "Agent",
"model": "Model",
"status": "Status",
"started": "Started",
"updated": "Updated",
"tokens": "Token Stats",
"duration": "Duration",
"inputTokens": "Input",
"outputTokens": "Output",
"cacheRead": "Cache Read",
"cacheWrite": "Cache Write",
"user": "User",
"assistant": "Assistant",
"system": "System",
"toolResult": "Result",
"toolError": "Error"
}
},
"conversationCard": {
"untitledConversation": "Untitled conversation",

View File

@@ -736,7 +736,32 @@
"closeConversation": "Cerrar conversación",
"forkSession": "Bifurcar sesión",
"forkSessionSuccess": "Sesión bifurcada exitosamente",
"forkSessionFailed": "Error al bifurcar la sesión: {error}"
"forkSessionFailed": "Error al bifurcar la sesión: {error}",
"exportConversation": "Exportar conversación",
"exportImage": "Imagen",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "Conversación exportada",
"exportFailed": "Error al exportar",
"exportLabels": {
"untitledConversation": "Conversación sin título",
"agent": "Agente",
"model": "Modelo",
"status": "Estado",
"started": "Inicio",
"updated": "Actualizado",
"tokens": "Estadísticas de tokens",
"duration": "Duración",
"inputTokens": "Entrada",
"outputTokens": "Salida",
"cacheRead": "Caché leída",
"cacheWrite": "Caché escrita",
"user": "Usuario",
"assistant": "Asistente",
"system": "Sistema",
"toolResult": "Resultado",
"toolError": "Error"
}
},
"conversationCard": {
"untitledConversation": "Conversación sin título",

View File

@@ -736,7 +736,32 @@
"closeConversation": "Fermer la conversation",
"forkSession": "Dupliquer la session",
"forkSessionSuccess": "Session dupliquée avec succès",
"forkSessionFailed": "Échec de la duplication de la session : {error}"
"forkSessionFailed": "Échec de la duplication de la session : {error}",
"exportConversation": "Exporter la conversation",
"exportImage": "Image",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "Conversation exportée",
"exportFailed": "Échec de l'exportation",
"exportLabels": {
"untitledConversation": "Conversation sans titre",
"agent": "Agent",
"model": "Modèle",
"status": "Statut",
"started": "Début",
"updated": "Mis à jour",
"tokens": "Statistiques de tokens",
"duration": "Durée",
"inputTokens": "Entrée",
"outputTokens": "Sortie",
"cacheRead": "Cache lu",
"cacheWrite": "Cache écrit",
"user": "Utilisateur",
"assistant": "Assistant",
"system": "Système",
"toolResult": "Résultat",
"toolError": "Erreur"
}
},
"conversationCard": {
"untitledConversation": "Conversation sans titre",

View File

@@ -736,7 +736,32 @@
"closeConversation": "会話を閉じる",
"forkSession": "セッションをフォーク",
"forkSessionSuccess": "セッションのフォークに成功しました",
"forkSessionFailed": "セッションのフォークに失敗しました:{error}"
"forkSessionFailed": "セッションのフォークに失敗しました:{error}",
"exportConversation": "会話をエクスポート",
"exportImage": "画像",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "会話をエクスポートしました",
"exportFailed": "エクスポートに失敗しました",
"exportLabels": {
"untitledConversation": "無題の会話",
"agent": "エージェント",
"model": "モデル",
"status": "ステータス",
"started": "開始",
"updated": "更新",
"tokens": "トークン統計",
"duration": "所要時間",
"inputTokens": "入力",
"outputTokens": "出力",
"cacheRead": "キャッシュ読取",
"cacheWrite": "キャッシュ書込",
"user": "ユーザー",
"assistant": "アシスタント",
"system": "システム",
"toolResult": "結果",
"toolError": "エラー"
}
},
"conversationCard": {
"untitledConversation": "無題の会話",

View File

@@ -736,7 +736,32 @@
"closeConversation": "대화 닫기",
"forkSession": "세션 포크",
"forkSessionSuccess": "세션 포크 성공",
"forkSessionFailed": "세션 포크 실패: {error}"
"forkSessionFailed": "세션 포크 실패: {error}",
"exportConversation": "대화 내보내기",
"exportImage": "이미지",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "대화를 내보냈습니다",
"exportFailed": "내보내기 실패",
"exportLabels": {
"untitledConversation": "제목 없는 대화",
"agent": "에이전트",
"model": "모델",
"status": "상태",
"started": "시작",
"updated": "업데이트",
"tokens": "토큰 통계",
"duration": "소요 시간",
"inputTokens": "입력",
"outputTokens": "출력",
"cacheRead": "캐시 읽기",
"cacheWrite": "캐시 쓰기",
"user": "사용자",
"assistant": "어시스턴트",
"system": "시스템",
"toolResult": "결과",
"toolError": "오류"
}
},
"conversationCard": {
"untitledConversation": "제목 없는 대화",

View File

@@ -736,7 +736,32 @@
"closeConversation": "Fechar conversa",
"forkSession": "Bifurcar sessão",
"forkSessionSuccess": "Sessão bifurcada com sucesso",
"forkSessionFailed": "Falha ao bifurcar a sessão: {error}"
"forkSessionFailed": "Falha ao bifurcar a sessão: {error}",
"exportConversation": "Exportar conversa",
"exportImage": "Imagem",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "Conversa exportada",
"exportFailed": "Falha ao exportar",
"exportLabels": {
"untitledConversation": "Conversa sem título",
"agent": "Agente",
"model": "Modelo",
"status": "Estado",
"started": "Início",
"updated": "Atualizado",
"tokens": "Estatísticas de tokens",
"duration": "Duração",
"inputTokens": "Entrada",
"outputTokens": "Saída",
"cacheRead": "Cache lido",
"cacheWrite": "Cache escrito",
"user": "Utilizador",
"assistant": "Assistente",
"system": "Sistema",
"toolResult": "Resultado",
"toolError": "Erro"
}
},
"conversationCard": {
"untitledConversation": "Conversa sem título",

View File

@@ -736,7 +736,32 @@
"closeConversation": "关闭会话",
"forkSession": "分叉会话",
"forkSessionSuccess": "会话分叉成功",
"forkSessionFailed": "会话分叉失败:{error}"
"forkSessionFailed": "会话分叉失败:{error}",
"exportConversation": "导出会话",
"exportImage": "图片",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "会话已导出",
"exportFailed": "导出失败",
"exportLabels": {
"untitledConversation": "未命名会话",
"agent": "代理",
"model": "模型",
"status": "状态",
"started": "开始时间",
"updated": "更新时间",
"tokens": "令牌统计",
"duration": "时长",
"inputTokens": "输入",
"outputTokens": "输出",
"cacheRead": "缓存读取",
"cacheWrite": "缓存写入",
"user": "用户",
"assistant": "助手",
"system": "系统",
"toolResult": "结果",
"toolError": "错误"
}
},
"conversationCard": {
"untitledConversation": "未命名会话",

View File

@@ -736,7 +736,32 @@
"closeConversation": "關閉會話",
"forkSession": "分叉會話",
"forkSessionSuccess": "會話分叉成功",
"forkSessionFailed": "會話分叉失敗:{error}"
"forkSessionFailed": "會話分叉失敗:{error}",
"exportConversation": "匯出對話",
"exportImage": "圖片",
"exportMarkdown": "Markdown",
"exportHtml": "HTML",
"exportSuccess": "對話已匯出",
"exportFailed": "匯出失敗",
"exportLabels": {
"untitledConversation": "未命名對話",
"agent": "代理",
"model": "模型",
"status": "狀態",
"started": "開始時間",
"updated": "更新時間",
"tokens": "令牌統計",
"duration": "時長",
"inputTokens": "輸入",
"outputTokens": "輸出",
"cacheRead": "快取讀取",
"cacheWrite": "快取寫入",
"user": "使用者",
"assistant": "助手",
"system": "系統",
"toolResult": "結果",
"toolError": "錯誤"
}
},
"conversationCard": {
"untitledConversation": "未命名會話",