uplaod youdaonotes

This commit is contained in:
2026-01-22 20:10:59 +08:00
parent ceb3495c21
commit 4f13f2f674
405 changed files with 296738 additions and 4 deletions

135
.obsidian/plugins/quickadd/data.json vendored Normal file
View File

@@ -0,0 +1,135 @@
{
"choices": [
{
"id": "e3e0488c-ce9b-4e24-b66f-b0c4307e9d88",
"name": "Diary",
"type": "Template",
"command": true,
"templatePath": "Template/Diary.md",
"fileNameFormat": {
"enabled": true,
"format": "{{DATE:YYYY-M-D ddd}}"
},
"folder": {
"enabled": true,
"folders": [
"Diary/{{DATE:YYYY-M}}"
],
"chooseWhenCreatingNote": false,
"createInSameFolderAsActiveFile": false,
"chooseFromSubfolders": false
},
"appendLink": false,
"openFile": false,
"fileOpening": {
"location": "tab",
"direction": "vertical",
"mode": "default",
"focus": true
},
"fileExistsMode": "无",
"setFileExistsBehavior": true
}
],
"inputPrompt": "single-line",
"devMode": false,
"templateFolderPath": "Template",
"announceUpdates": "all",
"version": "2.9.4",
"globalVariables": {},
"onePageInputEnabled": false,
"disableOnlineFeatures": true,
"enableRibbonIcon": false,
"showCaptureNotification": true,
"showInputCancellationNotification": false,
"enableTemplatePropertyTypes": false,
"ai": {
"defaultModel": "Ask me",
"defaultSystemPrompt": "As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{\text{new}}:=w_{ij}^{\text{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write \"($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)\" inline.",
"promptTemplatesFolderPath": "",
"showAssistant": true,
"providers": [
{
"name": "OpenAI",
"endpoint": "https://api.openai.com/v1",
"apiKey": "",
"models": [
{
"name": "text-davinci-003",
"maxTokens": 4096
},
{
"name": "gpt-3.5-turbo",
"maxTokens": 4096
},
{
"name": "gpt-3.5-turbo-16k",
"maxTokens": 16384
},
{
"name": "gpt-3.5-turbo-1106",
"maxTokens": 16385
},
{
"name": "gpt-4",
"maxTokens": 8192
},
{
"name": "gpt-4-32k",
"maxTokens": 32768
},
{
"name": "gpt-4-1106-preview",
"maxTokens": 128000
},
{
"name": "gpt-4-turbo",
"maxTokens": 128000
},
{
"name": "gpt-4o",
"maxTokens": 128000
},
{
"name": "gpt-4o-mini",
"maxTokens": 128000
}
],
"autoSyncModels": false,
"modelSource": "modelsDev"
},
{
"name": "Gemini",
"endpoint": "https://generativelanguage.googleapis.com",
"apiKey": "",
"models": [
{
"name": "gemini-1.5-pro",
"maxTokens": 1000000
},
{
"name": "gemini-1.5-flash",
"maxTokens": 1000000
},
{
"name": "gemini-1.5-flash-8b",
"maxTokens": 1000000
}
],
"autoSyncModels": false,
"modelSource": "modelsDev"
}
]
},
"migrations": {
"migrateToMacroIDFromEmbeddedMacro": true,
"useQuickAddTemplateFolder": true,
"incrementFileNameSettingMoveToDefaultBehavior": true,
"mutualExclusionInsertAfterAndWriteToBottomOfFile": true,
"setVersionAfterUpdateModalRelease": true,
"addDefaultAIProviders": true,
"removeMacroIndirection": true,
"migrateFileOpeningSettings": true,
"setProviderModelDiscoveryMode": true
}
}

107
.obsidian/plugins/quickadd/duplicate.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"type":"0","state":true,"pluginVersion":"2.9.4","translationVersion":1750585632782}

View File

@@ -0,0 +1,565 @@
{
"manifest": {
"translationVersion": 1750585632782,
"pluginVersion": "1.14.0"
},
"description": {
"original": "Quickly add new pages or content to your vault.",
"translation": "快速将新页面或内容添加到您的知识库。"
},
"dict": {
".log(\"Loading QuickAdd\")": ".log(\"加载 QuickAdd\")",
".log(\"Test QuickAdd (dev)": ".log(\"测试 QuickAdd (dev)",
".log(\"Unloading QuickAdd\")": ".log(\"卸载 QuickAdd\")",
".error(\"`import faIconName from '@fortawesome/package-name/faIconName` not supported - Please use `import { faIconName } from '@fortawesome/package-name/faIconName'` instead\")": ".error(\"`import faIconName from '@fortawesome/package-name/faIconName` 不支持 - 请使用 `import { faIconName } from '@fortawesome/package-name/faIconName'` 代替\")",
"name:\"applyStyles\"": "name:\"应用样式\"",
"name:\"arrow\"": "name:\"箭头\"",
"name:\"computeStyles\"": "name:\"计算样式\"",
"name:\"eventListeners\"": "name:\"事件监听器\"",
"name:\"flip\"": "name:\"翻转\"",
"name:\"hide\"": "name:\"隐藏\"",
"name:\"offset\"": "name:\"偏移\"",
"name:\"popperOffsets\"": "name:\"popper 偏移\"",
"name:\"preventOverflow\"": "name:\"防止溢出\"",
"name:\"sameWidth\"": "name:\"相同宽度\"",
"name:\"Run QuickAdd\"": "name:\"运行 QuickAdd\"",
"name:\"Reload QuickAdd (dev)\"": "name:\"重新加载 QuickAdd (开发版)\"",
"name:\"Test QuickAdd (dev)\"": "name:\"测试 QuickAdd (开发版)\"",
"name:\"Test\"": "name:\"测试\"",
"description:\"Set version to the current plugin version.\"": "description:\"将版本设置为当前插件版本。\"",
"text:\"reference\"": "text:\"参考\"",
"text:\"Choose folder when creating a new note\"": "text:\"创建新笔记时选择文件夹\"",
"text:`${this.settings.name} Settings`": "text:`${this.settings.name} 设置`",
"text:\"Macro Manager\"": "text:\"宏管理器\"",
"text:\"AI Assistant Settings\"": "text:\"AI助手设置\"",
".setButtonText(\"No\")": ".setButtonText(\"否\")",
".setButtonText(\"Yes\")": ".setButtonText(\"是\")",
".setButtonText(\"Add\")": ".setButtonText(\"添加\")",
".setButtonText(\"OK\")": ".setButtonText(\"确定\")",
".setButtonText(\"Submit\")": ".setButtonText(\"提交\")",
".setButtonText(\"Delete\")": ".setButtonText(\"删除\")",
".setButtonText(\"Configure\")": ".setButtonText(\"配置\")",
".setButtonText(\"Add macro\")": ".setButtonText(\"添加宏\")",
".setButtonText(\"Edit\")": ".setButtonText(\"编辑\")",
".setButtonText(\"Add Model\")": ".setButtonText(\"添加模型\")",
".setButtonText(\"Cancel\")": ".setButtonText(\"取消\")",
".setButtonText(\"Save\")": ".setButtonText(\"保存\")",
".setName(\"Template Path\")": ".setName(\"模板路径\")",
".setName(\"File Name Format\")": ".setName(\"文件名格式\")",
".setName(\"Include subfolders\")": ".setName(\"包含子文件夹\")",
".setName(\"Open\")": ".setName(\"打开\")",
".setName(\"New split\")": ".setName(\"新拆分\")",
".setName(\"Focus new pane\")": ".setName(\"聚焦新面板\")",
".setName(\"Capture To\")": ".setName(\"捕获到\")",
".setName(\"Write to bottom of file\")": ".setName(\"写入文件底部\")",
".setName(\"Task\")": ".setName(\"任务\")",
".setName(\"Create line if not found\")": ".setName(\"如果未找到则创建行\")",
".setName(\"Capture format\")": ".setName(\"捕获格式\")",
".setName(\"Create file with given template.\")": ".setName(\"使用给定模板创建文件。\")",
".setName(\"New Tab\")": ".setName(\"新标签页\")",
".setName(\"Model\")": ".setName(\"模型\")",
".setName(\"Output variable name\")": ".setName(\"输出变量名\")",
".setName(\"Show advanced settings\")": ".setName(\"显示高级设置\")",
".setName(\"Temperature\")": ".setName(\"温度\")",
".setName(\"Top P\")": ".setName(\"Top P\")",
".setName(\"Editor commands\")": ".setName(\"编辑器命令\")",
".setName(\"User Scripts\")": ".setName(\"用户脚本\")",
".setName(\"Name\")": ".setName(\"名称\")",
".setName(\"Endpoint\")": ".setName(\"端点\")",
".setName(\"Add Model\")": ".setName(\"添加模型\")",
".setName(\"Default Model\")": ".setName(\"默认模型\")",
".setName(\"Prompt Template Folder Path\")": ".setName(\"提示模板文件夹路径\")",
".setName(\"Show Assistant\")": ".setName(\"显示助手\")",
".setName(\"Announce Updates\")": ".setName(\"宣布更新\")",
".setName(\"Use Multi-line Input Prompt\")": ".setName(\"使用多行输入提示\")",
".setName(\"Template Folder Path\")": ".setName(\"模板文件夹路径\")",
".setName(\"Show icon in sidebar\")": ".setName(\"在侧边栏显示图标\")",
".setDesc(\"Path to the Template.\")": ".setDesc(\"模板路径。\")",
".setDesc(\"Set the file name format.\")": ".setDesc(\"设置文件名格式。\")",
".setDesc(\"Open the created file.\")": ".setDesc(\"打开创建的文件。\")",
".setDesc(\"Split your editor and open file in new split.\")": ".setDesc(\"拆分编辑器并在新拆分中打开文件。\")",
".setDesc(\"Focus the opened tab immediately after opening\")": ".setDesc(\"立即聚焦打开的标签页\")",
".setDesc(\"Formats the value as a task.\")": ".setDesc(\"将值格式化为任务。\")",
".setDesc(\"Set the format of the capture.\")": ".setDesc(\"设置捕获的格式。\")",
".setDesc(\"The model the AI Assistant will use\")": ".setDesc(\"AI助手将使用的模型\")",
".setDesc(\"The name of the variable used to store the AI Assistant output, i.e. {{value:output}}.\")": ".setDesc(\"用于存储AI助手输出的变量名称例如{{value:output}}。\")",
".setDesc(\"The system prompt for the AI Assistant\")": ".setDesc(\"AI助手的系统提示\")",
".setDesc(\"Nucleus sampling - consider this an alternative to temperature. The model considers the results of the tokens with top_p probability mass. 0.1 means only tokens compromising the top 10% probability mass are considered. The default is 1.\")": ".setDesc(\"核心采样 - 可以将其视为温度的替代方法。模型会考虑具有 top_p 概率质量的标记结果。0.1 表示只考虑占据前 10% 概率质量的标记。默认值为 1。\")",
".setDesc(\"Add an Obsidian command\")": ".setDesc(\"添加一个 Obsidian 命令\")",
".setDesc(\"Add editor command\")": ".setDesc(\"添加编辑器命令\")",
".setDesc(\"Add user script\")": ".setDesc(\"添加用户脚本\")",
".setDesc(\"The providers for the AI Assistant\")": ".setDesc(\"AI助手的提供商\")",
".setDesc(\"The default model for the AI Assistant\")": ".setDesc(\"AI助手的默认模型\")",
".setDesc(\"Path to your folder with prompt templates\")": ".setDesc(\"包含提示模板的文件夹路径\")",
".setDesc(\"Show status messages from the AI Assistant\")": ".setDesc(\"显示 AI 助手的状态消息\")",
".setDesc(\"The default system prompt for the AI Assistant\")": ".setDesc(\"AI助手的默认系统提示\")",
".setDesc(\"Display release notes when a new version is installed. This includes new features, demo videos, and bug fixes.\")": ".setDesc(\"安装新版本时显示发布说明。这包括新功能、演示视频和错误修复。\")",
".setDesc(\"Use multi-line input prompt instead of single-line input prompt\")": ".setDesc(\"使用多行输入提示而不是单行输入提示\")",
".setDesc(\"Path to the folder where templates are stored. Used to suggest template files when configuring QuickAdd.\")": ".setDesc(\"模板存储的文件夹路径。在配置 QuickAdd 时用于建议模板文件。\")",
".setDesc(\"This prevents the plugin from making requests to external providers like OpenAI. You can still use User Scripts to execute arbitrary code, including contacting external providers. However, this setting disables plugin features like the AI Assistant from doing so. You need to disable this setting to use the AI Assistant.\")": ".setDesc(\"这可以防止插件向OpenAI等外部提供者发出请求。您仍然可以使用用户脚本执行任意代码包括联系外部提供商。但是此设置会禁用AI助手等插件功能。您需要禁用此设置才能使用AI助手。\")",
".setDesc(\"Add QuickAdd icon to the sidebar ribbon. Requires a reload.\")": ".setDesc(\"在侧边栏中添加 QuickAdd 图标。需要重新加载。\")",
".setDesc(\"The string used to join multiple LLM responses together. The default is a newline.\")": ".setDesc(\"用于将多个 LLM 响应连接在一起的字符串。默认是换行符。\")",
".setDesc(\"The string used to separate chunks of text. The default is a newline.\")": ".setDesc(\"用于分隔文本块的字符串。默认是换行符。\")",
".setPlaceholder(\"File path\")": ".setPlaceholder(\"文件路径\")",
".setPlaceholder(\"Template path\")": ".setPlaceholder(\"模板路径\")",
".setPlaceholder(\"File name format\")": ".setPlaceholder(\"文件名格式\")",
".setPlaceholder(\"Folder path\")": ".setPlaceholder(\"文件夹路径\")",
".setPlaceholder(\"Format\")": ".setPlaceholder(\"格式\")",
".setPlaceholder(\"Obsidian command\")": ".setPlaceholder(\"Obsidian 命令\")",
".setPlaceholder(\"User script\")": ".setPlaceholder(\"用户脚本\")",
".setPlaceholder(\"Choice\")": ".setPlaceholder(\"选择\")",
".setPlaceholder(\"Macro name\")": ".setPlaceholder(\"宏名称\")",
".setTooltip(\"Add AI Assistant command\")": ".setTooltip(\"添加 AI 助手命令\")",
".setTooltip(\"Add wait command\")": ".setTooltip(\"添加等待命令\")",
".setTooltip(\"Create Macro\")": ".setTooltip(\"创建宏\")",
".setTooltip(\"Configure Macro\")": ".setTooltip(\"配置宏\")",
".setTooltip(\"Use multi-line input prompt\")": ".setTooltip(\"使用多行输入提示\")",
".innerText=`Token count: ${this.systemPromptTokenLength}`": ".innerText=`Token 数量: ${this.systemPromptTokenLength}`",
".setTooltip(`Toggle ${I}`)": ".setTooltip(`切换 ${I}`)",
"Notice(y0(\"starting\",\"\")": "Notice(y0(\"开始\",\"\")",
".log(\"Test QuickAdd (dev)\")": ".log(\"测试 QuickAdd (开发)\")",
".createEl(\"span\",{text:\"Choose folder when creating a new note\"})": ".createEl(\"span\",{text:\"选择文件夹以创建新笔记\"})",
".createEl(\"h2\",{text:`${this.settings.name} Settings`})": ".createEl(\"h2\",{text:`${this.settings.name} 设置`})",
".createEl(\"h2\",{text:\"Macro Manager\"})": ".createEl(\"h2\",{text:\"宏管理器\"})",
".createEl(\"h2\",{text:\"AI Assistant Settings\"})": ".createEl(\"h2\",{text:\"AI助手设置\"})",
".createEl(\"h2\",{text:\"QuickAdd Settings\"})": ".createEl(\"h2\",{text:\"QuickAdd 设置(曲淡歌&Fendi汉化\"})",
".createEl(\"h1\",{text:\"Fetching release notes...\"})": ".createEl(\"h1\",{text:\"获取更新日志中...\"})",
".setDesc(\"Path to the Template.\"": ".setDesc(\"模板的路径。\"",
".setDesc(\"Set the file name format.\"": ".setDesc(\"设置文件名格式。\"",
".setDesc(\"Append link to created file to current file.\"": ".setDesc(\"将已创建文件的链接附加到当前文件。\"",
".setDesc(\"Open the created file.\"": ".setDesc(\"打开创建的文件。\"",
".setDesc(\"Split your editor and open file in new split.\"": ".setDesc(\"拆分编辑器并在新的拆分中打开文件。\"",
".setDesc(\"Focus the opened tab immediately after opening\"": ".setDesc(\"打开后立即聚焦打开的选项卡\"",
".setDesc(\"File to capture to. Supports some format syntax.\"": ".setDesc(\"要捕获到的文件。支持某些格式语法。\"",
".setDesc(\"Formats the value as a task.\"": ".setDesc(\"将值格式化为任务。\"",
".setDesc(\"Creates the 'insert after' line if it is not found.\"": ".setDesc(\"如果找不到 '在之后插入' 行,则创建该行。\"",
".setDesc(\"Set the format of the capture.\"": ".setDesc(\"设置捕获格式。\"",
".setDesc(\"Open the file that is captured to.\"": ".setDesc(\"打开捕获到的文件。\"",
".setDesc(\"Open the file that is captured to in a new tab.\"": ".setDesc(\"在新选项卡中打开捕获的文件。\"",
".setDesc(\"Focus the opened tab immediately\"": ".setDesc(\"立即聚焦打开的选项卡\"",
".setDesc(\"The model the AI Assistant will use\"": ".setDesc(\"AI 助手将使用的模型\"",
".setDesc(\"The system prompt for the AI Assistant\"": ".setDesc(\"AI 助手的系统提示\"",
".setDesc(\"Add an Obsidian command\"": ".setDesc(\"添加 Obsidian 命令\"",
".setDesc(\"Add editor command\"": ".setDesc(\"添加编辑器命令\"",
".setDesc(\"Add user script\"": ".setDesc(\"添加用户脚本\"",
".setDesc(\"Add existing choice\"": ".setDesc(\"添加现有选项\"",
".setDesc(\"The API Key for the AI Assistant\"": ".setDesc(\"人工智能助手的 API 密钥\"",
".setDesc(\"The default model for the AI Assistant\"": ".setDesc(\"AI 助手的默认模型\"",
".setDesc(\"Path to your folder with prompt templates\"": ".setDesc(\"带有提示模板的文件夹的路径\"",
".setDesc(\"Show status messages from the AI Assistant\"": ".setDesc(\"显示 AI 助手的状态消息\"",
".setDesc(\"The default system prompt for the AI Assistant\"": ".setDesc(\"AI 助手的默认系统提示\"",
".setTooltip(`Toggle ${item}`": ".setTooltip(`切换 ${item}`",
".setTooltip(\"Create file if it doesn't exist\"": ".setTooltip(\"如果文件不存在,则创建该文件\"",
".setTooltip(\"Add AI Assistant command\"": ".setTooltip(\"添加 AI 助手命令\"",
".setTooltip(\"Add wait command\"": ".setTooltip(\"添加等待命令\"",
".setTooltip(`Add ${typeName} Choice`": ".setTooltip(`添加 ${typeName} 选项`",
".setTooltip(\"Create Macro\"": ".setTooltip(\"创建宏\"",
".setTooltip(\"Configure Macro\"": ".setTooltip(\"配置宏\"",
".setTooltip(\"Use multi-line input prompt\"": ".setTooltip(\"使用多行输入提示\"",
".setName(\"Template Path\"": ".setName(\"模板路径\"",
".setName(\"File Name Format\"": ".setName(\"文件名格式\"",
".setName(\"Create in folder\"": ".setName(\"在文件夹中创建\"",
".setName(\"Include subfolders\"": ".setName(\"包含子文件夹\"",
".setName(\"Create in same folder as active file\"": ".setName(\"在与活动文件相同的文件夹中创建\"",
".setName(\"Append link\"": ".setName(\"附加链接\"",
".setName(\"Set default behavior if file already exists\"": ".setName(\"如果文件已存在,则设置默认行为\"",
".setName(\"Open\"": ".setName(\"打开\"",
".setName(\"New split\"": ".setName(\"新拆分\"",
".setName(\"Focus new pane\"": ".setName(\"聚焦新窗格\"",
".setName(\"Capture To\"": ".setName(\"捕获到\"",
".setName(\"Write to bottom of file\"": ".setName(\"写入文件底部\"",
".setName(\"Task\"": ".setName(\"任务\"",
".setName(\"Insert after\"": ".setName(\"在之后插入\"",
".setName(\"Consider subsections\"": ".setName(\"考虑小节\"",
".setName(\"Create line if not found\"": ".setName(\"如果未找到,则创建行\"",
".setName(\"Capture format\"": ".setName(\"捕获格式\"",
".setName(\"Create file if it doesn't exist\"": ".setName(\"如果文件不存在,则创建该文件\"",
".setName(\"Create file with given template.\"": ".setName(\"使用给定的模板创建文件。\"",
".setName(\"New Tab\"": ".setName(\"新标签页\"",
".setName(\"Prompt Template\"": ".setName(\"提示模板\"",
".setName(\"Model\"": ".setName(\"模型\"",
".setName(\"Output variable name\"": ".setName(\"输出变量名称\"",
".setName(\"System Prompt\"": ".setName(\"系统提示\"",
".setName(\"Show advanced settings\"": ".setName(\"显示高级设置\"",
".setName(\"Temperature\"": ".setName(\"温度\"",
".setName(\"Top P\"": ".setName(\"顶部 P\"",
".setName(\"Frequency Penalty\"": ".setName(\"频率惩罚\"",
".setName(\"Presence Penalty\"": ".setName(\"在场惩罚\"",
".setName(\"Obsidian command\"": ".setName(\"Obsidian 命令\"",
".setName(\"Editor commands\"": ".setName(\"编辑器命令\"",
".setName(\"User Scripts\"": ".setName(\"用户脚本\"",
".setName(\"Choices\"": ".setName(\"选择\"",
".setName(\"API Key\"": ".setName(\"API 密钥\"",
".setName(\"Default Model\"": ".setName(\"默认模型\"",
".setName(\"Prompt Template Folder Path\"": ".setName(\"提示模板文件夹路径\"",
".setName(\"Show Assistant\"": ".setName(\"显示助手\"",
".setName(\"Default System Prompt\"": ".setName(\"默认系统提示\"",
".setName(\"Announce Updates\"": ".setName(\"宣布更新\"",
".setName(\"Use Multi-line Input Prompt\"": ".setName(\"使用多行输入提示\"",
".setName(\"Template Folder Path\"": ".setName(\"模板文件夹路径\"",
".setName(\"Disable AI & Online features\"": ".setName(\"禁用 AI 和联机功能\"",
".setName(\"Result Joiner\"": ".setName(\"结果连接程序\"",
".setName(\"Chunk Separator\"": ".setName(\"块状分离器\"",
".setName(\"Max Chunk Tokens\"": ".setName(\"最大区块标记\"",
".setName(\"Merge Chunks\"": ".setName(\"合并区块\"",
"This prevents the plugin from making requests to external providers like OpenAI. You can still use User Scripts to execute arbitrary code, inclulding contacting external providers. However, this setting disables plugin features like the AI Assistant from doing so. You need to disable this setting to use the AI Assistant.": "这阻止了插件向OpenAI等外部提供商发出请求。您仍然可以使用用户脚本来执行任意代码包括联系外部提供商。但是此设置会禁用AI助手等插件功能。您需要禁用此设置才能使用AI助手。",
"Use multi-line input prompt instead of single-line input prompt": "使用多行输入提示而不是单行输入提示",
"Path to the folder where templates are stored. Used to suggest template files when configuring QuickAdd.": "存储模板的文件夹的路径。用于在配置QuickAdd时建议模板文件。",
"Display release notes when a new version is installed. This includes new features, demo videos, and bug fixes.": "安装新版本时显示发行说明。这包括新功能、演示视频和错误修复。",
"throw new Error('Function called outside component initialization');": "throw new Error('在组件初始化外部调用的函数');",
"ChoiceType[\"Capture\"] = \"Capture\";": "ChoiceType[\"Capture\"] = \"捕获\";",
"ChoiceType[\"Macro\"] = \"Macro\";": "ChoiceType[\"Macro\"] = \"宏\";",
"ChoiceType[\"Multi\"] = \"Multi\";": "ChoiceType[\"Multi\"] = \"多种\";",
"ChoiceType[\"Template\"] = \"Template\";": "ChoiceType[\"Template\"] = \"模版\";",
"attr(div, \"aria-label\", div_aria_label_value = `Configure${/*choiceName*/ ctx[3] ? \" \" + /*choiceName*/ ctx[3] : \"\"}`);": "attr(div, \"aria-label\", div_aria_label_value = `配置${/*choiceName*/ ctx[3] ? \" \" + /*choiceName*/ ctx[3] : \"\"}`);",
"if (!current || dirty & /*choiceName*/ 8 && div_aria_label_value !== (div_aria_label_value = `Configure${/*choiceName*/ ctx[3] ? \" \" + /*choiceName*/ ctx[3] : \"\"}`)) {": "if (!current || dirty & /*choiceName*/ 8 && div_aria_label_value !== (div_aria_label_value = `配置${/*choiceName*/ ctx[3] ? \" \" + /*choiceName*/ ctx[3] : \"\"}`)) {",
"attr(div0, \"aria-label\", div0_aria_label_value = `${/*commandEnabled*/ ctx[2] ? \"Remove\" : \"Add\"} command${/*choiceName*/ ctx[3]": "attr(div0, \"aria-label\", div0_aria_label_value = `${/*commandEnabled*/ ctx[2] ? \"移除\" : \"添加\"} 命令${/*choiceName*/ ctx[3]",
"? \" for \" + /*choiceName*/ ctx[3]": "? \" \" + /*choiceName*/ ctx[3]",
"attr(div1, \"aria-label\", div1_aria_label_value = `Delete${/*choiceName*/ ctx[3] ? \" \" + /*choiceName*/ ctx[3] : \"\"}`);": "attr(div1, \"aria-label\", div1_aria_label_value = `删除${/*choiceName*/ ctx[3] ? \" \" + /*choiceName*/ ctx[3] : \"\"}`);",
"attr(div2, \"aria-label\", \"Drag-handle\");": "attr(div2, \"aria-label\", \"拖动排序\");",
"if (!current || dirty & /*commandEnabled, choiceName*/ 12 && div0_aria_label_value !== (div0_aria_label_value = `${/*commandEnabled*/ ctx[2] ? \"Remove\" : \"Add\"} command${/*choiceName*/ ctx[3]": "if (!current || dirty & /*commandEnabled, choiceName*/ 12 && div0_aria_label_value !== (div0_aria_label_value = `${/*commandEnabled*/ ctx[2] ? \"Remove\" : \"Add\"} 命令${/*choiceName*/ ctx[3]",
"if (!current || dirty & /*choiceName*/ 8 && div1_aria_label_value !== (div1_aria_label_value = `Delete${/*choiceName*/ ctx[3] ? \" \" + /*choiceName*/ ctx[3] : \"\"}`)) {": "if (!current || dirty & /*choiceName*/ 8 && div1_aria_label_value !== (div1_aria_label_value = `删除${/*choiceName*/ ctx[3] ? \" \" + /*choiceName*/ ctx[3] : \"\"}`)) {",
"throw new Error(\"cannot get depth of a falsy node\");": "throw new Error(\"不能得到假节点的深度\");",
"var ID_TO_INSTRUCTION = (_ID_TO_INSTRUCTION = {}, _defineProperty(_ID_TO_INSTRUCTION, INSTRUCTION_IDs.DND_ZONE_ACTIVE, \"Tab to one the items and press space-bar or enter to start dragging it\"), _defineProperty(_ID_TO_INSTRUCTION, INSTRUCTION_IDs.DND_ZONE_DRAG_DISABLED, \"This is a disabled drag and drop list\"), _ID_TO_INSTRUCTION);": "var ID_TO_INSTRUCTION = (_ID_TO_INSTRUCTION = {}, _defineProperty(_ID_TO_INSTRUCTION, INSTRUCTION_IDs.DND_ZONE_ACTIVE, \"按Tab键选择一个项目按空格键或回车键开始拖动\"), _defineProperty(_ID_TO_INSTRUCTION, INSTRUCTION_IDs.DND_ZONE_DRAG_DISABLED, \"此列表禁止拖放操作\"), _ID_TO_INSTRUCTION);",
"alertToScreenReader(\"Moved item \".concat(focusedItemLabel, \" to the end of the list \").concat(focusedDzLabel));": "alertToScreenReader(\"移动 \".concat(focusedItemLabel, \" 到列表最后位置 \").concat(focusedDzLabel));",
"alertToScreenReader(\"Moved item \".concat(focusedItemLabel, \" to the beginning of the list \").concat(focusedDzLabel));": "alertToScreenReader(\"移动 \".concat(focusedItemLabel, \" 到列表顶部位置 \").concat(focusedDzLabel));",
"alertToScreenReader(\"Stopped dragging item \".concat(focusedItemLabel));": "alertToScreenReader(\"停止拖拽 \".concat(focusedItemLabel));",
"alertToScreenReader(\"Moved item \".concat(focusedItemLabel, \" to position \").concat(idx + 2, \" in the list \").concat(focusedDzLabel));": "alertToScreenReader(\"移动 \".concat(focusedItemLabel, \" 到列表中 \").concat(idx + 2, \" 的位置 \").concat(focusedDzLabel));",
"alertToScreenReader(\"Moved item \".concat(focusedItemLabel, \" to position \").concat(_idx, \" in the list \").concat(focusedDzLabel));": "alertToScreenReader(\"移动 \".concat(focusedItemLabel, \" 到列表位于 \").concat(_idx, \" 的位置 \").concat(focusedDzLabel));",
"var msg = \"Started dragging item \".concat(focusedItemLabel, \". Use the arrow keys to move it within its list \").concat(focusedDzLabel);": "var msg = \"开始拖动 \".concat(focusedItemLabel, \"。使用箭头键在列表中移动 \").concat(focusedDzLabel);",
"msg += \", or tab to another list in order to move the item into it\";": "msg += \", 或者使用 TAB 键将项目移到另一个列表中\";",
"button.textContent = \"Add Choice\";": "button.textContent = \"添加选择\";",
"attr(input, \"placeholder\", \"Name\");": "attr(input, \"placeholder\", \"名称\");",
"new obsidian.Notice(\"Choice name is invalid.\");": "new obsidian.Notice(\"选择 名称无效。\");",
"button0.textContent = \"No\";": "button0.textContent = \"取消\";",
"button1.textContent = \"Yes\";": "button1.textContent = \"确定\";",
"return `File Name: ${output}`;": "return `文件名: ${output}`;",
".setName('Template Path')": ".setName('模板路径')",
".setDesc('Path to the Template.')": ".setDesc('设置模板的路径。')",
"search.setPlaceholder(\"Template path\");": "search.setPlaceholder(\"模板路径\");",
"enableSetting.setName(\"File Name Format\")": "enableSetting.setName(\"文件名格式\")",
"formatInput.setPlaceholder(\"File name format\");": "formatInput.setPlaceholder(\"文件名格式\");",
"folderSetting.setName(\"Create in folder\")": "folderSetting.setName(\"文件夹中创建\")",
"chooseFolderWhenCreatingNoteContainer.createEl('span', { text: \"Choose folder when creating a new note\" });": "chooseFolderWhenCreatingNoteContainer.createEl('span', { text: \"创建新笔记时选择文件夹\" });",
"createInSameFolderAsActiveFileSetting.setName(\"Create in same folder as active file\")": "createInSameFolderAsActiveFileSetting.setName(\"在与活动文件相同的文件夹中创建\")",
"appendLinkSetting.setName(\"Append link\")": "appendLinkSetting.setName(\"添加链接\")",
"incrementFileNameSetting.setName(\"Increment file name\")": "incrementFileNameSetting.setName(\"增量文件名称\")",
".setDesc(\"If the file already exists, increment the file name.\")": ".setDesc(\"如果文件已经存在,则增加文件名。\")",
"noOpenSetting.setName(\"Open\")": "noOpenSetting.setName(\"打开\")",
"newTabSetting.setName(\"New Tab\")": "newTabSetting.setName(\"新面板\")",
".setDesc(\"Open created file in a new tab.\")": ".setDesc(\"在新新面板中打开创建的文件。\")",
"dropdown.addOption(NewTabDirection.vertical, \"Vertical\");": "dropdown.addOption(NewTabDirection.vertical, \"垂直\");",
"dropdown.addOption(NewTabDirection.horizontal, \"Horizontal\");": "dropdown.addOption(NewTabDirection.horizontal, \"水平\");",
"log.logError(`${filePath} not found`);": "log.logError(`${filePath} 未找到`);",
"log.logError(`${filePath} found but it's a folder`);": "log.logError(`找到了 ${filePath} ,不过是个文件夹`);",
"this.rejectPromise(\"no input given.\");": "this.rejectPromise(\"没有输入。\");",
".setTooltip(`Toggle ${item}`)": ".setTooltip(`切换 ${item}`)",
"submitButton.setButtonText(\"Submit\").setCta().onClick(evt => {": "submitButton.setButtonText(\"提交\").setCta().onClick(evt => {",
"log.logError(`choice named '${choiceName}' not found`);": "log.logError(`未找到名称为 '${choiceName}' 的选择`);",
"EditorCommandType[\"Cut\"] = \"Cut\";": "EditorCommandType[\"Cut\"] = \"剪切\";",
"EditorCommandType[\"Copy\"] = \"Copy\";": "EditorCommandType[\"Copy\"] = \"复制\";",
"EditorCommandType[\"Paste\"] = \"Paste\";": "EditorCommandType[\"Paste\"] = \"粘贴\";",
"EditorCommandType[\"SelectActiveLine\"] = \"Select active line\";": "EditorCommandType[\"SelectActiveLine\"] = \"选择光标所在行\";",
"EditorCommandType[\"SelectLinkOnActiveLine\"] = \"Select link on active line\";": "EditorCommandType[\"SelectLinkOnActiveLine\"] = \"选择光标所在行上的链接\";",
"log.logError(\"no active markdown view.\");": "log.logError(\"没有活动的 markdown 窗口。\");",
"log.logError(\"nothing selected.\");": "log.logError(\"未选择任何内容。\");",
"log.logError(`no internal link found on line ${lineNumber}.`);": "log.logError(`在 ${lineNumber} 行没有发现内部链接。`);",
"log.logError(`No commands in the selected macro. Did you select a macro for '${this.choice.name}'?`);": "log.logError(`所选宏中没有命令。您选择宏为 '${this.choice.name}' ?`);",
"log.logError(`failed to load user script ${command.path}.`);": "log.logError(`加载用户脚本失败 ${command.path}.`);",
"log.logError(`user script in macro for '${this.choice.name}' is invalid`);": "log.logError(`用户脚本在宏 '${this.choice.name}' 中是无效的`);",
"log.logError(\"choice could not be found.\");": "log.logError(\"找不到选择。\");",
"log.logError(`choice in ${command.name} is invalid`);": "log.logError(`选择在 ${command.name} 中是无效的`);",
"log.logError(`macro '${macroName}' does not exist.`);": "log.logError(`宏 '${macroName}' 不存在`);",
".logError(`unable to append '${c}' to current line.`)": ".logError(`无法将'${c}'追加到当前行。`)",
".logError(`failed to load file ${c.path}.`)": ".logError(`未能加载文件${c.path}.`)",
".logError(`${G} not found`)": ".logError(`未找到${G}`)",
".logError(`${G} found but it's a folder`)": ".logError(`找到${G},但它是一个文件夹`)",
".logError(`choice named '${b}' not found`)": ".logError(`未找到名为'${b}'的选项`)",
".logError(`no internal link found on line ${l}.`)": ".logError(`在${l}行找不到内部链接.`)",
".logError(`No commands in the selected macro. Did you select a macro for '${this.choice.name}'?`)": ".logError(`所选宏中没有命令。您是否为'${this.choice.name}'选择了宏?`)",
".logError(`failed to load user script ${I.path}.`)": ".logError(`未能加载用户脚本${I.path}.`)",
".logError(`failed to run user script ${I.name}. Error:\n\n${b.message}`)": ".logError(`运行用户脚本 ${I.name}失败. 错误:\n\n${b.message}`)",
".logError(`user script in macro for '${this.choice.name}' is invalid`)": ".logError(`宏中“${this.choice.name}”的用户脚本无效`)",
".logError(`choice in ${I.name} is invalid`)": ".logError(`${I.name}中的选择无效`)",
".logError(`macro '${I}' does not exist.`)": ".logError(`宏'${I}'不存在。`)",
".logError(`Could not create file with template: \n\n${b.message}`)": ".logError(`无法使用模板创建文件: \n\n${b.message}`)",
".logError(`Template ${this.templatePath} not found.`)": ".logError(`找不到模板${this.templatePath}.`)",
".logError(`Could not find Obsidian command with name \"${b}\"`)": ".logError(`找不到名为\"${b}\"的黑曜石命令`)",
".logError(`'${l}' already exists and is not a valid markdown file.`)": ".logError(`'${l}'已存在并且不是有效的markdown文件。`)",
".logError(`unable to insert line '${this.choice.insertAfter.after}' on your cursor.\n${Z}`)": ".logError(`无法插入行'${this.choice.insertAfter.after}' 在你的光标处.\n${Z}`)",
".logError(`Migration '${I}' was unsuccessful. Please create an issue with the following error message: \n\n${b}\n\nQuickAdd will now revert to backup.`)": ".logError(`迁移 '${I}' 失败. 请使用以下错误消息创建一个问题: \n\n${b}\n\nQuickAdd 现在将恢复到备份.`)",
".logError(`Failed to fetch release notes: ${l}`)": ".logError(`未能获取发行说明:${l}`)",
".logWarning(\"cannot add same folder twice.\")": ".logWarning(\"不能重复添加相同的文件夹。\")",
".logWarning(`${q.name} has no settings.`)": ".logWarning(`${q.name} 没有设置。`)",
".logWarning(\"File not written to.\")": ".logWarning(\"文件未写入。\")",
".logWarning(`Could not create file '${l}'.`)": ".logWarning(`无法创建文件 '${l}'。`)",
".logWarning(\"No active file or active file has no parent. Cannot create file in same folder as active file. Creating in root folder.\")": ".logWarning(\"没有活动文件或活动文件没有父文件夹。无法在同一文件夹中创建文件。将在根文件夹中创建。\")",
".logWarning(`The file ${I} does not exist and \"Create file if it doesn't exist\" is disabled.`)": ".logWarning(`文件 ${I} 不存在,并且“如果文件不存在则创建”选项已禁用。`)",
"await GenericInputPrompt.Prompt(this.app, (_a = this.valueHeader) !== null && _a !== void 0 ? _a : `Enter value`);": "await GenericInputPrompt.Prompt(this.app, (_a = this.valueHeader) !== null && _a !== void 0 ? _a : `输入值`);",
"throw new Error(\"detected numbers but couldn't get them.\");": "throw new Error(\"检测到号码,但找不到。\");",
"log.logError(`Could not create file with template. Maybe '${templatePath}' is an invalid template path?`);": "log.logError(`无法使用模板创建文件。 或许 '${templatePath}' 是无效的模板路径?`);",
"log.logError(`Template ${this.templatePath} not found.`);": "log.logError(`模版 ${this.templatePath} 未找到。`);",
"return `Template (not found): ${templatePath}`;": "return `模版 (未找到): ${templatePath}`;",
".setName('Capture To')": ".setName('捕获到')",
".setDesc('File to capture to. Supports some format syntax.');": ".setDesc('要捕获到的文件。支持一些格式语法。');",
"captureToActiveFileText.textContent = \"Capture to active file\";": "captureToActiveFileText.textContent = \"捕获到活动文件\";",
"prependSetting.setName(\"Write to bottom of file\")": "prependSetting.setName(\"写入文件底部\")",
".setDesc(`Put value at the bottom of the file - otherwise at the ${((_a = this.choice) === null || _a === void 0 ? void 0 : _a.captureToActiveFile) ? \"active cursor location\" : \"top\"}.`)": ".setDesc(`将值放在文件的底部,否则放在 ${((_a = this.choice) === null || _a === void 0 ? void 0 : _a.captureToActiveFile) ? \"聚集的光标位置\" : \"顶部\"}.`)",
"taskSetting.setName(\"Task\")": "taskSetting.setName(\"任务\")",
"createLineIfNotFound.setName(\"Create line if not found\")": "createLineIfNotFound.setName(\"没找到就创建新行\")",
"enableSetting.setName(\"Capture format\")": "enableSetting.setName(\"捕获格式\")",
"formatInput.setPlaceholder(\"Format\");": "formatInput.setPlaceholder(\"输出\");",
"createWithTemplateSetting.setName(\"Create file with given template.\")": "createWithTemplateSetting.setName(\"用给定的模板创建文件。\")",
".addOption('source', 'Source')": ".addOption('source', '源')",
".addOption('preview', 'Preview')": ".addOption('preview', '预览')",
".addOption('default', 'Default')": ".addOption('default', '默认')",
"attr(span1, \"aria-label\", \"Drag-handle\");": "attr(span1, \"aria-label\", \"拖动排序\");",
"t1 = text(\" for \");": "t1 = text(\" \");",
"attr(span2, \"aria-label\", \"Drag-handle\");": "attr(span2, \"aria-label\", \"拖动排序\");",
"textComponent.setPlaceholder(\"Obsidian command\");": "textComponent.setPlaceholder(\"Obsidian 命令\");",
".addButton(button => button.setCta().setButtonText(\"Add\").onClick(addObsidianCommandFromInput));": ".addButton(button => button.setCta().setButtonText(\"添加\").onClick(addObsidianCommandFromInput));",
"log.logError(\"invalid editor command type\");": "log.logError(\"无效的编辑器命令类型\");",
".addButton(button => button.setCta().setButtonText(\"Add\").onClick(addEditorCommandFromDropdown));": ".addButton(button => button.setCta().setButtonText(\"添加\").onClick(addEditorCommandFromDropdown));",
"textComponent.setPlaceholder(\"User script\");": "textComponent.setPlaceholder(\"用户脚本\");",
"textComponent.setPlaceholder(\"Choice\");": "textComponent.setPlaceholder(\"选择\");",
"const promptAnswer = await GenericYesNoPrompt.Prompt(this.app, \"Are you sure you wish to delete this command?\", `If you click yes, you will delete '${command.name}'.`);": "const promptAnswer = await GenericYesNoPrompt.Prompt(this.app, \"您确定要删除此命令吗?\", `如果您单击 确定,您将删除 '${command.name}' 。`);",
"this.newChoiceButton(quickCommandContainer, \"Capture\", CaptureChoice);": "this.newChoiceButton(quickCommandContainer, \"捕获\", CaptureChoice);",
"this.newChoiceButton(quickCommandContainer, \"Template\", TemplateChoice);": "this.newChoiceButton(quickCommandContainer, \"模板\", TemplateChoice);",
"button.setIcon('clock').setTooltip(\"Add wait command\").onClick(() => {": "button.setIcon('clock').setTooltip(\"添加等待命令\").onClick(() => {",
"button.setButtonText(typeName).setTooltip(`Add ${typeName} Choice`).onClick(() => {": "button.setButtonText(typeName).setTooltip(`添加 ${typeName} 选择`).onClick(() => {",
"const captureChoice = new type(`Untitled ${typeName} Choice`);": "const captureChoice = new type(`未命名的 ${typeName} 选择`);",
"this.contentEl.createEl('h2', { text: 'Macro Manager' }).style.textAlign = \"center\";": "this.contentEl.createEl('h2', { text: '宏管理器' }).style.textAlign = \"center\";",
"this.addSpanWithText(itemContainerEl, \"Run on plugin load\");": "this.addSpanWithText(itemContainerEl, \"在插件加载时运行\");",
"deleteButton.setButtonText(\"Delete\").onClick(evt => {": "deleteButton.setButtonText(\"删除\").onClick(evt => {",
"configureButton.setButtonText(\"Configure\").onClick(async (evt) => {": "configureButton.setButtonText(\"配置\").onClick(async (evt) => {",
"nameInput.setPlaceholder(\"Macro name\");": "nameInput.setPlaceholder(\"宏名称\");",
"addMacroButton.setButtonText(\"Add macro\")": "addMacroButton.setButtonText(\"添加宏\")",
"log.logError(\"macro invalid - will not be added\");": "log.logError(\"宏无效-将不会被添加\");",
"button.textContent = \"Manage Macros\";": "button.textContent = \"管理宏\";",
"const userConfirmed = yield GenericYesNoPrompt.Prompt(app, `Confirm deletion of choice`, `Please confirm that you wish to delete '${choice.name}'.": "const userConfirmed = yield GenericYesNoPrompt.Prompt(app, `确认删除选择`, `请确认您想要删除 '${choice.name}'.",
"? \"Deleting this choice will delete all (\" + choice.choices.length + \") choices inside it!\"": "? \"删除该选项将删除其中所有 (\" + choice.choices.length + \") 个选项!\"",
"const name = yield GenericInputPrompt.Prompt(app, `Rename ${oldChoice.name}`, \"\", oldChoice.name);": "const name = yield GenericInputPrompt.Prompt(app, `重命名 ${oldChoice.name}`, \"\", oldChoice.name);",
"containerEl.createEl('h2', { text: 'QuickAdd Settings' });": "containerEl.createEl('h2', { text: '快速添加设置' });",
"log.logError(`'${filePath}' already exists and is not a valid markdown file.`);": "log.logError(`'${filePath}' 已经存在并且不是一个有效的markdown文件。`);",
"log.logWarning(\"File not written to.\");": "log.logWarning(\"文件未写入。\");",
"log.logWarning(`Could not create file '${filePath}'.`);": "log.logWarning(`无法创建文件 '${filePath}'.`);",
"log.logError(\"No active file. Cannot create new file.\");": "log.logError(\"没有活跃的文件。无法创建新文件。\");",
"log.logError(\"unable to find insert after line in file.\");": "log.logError(\"无法在文件行后找到插入位置。\");",
"log.logMessage(\"could not get frontmatter. Maybe there isn't any.\");": "log.logMessage(\"不能做正事。也许根本就没有。\");",
"log.logError(`Invalid capture to for ${this.choice.name}`);": "log.logError(`对 ${this.choice.name} 捕获无效`);",
"log.logWarning(`The file ${filePath} does not exist and \"Create file if it doesn't exist\" is disabled.`);": "log.logWarning(`文件 ${filePath} 不存在,并且禁用了“如果不存在则创建文件”。`);",
"log.logError(\"Cannot capture to active file - no active file.\");": "log.logError(\"无法捕获活动文件-没有活动文件。\");",
"log.logError(`please provide a template path for ${templateChoice.name}`);": "log.logError(`请为 ${templateChoice.name} 提供模板路径`);",
"log.logError(`please provide a capture path for ${captureChoice.name}`);": "log.logError(`请为${captureChoice.name} 提供捕获路径`);",
"return `QuickAdd: (${error.level}) ${error.message}`;": "return `快速添加: (${error.level}) ${error.message}`;",
"console.log('Loading QuickAdd');": "console.log('加载快速添加');",
"name: 'Run QuickAdd',": "name: '运行快速添加',",
"console.log('Unloading QuickAdd');": "console.log('未载入快速添加');",
"id: `choice:${choice.id}`,": "id: `选择:${choice.id}`,",
"deleteObsidianCommand(this.app, `quickadd:choice:${choice.id}`);": "deleteObsidianCommand(this.app, `快速添加:选择 ${choice.id}`);",
"setButtonText(\"Delete\"": "setButtonText(\"删除\"",
"addOption(\"Copy\" /* Copy */, \"Copy\"": "addOption(\"Copy\" /* Copy */, \"复制\"",
".addOption(\"Cut\" /* Cut */, \"Cut\"": ".addOption(\"Cut\" /* Cut */, \"剪切\"",
".addOption(\"Paste\" /* Paste */, \"Paste\"": ".addOption(\"Paste\" /* Paste */, \"粘贴\"",
"Are you sure you wish to delete this command?": "您确定要删除此命令吗?",
"`If you click yes, you will delete '${command.name}'.`": "`如果单击“是”,您将删除 '${command.name}'.`",
"setButtonText(\"Yes\"": "setButtonText(\"是\"",
"setButtonText(\"No\"": "setButtonText(\"否\"",
"`Put value at the bottom of the file - otherwise at the": "`将值放在文件的底部,否则放在",
"active cursor location : \"top\"": "活动光标位置 : \"顶部\"",
"Add a link on your current cursor position, linking to the file": "在当前光标位置添加链接,链接到文件",
"you're capturing to.\"": "您正在捕获到\"",
"Insert capture after specified line. Accepts format syntax.": "在指定行之后插入捕获,接受格式语法。",
".addOption(\"source\", \"Source\"": ".addOption(\"source\", \"源码\"",
"Preview).addOption(\"default\", \"Default\"": "预览).addOption(\"default\", \"默认\"",
".addOption(\"vertical\" /* vertical */, \"Vertical\"": ".addOption(\"vertical\" /* vertical */, \"纵向\"",
"addOption(\"horizontal\" /* horizontal */, \"Horizontal\"": "addOption(\"horizontal\" /* horizontal */, \"横向\"",
"Insert the text at the end of the section, rather than at the": "将文本插入节的末尾,而不是",
"top.\"": "顶部\"",
"Enabling this will insert the text at the end of the section &": "启用此选项将在节末尾插入文本和",
"its subsections, rather than just at the end of the target": "它的子部分,而不仅仅是在目标的末尾",
"section.A section is defined by a heading, and its subsections": "部分小节由标题及其小节定义",
"are all the headings inside that section.\"": "是该部分中的所有标题。\"",
"return `Invalid template path for ${this.choice.name}. ${this.": "return `的模板路径无效 ${this.choice.name}. ${this.",
"choice.templatePath.length === 0 ? \"Template path is empty.\" :": "choice.templatePath.length === 0 ? \"模板路径为空。\" :",
"`Template path is not valid: ${this.choice.templatePath}`}`;": "`模板路径无效: ${this.choice.templatePath}`}`;",
"`${\"Template\"}`": "`${\"模板\"}`",
"`${\"Capture\"}`": "`${\"捕获\"}`",
"`${\"Macro\"}`": "`${\"宏\"}`",
"`${\"Multi\"}`": "`${\"组合命令\"}`",
"`Confirm deletion of choice`, `Please confirm that you wish to delete '${choice.name}'": "`确认删除选择`, `请确认您希望删除 '${choice.name}'",
" \"Cancel\"": " \"取消\"",
" \"Ok\"": " \"确定\"",
"`Rename ${oldChoice.name}`": "`重命名 ${oldChoice.name}`",
".textContent=\"Manage Macros\"": ".textContent=\"管理宏\"",
".textContent=\"AI Assistant\"": ".textContent=\"AI助手\"",
".textContent=\"Template\"": ".textContent=\"模板\"",
".textContent=\"Capture\"": ".textContent=\"捕获\"",
".textContent=\"Macro\"": ".textContent=\"宏\"",
".textContent=\"Multi\"": ".textContent=\"组合\"",
".textContent=\"Add Choice\"": ".textContent=\"添加选项\"",
".textContent=\"Capture to active file\"": ".textContent=\"捕获到活动文件\"",
"`File Name:": "`文件名:",
"(I,\"placeholder\",\"Name\")": "(I,\"placeholder\",\"名称\")",
".Notice(\"Choice name is invalid.\")": ".Notice(\"选项名称无效。\")",
".addOption(\"source\",\"Source\")": ".addOption(\"source\",\"源码模式\")",
".addOption(\"preview\",\"Preview\")": ".addOption(\"preview\",\"阅读模式\")",
".addOption(\"default\",\"Default\")": ".addOption(\"default\",\"默认模式\")",
".addOption(\"vertical\",\"Vertical\")": ".addOption(\"vertical\",\"垂直拆分\")",
".addOption(\"horizontal\",\"Horizontal\")": ".addOption(\"horizontal\",\"横向拆分\")",
".addOption(Jc,\"Top\")": ".addOption(Jc,\"顶部\")",
".addOption(R1,\"Bottom\")": ".addOption(R1,\"底部\")",
".addOption(X1,\"Cursor\")": ".addOption(X1,\"光标处\")",
".addOption(\"Copy\",\"Copy\")": ".addOption(\"Copy\",\"复制\")",
".addOption(\"Cut\",\"Cut\")": ".addOption(\"Cut\",\"剪切\")",
".addOption(\"Paste\",\"Paste\")": ".addOption(\"Paste\",\"粘贴\")",
".addOption(\"Select active line\",\"Select active line\")": ".addOption(\"Select active line\",\"选择活动行\")",
".addOption(\"Select link on active line\",\"Select link on active line\")": ".addOption(\"Select link on active line\",\"选择活动行上的链接\")",
".addSpanWithText(W,\"Run on plugin load\")": ".addSpanWithText(W,\"在插件加载时运行\")",
"b(`Untitled ${l} Choice`)": "b(`未命名的 ${l} 选项`)",
"j2=\"Increment the file name\",QG=\"Append to the bottom of the file\",JG=\"Append to the top of the file\",vG=\"Overwrite the file\",f2=\"Nothing\"": "j2=\"增加文件名\",QG=\"附加到文件底部\",JG=\"附加到文件顶部\",vG=\"覆盖文件\",f2=\"无\"",
".Prompt(d,`Rename ${p.name}`": ".Prompt(d,`重命名 ${p.name}`",
"this.createButton(l,\"Cancel\"": "this.createButton(l,\"取消\"",
"this.createButton(l,\"Ok\"": "this.createButton(l,\"确认\"",
"(copy)`": "(副本)`",
"d,\"Confirm deletion of choice\",`Please confirm that you wish to delete '": "d,\"确认删除选项\",`请确认您要删除 '",
"If you click yes, you will delete": "如果单击 '是',您将删除",
"super(\"Wait\",\"Wait\")": "super(\"等待\",\"Wait\")",
"\" for \"": "\" \"",
"\"Deleting this choice will delete the macro associated with it!\"": "\"删除此选项将删除与其关联的宏!\"",
"\"Deleting this choice will delete all (\"": "\"删除此选项将删除其中所有(\"",
"\") choices inside it!\"": "\")选项!\"",
"`Are you sure you want to delete ${b.name}?`": "`您确定要删除 ${b.name} 吗?`",
".setName(\"Max Chunk Tokens\")": ".setName(\"最大分块令牌数\")",
".setName(\"Insert at end of section\"": ".setName(\"在章节末尾插入\"",
"insertAfterSetting.setName(\"Insert after\")": "insertAfterSetting.setName(\"插入其后\")",
"insertAfterInput.setPlaceholder(\"Insert after\");": "insertAfterInput.setPlaceholder(\"插入其后\");",
"insertAtEndSetting.setName(\"Insert at end of section\")": "insertAtEndSetting.setName(\"在章节末尾插入\")",
"`Untitled ${typeName} Choice`": "`未命名 ${typeName} 选项`",
"Notice(\"Choice name is invalid.\")": "Notice(\"选项名称无效。\")",
"Notice(wV(\"starting\",\"\")": "Notice(wV(\"开始\",\"\")",
".log(\"Dataview plugin is not installed or enabled\")": ".log(\"未安装或启用Dataview\")",
".log(this.formatOutputString(Z)": ".log(this.formatOutputString(Z)",
".error(`Failed to query Dataview for field ${l}:`,Z)": ".error(`查询字段 ${l} 的 Dataview 失败:`,Z)",
".error(`Failed to query Dataview for field ${l} with filters:`,m)": ".error(`使用筛选器查询字段 ${l} 的 Dataview 失败:`,m)",
"description:\"Migrate to macro ID from embedded macro in macro choices.\"": "description:\"从宏选项中的嵌入式宏迁移到宏ID。\"",
"description:\"Use QuickAdd template folder instead of Obsidian templates plugin folder / Templater templates folder.\"": "description:\"使用QuickAdd模板文件夹而不是Obsidian模板插件文件夹/Templater模板文件夹。\"",
"description:\"'Increment file name' setting moved to 'Set default behavior if file already exists' setting\"": "description:\"'增量文件名称' 设置移至 '如果文件已存在,则设置默认行为' 设置\"",
"description:\"Mutual exclusion of insertAfter and writeToBottomOfFile settings. If insertAfter is enabled, writeToBottomOfFile is disabled. To support changes in settings UI.\"": "description:\"插入其后 和 写入文件底部 设置相互排斥。如果启用 插入其后,则会禁用 写入文件底部。以支持更改设置界面。\"",
"description:\"Add default AI providers to the settings.\"": "description:\"将默认 AI 提供商添加到设置中。\"",
"text:\"QuickAdd Settings\"": "text:\"QuickAdd 设置\"",
"text:\"Fetching release notes...\"": "text:\"正在获取发布说明……\"",
".setButtonText(\"Add Provider\")": ".setButtonText(\"添加提供商\")",
".setButtonText(\"Edit Providers\")": ".setButtonText(\"编辑提供商\")",
".setName(\"Create in folder\")": ".setName(\"在文件夹中创建\")",
".setName(\"Create in same folder as active file\")": ".setName(\"在与活动文件相同的文件夹中创建\")",
".setName(\"Append link\")": ".setName(\"附加链接\")",
".setName(\"Set default behavior if file already exists\")": ".setName(\"如果文件已存在,则设置默认行为\")",
".setName(\"Insert after\")": ".setName(\"插入其后\")",
".setName(\"Insert at end of section\")": ".setName(\"在章节末尾插入\")",
".setName(\"Consider subsections\")": ".setName(\"考虑各小节\")",
".setName(\"Create file if it doesn't exist\")": ".setName(\"考虑分节\")",
".setName(\"Prompt Template\")": ".setName(\"提示词模板\")",
".setName(\"System Prompt\")": ".setName(\"系统提示词\")",
".setName(\"Frequency Penalty\")": ".setName(\"频率惩罚\")",
".setName(\"Presence Penalty\")": ".setName(\"存在惩罚\")",
".setName(\"Obsidian command\")": ".setName(\"Obsidian指令\")",
".setName(\"Choices\")": ".setName(\"选择\")",
".setName(\"Providers\")": ".setName(\"提供商\")",
".setName(\"API Key\")": ".setName(\"API Key\")",
".setName(\"Default System Prompt\")": ".setName(\"默认系统提示词\")",
".setName(\"Disable AI & Online features\")": ".setName(\"禁用AI和在线功能\")",
".setName(\"Result Joiner\")": ".setName(\"结果连接器\")",
".setName(\"Chunk Separator\")": ".setName(\"分块分隔符\")",
".setName(\"Merge Chunks\")": ".setName(\"合并分块\")",
".setDesc(\"Create the file in the specified folder. If multiple folders are specified, you will be prompted for which folder to create the file in.\")": ".setDesc(\"在指定文件夹中创建文件。如果指定了多个文件夹,系统将提示您在哪个文件夹中创建文件。\")",
".setDesc(\"Get prompted to choose from both the selected folders and their subfolders when creating the note.\")": ".setDesc(\"创建笔记时,系统会提示您从所选文件夹及其子文件夹中进行选择。\")",
".setDesc(\"Creates the file in the same folder as the currently active file. Will not create the file if there is no active file.\")": ".setDesc(\"在与当前活动文件相同的文件夹中创建文件。如果没有活动文件,则不会创建文件。\")",
".setDesc(\"Append link to created file to current file.\")": ".setDesc(\"将创建文件的链接附加到当前文件。\")",
".setDesc(\"Set default behavior rather then prompting user on what to do if a file already exists.\")": ".setDesc(\"设置默认行为,而不是在文件已存在的情况下提示用户如何操作。\")",
".setDesc(\"File to capture to. Supports some format syntax.\")": ".setDesc(\"要捕获的文件。支持某些格式语法。\")",
".setDesc(`Put value at the bottom of the file - otherwise at the ${this.choice?.captureToActiveFile?\"active cursor location\":\"top\"}.`)": ".setDesc(`将值置于文件底部——否则置于${this.choice?.captureToActiveFile?\"活动光标位置\":\"顶部\"}。`)",
".setDesc(\"Add a link on your current cursor position, linking to the file you're capturing to.\")": ".setDesc(\"在当前光标位置添加一个链接,链接到您要捕获的文件。\")",
".setDesc(\"Insert capture after specified line. Accepts format syntax.\")": ".setDesc(\"在指定行后插入捕获。接受格式语法。\")",
".setDesc(\"Insert the text at the end of the section, rather than at the top.\")": ".setDesc(\"将文本插入到章节的末尾,而不是顶部。\")",
".setDesc(\"Enabling this will insert the text at the end of the section & its subsections, rather than just at the end of the target section. A section is defined by a heading, and its subsections are all the headings inside that section.\")": ".setDesc(\"启用此选项后,文本将插入至章节及其所有子章节的末尾(而非仅插入至目标章节末尾)。章节由标题定义,其子章节包含该章节下的所有子级标题。\")",
".setDesc(\"Creates the 'insert after' line if it is not found.\")": ".setDesc(\"如果找不到“插入其后”行,则创建该行。\")",
".setDesc(\"Open the file that is captured to.\")": ".setDesc(\"打开捕获到的文件。\")",
".setDesc(\"Open the file that is captured to in a new tab.\")": ".setDesc(\"在新选项卡中打开捕获到的文件。\")",
".setDesc(\"Focus the created tab immediately\")": ".setDesc(\"立即聚焦创建的选项卡\")",
".setDesc(\"Enabling this will have the assistant use the prompt template you specify. If disable, the assistant will ask you for a prompt template to use.\")": ".setDesc(\"启用此选项将使助手使用您指定的提示模板。如果禁用,助手将要求您使用提示模板。\")",
".setDesc(\"Show advanced settings such as temperature, top p, and frequency penalty.\")": ".setDesc(\"显示温度、top p 和频率惩罚等高级设置。\")",
".setDesc(\"Sampling temperature. Higher values like 0.8 makes the output more random, whereas lower values like 0.2 will make it more focused and deterministic. The default is 1.\")": ".setDesc(\"采样温度。较高的数值(如 0.8)会使输出更加随机,而较低的数值(如 0.2)则会使输出更加集中和确定。默认值为 1。\")",
".setDesc(\"Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim. The default is 0.\")": ".setDesc(\"正值会根据新标记在文本中的现有频率对其进行惩罚,从而降低模型逐字重复同一行的可能性。默认值为 0。\")",
".setDesc(\"Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics. The default is 0.\")": ".setDesc(\"正值会根据新标记是否出现在文本中对其进行惩罚,从而增加模型谈论新话题的可能性。默认值为 0。\")",
".setDesc(\"Add existing choice\")": ".setDesc(\"添加现有选项\")",
".setDesc(\"Providers for the AI Assistant\")": ".setDesc(\"AI助手的提供商\")",
".setDesc(\"The name of the provider\")": ".setDesc(\"提供商的名称\")",
".setDesc(\"The endpoint for the AI Assistant\")": ".setDesc(\"AI助手的端点\")",
".setDesc(\"The API Key for the AI Assistant\")": ".setDesc(\"AI 助手的终端\")",
".setDesc(`Max Tokens: ${b.maxTokens}`)": ".setDesc(`最大 Tokens${b.maxTokens}`)",
".setDesc(\"The maximum number of tokens in each chunk, calculated as the chunk token size + prompt template token size + system prompt token size. Make sure you leave room for the model to respond to the prompt.\")": ".setDesc(\"每块标记的最大数量,计算公式为块标记大小 + 提示模板标记大小 + 系统提示标记大小。确保为模型响应提示留出空间。\")",
".setDesc(\"Merge chunks together by putting them in the same prompt, until the max tokens limit is reached. Useful for sending fewer queries overall, but may result in less coherent responses.\")": ".setDesc(\"将数据块合并到同一提示符中直到达到最大token数限制。这有助于减少发送查询的次数但可能会导致回复不连贯。\")",
".setPlaceholder(\"Insert after\")": ".setPlaceholder(\"插入其后\")",
".setTooltip(\"Create file if it doesn't exist\")": ".setTooltip(\"如果文件不存在,则创建该文件\")",
".setTooltip(`Add ${c} Choice`)": ".setTooltip(`添加 ${c} 选项`)",
".innerText=`Token count: ${this.systemPromptTokenLength!==Number.POSITIVE_INFINITY?this.systemPromptTokenLength:\"select a model to calculate\"}`": ".innerText=`Token 数量: ${this.systemPromptTokenLength!==Number.POSITIVE_INFINITY?this.systemPromptTokenLength:\"选择一个模型来计算\"}`",
"Error(\"Invalid string. Length must be a multiple of 4\")": "Error(\"字符串无效。长度必须是4的倍数\")",
"Error(\"Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.\")": "Error(\"缓冲区全局不存在如果您需要在浏览器中解析缓冲区请使用webpack。\")",
"Error(\"seqMap needs at least one argument\")": "Error(\"seqMap至少需要一个参数\")",
"Error(\".parse must be called with a string or Buffer as its argument\")": "Error(\".parse必须以字符串或Buffer作为参数调用\")",
"Error(\"infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause\")": "Error(\"在 .many() 解析器中检测到无限循环 --- 在可接受零字符的解析器上调用 .many() 通常是原因所在\")",
"Error(\"seqObj arguments must be parsers or [string, parser] array pairs.\")": "Error(\"seqObj 参数必须是解析器或 [string, parser] 数组对。\")",
"Error(\"seqObj expects at least one named parser, found zero\")": "Error(\"seqObj需要至少一个命名解析器但发现为零\")",
"Error(\"Function called outside component initialization\")": "Error(\"调用外部组件初始化的函数\")",
"Error(\"Bug! trying to decrement when there are no dropzones\")": "Error(\"Bug! trying to decrement when there are no dropzones\")",
"Error(\"cannot get depth of a falsy node\")": "Error(\"无法获取假节点的深度\")",
"Error(\"no 'items' key provided to dndzone\")": "Error(\"未向dndzone提供“项目”密钥\")",
"Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\")": "Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\")",
"Error(\"Unable to get current file path. Make sure you have a file open in the editor.\")": "Error(\"无法获取当前文件路径。确保你在编辑器中打开了一个文件。\")",
"Error(\"Macro not found\")": "Error(\"未找到宏\")",
"Error(\"Invalid macro name\")": "Error(\"宏名称无效\")",
"Error(\"Unknown model\")": "Error(\"未知模型\")",
"Error(\"Unknown encoding\")": "Error(\"未知编码\")",
"Error(\"Blocking request to OpenAI: Online features are disabled in settings.\")": "Error(\"阻止对OpenAI的请求设置中禁用了在线功能。\")",
"Error(\"Callback must be a function.\")": "Error(\"回调必须是一个函数。\")",
"Error(\"Promise must be an instance of Promise.\")": "Error(\"Promise must be an instance of Promise.\")",
"Error(\"Interval must be a positive number.\")": "Error(\"间隔必须是正数。\")",
"Error(\"Rejecting request to `prompt` via API AI module. Online features are disabled in settings.\")": "Error(\"拒绝通过 API AI 模块向 “prompt ”提出的请求。在线功能在设置中被禁用。\")",
"Error(\"AI Assistant returned null\")": "Error(\"AI助手返回null\")",
"Error(\"No active view\")": "Error(\"无活动视图\")",
"Error(\"No text selected\")": "Error(\"未选择文本\")",
"Error(\"no active markdown view.\")": "Error(\"没有活动的markdown视图。\")",
"Error(\"nothing selected.\")": "Error(\"未选择。\")",
"Error(\"choice could not be found.\")": "Error(\"找不到选择。\")",
"Error(\"No folder selected.\")": "Error(\"未选择文件夹。\")",
"Error(\"detected numbers but couldn't get them.\")": "Error(\"检测到数字,但无法获取。\")",
"Error(\"'Consider subsections' can only be enabled if the insert after line starts with a # (heading).\")": "Error(\"只有在插入行后以 #(标题) 开头时,才能启用 '考虑分节。'\")",
"Error(\"invalid editor command type\")": "Error(\"编辑器命令类型无效\")",
"Error(\"command not found\")": "Error(\"找不到命令\")",
"Error(\"Could not find macro to configure\")": "Error(\"找不到要配置的宏\")",
"Error(\"Invalid choice type\")": "Error(\"选择类型无效\")",
"Error(\"Unable to find insert after line in file\")": "Error(\"在文件中找不到插入其后的行\")",
"Error(\"Tried to get sections without file.\")": "Error(\"试图获取没有文件的部分。\")",
"Error(\"No active view.\")": "Error(\"没有活动视图。\")",
"Error(\"Argument is not an array\")": "Error(\"参数不是数组\")",
"Error(\"File not found\")": "Error(\"找不到文件\")",
"Error(\"Failed to migrate template folder path.\")": "Error(\"Failed to migrate template folder path.\")",
"\"Increment the file name\"": "\"增加文件名\"",
"\"Append to the bottom of the file\"": "\"附加到文件底部\"",
"\"Append to the top of the file\"": "\"附加到文件顶部\"",
"\"Overwrite the file\"": "\"覆盖文件\"",
"\"Nothing\"": "\"无\"",
"\"Confirm deletion of choice\"": "\"确认删除\"",
"\"Invalid choice type\"": "\"选择类型无效\"",
"`Please confirm that you wish to delete '": "`请确认您希望删除 '",
"As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{\text{new}}:=w_{ij}^{\text{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write \"($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)\" inline.": "As an AI assistant within Obsidian, your primary goal is to help users manage their ideas and knowledge more effectively. Format your responses using Markdown syntax. Please use the [[Obsidian]] link format. You can write aliases for the links by writing [[Obsidian|the alias after the pipe symbol]]. To use mathematical notation, use LaTeX syntax. LaTeX syntax for larger equations should be on separate lines, surrounded with double dollar signs ($$). You can also inline math expressions by wrapping it in $ symbols. For example, use $$w_{ij}^{\text{new}}:=w_{ij}^{\text{current}}+etacdotdelta_jcdot x_{ij}$$ on a separate line, but you can write \"($eta$ = learning rate, $delta_j$ = error term, $x_{ij}$ = input)\" inline.",
"\"Provider Name\"": "\"提供商名称\"",
"\"Cancel\"": "\"取消\"",
"\"Ok\"": "\"确定\"",
"\"Run on plugin load\"": "\"在插件加载时运行\"",
"`Untitled ${c} Choice`": "`未命名${c}选项`",
"\"No file selected for capture.\"": "\"未选择要捕获的文件。\"",
"\"Capture\"": "\"捕获\""
}
}

107
.obsidian/plugins/quickadd/main.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,12 @@
{
"id": "quickadd",
"name": "QuickAdd",
"version": "2.9.4",
"minAppVersion": "1.6.0",
"description": "快速将新页面或内容添加到您的知识库。",
"author": "Christian B. B. Houmann",
"authorUrl": "https://bagerbach.com",
"fundingUrl": "https://www.buymeacoffee.com/chhoumann",
"helpUrl": "https://quickadd.obsidian.guide/docs/",
"isDesktopOnly": false
}

1
.obsidian/plugins/quickadd/styles.css vendored Normal file

File diff suppressed because one or more lines are too long