2026-06-23 09:35:26 +08:00
|
|
|
|
{
|
|
|
|
|
|
"@@locale": "zh",
|
|
|
|
|
|
"appTitle": "BadNote",
|
|
|
|
|
|
"settings": "设置",
|
|
|
|
|
|
"search": "搜索",
|
|
|
|
|
|
"importPdf": "导入 PDF",
|
|
|
|
|
|
"importPpt": "导入 PPT",
|
2026-06-24 21:12:38 +08:00
|
|
|
|
"importFile": "导入文件",
|
|
|
|
|
|
"createNotebook": "新建笔记本",
|
2026-06-24 22:48:18 +08:00
|
|
|
|
"newNotebookTitle": "新建笔记本",
|
|
|
|
|
|
"notebookTitleHint": "笔记本标题",
|
|
|
|
|
|
"create": "创建",
|
|
|
|
|
|
"untitledNote": "未命名",
|
|
|
|
|
|
"noNotesYetHint": "还没有手写笔记——点按 + 新建",
|
2026-06-24 21:12:38 +08:00
|
|
|
|
"noDocumentsYet": "暂无文档——点按“导入文件”",
|
|
|
|
|
|
"processingImport": "正在导入…",
|
|
|
|
|
|
"importFailed": "无法导入该文件:{error}",
|
|
|
|
|
|
"convertNeedsLibreOffice": "导入 Word 文档需要安装 LibreOffice。请先转换为 PDF,或安装 LibreOffice。",
|
|
|
|
|
|
"unsupportedFileType": "不支持的文件类型:{ext}",
|
2026-06-23 09:35:26 +08:00
|
|
|
|
"penCanvasBeta": "手写画布(测试版)",
|
|
|
|
|
|
"newNote": "新建笔记",
|
|
|
|
|
|
"open": "打开",
|
|
|
|
|
|
"cancel": "取消",
|
|
|
|
|
|
"delete": "删除",
|
|
|
|
|
|
"deleteNoteTitle": "删除笔记?",
|
|
|
|
|
|
"deleteNote": "删除笔记",
|
|
|
|
|
|
"openInSplitView": "分屏打开",
|
|
|
|
|
|
"splitViewSubtitle": "PDF 参考 + 草稿纸",
|
|
|
|
|
|
"removeDocument": "移除文档",
|
2026-06-23 10:03:02 +08:00
|
|
|
|
"ok": "确定",
|
|
|
|
|
|
"pickColor": "选择颜色",
|
|
|
|
|
|
"clearSettingsTitle": "清除所有本地设置?",
|
|
|
|
|
|
"clear": "清除",
|
|
|
|
|
|
"settingsReset": "设置已恢复默认",
|
|
|
|
|
|
"themeSystem": "跟随系统",
|
|
|
|
|
|
"themeLight": "浅色",
|
|
|
|
|
|
"themeDark": "深色",
|
|
|
|
|
|
"seedColorDesc": "Material 3 主题种子色",
|
|
|
|
|
|
"searchHint": "搜索笔记和文档…",
|
|
|
|
|
|
"searchError": "搜索出错:{error}",
|
|
|
|
|
|
"noResultsFor": "没有“{query}”的结果",
|
|
|
|
|
|
"typeToSearch": "输入以搜索你的笔记和文档",
|
|
|
|
|
|
"sectionNotes": "笔记",
|
|
|
|
|
|
"sectionDocuments": "文档",
|
|
|
|
|
|
"pageLabel": "第 {page} 页",
|
2026-06-23 09:35:26 +08:00
|
|
|
|
"processingPptx": "正在处理 PPTX…",
|
|
|
|
|
|
"processingPresentation": "正在处理演示文稿…",
|
|
|
|
|
|
"couldNotOpenPresentation": "无法打开演示文稿。",
|
|
|
|
|
|
"toolPen": "钢笔",
|
|
|
|
|
|
"toolHighlighter": "荧光笔",
|
|
|
|
|
|
"toolEraser": "橡皮擦",
|
2026-06-24 11:13:43 +08:00
|
|
|
|
"brushPicker": "笔刷",
|
|
|
|
|
|
"brushFountainPen": "钢笔",
|
|
|
|
|
|
"brushBallpoint": "圆珠笔",
|
|
|
|
|
|
"brushPencil": "铅笔",
|
|
|
|
|
|
"brushHighlighter": "荧光笔",
|
feat(tools): rnote-style toolbar core writing batch
Replace the ad-hoc tool palette with a shared tool system
(EditorToolKind) across the PDF, note and slide editors, and add
the core writing tools.
- Multiple brushes, each remembering its OWN color (rnote-style):
selecting a brush restores its color, changing color updates only
that brush, and each brush button shows its current color.
- Select tool: tap-select a committed stroke, drag to move it,
delete it — persisted and undoable.
- Shape tool: line / rectangle / ellipse / arrow, drawn with a live
preview and committed as generated PenStrokes (shape_geometry.dart)
so they reuse stroke rendering, erase, persistence and undo.
- Highlighter + eraser fold into the same tool system.
Text/bookmark/search+OCR/backgrounds/Windows-Ink are later batches
(TODO). Brush opacity still deferred. analyze clean, 302 tests.
2026-06-24 20:38:18 +08:00
|
|
|
|
"toolSelect": "选择",
|
|
|
|
|
|
"toolShape": "形状",
|
|
|
|
|
|
"shapePicker": "形状",
|
|
|
|
|
|
"shapeLine": "直线",
|
|
|
|
|
|
"shapeRectangle": "矩形",
|
|
|
|
|
|
"shapeEllipse": "椭圆",
|
|
|
|
|
|
"shapeArrow": "箭头",
|
|
|
|
|
|
"actionDeleteSelection": "删除所选",
|
2026-06-23 09:35:26 +08:00
|
|
|
|
"actionUndo": "撤销",
|
|
|
|
|
|
"actionRedo": "重做",
|
|
|
|
|
|
"fingerDrawingOn": "手指书写:开",
|
|
|
|
|
|
"fingerDrawingOff": "手指书写:关(仅手写笔)",
|
|
|
|
|
|
"pages": "页面",
|
|
|
|
|
|
"penSettings": "手写笔设置",
|
|
|
|
|
|
"inputDiagnostic": "输入诊断(写入日志文件)",
|
|
|
|
|
|
"back": "返回",
|
|
|
|
|
|
"previousPage": "上一页",
|
|
|
|
|
|
"nextPage": "下一页",
|
2026-06-24 02:32:41 +08:00
|
|
|
|
"toolSelectText": "选择文字",
|
|
|
|
|
|
"actionHighlightSelection": "高亮所选",
|
2026-06-24 21:03:28 +08:00
|
|
|
|
"toolRemoveHighlight": "移除高亮(点按高亮处)",
|
2026-06-24 20:02:12 +08:00
|
|
|
|
"toolPlaceScratchLink": "放置便签链接",
|
2026-06-25 00:11:45 +08:00
|
|
|
|
"toolText": "文字(点按或双击添加)",
|
|
|
|
|
|
"textPlaceholder": "输入文字…",
|
2026-06-24 20:02:12 +08:00
|
|
|
|
"scratchLinkDeleteTitle": "删除便签链接?",
|
|
|
|
|
|
"scratchLinkDeleteBody": "这会移除锚点及其专属草稿纸。",
|
2026-06-25 00:00:16 +08:00
|
|
|
|
"toolAddBookmark": "添加书签(当前位置或所选段落)",
|
|
|
|
|
|
"toolBookmarks": "书签",
|
|
|
|
|
|
"bookmarksTitle": "书签",
|
|
|
|
|
|
"bookmarksEmpty": "还没有书签。",
|
|
|
|
|
|
"bookmarkDefaultLabel": "第 {page} 页",
|
|
|
|
|
|
"@bookmarkDefaultLabel": {
|
|
|
|
|
|
"placeholders": { "page": { "type": "int" } }
|
|
|
|
|
|
},
|
|
|
|
|
|
"bookmarkPageLabel": "第 {page} 页",
|
|
|
|
|
|
"@bookmarkPageLabel": {
|
|
|
|
|
|
"placeholders": { "page": { "type": "int" } }
|
|
|
|
|
|
},
|
|
|
|
|
|
"bookmarkDeleteTitle": "删除书签?",
|
|
|
|
|
|
"bookmarkDeleteBody": "这会移除保存的位置。",
|
2026-06-23 09:35:26 +08:00
|
|
|
|
"failedToOpenPdf": "打开 PDF 失败:\n{error}",
|
|
|
|
|
|
"pdfNoPages": "PDF 没有任何页面。",
|
2026-06-24 17:15:39 +08:00
|
|
|
|
"pageOfPages": "{current} / {total}",
|
2026-08-05 17:55:27 +08:00
|
|
|
|
"libraryTab": "库",
|
|
|
|
|
|
"boardTab": "便利贴",
|
|
|
|
|
|
"shellTagline": "手写 · 批注 · 知识",
|
|
|
|
|
|
"notesSection": "笔记",
|
|
|
|
|
|
"documentsSection": "文档",
|
|
|
|
|
|
"emptyLibraryTitle": "还没有内容",
|
|
|
|
|
|
"emptyLibraryBody": "新建笔记,或导入 PDF / PPT / Word",
|
|
|
|
|
|
"diagnosticsSection": "诊断",
|
|
|
|
|
|
"diagnosticsExport": "导出诊断包",
|
|
|
|
|
|
"diagnosticsExportHint": "在 Surface 上复现问题后导出,发回给开发者分析",
|
|
|
|
|
|
"diagnosticsToggle": "输入诊断叠加层",
|
|
|
|
|
|
"penSettingsUnified": "笔与墨迹",
|
2026-06-24 17:15:39 +08:00
|
|
|
|
"board": "便利贴板",
|
|
|
|
|
|
"boardTitle": "便利贴板",
|
|
|
|
|
|
"boardOpen": "便利贴板",
|
|
|
|
|
|
"boardAddCard": "添加便利贴",
|
|
|
|
|
|
"boardNewCardText": "新便利贴",
|
|
|
|
|
|
"boardDeleteCard": "删除便利贴",
|
|
|
|
|
|
"boardDeleteCardTitle": "删除这张便利贴?",
|
|
|
|
|
|
"boardBacklinks": "哪些链接到这里",
|
|
|
|
|
|
"boardNoBacklinks": "暂无其他便利贴链接到这里",
|
|
|
|
|
|
"boardDanglingLink": "没有名为“{target}”的便利贴",
|
2026-06-24 20:45:16 +08:00
|
|
|
|
"close": "关闭",
|
|
|
|
|
|
"vaultSetupTitle": "选择笔记库",
|
|
|
|
|
|
"vaultSetupHeadline": "为你的笔记本选择一个文件夹",
|
|
|
|
|
|
"vaultSetupBody": "BadNote 会把你的笔记本都存放在你选择的一个文件夹里——就像 Obsidian 的库(vault)。请选择一个你能掌控的文件夹(例如同步盘),这样你的笔记会跟着文件一起走。",
|
|
|
|
|
|
"vaultChooseFolder": "选择文件夹",
|
|
|
|
|
|
"vaultMissingTitle": "笔记库文件夹不见了",
|
|
|
|
|
|
"vaultMissingBody": "找不到你选择的文件夹(可能被移动、删除,或所在磁盘已拔出)。请重新定位或另选一个。",
|
|
|
|
|
|
"vaultPickFailed": "无法打开文件夹选择器:{error}",
|
|
|
|
|
|
"vaultNotWritable": "该文件夹不可写,请另选一个。",
|
|
|
|
|
|
"vaultSection": "笔记库",
|
|
|
|
|
|
"vaultFolderLabel": "笔记库文件夹",
|
|
|
|
|
|
"vaultNoneSelected": "尚未选择文件夹",
|
|
|
|
|
|
"vaultChangeFolder": "更改笔记库文件夹",
|
2026-06-25 01:35:13 +08:00
|
|
|
|
"vaultUpdated": "笔记库文件夹已更新",
|
|
|
|
|
|
"syncSection": "同步(WebDAV)",
|
|
|
|
|
|
"syncServerUrl": "服务器地址",
|
|
|
|
|
|
"syncServerUrlHint": "https://dav.example.com/remote.php/dav/files/me",
|
|
|
|
|
|
"syncUsername": "用户名",
|
|
|
|
|
|
"syncPassword": "密码",
|
|
|
|
|
|
"syncRemoteFolder": "远程文件夹",
|
|
|
|
|
|
"syncRemoteFolderHint": "BadNote",
|
|
|
|
|
|
"syncSave": "保存",
|
|
|
|
|
|
"syncSaved": "同步设置已保存",
|
|
|
|
|
|
"syncTestConnection": "测试连接",
|
|
|
|
|
|
"syncTestOk": "连接成功",
|
|
|
|
|
|
"syncTestFailed": "连接失败:{error}",
|
|
|
|
|
|
"@syncTestFailed": {
|
|
|
|
|
|
"placeholders": { "error": { "type": "String" } }
|
|
|
|
|
|
},
|
|
|
|
|
|
"syncNow": "立即同步",
|
|
|
|
|
|
"syncRunning": "同步中…",
|
|
|
|
|
|
"syncNeverRun": "尚未同步",
|
|
|
|
|
|
"syncLastRun": "上次同步:{when}",
|
|
|
|
|
|
"@syncLastRun": {
|
|
|
|
|
|
"placeholders": { "when": { "type": "String" } }
|
|
|
|
|
|
},
|
|
|
|
|
|
"syncResultSummary": "上传 {uploaded} · 下载 {downloaded} · 冲突 {conflicts}",
|
|
|
|
|
|
"@syncResultSummary": {
|
|
|
|
|
|
"placeholders": {
|
|
|
|
|
|
"uploaded": { "type": "int" },
|
|
|
|
|
|
"downloaded": { "type": "int" },
|
|
|
|
|
|
"conflicts": { "type": "int" }
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
"syncFailed": "同步失败:{error}",
|
|
|
|
|
|
"@syncFailed": {
|
|
|
|
|
|
"placeholders": { "error": { "type": "String" } }
|
|
|
|
|
|
},
|
|
|
|
|
|
"syncAuto": "启动时自动同步",
|
|
|
|
|
|
"syncCredentialsNote": "凭据以明文保存在本地,建议使用专用的应用密码。",
|
|
|
|
|
|
"syncNotConfigured": "请输入服务器地址以启用同步。"
|
2026-06-23 09:35:26 +08:00
|
|
|
|
}
|