-
Notifications
You must be signed in to change notification settings - Fork 815
Expand file tree
/
Copy pathen.json
More file actions
2245 lines (2245 loc) · 88.9 KB
/
en.json
File metadata and controls
2245 lines (2245 loc) · 88.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"app": {
"title": "Note Generator",
"description": "Your AI-powered note taking assistant"
},
"common": {
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"edit": "Edit",
"create": "Create",
"theme": "Theme",
"light": "Light",
"dark": "Dark",
"system": "System",
"pin": "Pin",
"unpin": "Unpin",
"settings": "Settings",
"back": "Back",
"sync": "Sync",
"language": "Language",
"confirm": "Confirm",
"selectPrompt": "Select Prompt",
"prompt": "Prompt",
"success": "Success",
"error": "Failed",
"defaultFileName": "Untitled",
"restartToApply": ", please restart the application for the configuration to take effect",
"unsaved": "Unsaved",
"saving": "Saving...",
"close": "Close",
"open": "Open",
"add": "Add",
"remove": "Remove",
"search": "Search",
"filter": "Filter",
"sort": "Sort",
"export": "Export",
"import": "Import",
"refresh": "Refresh",
"loading": "Loading...",
"warning": "Warning",
"info": "Info"
},
"settings": {
"defaultModels": {
"title": "Default Models"
},
"others": "Advanced",
"general": {
"title": "General Settings",
"desc": "Here, you can configure basic application settings, including interface theme, language and other options.",
"interface": {
"title": "Interface Settings",
"theme": {
"title": "Theme",
"desc": "Choose the application's appearance theme",
"options": {
"light": "Light",
"dark": "Dark",
"system": "System"
}
},
"language": {
"title": "Language",
"desc": "Choose the application's display language"
},
"scale": {
"title": "Interface Scale",
"desc": "Adjust the overall scale of the application interface",
"placeholder": "Select scale ratio"
},
"contentTextScale": {
"title": "Content Scale",
"desc": "Adjust the text size in editor and chat Markdown content"
},
"fileManagerTextSize": {
"title": "File Manager Text Size",
"desc": "Adjust the text size of file and folder lists in the file manager"
},
"recordTextSize": {
"title": "Record Text Size",
"desc": "Adjust the text size of record items in the record list"
},
"customCss": {
"title": "Custom CSS",
"desc": "Add custom CSS styles to override the application's default styles",
"button": "Edit CSS",
"dialogTitle": "Custom CSS",
"dialogDesc": "Enter custom CSS code below to override the application's default styles. Click save to apply changes.",
"placeholder": "Enter custom CSS code here",
"save": "Save",
"cancel": "Cancel"
},
"customTheme": {
"title": "Custom Theme Colors",
"desc": "Customize application theme colors including background, foreground, border, etc.",
"button": "Edit Colors",
"dialogTitle": "Custom Theme Colors",
"dialogDesc": "Configure custom theme colors. Color changes are saved and applied in real-time, overriding both light and dark themes.",
"close": "Close",
"reset": "Reset All",
"tabs": {
"custom": "Custom",
"presets": "Presets",
"importExport": "Import/Export"
},
"export": {
"title": "Export Color Scheme",
"button": "Generate Export Code",
"placeholder": "Click the generate button to export current color scheme as code"
},
"import": {
"title": "Import Color Scheme",
"button": "Import Scheme",
"placeholder": "Paste the JSON code of the color scheme"
},
"colors": {
"background": "Background",
"foreground": "Foreground",
"card": "Card Background",
"cardForeground": "Card Foreground",
"primary": "Primary",
"primaryForeground": "Primary Foreground",
"secondary": "Secondary",
"secondaryForeground": "Secondary Foreground",
"third": "Third",
"thirdForeground": "Third Foreground",
"muted": "Muted",
"mutedForeground": "Muted Foreground",
"accent": "Accent",
"accentForeground": "Accent Foreground",
"border": "Border",
"shadow": "Shadow"
},
"presets": {
"apply": "Apply",
"reset": {
"name": "Reset to Default"
},
"default": {
"name": "Default White"
},
"ocean": {
"name": "Ocean Blue"
},
"forest": {
"name": "Forest Green"
},
"sunset": {
"name": "Sunset Red"
},
"lavender": {
"name": "Lavender Purple"
},
"midnight": {
"name": "Midnight Dark"
},
"deepSea": {
"name": "Deep Sea"
},
"darkForest": {
"name": "Dark Forest"
},
"darkViolet": {
"name": "Dark Violet"
},
"coralWarm": {
"name": "Coral Warm"
},
"slateGray": {
"name": "Slate Gray"
},
"darkGold": {
"name": "Dark Gold"
},
"beigeWarm": {
"name": "Beige Warm"
},
"beigeDark": {
"name": "Beige Dark"
}
}
},
"tray": {
"enabled": {
"title": "Enable Tray",
"desc": "Choose to minimize to tray or close app when window is closed"
}
}
},
"tools": {
"title": "Tool Settings",
"desc": "Configure display and sorting of various toolbar buttons",
"chatToolbar": {
"title": "Chat Toolbar",
"desc": "Customize the display order and visibility of chat toolbar buttons",
"button": "Configure",
"dialogTitle": "Configure Chat Toolbar",
"dialogDesc": "Drag tools to adjust order, use switches to show or hide",
"groups": {
"pc": "PC",
"mobile": "Mobile",
"bottom": "Bottom Toolbar",
"topLeft": "Top Toolbar - Left",
"topRight": "Top Toolbar - Right"
}
},
"recordToolbar": {
"title": "Record Toolbar",
"desc": "Customize the display order and visibility of record toolbar buttons",
"button": "Configure",
"dialogTitle": "Configure Record Toolbar",
"dialogDesc": "Drag tools to adjust order, use switches to show or hide"
}
}
},
"rag": {
"title": "Knowledge Base",
"desc": "Here, you can configure knowledge base related settings, knowledge base based on RAG technology, through embedding models to convert text into vectors, then through vector search to achieve intelligent search and intelligent answers.",
"settingsTitle": "Parameter Settings",
"settingsDesc": "By adjusting parameters, you can more precisely control the retrieval effect of the knowledge base.",
"deleteVectorConfirm": "Are you sure you want to clear the knowledge base?",
"deleteVectorSuccess": "Knowledge base cleared successfully",
"enable": "Enable knowledge base search",
"enableDesc": "Enabling it will make AI search your notes when answering questions, providing more accurate answers.",
"chunkSize": "Chunk size",
"chunkSizeDesc": "The maximum number of characters for text chunking. Larger chunks may contain more context, but will increase vector calculation complexity.",
"chunkOverlap": "Chunk overlap",
"chunkOverlapDesc": "The number of overlapping characters between text chunks. Larger overlaps can maintain context continuity.",
"resultCount": "Result count",
"resultCountDesc": "The number of related documents returned when searching. The more documents, the more information provided, but may also introduce noise.",
"similarityThreshold": "Similarity threshold",
"similarityThresholdDesc": "The minimum similarity threshold between documents and queries. Only documents exceeding this threshold will be returned. The value range is 0.0-1.0, the higher the threshold, the stricter the requirement.",
"resetToDefaults": "Reset to defaults",
"deleteVector": "Clear knowledge base",
"topPDesc": "Top P parameter controls the diversity of text generated by the model. Smaller values make the output more deterministic, while larger values make it more diverse."
},
"mcp": {
"title": "MCP",
"desc": "Model Context Protocol allows AI to call external tools and access resources, extending AI capabilities.",
"enableTitle": "Enable MCP",
"enableDesc": "When enabled, AI can call tools provided by configured MCP servers.",
"servers": "Server List",
"serversDesc": "Manage MCP server configurations. Each server can provide different tools and resources.",
"addServer": "Add Server",
"addFirstServer": "Add First Server",
"editServer": "Edit Server",
"serverName": "Server Name",
"serverNamePlaceholder": "e.g., File System Server",
"serverEnabled": "Enable Server",
"serverEnabledDesc": "When enabled, this server will automatically connect and provide tools.",
"serverType": "Server Type",
"stdio": "Local Command",
"http": "HTTP Service",
"command": "Command",
"args": "Arguments",
"argsDesc": "Command line arguments, separated by spaces",
"env": "Environment Variables",
"envDesc": "Environment variable configuration in JSON format",
"url": "Service URL",
"headers": "Request Headers",
"headersDesc": "HTTP request headers in JSON format",
"testConnection": "Test Connection",
"test": "Test",
"testSuccess": "Connection test successful",
"testFailed": "Connection test failed",
"connected": "Connected",
"connecting": "Connecting",
"disconnected": "Disconnected",
"error": "Error",
"tools": "Tools",
"noServers": "MCP service not enabled",
"noServersFound": "No matching servers found",
"serverAdded": "Server added successfully",
"serverUpdated": "Server updated successfully",
"serverDeleted": "Server deleted successfully",
"deleteServerTitle": "Delete Server",
"deleteServerDesc": "Are you sure you want to delete this server? This action cannot be undone.",
"nameRequired": "Please enter server name",
"commandRequired": "Please enter command",
"urlRequired": "Please enter service URL",
"toolBrowser": "Tool Browser",
"searchTools": "Search tools...",
"noToolsFound": "No tools found",
"parameters": "Parameters",
"testAll": "Test All Connections",
"testAllCompleted": "All connection tests completed",
"testAllFailed": "Connection test failed",
"save": "Save",
"cancel": "Cancel",
"delete": "Delete",
"importJson": "Import JSON",
"jsonImportTitle": "Import Server Configuration from JSON",
"jsonImportDesc": "Paste the mcpServers configuration format for MCP servers",
"jsonInput": "JSON Configuration",
"jsonInputHelp": "Supports mcpServers format, automatically uses server name as key",
"jsonRequired": "Please enter JSON configuration",
"jsonEmpty": "JSON configuration cannot be empty",
"jsonInvalidJson": "Invalid JSON format",
"jsonInvalidFormat": "Invalid configuration format, must contain name and type fields",
"jsonInvalidType": "Server type must be stdio or http",
"jsonMissingCommand": "stdio type server must specify command",
"jsonMissingUrl": "http type server must specify url",
"jsonImportSuccess": "Successfully imported {count} server(s)",
"jsonImportSkipped": "Skipped {count} existing server(s)",
"jsonImportNoServers": "No servers were imported",
"import": "Import"
},
"skills": {
"title": "Skills",
"desc": "Skills are reusable AI capability packages that allow AI assistants to automatically apply specific behavioral patterns based on tasks.",
"enable": "Enable Skills",
"enableDesc": "When enabled, AI can use configured Skills",
"autoMatch": "Auto-match Skills",
"autoMatchDesc": "Automatically select appropriate Skills based on user input",
"project": "Workspace Skills",
"global": "Global Skills",
"globalPath": "Global Skills Storage Location",
"openInFileManager": "Open in File Manager",
"createSkill": "Create Skill",
"editSkill": "Edit Skill",
"deleteSkill": "Delete Skill",
"exportSkill": "Export Skill",
"importSkill": "Import Skill",
"selectSkillZip": "Select Skill zip file",
"importSuccess": "Import successful",
"importError": "Import failed",
"imported": "imported",
"importing": "Importing...",
"skillName": "Skill Name",
"skillDescription": "Description",
"skillVersion": "Version",
"skillAuthor": "Author",
"allowedTools": "Allowed Tools",
"userInvocable": "Show in Slash Menu",
"instructions": "Instructions",
"instructionsPlaceholder": "Enter detailed instructions for AI...",
"importHelp": "Support importing Skills in zip format. The zip file must contain a SKILL.md file.",
"metadata": "Metadata",
"content": "Instructions",
"noSkills": "No Skills yet",
"noSkillsDesc": "Create or import Skills to get started",
"noSkillsGlobal": "No global Skills yet",
"noSkillsGlobalDesc": "Create or import Skills to use across all projects",
"emptyWorkspace": "No Skills in workspace",
"emptyWorkspaceDesc": "Create SKILL.md files in the skills folder to add Skills",
"basicSettings": "Basic Settings",
"installedGlobalSkills": "Installed Global Skills",
"nameRequired": "Please enter Skill name",
"descriptionRequired": "Please enter description",
"namePlaceholder": "note-organizer",
"versionPlaceholder": "1.0.0",
"descriptionPlaceholder": "Automatically organize and optimize note structure...",
"authorPlaceholder": "Your Name",
"descriptionHelp": "Used for AI matching, describes the Skill's functionality and use cases",
"allowedToolsHelp": "These tools can be used without user confirmation",
"userInvocableHelp": "Users can manually trigger via /skill-name",
"instructionsHelp": "Detailed instructions for AI, supports Markdown format",
"deleteSkillTitle": "Delete Skill",
"deleteSkillDesc": "Are you sure you want to delete this Skill? This action cannot be undone.",
"skillDeleted": "Skill deleted successfully"
},
"editor": {
"title": "Editor Settings",
"interfaceSettings": "Interface Settings",
"desc": "Here, you can customize the editor, creating a writing experience tailored to your needs.",
"typewriterMode": "Typewriter Mode",
"typewriterModeDesc": "In typewriter mode, the editor will simulate a typewriter effect, helping you better immerse in writing.",
"outlineEnable": "Default outline enabled",
"outlineEnableDesc": "Enabling it will make the outline visible by default.",
"outlinePosition": "Outline position",
"outlinePositionDesc": "Set outline position.",
"outlinePositionOptions": {
"left": "Left",
"right": "Right"
},
"pageView": "Page view",
"pageViewDesc": "In immersive view, the editor will reserve a large amount of blank space on both sides, and in panorama view, the editor content will occupy the entire editing area.",
"pageViewOptions": {
"immersiveView": "Immersive view",
"panoramaView": "Panorama view"
},
"enableLineNumber": "Enable line number",
"enableLineNumberDesc": "Enabling it will make the line number visible in code blocks.",
"completion": {
"title": "Auto Completion",
"model": {
"title": "Quick Completion Model",
"desc": "Select the model for AI inline completion in editor"
}
},
"commit": {
"title": "Auto Commit Message",
"model": {
"title": "Commit Model",
"desc": "For automatically generating Git commit messages based on file changes"
}
}
},
"record": {
"title": "Record Settings",
"desc": "Configure record-related settings here, including record description and toolbar configuration.",
"model": {
"title": "Model Settings",
"markDesc": {
"title": "Record Description",
"desc": "For processing OCR-recognized records and generating record descriptions"
}
},
"toolbar": {
"title": "Toolbar Settings",
"recordToolbar": {
"title": "Record Toolbar",
"desc": "Customize the visibility and order of record toolbar buttons",
"button": "Configure",
"text": {
"desc": "Record text content"
},
"recording": {
"desc": "Voice recording function"
},
"scan": {
"desc": "Scan and recognize text from images"
},
"image": {
"desc": "Upload images to notes"
},
"link": {
"desc": "Record web links"
},
"file": {
"desc": "Upload files to notes"
},
"todo": {
"desc": "Create todo items"
}
}
}
},
"uploadStore": {
"uploadConfirm": "Upload configuration please ensure the sync repository is private, otherwise the data will be leaked!",
"downloadConfirm": "Download configuration will cover local configuration and restart to take effect!",
"uploadSuccess": "Upload success",
"downloadSuccess": "Download success",
"upload": "Upload",
"download": "Download"
},
"about": {
"title": "About",
"desc": "A note-taking assistant focused on record and writing.",
"version": "NoteGen v{version}",
"checkReleases": "Check Release History",
"language": "Language",
"checkUpdate": "Check for Updates",
"checkError": "Failed to check for updates",
"updateAvailable": "Update to new version",
"updateDownloading": "Updating {downloaded} / {contentLength}",
"updateInstalled": "Restart app",
"noUpdate": "Current version is the latest",
"ignoreVersion": "Ignore this version",
"ignoreVersionSuccess": "This version update has been ignored",
"items": {
"home": {
"title": "Home",
"buttonName": "Open",
"desc": "Visit the website to learn more about NoteGen."
},
"guide": {
"title": "Guide",
"buttonName": "Open",
"desc": "View configuration guide, learn how to configure models, sync, etc. information."
},
"github": {
"title": "GitHub",
"buttonName": "View",
"desc": "If NoteGen helps you, please give a star to encourage!"
},
"releases": {
"title": "Update Log",
"buttonName": "View",
"desc": "View update log, learn more about NoteGen's updates."
},
"issues": {
"title": "Issue Feedback",
"buttonName": "Feedback",
"desc": "If you find a bug in NoteGen, please feedback here."
},
"discussions": {
"title": "Discussions",
"buttonName": "Discuss",
"desc": "If you want to discuss with the author or other users, you can join the group discussion."
}
}
},
"memories": {
"title": "Memory Management",
"desc": "AI long-term memory feature that lets AI remember your writing preferences, experiences, and note-taking habits.",
"stats": {
"total": "Total Memories",
"preferences": "Preferences",
"memories": "Memories"
},
"form": {
"title": "Add New Memory",
"categoryDescription": "Memories are divided into two types:",
"preferenceDescription": "Preferences: Settings like language, format, style - always loaded in conversations",
"memoryDescription": "Memories: Facts, experiences, expertise - intelligently matched based on conversation context",
"contentLabel": "Memory Content",
"contentPlaceholder": "e.g., I prefer Chinese responses, I'm a React expert...",
"categoryLabel": "Type",
"preferenceLabel": "Preference",
"memoryLabel": "Memory",
"preferenceDesc": "Language, format, style, etc.",
"memoryDesc": "Facts, experience, expertise, etc.",
"save": "Save Memory",
"saving": "Saving..."
},
"listTitle": "My Memories",
"addMemory": "Add Memory",
"empty": "No memories yet, add your first memory!",
"emptyHint": "You can add memories manually, or use phrases like \"please remember\" or \"remember this\" in conversations to let AI automatically create memories.",
"preference": "Preference",
"memory": "Memory",
"replaced": "Replaced",
"accessCount": "Accessed {count} times",
"tabs": {
"all": "All",
"preference": "Preferences",
"memory": "Memories"
},
"success": "Success",
"saved": "Memory saved",
"updated": "Memory updated (similar memory replaced)",
"deleted": "Memory deleted",
"cleared": "All memories cleared",
"found": "Found {count} memories",
"error": "Error",
"errorEmpty": "Please enter memory content",
"errorSave": "Failed to save",
"errorDelete": "Failed to delete",
"errorList": "Failed to get memory list",
"errorEmbedding": "Failed to generate embedding, please check embedding model configuration",
"errorClear": "Failed to clear"
},
"defaultModel": {
"title": "Default Model",
"desc": "Here, you can use different models for different scenes, to improve efficiency and reduce costs.",
"tooltip": "Use main model",
"noModel": "Do not use",
"placeholder": "Please select or search for models",
"main": "Main model",
"options": {
"primaryModel": {
"title": "Main model",
"desc": "As the main model for all scenarios, this model is used if other dialogue models do not select the default model."
},
"markDesc": {
"title": "Record Description",
"desc": "Used to process records after OCR recognition, generating record descriptions."
},
"placeholder": {
"title": "AI Suggestion",
"desc": "AI suggestion prompt for generating placeholder content in the record page AI conversation."
},
"completion": {
"title": "Fast Completion",
"desc": "AI inline completion for Markdown editor, similar to GitHub Copilot, quickly generates continuation content."
},
"commit": {
"title": "Auto Generate Commit Message",
"desc": "Used to automatically generate Git commit messages, intelligently generating descriptive commit messages based on file content changes."
},
"embedding": {
"title": "Embedding Model",
"desc": "Used for text embedding and vectorization scenarios."
},
"reranking": {
"title": "Reranking Model",
"desc": "Used for reordering and optimizing search results."
},
"condense": {
"title": "Condense Model",
"desc": "Used to compress historical conversation content to save token usage"
}
},
"mainModel": "Main Model"
},
"audio": {
"title": "Audio Settings",
"desc": "Here, you can configure audio settings, including text-to-speech (TTS) and speech-to-text (STT) functions.",
"tts": {
"title": "Text-to-Speech (TTS)",
"desc": "Configure read aloud functionality to provide voice playback for chat content.",
"model": {
"title": "TTS Model",
"desc": "Select the AI model for text-to-speech conversion, supporting various voice types and parameter configurations."
},
"speed": {
"title": "Speech Rate",
"desc": "Adjust the playback speed of the voice, ranging from 0.5x to 2x speed, with 1x being the normal speed."
}
},
"stt": {
"title": "Speech-to-Text (STT)",
"desc": "Configure voice recognition to convert speech to text records.",
"mode": {
"title": "Recognition Mode",
"desc": "Choose between browser built-in recognition or AI model recognition",
"builtin": "Built-in",
"model": "AI Model"
},
"model": {
"title": "STT Model",
"desc": "Select the AI model for speech recognition, supporting real-time voice-to-text conversion."
}
}
},
"prompt": {
"title": "Prompt",
"promptTitle": "Prompt Title",
"desc": "Here, you can add and manage prompts, helping AI better understand your needs.",
"addPrompt": "Add Prompt",
"selectPrompt": "Select Prompt",
"configPrompt": "Configure Prompt",
"noContent": "No content",
"addPromptDesc": "Please enter the prompt name and content, helping AI better understand your needs.",
"promptTitlePlaceholder": "Please enter the prompt name",
"promptContentPlaceholder": "Please enter the prompt content",
"promptContent": "Prompt Content",
"optimizePrompt": "Optimize Prompt",
"optimizing": "Optimizing...",
"optimizeSuccess": "Prompt optimized successfully",
"optimizeFailed": "Failed to optimize prompt, please try again later",
"noContentToOptimize": "Please enter prompt content first"
},
"sync": {
"title": "Sync",
"desc": "Here, you can configure the synchronization repository, which can help you synchronize records, markdown files, system configurations and other information.",
"repoStatus": "Repository Status",
"syncRepo": "Sync Repository",
"syncRepoDesc": "Sync markdown files in writing",
"imageRepo": "Image Repository",
"imageRepoDesc": "Sync your images to repository, using jsdelivr for acceleration",
"private": "Private",
"public": "Public",
"createdAt": "Created {time}",
"updatedAt": "Last updated {time}",
"newToken": "Create Access Token",
"newTokenDesc": "When creating a new token, please make sure to check the repo permission, and after configuration, it will automatically create a file repository (private) and an image repository.",
"giteeTokenDesc": "Gitee personal access token is used for data synchronization. It needs repository read and write permissions. After configuration, it will automatically create a file repository (private) and an image repository.",
"imageRepoSetting": "Local/Cloud Storage",
"imageRepoSettingDesc": "You have already configured an image repository, you can choose to use the image repository or use local storage.",
"jsdelivrSetting": "jsDelivr",
"autoSyncDesc": "When enabled, the editor will automatically sync to GitHub 10 seconds after input stops",
"giteeAutoSyncDesc": "When enabled, the editor will automatically sync to Gitee 10 seconds after input stops",
"customSyncRepo": "Custom Sync Repository Name",
"customSyncRepoDesc": "Leave empty to use default repository name",
"customImageRepo": "Custom Image Repository Name",
"customImageRepoDesc": "Leave empty to use default repository name",
"backupMethod": "Backup Method",
"backupMethodDesc": "After setting as the primary backup method, all sync-related functions in writing will use the current backup method (except for image hosting)",
"isPrimaryBackup": "{type} is current primary backup",
"setPrimaryBackup": "Set as Primary Backup",
"createRepo": "Create Repository",
"creating": "Creating",
"checkRepo": "Check Repository",
"checking": "Checking",
"defaultRepoName": "Default: {name}",
"gitlabInstanceType": "GitLab Instance Type",
"gitlabInstanceTypeDesc": "Select the type of GitLab instance to connect to",
"gitlabInstanceTypePlaceholder": "Select GitLab Instance Type",
"gitlabInstanceTypeOptions": {
"selfHosted": "Self-hosted Instance",
"selfHostedDesc": "Enter your self-hosted GitLab server address (e.g., https://gitlab.example.com)"
},
"gitlabAccessTokenDesc": "Create a personal access token at {instanceDisplayName}, requires api permission",
"giteaInstanceType": "Gitea Instance Type",
"giteaInstanceTypeDesc": "Select the type of Gitea instance to connect to",
"giteaInstanceTypePlaceholder": "Select Gitea Instance Type",
"giteaInstanceTypeOptions": {
"selfHosted": "Self-hosted Instance",
"selfHostedDesc": "Enter your self-hosted Gitea server address (e.g., https://gitea.example.com)"
},
"giteaAccessTokenDesc": "Create a personal access token at {instanceDisplayName}, requires full repository permission",
"autoSync": "Auto Sync",
"autoSyncOptions": {
"placeholder": "Select auto sync time",
"disabled": "Disabled",
"10s": "10 seconds",
"30s": "30 seconds",
"1m": "1 minute",
"5m": "5 minutes",
"30m": "30 minutes"
},
"exclusions": {
"title": "Sync Exclusion Configuration",
"desc": "The following settings will not be synced across devices as they are device-specific",
"workspacePath": "Workspace Path",
"workspaceHistory": "Workspace History",
"assetsPath": "Assets Path",
"uiScale": "UI Scale",
"contentTextScale": "Content Text Scale",
"customCss": "Custom CSS",
"reason": "These settings may differ across devices, excluding them from sync prevents path errors and other issues"
},
"settingsSync": {
"uploadSuccess": "Settings uploaded successfully",
"uploadFailed": "Failed to upload settings",
"downloadSuccess": "Settings downloaded successfully",
"downloadFailed": "Failed to download settings",
"autoSync": "Settings will be automatically synced during upload/download (excluding device-specific settings like workspace path)"
},
"jsdelivrSettingDesc": "Use jsdelivr to accelerate image access."
},
"imageHosting": {
"title": "Image Hosting",
"desc": "Here, you can configure image hosting services for storing and managing your images.",
"customRepoName": "Custom Repository Name",
"customRepoNameDesc": "Leave empty to use default repository name",
"isPrimaryBackup": "Current {type} primary image hosting method",
"setPrimaryBackup": "Set as Primary Image Hosting",
"smms": {
"token": {
"desc": "Please create and input SM.MS Token.",
"createToken": "Create Token"
},
"disk": "Disk Usage",
"error": "Failed to get, please check network or Token is correct."
},
"picgo": {
"desc": "PicGo server URL",
"ok": "Service is running, please ensure PicGo image hosting is configured.",
"error": "Service is not running, please ensure PicGo (v2.2.0+) is running, otherwise image upload will fail."
},
"github": {
"title": "GitHub Image Hosting",
"description": "Use GitHub repository as image storage service",
"repoStatus": "Repository Status",
"repoExists": "Repository Exists",
"repoNotExists": "Repository Not Found",
"checking": "Checking",
"creating": "Creating",
"manualCreateTitle": "Manual Repository Creation Required",
"manualCreateDesc": "Please follow these steps to create the image hosting repository:",
"createSteps": {
"step1": "Visit GitHub and log in to your account",
"step2": "Click the \"+\" button in the top right corner, select \"New repository\"",
"step3": "Set repository name to:",
"step4": "Optionally set as private repository (recommended)",
"step5": "Click \"Create repository\" to complete creation",
"step6": "After creation, click the \"Recheck\" button below"
},
"createNewRepo": "Create New Repository",
"recheckRepo": "Recheck",
"recheckingRepo": "Checking...",
"createRepo": "Create Repository",
"creatingRepo": "Creating..."
},
"s3": {
"title": "S3 Object Storage",
"description": "Configure AWS S3 or S3-compatible object storage service as image hosting",
"status": "Connection Status",
"connected": "Connected",
"connecting": "Connecting",
"disconnected": "Disconnected",
"accessKeyId": "Access Key ID",
"accessKeyIdPlaceholder": "Enter Access Key ID",
"secretAccessKey": "Secret Access Key",
"secretAccessKeyPlaceholder": "Enter Secret Access Key",
"region": "Region",
"bucket": "Bucket",
"bucketPlaceholder": "Enter bucket name",
"advancedSettings": "Advanced Settings",
"endpoint": "Custom Endpoint",
"endpointDesc": "Leave empty for AWS S3, or enter S3-compatible service endpoint",
"forcePathStyle": "Force Path Style",
"forcePathStyleDesc": "Enable for MinIO, Cloudflare R2, or other services that require path-style URLs",
"customDomain": "Custom Domain",
"customDomainDesc": "Optional, custom domain for accessing images",
"pathPrefix": "Path Prefix",
"pathPrefixDesc": "Optional, path prefix for image storage",
"save": "Save Configuration",
"test": "Test Connection",
"setAsPrimary": "Set as Primary",
"error": "Configuration Error",
"requiredFields": "Please fill in required fields: Access Key ID, Secret Access Key, Region and Bucket",
"saveSuccess": "Configuration Saved",
"saveSuccessDesc": "S3 configuration has been saved",
"saveError": "Failed to Save Configuration",
"testSuccess": "Connection Test Successful",
"testSuccessDesc": "S3 connection is working, ready to upload images",
"testFailed": "Connection Test Failed",
"testFailedDesc": "Please check configuration and network connection",
"testFirstDesc": "Please test connection successfully before setting as primary",
"setPrimarySuccess": "Set Successfully",
"setPrimarySuccessDesc": "S3 has been set as primary image hosting"
}
},
"imageMethod": {
"title": "Image Recognition",
"desc": "Here, you can configure image recognition related settings, supporting OCR and VLM two ways.",
"enable": {
"title": "Enable Image Recognition",
"desc": "When enabled, images will be automatically recognized during screenshot and image recording. When disabled, image recognition will be skipped."
},
"setPrimary": "Set as default",
"isPrimary": "{type} has been set as default",
"ocr": {
"title": "OCR",
"languagePacks": "Language Pack",
"checkModels": "Here you can search all models",
"modelInstruction": "Comma separated, for example: eng,chi_sim"
},
"vlm": {
"title": "Visual Language Model",
"desc": "Use visual language model to recognize image content."
}
},
"backupSync": {
"title": "Backup Data",
"desc": "Here, you can use other methods to backup your data, you can regularly backup to ensure data security.",
"webdav": {
"connectionState": {
"success": "Connected",
"checking": "Connecting",
"failed": "Not Connected"
},
"description": "WebDAV is only used as a backup solution and does not support auto-sync, history rollback, and other features.",
"backupTo": "Backup to WebDAV",
"syncFrom": "Sync from WebDAV",
"serverUrl": "WebDAV Server URL",
"serverUrlDesc": "Enter the URL of the WebDAV server No path included, e.g: https://dav.example.com http://192.8.8.88:9999",
"serverUrlPlaceholder": "https://dav.example.com",
"username": "Username",
"usernameDesc": "WebDAV server username",
"usernamePlaceholder": "Username",
"password": "Password",
"passwordDesc": "WebDAV server password",
"passwordPlaceholder": "Password",
"backupPath": "Backup Path",
"backupPathDesc": "Backup path on the WebDAV server, e.g: /backup/notes",
"backupPathPlaceholder": "/backup/notes",
"backupSuccess": "Backup Successful",
"backupSuccessDesc": "Backed up {count} files to WebDAV.",
"syncSuccess": "Sync Successful",
"syncSuccessDesc": "Synced {count} files from WebDAV to local.",
"syncFailed": "Sync Failed",
"backupFailed": "Backup Failed",
"directoryCreated": "Directory Created",
"directoryCreatedDesc": "Directory {path} created successfully.",
"createDir": "Create Directory",
"success": "Success",
"failed": "Failed",
"error": {
"pathNotFound": "Path not found or server inaccessible.",
"createDirFailed": "Failed to create directory",
"connectionTimeOut": "Connection timed out, please check network or server."
}
},
"localBackup": {
"tabTitle": "Local Backup",
"export": {
"title": "Export Backup",
"desc": "Package application data into a .zip file and save to specified location.",
"button": "Choose Location and Export",
"exporting": "Exporting..."
},
"import": {
"title": "Import Backup",
"desc": "Restore application data from .zip file, will overwrite all current data.",
"button": "Choose File and Import",
"importing": "Importing...",
"warning": "Import operation will overwrite all current data, please ensure important content is backed up!"
},
"exportDialog": {
"title": "Choose backup file save location"
},
"importDialog": {
"title": "Choose backup file to import"
},
"exportSuccess": "Backup exported successfully!",
"exportError": "Backup export failed",
"importSuccess": "Backup imported successfully! Application will restart to apply changes.",
"importError": "Backup import failed",
"restartConfirm": "Import completed! Restart application now to apply changes?"
}
},
"template": {
"title": "Template",
"desc": "Here you can create and manage custom organization templates to help AI organize record content according to your needs.",
"customTemplate": "Custom Template",
"addTemplate": "Add Custom Template",
"deleteConfirm": "Are you sure to delete this template?",
"status": "Status",
"name": "Name",
"content": "Content",
"scope": "Scope",
"selectScope": "Select Scope",
"addTemplateDesc": "Please enter the custom template name and content, helping AI better understand your needs.",
"editTemplate": "Edit Custom Template",
"noContent": "No content",
"range": {
"all": "All",
"today": "Today",
"week": "Past Week",
"month": "Past Month",
"threeMonth": "Past 3 Months",
"year": "Past Year"
}
},
"shortcut": {
"title": "Shortcuts",
"screenshot": "Screenshot Record",
"link": "Link Record",
"textRecord": "Text Record",
"windowPin": "Window Pin"
},
"theme": {
"title": "Theme Settings",
"desc": "Customize application theme colors",
"appTheme": "App Color Scheme",
"previewTheme": "Preview Content Theme",
"codeTheme": "Code Block Highlight Theme",
"selectTheme": "Select Theme"
},
"dev": {
"title": "Developer",
"desc": "Here you can configure developer options, including network proxy, data cleanup, and configuration file management.",
"clearData": "Clear Data",
"clearDataConfirm": "Are you sure to clear data?",
"proxy": "Proxy, used to solve network problems, after configuration, it is recommended to restart the application.",
"proxyPlaceholder": "Enter proxy address",
"proxyTitle": "Network Proxy",
"clearDataTitle": "Clear Data",
"clearDataDesc": "Clear data information, including system configuration and database (including records).",
"clearFileTitle": "Clear Files",
"clearFileDesc": "Clear files, including images and articles.",
"clearButton": "Clear",
"configFileTitle": "Config File Management",
"configFileDesc": "Import and export configuration files. Importing will overwrite current configuration and take effect after restart.",
"importConfigTitle": "Import Config File",
"exportConfigTitle": "Export Config File",
"importConfigSuccessMobile": "Config downloaded successfully, please restart the app manually",
"exportConfigSuccess": "Export successful",
"importButton": "Import",
"exportButton": "Export"
},
"chat": {
"title": "Chat Settings",
"desc": "Configure chat-related settings here, including summary generation.",
"primaryModel": {
"title": "Primary Model",
"model": {
"title": "Primary Chat Model",
"desc": "Select the main AI model for daily conversations"
}
},
"toolbar": {
"title": "Toolbar Settings",
"chatToolbar": {
"title": "Chat Toolbar",
"desc": "Customize the visibility and order of chat toolbar buttons",
"button": "Configure",
"modelSelect": {
"desc": "Switch the AI model for conversation"
},
"promptSelect": {
"desc": "Select the preset prompt for the conversation"
},
"chatLanguage": {
"desc": "Set the language for the conversation"
},
"chatLink": {
"title": "Link Tag",
"desc": "Link note content of the current tag to conversation context"
},
"fileLink": {
"desc": "Link files or folders to the conversation context"
},
"mcpButton": {
"desc": "Select and connect MCP servers to use external tools"
},
"ragSwitch": {
"title": "Knowledge Base",
"desc": "Enable vector knowledge base retrieval"
},
"clipboardMonitor": {
"title": "Clipboard Monitor",
"desc": "Automatically monitor clipboard content changes"
},
"newChat": {
"desc": "Start a new conversation"
},
"clearContext": {
"desc": "Clear conversation context, keep chat history"
},
"clearChat": {
"desc": "Delete all chat records"
}