@lobehub/chat 1.140.0 → 1.141.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/changelog/v1.json +15 -0
  3. package/locales/ar/chat.json +13 -0
  4. package/locales/ar/common.json +1 -0
  5. package/locales/ar/components.json +4 -0
  6. package/locales/ar/file.json +2 -2
  7. package/locales/bg-BG/chat.json +13 -0
  8. package/locales/bg-BG/common.json +1 -0
  9. package/locales/bg-BG/components.json +4 -0
  10. package/locales/bg-BG/file.json +2 -2
  11. package/locales/de-DE/chat.json +13 -0
  12. package/locales/de-DE/common.json +1 -0
  13. package/locales/de-DE/components.json +4 -0
  14. package/locales/de-DE/file.json +2 -2
  15. package/locales/en-US/chat.json +13 -0
  16. package/locales/en-US/common.json +1 -0
  17. package/locales/en-US/components.json +4 -0
  18. package/locales/en-US/file.json +2 -2
  19. package/locales/es-ES/chat.json +13 -0
  20. package/locales/es-ES/common.json +1 -0
  21. package/locales/es-ES/components.json +4 -0
  22. package/locales/es-ES/file.json +2 -2
  23. package/locales/fa-IR/chat.json +13 -0
  24. package/locales/fa-IR/common.json +1 -0
  25. package/locales/fa-IR/components.json +4 -0
  26. package/locales/fa-IR/file.json +2 -2
  27. package/locales/fr-FR/chat.json +13 -0
  28. package/locales/fr-FR/common.json +1 -0
  29. package/locales/fr-FR/components.json +4 -0
  30. package/locales/fr-FR/file.json +2 -2
  31. package/locales/it-IT/chat.json +13 -0
  32. package/locales/it-IT/common.json +1 -0
  33. package/locales/it-IT/components.json +4 -0
  34. package/locales/it-IT/file.json +2 -2
  35. package/locales/ja-JP/chat.json +13 -0
  36. package/locales/ja-JP/common.json +1 -0
  37. package/locales/ja-JP/components.json +4 -0
  38. package/locales/ja-JP/file.json +2 -2
  39. package/locales/ko-KR/chat.json +13 -0
  40. package/locales/ko-KR/common.json +1 -0
  41. package/locales/ko-KR/components.json +4 -0
  42. package/locales/ko-KR/file.json +2 -2
  43. package/locales/nl-NL/chat.json +13 -0
  44. package/locales/nl-NL/common.json +1 -0
  45. package/locales/nl-NL/components.json +4 -0
  46. package/locales/nl-NL/file.json +2 -2
  47. package/locales/pl-PL/chat.json +13 -0
  48. package/locales/pl-PL/common.json +1 -0
  49. package/locales/pl-PL/components.json +4 -0
  50. package/locales/pl-PL/file.json +2 -2
  51. package/locales/pt-BR/chat.json +13 -0
  52. package/locales/pt-BR/common.json +1 -0
  53. package/locales/pt-BR/components.json +4 -0
  54. package/locales/pt-BR/file.json +2 -2
  55. package/locales/ru-RU/chat.json +13 -0
  56. package/locales/ru-RU/common.json +1 -0
  57. package/locales/ru-RU/components.json +4 -0
  58. package/locales/ru-RU/file.json +2 -2
  59. package/locales/tr-TR/chat.json +13 -0
  60. package/locales/tr-TR/common.json +1 -0
  61. package/locales/tr-TR/components.json +4 -0
  62. package/locales/tr-TR/file.json +2 -2
  63. package/locales/vi-VN/chat.json +13 -0
  64. package/locales/vi-VN/common.json +1 -0
  65. package/locales/vi-VN/components.json +4 -0
  66. package/locales/vi-VN/file.json +2 -2
  67. package/locales/zh-CN/chat.json +13 -0
  68. package/locales/zh-CN/common.json +1 -0
  69. package/locales/zh-CN/components.json +4 -0
  70. package/locales/zh-CN/file.json +2 -2
  71. package/locales/zh-TW/chat.json +13 -0
  72. package/locales/zh-TW/common.json +1 -0
  73. package/locales/zh-TW/components.json +4 -0
  74. package/locales/zh-TW/file.json +2 -2
  75. package/next.config.ts +5 -6
  76. package/package.json +8 -2
  77. package/packages/database/src/models/__tests__/message.test.ts +200 -2
  78. package/packages/database/src/models/message.ts +13 -0
  79. package/packages/model-runtime/src/core/openaiCompatibleFactory/index.test.ts +313 -0
  80. package/packages/model-runtime/src/core/openaiCompatibleFactory/index.ts +21 -5
  81. package/packages/model-runtime/src/providers/azureai/index.test.ts +12 -2
  82. package/packages/model-runtime/src/providers/groq/index.test.ts +449 -0
  83. package/packages/model-runtime/src/providers/groq/index.ts +46 -0
  84. package/src/app/[variants]/(main)/_layout/Desktop/SideBar/TopActions.tsx +3 -2
  85. package/src/app/[variants]/(main)/files/(content)/@menu/features/KnowledgeBase/Item/index.tsx +10 -2
  86. package/src/features/ChatInput/InputEditor/index.tsx +2 -0
  87. package/src/features/Conversation/Messages/User/index.tsx +7 -17
  88. package/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/PdfPreview.tsx +361 -0
  89. package/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/index.tsx +119 -0
  90. package/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/style.ts +63 -0
  91. package/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/template.ts +24 -0
  92. package/src/features/Conversation/components/ChatItem/ShareMessageModal/SharePdf/usePdfGeneration.ts +93 -0
  93. package/src/features/Conversation/components/ShareMessageModal/index.tsx +39 -14
  94. package/src/features/FileManager/FileList/MasonryFileItem/MasonryItemWrapper.tsx +44 -0
  95. package/src/features/FileManager/FileList/MasonryFileItem/index.tsx +553 -0
  96. package/src/features/FileManager/FileList/MasonrySkeleton.tsx +57 -0
  97. package/src/features/FileManager/FileList/ToolBar/ViewSwitcher.tsx +45 -0
  98. package/src/features/FileManager/FileList/ToolBar/index.tsx +9 -1
  99. package/src/features/FileManager/FileList/index.tsx +83 -13
  100. package/src/features/FileManager/Header/FilesSearchBar.tsx +7 -2
  101. package/src/features/ShareModal/SharePdf/PdfPreview.tsx +361 -0
  102. package/src/features/ShareModal/SharePdf/index.tsx +194 -0
  103. package/src/features/ShareModal/SharePdf/usePdfGeneration.ts +90 -0
  104. package/src/features/ShareModal/index.tsx +40 -14
  105. package/src/features/ShareModal/style.ts +8 -5
  106. package/src/libs/trpc/client/lambda.ts +7 -1
  107. package/src/locales/default/chat.ts +13 -0
  108. package/src/locales/default/common.ts +1 -0
  109. package/src/locales/default/components.ts +4 -0
  110. package/src/locales/default/file.ts +2 -2
  111. package/src/server/globalConfig/parseSystemAgent.ts +4 -2
  112. package/src/server/routers/lambda/exporter.ts +173 -3
  113. package/src/server/routers/lambda/message.ts +11 -0
  114. package/src/store/global/initialState.ts +2 -0
@@ -304,11 +304,24 @@
304
304
  "shareModal": {
305
305
  "copy": "복사",
306
306
  "download": "스크린샷 다운로드",
307
+ "downloadError": "다운로드 실패",
307
308
  "downloadFile": "파일 다운로드",
309
+ "downloadPdf": "PDF 다운로드",
310
+ "downloadSuccess": "다운로드 성공",
311
+ "exportPdf": "PDF로 내보내기",
308
312
  "exportTitle": "기본 제목",
313
+ "generatePdf": "PDF 생성",
314
+ "generatingPdf": "PDF 생성 중...",
309
315
  "imageType": "이미지 형식",
310
316
  "includeTool": "플러그인 메시지 포함",
311
317
  "includeUser": "사용자 메시지 포함",
318
+ "loadingPdf": "PDF 로드 중...",
319
+ "noPdfData": "PDF 데이터가 없습니다",
320
+ "pdf": "PDF",
321
+ "pdfErrorDescription": "PDF 생성 중 오류가 발생했습니다. 다시 시도해 주세요.",
322
+ "pdfGenerationError": "PDF 생성 실패",
323
+ "pdfReady": "PDF가 준비되었습니다",
324
+ "regeneratePdf": "PDF 다시 생성",
312
325
  "screenshot": "스크린샷",
313
326
  "settings": "내보내기 설정",
314
327
  "text": "텍스트",
@@ -338,6 +338,7 @@
338
338
  "chat": "채팅",
339
339
  "discover": "탐색",
340
340
  "files": "파일",
341
+ "knowledgeBase": "지식 베이스",
341
342
  "me": "내 정보",
342
343
  "setting": "설정"
343
344
  },
@@ -50,6 +50,10 @@
50
50
  "total": {
51
51
  "fileCount": "총 {{count}}개 항목",
52
52
  "selectedCount": "{{count}}개 선택됨"
53
+ },
54
+ "view": {
55
+ "list": "목록 보기",
56
+ "masonry": "그리드 보기"
53
57
  }
54
58
  },
55
59
  "FileParsingStatus": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "desc": "파일과 지식베이스를 관리하세요",
2
+ "desc": "지식을 관리하세요",
3
3
  "detail": {
4
4
  "basic": {
5
5
  "createdAt": "생성 시간",
@@ -70,7 +70,7 @@
70
70
  "videos": "비디오",
71
71
  "websites": "웹사이트"
72
72
  },
73
- "title": "파일",
73
+ "title": "지식 베이스",
74
74
  "toggleLeftPanel": {
75
75
  "title": "왼쪽 패널 표시/숨기기"
76
76
  },
@@ -304,11 +304,24 @@
304
304
  "shareModal": {
305
305
  "copy": "Kopiëren",
306
306
  "download": "Screenshot downloaden",
307
+ "downloadError": "Download mislukt",
307
308
  "downloadFile": "Bestand downloaden",
309
+ "downloadPdf": "PDF downloaden",
310
+ "downloadSuccess": "Download geslaagd",
311
+ "exportPdf": "Exporteren als PDF",
308
312
  "exportTitle": "Standaardtitel",
313
+ "generatePdf": "PDF genereren",
314
+ "generatingPdf": "PDF wordt gegenereerd...",
309
315
  "imageType": "Afbeeldingstype",
310
316
  "includeTool": "Inclusief pluginbericht",
311
317
  "includeUser": "Inclusief gebruikersbericht",
318
+ "loadingPdf": "PDF laden...",
319
+ "noPdfData": "Geen PDF-gegevens beschikbaar",
320
+ "pdf": "PDF",
321
+ "pdfErrorDescription": "Er is een fout opgetreden bij het genereren van de PDF, probeer het opnieuw",
322
+ "pdfGenerationError": "PDF-generatie mislukt",
323
+ "pdfReady": "PDF is klaar",
324
+ "regeneratePdf": "PDF opnieuw genereren",
312
325
  "screenshot": "Screenshot",
313
326
  "settings": "Exportinstellingen",
314
327
  "text": "Tekst",
@@ -338,6 +338,7 @@
338
338
  "chat": "Chat",
339
339
  "discover": "Ontdekken",
340
340
  "files": "Bestanden",
341
+ "knowledgeBase": "Kennisbank",
341
342
  "me": "Ik",
342
343
  "setting": "Instellingen"
343
344
  },
@@ -50,6 +50,10 @@
50
50
  "total": {
51
51
  "fileCount": "Totaal {{count}} items",
52
52
  "selectedCount": "Geselecteerd {{count}} items"
53
+ },
54
+ "view": {
55
+ "list": "Lijstweergave",
56
+ "masonry": "Rasterweergave"
53
57
  }
54
58
  },
55
59
  "FileParsingStatus": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "desc": "Beheer je bestanden en kennisbank",
2
+ "desc": "Beheer je kennis",
3
3
  "detail": {
4
4
  "basic": {
5
5
  "createdAt": "Aanmaakdatum",
@@ -70,7 +70,7 @@
70
70
  "videos": "Video's",
71
71
  "websites": "Websites"
72
72
  },
73
- "title": "Bestanden",
73
+ "title": "Kennisbank",
74
74
  "toggleLeftPanel": {
75
75
  "title": "Toon/Verberg het linkerpaneel"
76
76
  },
@@ -304,11 +304,24 @@
304
304
  "shareModal": {
305
305
  "copy": "Kopiuj",
306
306
  "download": "Pobierz zrzut ekranu",
307
+ "downloadError": "Błąd pobierania",
307
308
  "downloadFile": "Pobierz plik",
309
+ "downloadPdf": "Pobierz PDF",
310
+ "downloadSuccess": "Pobieranie zakończone sukcesem",
311
+ "exportPdf": "Eksportuj jako PDF",
308
312
  "exportTitle": "Domyślny tytuł",
313
+ "generatePdf": "Generuj PDF",
314
+ "generatingPdf": "Generowanie PDF...",
309
315
  "imageType": "Typ obrazu",
310
316
  "includeTool": "Uwzględnij wiadomości z narzędzi",
311
317
  "includeUser": "Uwzględnij wiadomości od użytkowników",
318
+ "loadingPdf": "Ładowanie PDF...",
319
+ "noPdfData": "Brak danych PDF",
320
+ "pdf": "PDF",
321
+ "pdfErrorDescription": "Wystąpił błąd podczas generowania PDF, spróbuj ponownie",
322
+ "pdfGenerationError": "Nie udało się wygenerować PDF",
323
+ "pdfReady": "PDF jest gotowy",
324
+ "regeneratePdf": "Wygeneruj PDF ponownie",
312
325
  "screenshot": "Zrzut ekranu",
313
326
  "settings": "Ustawienia eksportu",
314
327
  "text": "Tekst",
@@ -338,6 +338,7 @@
338
338
  "chat": "Czat",
339
339
  "discover": "Odkryj",
340
340
  "files": "Pliki",
341
+ "knowledgeBase": "Baza wiedzy",
341
342
  "me": "ja",
342
343
  "setting": "Ustawienia"
343
344
  },
@@ -50,6 +50,10 @@
50
50
  "total": {
51
51
  "fileCount": "Łącznie {{count}} pozycji",
52
52
  "selectedCount": "Wybrano {{count}} pozycji"
53
+ },
54
+ "view": {
55
+ "list": "Widok listy",
56
+ "masonry": "Widok siatki"
53
57
  }
54
58
  },
55
59
  "FileParsingStatus": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "desc": "Zarządzaj swoimi plikami i bazą wiedzy",
2
+ "desc": "Zarządzaj swoją wiedzą",
3
3
  "detail": {
4
4
  "basic": {
5
5
  "createdAt": "Data utworzenia",
@@ -70,7 +70,7 @@
70
70
  "videos": "Wideo",
71
71
  "websites": "Strony internetowe"
72
72
  },
73
- "title": "Pliki",
73
+ "title": "Baza wiedzy",
74
74
  "toggleLeftPanel": {
75
75
  "title": "Pokaż/ukryj panel po lewej stronie"
76
76
  },
@@ -304,11 +304,24 @@
304
304
  "shareModal": {
305
305
  "copy": "Copiar",
306
306
  "download": "Baixar Captura de Tela",
307
+ "downloadError": "Falha no download",
307
308
  "downloadFile": "Baixar arquivo",
309
+ "downloadPdf": "Baixar PDF",
310
+ "downloadSuccess": "Download concluído com sucesso",
311
+ "exportPdf": "Exportar como PDF",
308
312
  "exportTitle": "Título padrão",
313
+ "generatePdf": "Gerar PDF",
314
+ "generatingPdf": "Gerando PDF...",
309
315
  "imageType": "Tipo de Imagem",
310
316
  "includeTool": "Incluir mensagens de ferramentas",
311
317
  "includeUser": "Incluir mensagens de usuários",
318
+ "loadingPdf": "Carregando PDF...",
319
+ "noPdfData": "Nenhum dado de PDF disponível",
320
+ "pdf": "PDF",
321
+ "pdfErrorDescription": "Ocorreu um erro ao gerar o PDF, por favor tente novamente",
322
+ "pdfGenerationError": "Falha na geração do PDF",
323
+ "pdfReady": "PDF está pronto",
324
+ "regeneratePdf": "Regenerar PDF",
312
325
  "screenshot": "Captura de Tela",
313
326
  "settings": "Configurações de Exportação",
314
327
  "text": "Texto",
@@ -338,6 +338,7 @@
338
338
  "chat": "Chat",
339
339
  "discover": "Descobrir",
340
340
  "files": "Arquivos",
341
+ "knowledgeBase": "Base de Conhecimento",
341
342
  "me": "eu",
342
343
  "setting": "Configuração"
343
344
  },
@@ -50,6 +50,10 @@
50
50
  "total": {
51
51
  "fileCount": "Total de {{count}} itens",
52
52
  "selectedCount": "Selecionados {{count}} itens"
53
+ },
54
+ "view": {
55
+ "list": "Visualização em lista",
56
+ "masonry": "Visualização em grade"
53
57
  }
54
58
  },
55
59
  "FileParsingStatus": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "desc": "Gerencie seus arquivos e repositórios de conhecimento",
2
+ "desc": "Gerencie seu conhecimento",
3
3
  "detail": {
4
4
  "basic": {
5
5
  "createdAt": "Data de criação",
@@ -70,7 +70,7 @@
70
70
  "videos": "Vídeos",
71
71
  "websites": "Sites"
72
72
  },
73
- "title": "Arquivos",
73
+ "title": "Base de Conhecimento",
74
74
  "toggleLeftPanel": {
75
75
  "title": "Mostrar/Ocultar painel esquerdo"
76
76
  },
@@ -304,11 +304,24 @@
304
304
  "shareModal": {
305
305
  "copy": "Копировать",
306
306
  "download": "Скачать скриншот",
307
+ "downloadError": "Ошибка загрузки",
307
308
  "downloadFile": "Скачать файл",
309
+ "downloadPdf": "Скачать PDF",
310
+ "downloadSuccess": "Загрузка успешна",
311
+ "exportPdf": "Экспорт в PDF",
308
312
  "exportTitle": "Заголовок по умолчанию",
313
+ "generatePdf": "Создать PDF",
314
+ "generatingPdf": "Генерация PDF...",
309
315
  "imageType": "Тип изображения",
310
316
  "includeTool": "Включить сообщения плагина",
311
317
  "includeUser": "Включить сообщения пользователя",
318
+ "loadingPdf": "Загрузка PDF...",
319
+ "noPdfData": "Данные PDF отсутствуют",
320
+ "pdf": "PDF",
321
+ "pdfErrorDescription": "Произошла ошибка при создании PDF, попробуйте снова",
322
+ "pdfGenerationError": "Не удалось создать PDF",
323
+ "pdfReady": "PDF готов",
324
+ "regeneratePdf": "Перегенерировать PDF",
312
325
  "screenshot": "Скриншот",
313
326
  "settings": "Настройки экспорта",
314
327
  "text": "Текст",
@@ -338,6 +338,7 @@
338
338
  "chat": "Чат",
339
339
  "discover": "Открыть",
340
340
  "files": "Файлы",
341
+ "knowledgeBase": "База знаний",
341
342
  "me": "я",
342
343
  "setting": "Настройки"
343
344
  },
@@ -50,6 +50,10 @@
50
50
  "total": {
51
51
  "fileCount": "Всего {{count}} элементов",
52
52
  "selectedCount": "Выбрано {{count}} элементов"
53
+ },
54
+ "view": {
55
+ "list": "Список",
56
+ "masonry": "Сетка"
53
57
  }
54
58
  },
55
59
  "FileParsingStatus": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "desc": "Управляйте своими файлами и базой знаний",
2
+ "desc": "Управляйте своими знаниями",
3
3
  "detail": {
4
4
  "basic": {
5
5
  "createdAt": "Дата создания",
@@ -70,7 +70,7 @@
70
70
  "videos": "Видео",
71
71
  "websites": "Веб-сайты"
72
72
  },
73
- "title": "Файлы",
73
+ "title": "База знаний",
74
74
  "toggleLeftPanel": {
75
75
  "title": "Показать/Скрыть левую панель"
76
76
  },
@@ -304,11 +304,24 @@
304
304
  "shareModal": {
305
305
  "copy": "Kopyala",
306
306
  "download": "Ekran Görüntüsünü İndir",
307
+ "downloadError": "İndirme Başarısız",
307
308
  "downloadFile": "Dosyayı İndir",
309
+ "downloadPdf": "PDF İndir",
310
+ "downloadSuccess": "İndirme Başarılı",
311
+ "exportPdf": "PDF Olarak Dışa Aktar",
308
312
  "exportTitle": "Varsayılan Başlık",
313
+ "generatePdf": "PDF Oluştur",
314
+ "generatingPdf": "PDF Oluşturuluyor...",
309
315
  "imageType": "Format",
310
316
  "includeTool": "Eklenti mesajını dahil et",
311
317
  "includeUser": "Kullanıcı mesajını dahil et",
318
+ "loadingPdf": "PDF Yükleniyor...",
319
+ "noPdfData": "PDF Verisi Yok",
320
+ "pdf": "PDF",
321
+ "pdfErrorDescription": "PDF oluşturulurken bir hata oluştu, lütfen tekrar deneyin",
322
+ "pdfGenerationError": "PDF oluşturma başarısız oldu",
323
+ "pdfReady": "PDF Hazır",
324
+ "regeneratePdf": "PDF'yi Yeniden Oluştur",
312
325
  "screenshot": "Ekran Görüntüsü",
313
326
  "settings": "Ayarlar",
314
327
  "text": "Metin",
@@ -338,6 +338,7 @@
338
338
  "chat": "Chat",
339
339
  "discover": "Keşfet",
340
340
  "files": "Dosyalar",
341
+ "knowledgeBase": "Bilgi Tabanı",
341
342
  "me": "ben",
342
343
  "setting": "Ayarlar"
343
344
  },
@@ -50,6 +50,10 @@
50
50
  "total": {
51
51
  "fileCount": "Toplam {{count}} öğe",
52
52
  "selectedCount": "Seçilen {{count}} öğe"
53
+ },
54
+ "view": {
55
+ "list": "Liste Görünümü",
56
+ "masonry": "Karo Görünümü"
53
57
  }
54
58
  },
55
59
  "FileParsingStatus": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "desc": "Dosyalarınızı ve bilgi tabanınızı yönetin",
2
+ "desc": "Bilgini yönet",
3
3
  "detail": {
4
4
  "basic": {
5
5
  "createdAt": "Oluşturulma Zamanı",
@@ -70,7 +70,7 @@
70
70
  "videos": "Videolar",
71
71
  "websites": "Web Siteleri"
72
72
  },
73
- "title": "Dosya",
73
+ "title": "Bilgi Bankası",
74
74
  "toggleLeftPanel": {
75
75
  "title": "Sol Panelini Göster/Gizle"
76
76
  },
@@ -304,11 +304,24 @@
304
304
  "shareModal": {
305
305
  "copy": "Sao chép",
306
306
  "download": "Tải xuống ảnh chụp màn hình",
307
+ "downloadError": "Tải xuống thất bại",
307
308
  "downloadFile": "Tải tệp",
309
+ "downloadPdf": "Tải xuống PDF",
310
+ "downloadSuccess": "Tải xuống thành công",
311
+ "exportPdf": "Xuất ra PDF",
308
312
  "exportTitle": "Tiêu đề mặc định",
313
+ "generatePdf": "Tạo PDF",
314
+ "generatingPdf": "Đang tạo PDF...",
309
315
  "imageType": "Định dạng ảnh",
310
316
  "includeTool": "Bao gồm thông điệp công cụ",
311
317
  "includeUser": "Bao gồm thông điệp người dùng",
318
+ "loadingPdf": "Đang tải PDF...",
319
+ "noPdfData": "Chưa có dữ liệu PDF",
320
+ "pdf": "PDF",
321
+ "pdfErrorDescription": "Đã xảy ra lỗi khi tạo PDF, vui lòng thử lại",
322
+ "pdfGenerationError": "Tạo PDF thất bại",
323
+ "pdfReady": "PDF đã sẵn sàng",
324
+ "regeneratePdf": "Tạo lại PDF",
312
325
  "screenshot": "Ảnh chụp màn hình",
313
326
  "settings": "Cài đặt xuất",
314
327
  "text": "Văn bản",
@@ -338,6 +338,7 @@
338
338
  "chat": "Trò chuyện",
339
339
  "discover": "Khám phá",
340
340
  "files": "Tệp",
341
+ "knowledgeBase": "Cơ sở tri thức",
341
342
  "me": "Tôi",
342
343
  "setting": "Cài đặt"
343
344
  },
@@ -50,6 +50,10 @@
50
50
  "total": {
51
51
  "fileCount": "Tổng cộng {{count}} mục",
52
52
  "selectedCount": "Đã chọn {{count}} mục"
53
+ },
54
+ "view": {
55
+ "list": "Chế độ danh sách",
56
+ "masonry": "Chế độ lưới"
53
57
  }
54
58
  },
55
59
  "FileParsingStatus": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "desc": "Quản lý tệp và kho tri thức của bạn",
2
+ "desc": "Quản lý kiến thức của bạn",
3
3
  "detail": {
4
4
  "basic": {
5
5
  "createdAt": "Thời gian tạo",
@@ -70,7 +70,7 @@
70
70
  "videos": "Video",
71
71
  "websites": "Trang web"
72
72
  },
73
- "title": "Tệp",
73
+ "title": "Kho kiến thức",
74
74
  "toggleLeftPanel": {
75
75
  "title": "Hiện/Ẩn bảng bên trái"
76
76
  },
@@ -305,10 +305,23 @@
305
305
  "copy": "复制",
306
306
  "download": "下载截图",
307
307
  "downloadFile": "下载文件",
308
+ "downloadPdf": "下载 PDF",
309
+ "downloadSuccess": "下载成功",
310
+ "downloadError": "下载失败",
311
+ "exportPdf": "导出为 PDF",
308
312
  "exportTitle": "默认标题",
313
+ "generatePdf": "生成 PDF",
314
+ "generatingPdf": "正在生成 PDF...",
309
315
  "imageType": "图片格式",
310
316
  "includeTool": "包含插件消息",
311
317
  "includeUser": "包含用户消息",
318
+ "loadingPdf": "加载 PDF...",
319
+ "noPdfData": "暂无 PDF 数据",
320
+ "pdf": "PDF",
321
+ "pdfErrorDescription": "生成 PDF 时出现错误,请重试",
322
+ "pdfGenerationError": "PDF 生成失败",
323
+ "pdfReady": "PDF 已准备就绪",
324
+ "regeneratePdf": "重新生成 PDF",
312
325
  "screenshot": "截图",
313
326
  "settings": "导出设置",
314
327
  "text": "文本",
@@ -338,6 +338,7 @@
338
338
  "chat": "会话",
339
339
  "discover": "发现",
340
340
  "files": "文件",
341
+ "knowledgeBase": "知识库",
341
342
  "me": "我",
342
343
  "setting": "设置"
343
344
  },
@@ -33,6 +33,10 @@
33
33
  "config": {
34
34
  "showFilesInKnowledgeBase": "显示知识库中内容"
35
35
  },
36
+ "view": {
37
+ "list": "列表视图",
38
+ "masonry": "网格视图"
39
+ },
36
40
  "emptyStatus": {
37
41
  "actions": {
38
42
  "file": "上传文件",
@@ -1,5 +1,5 @@
1
1
  {
2
- "desc": "管理你的文件与知识库",
2
+ "desc": "管理你的知识",
3
3
  "detail": {
4
4
  "basic": {
5
5
  "createdAt": "创建时间",
@@ -70,7 +70,7 @@
70
70
  "videos": "视频",
71
71
  "websites": "网页"
72
72
  },
73
- "title": "文件",
73
+ "title": "知识库",
74
74
  "toggleLeftPanel": {
75
75
  "title": "显示/隐藏左侧面板"
76
76
  },
@@ -304,11 +304,24 @@
304
304
  "shareModal": {
305
305
  "copy": "複製",
306
306
  "download": "下載截圖",
307
+ "downloadError": "下載失敗",
307
308
  "downloadFile": "下載檔案",
309
+ "downloadPdf": "下載 PDF",
310
+ "downloadSuccess": "下載成功",
311
+ "exportPdf": "匯出為 PDF",
308
312
  "exportTitle": "預設標題",
313
+ "generatePdf": "生成 PDF",
314
+ "generatingPdf": "正在產生 PDF...",
309
315
  "imageType": "圖片格式",
310
316
  "includeTool": "包含插件訊息",
311
317
  "includeUser": "包含使用者訊息",
318
+ "loadingPdf": "載入 PDF...",
319
+ "noPdfData": "暫無 PDF 資料",
320
+ "pdf": "PDF",
321
+ "pdfErrorDescription": "產生 PDF 時發生錯誤,請重試",
322
+ "pdfGenerationError": "PDF 產生失敗",
323
+ "pdfReady": "PDF 已準備就緒",
324
+ "regeneratePdf": "重新生成 PDF",
312
325
  "screenshot": "截圖",
313
326
  "settings": "導出設置",
314
327
  "text": "文本",
@@ -338,6 +338,7 @@
338
338
  "chat": "對話",
339
339
  "discover": "發現",
340
340
  "files": "檔案",
341
+ "knowledgeBase": "知識庫",
341
342
  "me": "我",
342
343
  "setting": "設定"
343
344
  },
@@ -50,6 +50,10 @@
50
50
  "total": {
51
51
  "fileCount": "共 {{count}} 項",
52
52
  "selectedCount": "已選 {{count}} 項"
53
+ },
54
+ "view": {
55
+ "list": "清單檢視",
56
+ "masonry": "網格檢視"
53
57
  }
54
58
  },
55
59
  "FileParsingStatus": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "desc": "管理你的文件與知識庫",
2
+ "desc": "管理你的知識",
3
3
  "detail": {
4
4
  "basic": {
5
5
  "createdAt": "創建時間",
@@ -70,7 +70,7 @@
70
70
  "videos": "視頻",
71
71
  "websites": "網頁"
72
72
  },
73
- "title": "檔案",
73
+ "title": "知識庫",
74
74
  "toggleLeftPanel": {
75
75
  "title": "顯示/隱藏左側面板"
76
76
  },
package/next.config.ts CHANGED
@@ -201,7 +201,6 @@ const nextConfig: NextConfig = {
201
201
  },
202
202
  },
203
203
  reactStrictMode: true,
204
-
205
204
  redirects: async () => [
206
205
  {
207
206
  destination: '/sitemap-index.xml',
@@ -272,7 +271,7 @@ const nextConfig: NextConfig = {
272
271
  ],
273
272
 
274
273
  // when external packages in dev mode with turbopack, this config will lead to bundle error
275
- serverExternalPackages: isProd ? ['@electric-sql/pglite'] : undefined,
274
+ serverExternalPackages: isProd ? ['@electric-sql/pglite', "pdfkit"] : ["pdfkit"],
276
275
  transpilePackages: ['pdfjs-dist', 'mermaid'],
277
276
 
278
277
  typescript: {
@@ -337,10 +336,10 @@ const withBundleAnalyzer = process.env.ANALYZE === 'true' ? analyzer() : noWrapp
337
336
  const withPWA =
338
337
  isProd && !isDesktop
339
338
  ? withSerwistInit({
340
- register: false,
341
- swDest: 'public/sw.js',
342
- swSrc: 'src/app/sw.ts',
343
- })
339
+ register: false,
340
+ swDest: 'public/sw.js',
341
+ swSrc: 'src/app/sw.ts',
342
+ })
344
343
  : noWrapper;
345
344
 
346
345
  export default withBundleAnalyzer(withPWA(nextConfig as NextConfig));