@lobehub/lobehub 2.0.0-next.97 → 2.0.0-next.98

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 (58) hide show
  1. package/.console-log-whitelist.json +14 -0
  2. package/.github/workflows/check-console-log.yml +117 -0
  3. package/.github/workflows/desktop-pr-build.yml +4 -4
  4. package/.github/workflows/release-desktop-beta.yml +4 -4
  5. package/.github/workflows/release.yml +1 -1
  6. package/.github/workflows/test.yml +5 -5
  7. package/CHANGELOG.md +33 -0
  8. package/changelog/v1.json +12 -0
  9. package/docs/development/database-schema.dbml +1 -0
  10. package/e2e/package.json +1 -1
  11. package/locales/ar/file.json +9 -11
  12. package/locales/bg-BG/file.json +8 -10
  13. package/locales/de-DE/file.json +9 -11
  14. package/locales/en-US/file.json +12 -14
  15. package/locales/es-ES/file.json +7 -9
  16. package/locales/fa-IR/file.json +9 -11
  17. package/locales/fr-FR/file.json +6 -8
  18. package/locales/it-IT/file.json +8 -10
  19. package/locales/ja-JP/file.json +10 -12
  20. package/locales/ko-KR/file.json +8 -10
  21. package/locales/nl-NL/file.json +8 -10
  22. package/locales/pl-PL/file.json +7 -9
  23. package/locales/pt-BR/file.json +7 -9
  24. package/locales/ru-RU/file.json +9 -11
  25. package/locales/tr-TR/file.json +8 -10
  26. package/locales/vi-VN/file.json +9 -11
  27. package/locales/zh-CN/file.json +10 -12
  28. package/locales/zh-TW/file.json +10 -12
  29. package/package.json +3 -2
  30. package/packages/database/migrations/0047_add_slug_document.sql +6 -0
  31. package/packages/database/migrations/meta/0047_snapshot.json +7891 -0
  32. package/packages/database/migrations/meta/_journal.json +7 -0
  33. package/packages/database/src/core/migrations.json +16 -7
  34. package/packages/database/src/models/document.ts +2 -2
  35. package/packages/database/src/schemas/file.ts +7 -1
  36. package/packages/model-bank/src/aiModels/qwen.ts +5 -3
  37. package/packages/model-runtime/src/core/openaiCompatibleFactory/index.ts +21 -21
  38. package/packages/obervability-otel/package.json +2 -2
  39. package/scripts/checkConsoleLog.mts +148 -0
  40. package/scripts/prebuild.mts +5 -5
  41. package/src/app/[variants]/(main)/changelog/index.tsx +1 -1
  42. package/src/app/[variants]/(main)/settings/_layout/Desktop/index.tsx +20 -16
  43. package/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/Card.tsx +6 -3
  44. package/src/app/[variants]/(main)/settings/provider/(list)/index.tsx +3 -2
  45. package/src/app/[variants]/(main)/settings/provider/detail/index.tsx +14 -4
  46. package/src/app/[variants]/desktopRouter.config.tsx +23 -0
  47. package/src/app/[variants]/mobileRouter.config.tsx +23 -0
  48. package/src/features/KnowledgeManager/DocumentExplorer/NoteEditorModal.tsx +0 -20
  49. package/src/features/KnowledgeManager/DocumentExplorer/index.tsx +3 -3
  50. package/src/features/KnowledgeManager/FileExplorer/MasonryFileItem/index.tsx +0 -20
  51. package/src/features/KnowledgeManager/Header/AddButton.tsx +0 -1
  52. package/src/features/KnowledgeManager/Header/NewNoteButton.tsx +1 -1
  53. package/src/features/KnowledgeManager/Header/TogglePanelButton.tsx +2 -2
  54. package/src/features/KnowledgeManager/Home/UploadEntries.tsx +2 -2
  55. package/src/features/KnowledgeManager/Home/index.tsx +4 -4
  56. package/src/features/User/UserPanel/useMenu.tsx +7 -3
  57. package/src/locales/default/file.ts +11 -13
  58. package/src/store/chat/agents/__tests__/createAgentExecutors/helpers/testExecutor.ts +1 -4
@@ -0,0 +1,14 @@
1
+ {
2
+ "files": ["drizzle.config.ts"],
3
+ "patterns": [
4
+ "scripts/**",
5
+ "**/*.test.ts",
6
+ "**/*.test.tsx",
7
+ "**/*.spec.ts",
8
+ "**/*.spec.tsx",
9
+ "**/examples/**",
10
+ "e2e/**",
11
+ ".github/scripts/**",
12
+ "apps/desktop/**"
13
+ ]
14
+ }
@@ -0,0 +1,117 @@
1
+ name: Check Console Log (Warning)
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - main
7
+ - next
8
+
9
+ permissions:
10
+ contents: read
11
+ pull-requests: write
12
+
13
+ jobs:
14
+ check-console-log:
15
+ name: Check for console.log statements (non-blocking)
16
+ runs-on: ubuntu-latest
17
+
18
+ steps:
19
+ - uses: actions/checkout@v5
20
+
21
+ - name: Install bun
22
+ uses: oven-sh/setup-bun@v2
23
+
24
+ - name: Run console.log check
25
+ id: check
26
+ run: |
27
+ OUTPUT=$(bunx tsx scripts/checkConsoleLog.mts 2>&1)
28
+ echo "$OUTPUT"
29
+
30
+ # Save output to file for later use
31
+ echo "$OUTPUT" > /tmp/console-log-output.txt
32
+
33
+ # Check if violations were found
34
+ if echo "$OUTPUT" | grep -q "Total violations:"; then
35
+ echo "has_violations=true" >> $GITHUB_OUTPUT
36
+ TOTAL=$(echo "$OUTPUT" | grep -oP "Total violations: \K\d+")
37
+ echo "total=$TOTAL" >> $GITHUB_OUTPUT
38
+ else
39
+ echo "has_violations=false" >> $GITHUB_OUTPUT
40
+ fi
41
+
42
+ - name: Comment on PR
43
+ if: steps.check.outputs.has_violations == 'true'
44
+ uses: actions/github-script@v7
45
+ env:
46
+ VIOLATION_COUNT: ${{ steps.check.outputs.total }}
47
+ with:
48
+ script: |
49
+ const fs = require('fs');
50
+ const output = fs.readFileSync('/tmp/console-log-output.txt', 'utf8');
51
+ const total = process.env.VIOLATION_COUNT || '0';
52
+
53
+ // Parse violations from output (format: " file:line" followed by " content")
54
+ const lines = output.split('\n');
55
+ const violations = [];
56
+ for (let i = 0; i < lines.length; i++) {
57
+ const line = lines[i];
58
+ // Match lines like " packages/database/src/client/db.ts:258"
59
+ const fileMatch = line.match(/^\s{2}(\S+:\d+)\s*$/);
60
+ if (fileMatch) {
61
+ const file = fileMatch[1];
62
+ const content = lines[i + 1]?.trim() || '';
63
+ violations.push({ file, content });
64
+ i++;
65
+ }
66
+ }
67
+
68
+ // Build comment body
69
+ const maxDisplay = 30;
70
+ let body = `## ⚠️ Console.log Check Warning\n\n`;
71
+ body += `Found **${total}** \`console.log\` statement(s) in this PR.\n\n`;
72
+
73
+ if (violations.length > 0) {
74
+ body += `<details>\n<summary>📋 Click to see violations (${Math.min(violations.length, maxDisplay)} of ${total} shown)</summary>\n\n`;
75
+ body += `| File | Code |\n|------|------|\n`;
76
+ violations.slice(0, maxDisplay).forEach(v => {
77
+ const escapedContent = v.content
78
+ .substring(0, 60)
79
+ .replace(/\|/g, '\\|')
80
+ .replace(/`/g, "'");
81
+ body += `| \`${v.file}\` | \`${escapedContent}${v.content.length > 60 ? '...' : ''}\` |\n`;
82
+ });
83
+ if (parseInt(total) > maxDisplay) {
84
+ body += `\n*...and ${parseInt(total) - maxDisplay} more violations*\n`;
85
+ }
86
+ body += `\n</details>\n\n`;
87
+ }
88
+
89
+ body += `> 💡 **Tip:** Remove \`console.log\` or add files to \`.console-log-whitelist.json\`\n`;
90
+ body += `> ✅ This check is **non-blocking** and won't prevent merging.`;
91
+
92
+ // Find existing comment to update instead of creating duplicates
93
+ const { data: comments } = await github.rest.issues.listComments({
94
+ owner: context.repo.owner,
95
+ repo: context.repo.repo,
96
+ issue_number: context.issue.number,
97
+ });
98
+
99
+ const botComment = comments.find(c =>
100
+ c.user.type === 'Bot' && c.body.includes('Console.log Check Warning')
101
+ );
102
+
103
+ if (botComment) {
104
+ await github.rest.issues.updateComment({
105
+ owner: context.repo.owner,
106
+ repo: context.repo.repo,
107
+ comment_id: botComment.id,
108
+ body,
109
+ });
110
+ } else {
111
+ await github.rest.issues.createComment({
112
+ owner: context.repo.owner,
113
+ repo: context.repo.repo,
114
+ issue_number: context.issue.number,
115
+ body,
116
+ });
117
+ }
@@ -32,7 +32,7 @@ jobs:
32
32
  - name: Setup Node.js
33
33
  uses: actions/setup-node@v6
34
34
  with:
35
- node-version: 24
35
+ node-version: 24.11.1
36
36
  package-manager-cache: false
37
37
 
38
38
  - name: Install bun
@@ -66,7 +66,7 @@ jobs:
66
66
  - name: Setup Node.js
67
67
  uses: actions/setup-node@v6
68
68
  with:
69
- node-version: 24
69
+ node-version: 24.11.1
70
70
  package-manager-cache: false
71
71
 
72
72
  # 主要逻辑:确定构建版本号
@@ -111,7 +111,7 @@ jobs:
111
111
  - name: Setup Node.js
112
112
  uses: actions/setup-node@v6
113
113
  with:
114
- node-version: 24
114
+ node-version: 24.11.1
115
115
  package-manager-cache: false
116
116
 
117
117
  # node-linker=hoisted 模式将可以确保 asar 压缩可用
@@ -232,7 +232,7 @@ jobs:
232
232
  - name: Setup Node.js
233
233
  uses: actions/setup-node@v6
234
234
  with:
235
- node-version: 24
235
+ node-version: 24.11.1
236
236
  package-manager-cache: false
237
237
 
238
238
  - name: Install bun
@@ -26,7 +26,7 @@ jobs:
26
26
  - name: Setup Node.js
27
27
  uses: actions/setup-node@v6
28
28
  with:
29
- node-version: 24
29
+ node-version: 24.11.1
30
30
  package-manager-cache: false
31
31
 
32
32
  - name: Install bun
@@ -55,7 +55,7 @@ jobs:
55
55
  - name: Setup Node.js
56
56
  uses: actions/setup-node@v6
57
57
  with:
58
- node-version: 24
58
+ node-version: 24.11.1
59
59
  package-manager-cache: false
60
60
 
61
61
  # 主要逻辑:确定构建版本号
@@ -96,7 +96,7 @@ jobs:
96
96
  - name: Setup Node.js
97
97
  uses: actions/setup-node@v6
98
98
  with:
99
- node-version: 24
99
+ node-version: 24.11.1
100
100
  package-manager-cache: false
101
101
 
102
102
  # node-linker=hoisted 模式将可以确保 asar 压缩可用
@@ -210,7 +210,7 @@ jobs:
210
210
  - name: Setup Node.js
211
211
  uses: actions/setup-node@v6
212
212
  with:
213
- node-version: 24
213
+ node-version: 24.11.1
214
214
  package-manager-cache: false
215
215
 
216
216
  - name: Install bun
@@ -35,7 +35,7 @@ jobs:
35
35
  - name: Setup Node.js
36
36
  uses: actions/setup-node@v6
37
37
  with:
38
- node-version: 24
38
+ node-version: 24.11.1
39
39
  package-manager-cache: false
40
40
 
41
41
  - name: Install bun
@@ -31,7 +31,7 @@ jobs:
31
31
  - name: Setup Node.js
32
32
  uses: actions/setup-node@v6
33
33
  with:
34
- node-version: 24
34
+ node-version: 24.11.1
35
35
  package-manager-cache: false
36
36
 
37
37
  - name: Install bun
@@ -66,7 +66,7 @@ jobs:
66
66
  - name: Setup Node.js
67
67
  uses: actions/setup-node@v6
68
68
  with:
69
- node-version: 24
69
+ node-version: 24.11.1
70
70
  package-manager-cache: false
71
71
 
72
72
  - name: Install bun
@@ -99,7 +99,7 @@ jobs:
99
99
  - name: Setup Node.js
100
100
  uses: actions/setup-node@v6
101
101
  with:
102
- node-version: 24
102
+ node-version: 24.11.1
103
103
  package-manager-cache: false
104
104
 
105
105
  - name: Install bun
@@ -131,7 +131,7 @@ jobs:
131
131
  - name: Setup Node.js
132
132
  uses: actions/setup-node@v6
133
133
  with:
134
- node-version: 24
134
+ node-version: 24.11.1
135
135
  package-manager-cache: false
136
136
 
137
137
  - name: Setup pnpm
@@ -179,7 +179,7 @@ jobs:
179
179
  - name: Setup Node.js
180
180
  uses: actions/setup-node@v6
181
181
  with:
182
- node-version: 24
182
+ node-version: 24.11.1
183
183
  package-manager-cache: false
184
184
 
185
185
  - name: Install pnpm
package/CHANGELOG.md CHANGED
@@ -2,6 +2,39 @@
2
2
 
3
3
  # Changelog
4
4
 
5
+ ## [Version 2.0.0-next.98](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.97...v2.0.0-next.98)
6
+
7
+ <sup>Released on **2025-11-21**</sup>
8
+
9
+ #### 🐛 Bug Fixes
10
+
11
+ - **misc**: Fixed changelog pages and open again.
12
+
13
+ #### 💄 Styles
14
+
15
+ - **misc**: Fix some translations.
16
+
17
+ <br/>
18
+
19
+ <details>
20
+ <summary><kbd>Improvements and Fixes</kbd></summary>
21
+
22
+ #### What's fixed
23
+
24
+ - **misc**: Fixed changelog pages and open again, closes [#10285](https://github.com/lobehub/lobe-chat/issues/10285) ([871d141](https://github.com/lobehub/lobe-chat/commit/871d141))
25
+
26
+ #### Styles
27
+
28
+ - **misc**: Fix some translations, closes [#10343](https://github.com/lobehub/lobe-chat/issues/10343) ([ed193e0](https://github.com/lobehub/lobe-chat/commit/ed193e0))
29
+
30
+ </details>
31
+
32
+ <div align="right">
33
+
34
+ [![](https://img.shields.io/badge/-BACK_TO_TOP-151515?style=flat-square)](#readme-top)
35
+
36
+ </div>
37
+
5
38
  ## [Version 2.0.0-next.97](https://github.com/lobehub/lobe-chat/compare/v2.0.0-next.96...v2.0.0-next.97)
6
39
 
7
40
  <sup>Released on **2025-11-21**</sup>
package/changelog/v1.json CHANGED
@@ -1,4 +1,16 @@
1
1
  [
2
+ {
3
+ "children": {
4
+ "fixes": [
5
+ "Fixed changelog pages and open again."
6
+ ],
7
+ "improvements": [
8
+ "Fix some translations."
9
+ ]
10
+ },
11
+ "date": "2025-11-21",
12
+ "version": "2.0.0-next.98"
13
+ },
2
14
  {
3
15
  "children": {
4
16
  "improvements": [
@@ -214,6 +214,7 @@ table files {
214
214
  metadata jsonb
215
215
  chunk_task_id uuid
216
216
  embedding_task_id uuid
217
+ slug text [unique]
217
218
  accessed_at "timestamp with time zone" [not null, default: `now()`]
218
219
  created_at "timestamp with time zone" [not null, default: `now()`]
219
220
  updated_at "timestamp with time zone" [not null, default: `now()`]
package/e2e/package.json CHANGED
@@ -17,7 +17,7 @@
17
17
  "playwright": "^1.56.1"
18
18
  },
19
19
  "devDependencies": {
20
- "@types/node": "^22.19.1",
20
+ "@types/node": "^24.10.1",
21
21
  "tsx": "^4.20.6",
22
22
  "typescript": "^5.9.3"
23
23
  }
@@ -55,11 +55,11 @@
55
55
  },
56
56
  "documentList": {
57
57
  "copyContent": "نسخ المحتوى الكامل",
58
- "documentCount": "إجمالي {{count}} مستند",
59
58
  "duplicate": "إنشاء نسخة",
60
- "empty": "لا توجد مستندات حاليًا، انقر على الزر أعلاه لإنشاء أول مستند لك",
59
+ "empty": "لا توجد مستندات حالياً، انقر على الزر أعلاه لإنشاء أول مستند لك",
61
60
  "noResults": "لم يتم العثور على مستندات مطابقة",
62
- "selectNote": "اختر مستندًا للبدء في التحرير",
61
+ "pageCount": "إجمالي {{count}} مستند",
62
+ "selectNote": "اختر مستندًا لبدء التحرير",
63
63
  "untitled": "بدون عنوان"
64
64
  },
65
65
  "empty": "لا توجد ملفات/مجلدات تم تحميلها بعد",
@@ -70,7 +70,6 @@
70
70
  "uploadFile": "رفع ملف",
71
71
  "uploadFolder": "رفع مجلد"
72
72
  },
73
- "newDocumentButton": "مستند جديد",
74
73
  "newNoteDialog": {
75
74
  "cancel": "إلغاء",
76
75
  "editTitle": "تحرير المستند",
@@ -83,14 +82,15 @@
83
82
  "title": "مستند جديد",
84
83
  "updateSuccess": "تم تحديث المستند بنجاح"
85
84
  },
85
+ "newPageButton": "إنشاء مستند جديد",
86
86
  "uploadButton": "رفع"
87
87
  },
88
88
  "home": {
89
89
  "getStarted": "ابدأ الآن",
90
90
  "greeting": "ابدأ",
91
91
  "quickActions": "إجراءات سريعة",
92
- "recentDocuments": "المستندات الأخيرة",
93
92
  "recentFiles": "الملفات الأخيرة",
93
+ "recentPages": "الصفحات الأخيرة",
94
94
  "subtitle": "مرحبًا بك في قاعدة المعرفة، ابدأ من هنا لإدارة مستنداتك وملاحظاتك",
95
95
  "uploadEntries": {
96
96
  "files": {
@@ -102,8 +102,8 @@
102
102
  "knowledgeBase": {
103
103
  "title": "قاعدة معرفة جديدة"
104
104
  },
105
- "newDocument": {
106
- "title": "مستند جديد"
105
+ "newPage": {
106
+ "title": "إنشاء مستند جديد"
107
107
  }
108
108
  }
109
109
  },
@@ -142,8 +142,8 @@
142
142
  "downloadFile": "تحميل الملف",
143
143
  "unsupportedFileAndContact": "هذا التنسيق من الملفات غير مدعوم للمعاينة عبر الإنترنت، إذا كان لديك طلب للمعاينة، فلا تتردد في <1>إبلاغنا</1>"
144
144
  },
145
- "searchDocumentPlaceholder": "ابحث في المستندات",
146
145
  "searchFilePlaceholder": "بحث عن ملف",
146
+ "searchPagePlaceholder": "ابحث في المستندات",
147
147
  "tab": {
148
148
  "all": "الكل",
149
149
  "audios": "الصوتيات",
@@ -156,9 +156,7 @@
156
156
  "websites": "المواقع"
157
157
  },
158
158
  "title": "قاعدة المعرفة",
159
- "toggleLeftPanel": {
160
- "title": "عرض/إخفاء اللوحة الجانبية اليسرى"
161
- },
159
+ "toggleLeftPanel": "إظهار/إخفاء اللوحة الجانبية اليسرى",
162
160
  "uploadDock": {
163
161
  "body": {
164
162
  "collapse": "طي",
@@ -55,10 +55,10 @@
55
55
  },
56
56
  "documentList": {
57
57
  "copyContent": "Копиране на цялото съдържание",
58
- "documentCount": "Общо {{count}} документа",
59
58
  "duplicate": "Създаване на копие",
60
- "empty": "Все още няма документи. Натиснете бутона по-горе, за да създадете първия си документ",
59
+ "empty": "Все още няма документи. Щракнете върху бутона по-горе, за да създадете първия си документ.",
61
60
  "noResults": "Няма намерени съвпадащи документи",
61
+ "pageCount": "Общо {{count}} документа",
62
62
  "selectNote": "Изберете документ, за да започнете редактиране",
63
63
  "untitled": "Без заглавие"
64
64
  },
@@ -70,7 +70,6 @@
70
70
  "uploadFile": "Качване на файл",
71
71
  "uploadFolder": "Качване на папка"
72
72
  },
73
- "newDocumentButton": "Нов документ",
74
73
  "newNoteDialog": {
75
74
  "cancel": "Отказ",
76
75
  "editTitle": "Редактиране на документ",
@@ -83,14 +82,15 @@
83
82
  "title": "Нов документ",
84
83
  "updateSuccess": "Документът беше обновен успешно"
85
84
  },
85
+ "newPageButton": "Създай нов документ",
86
86
  "uploadButton": "Качване"
87
87
  },
88
88
  "home": {
89
89
  "getStarted": "Започнете",
90
90
  "greeting": "Начало",
91
91
  "quickActions": "Бързи действия",
92
- "recentDocuments": "Скорошни документи",
93
92
  "recentFiles": "Скорошни файлове",
93
+ "recentPages": "Скорошни документи",
94
94
  "subtitle": "Добре дошли в базата знания. Започнете да управлявате вашите документи оттук",
95
95
  "uploadEntries": {
96
96
  "files": {
@@ -102,8 +102,8 @@
102
102
  "knowledgeBase": {
103
103
  "title": "Създай база знания"
104
104
  },
105
- "newDocument": {
106
- "title": "Създай нов документ"
105
+ "newPage": {
106
+ "title": "Създаване на нов документ"
107
107
  }
108
108
  }
109
109
  },
@@ -142,8 +142,8 @@
142
142
  "downloadFile": "Изтеглете файла",
143
143
  "unsupportedFileAndContact": "Този формат на файла не поддържа онлайн преглед. Ако имате нужда от преглед, моля, <1>свържете се с нас</1>."
144
144
  },
145
- "searchDocumentPlaceholder": "Търсене на документи",
146
145
  "searchFilePlaceholder": "Търсене на файл",
146
+ "searchPagePlaceholder": "Търсене на документи",
147
147
  "tab": {
148
148
  "all": "Всички",
149
149
  "audios": "Аудио",
@@ -156,9 +156,7 @@
156
156
  "websites": "Уебсайтове"
157
157
  },
158
158
  "title": "База знания",
159
- "toggleLeftPanel": {
160
- "title": "Покажи/Скрий лявото панел"
161
- },
159
+ "toggleLeftPanel": "Показване/скриване на лявия панел",
162
160
  "uploadDock": {
163
161
  "body": {
164
162
  "collapse": "Скрий",
@@ -55,11 +55,11 @@
55
55
  },
56
56
  "documentList": {
57
57
  "copyContent": "Gesamten Inhalt kopieren",
58
- "documentCount": "Insgesamt {{count}} Dokumente",
59
58
  "duplicate": "Kopie erstellen",
60
- "empty": "Noch keine Dokumente vorhanden. Klicken Sie oben, um Ihr erstes Dokument zu erstellen.",
59
+ "empty": "Noch keine Dokumente vorhanden. Klicke auf die Schaltfläche oben, um dein erstes Dokument zu erstellen.",
61
60
  "noResults": "Keine passenden Dokumente gefunden",
62
- "selectNote": "Wählen Sie ein Dokument zum Bearbeiten",
61
+ "pageCount": "Insgesamt {{count}} Dokumente",
62
+ "selectNote": "Wähle ein Dokument aus, um mit der Bearbeitung zu beginnen",
63
63
  "untitled": "Ohne Titel"
64
64
  },
65
65
  "empty": "Keine hochgeladenen Dateien/Ordner vorhanden",
@@ -70,7 +70,6 @@
70
70
  "uploadFile": "Datei hochladen",
71
71
  "uploadFolder": "Ordner hochladen"
72
72
  },
73
- "newDocumentButton": "Neues Dokument",
74
73
  "newNoteDialog": {
75
74
  "cancel": "Abbrechen",
76
75
  "editTitle": "Dokument bearbeiten",
@@ -83,14 +82,15 @@
83
82
  "title": "Neues Dokument",
84
83
  "updateSuccess": "Dokument erfolgreich aktualisiert"
85
84
  },
85
+ "newPageButton": "Neues Dokument erstellen",
86
86
  "uploadButton": "Hochladen"
87
87
  },
88
88
  "home": {
89
89
  "getStarted": "Loslegen",
90
90
  "greeting": "Loslegen",
91
91
  "quickActions": "Schnellaktionen",
92
- "recentDocuments": "Kürzlich verwendete Dokumente",
93
92
  "recentFiles": "Kürzlich verwendete Dateien",
93
+ "recentPages": "Kürzlich geöffnete Dokumente",
94
94
  "subtitle": "Willkommen im Wissensspeicher. Beginnen Sie hier mit der Verwaltung Ihrer Dokumente.",
95
95
  "uploadEntries": {
96
96
  "files": {
@@ -102,8 +102,8 @@
102
102
  "knowledgeBase": {
103
103
  "title": "Neue Wissensdatenbank"
104
104
  },
105
- "newDocument": {
106
- "title": "Neues Dokument"
105
+ "newPage": {
106
+ "title": "Neues Dokument erstellen"
107
107
  }
108
108
  }
109
109
  },
@@ -142,8 +142,8 @@
142
142
  "downloadFile": "Datei herunterladen",
143
143
  "unsupportedFileAndContact": "Dieses Dateiformat wird derzeit nicht für die Online-Vorschau unterstützt. Wenn Sie eine Vorschau wünschen, können Sie uns gerne <1>Feedback geben</1>."
144
144
  },
145
- "searchDocumentPlaceholder": "Dokumente durchsuchen",
146
145
  "searchFilePlaceholder": "Datei suchen",
146
+ "searchPagePlaceholder": "Dokumente durchsuchen",
147
147
  "tab": {
148
148
  "all": "Alle",
149
149
  "audios": "Audio",
@@ -156,9 +156,7 @@
156
156
  "websites": "Webseiten"
157
157
  },
158
158
  "title": "Wissensdatenbank",
159
- "toggleLeftPanel": {
160
- "title": "Linkes Panel einblenden/ausblenden"
161
- },
159
+ "toggleLeftPanel": "Seitenleiste ein-/ausblenden",
162
160
  "uploadDock": {
163
161
  "body": {
164
162
  "collapse": "Einklappen",
@@ -38,8 +38,8 @@
38
38
  "editedBy": "Edited by {{name}}",
39
39
  "editorPlaceholder": "Type document content, press / to open command menu",
40
40
  "empty": {
41
- "createNewDocument": "Create New Document",
42
- "title": "Select a document to start",
41
+ "createNewDocument": "Create New Page",
42
+ "title": "Select a page to start",
43
43
  "uploadMarkdown": "Upload Markdown File"
44
44
  },
45
45
  "linkCopied": "Link copied",
@@ -55,22 +55,21 @@
55
55
  },
56
56
  "documentList": {
57
57
  "copyContent": "Copy All",
58
- "documentCount": "Total {{count}} documents",
59
58
  "duplicate": "Duplicate",
60
59
  "empty": "No documents yet. Click the button above to create your first one.",
61
60
  "noResults": "No matching documents found.",
62
- "selectNote": "Select a document to start editing.",
61
+ "pageCount": "{{count}} pages in total",
62
+ "selectNote": "Select a document to start editing",
63
63
  "untitled": "Untitled"
64
64
  },
65
65
  "empty": "No files or folders have been uploaded yet.",
66
66
  "header": {
67
67
  "actions": {
68
68
  "newFolder": "New Folder",
69
- "newPage": "New Document",
69
+ "newPage": "New Page",
70
70
  "uploadFile": "Upload File",
71
71
  "uploadFolder": "Upload Folder"
72
72
  },
73
- "newDocumentButton": "New Document",
74
73
  "newNoteDialog": {
75
74
  "cancel": "Cancel",
76
75
  "editTitle": "Edit Document",
@@ -80,17 +79,18 @@
80
79
  "save": "Save",
81
80
  "saveError": "Failed to save the document. Please try again.",
82
81
  "saveSuccess": "Document saved successfully.",
83
- "title": "New Document",
82
+ "title": "New Page",
84
83
  "updateSuccess": "Document updated successfully."
85
84
  },
85
+ "newPageButton": "New Page",
86
86
  "uploadButton": "Upload"
87
87
  },
88
88
  "home": {
89
89
  "getStarted": "Get Started",
90
90
  "greeting": "Get Started",
91
91
  "quickActions": "Quick Actions",
92
- "recentDocuments": "Recent Documents",
93
92
  "recentFiles": "Recent Files",
93
+ "recentPages": "Recent Documents",
94
94
  "subtitle": "Welcome to your knowledge base. Start managing your documents here.",
95
95
  "uploadEntries": {
96
96
  "files": {
@@ -102,8 +102,8 @@
102
102
  "knowledgeBase": {
103
103
  "title": "Create Knowledge Base"
104
104
  },
105
- "newDocument": {
106
- "title": "Create Document"
105
+ "newPage": {
106
+ "title": "New Page"
107
107
  }
108
108
  }
109
109
  },
@@ -142,8 +142,8 @@
142
142
  "downloadFile": "Download File",
143
143
  "unsupportedFileAndContact": "This file format is not currently supported for online preview. If you have a request for previewing, feel free to <1>contact us</1>."
144
144
  },
145
- "searchDocumentPlaceholder": "Search documents",
146
145
  "searchFilePlaceholder": "Search Files",
146
+ "searchPagePlaceholder": "Search Pages",
147
147
  "tab": {
148
148
  "all": "All",
149
149
  "audios": "Audio",
@@ -156,9 +156,7 @@
156
156
  "websites": "Websites"
157
157
  },
158
158
  "title": "Knowledge Base",
159
- "toggleLeftPanel": {
160
- "title": "Show/Hide Left Panel"
161
- },
159
+ "toggleLeftPanel": "Show/Hide Left Panel",
162
160
  "uploadDock": {
163
161
  "body": {
164
162
  "collapse": "Collapse",