diff --git a/src/lang/langDiffWithEn.js b/src/lang/langDiffWithEn.js
new file mode 100644
index 000000000..1b2cd2cba
--- /dev/null
+++ b/src/lang/langDiffWithEn.js
@@ -0,0 +1,149 @@
+/**
+ * Language Pack Diff Checker Script
+ *
+ * Purpose:
+ * Compare src/lang/locale/en.ts and a target language file (e.g. zh-cn.ts), output missing and extra keys.
+ * Output is color-coded:
+ * - Green: Key exists in en.ts but missing in the target language file
+ * - Red: Key exists in the target language file but not in en.ts
+ * - Yellow: The same key exists in both files but the line numbers are different
+ *
+ * Dependencies:
+ * Node.js environment, no extra dependencies required.
+ *
+ * Usage:
+ * 1. Open a terminal in this file's directory (or project root).
+ * 2. Run:
+ * node src/lang/langDiffWithEn.js zh-cn
+ * # or node src/lang/langDiffWithEn.js ja
+ * # The argument is the language file name (without extension), default is zh-cn
+ *
+ * Output:
+ * + (green): Key exists in en.ts but missing in the target language file
+ * - (red): Key exists in the target language file but not in en.ts
+ * ! (yellow): The same key exists in both files but the line numbers are different
+ * If there is no output, the two files have identical keys.
+ */
+/**
+ * 语言包差异检测脚本
+ *
+ * 用途:
+ * 比较 src/lang/locale/en.ts 与指定语言文件(如 zh-cn.ts)中的 key,输出缺失和多余的 key。
+ * 输出内容会用不同颜色区分:
+ * - 绿色:en.ts 有但目标语言缺失的 key
+ * - 红色:目标语言有但 en.ts 没有的 key
+ * - 黄色:相同的 key 所在的行号不相同
+ *
+ * 依赖:
+ * Node.js 环境,无需额外依赖。
+ *
+ * 用法:
+ * 1. 在命令行进入本文件所在目录(或项目根目录)。
+ * 2. 运行:
+ * node src/lang/langDiffWithEn.js zh-cn
+ * # 或 node src/lang/langDiffWithEn.js ja
+ * # 参数为语言文件名(不带扩展名),默认为 zh-cn
+ *
+ * 输出说明:
+ * + 开头(绿色):en.ts 有但目标语言缺失的 key
+ * - 开头(红色):目标语言有但 en.ts 没有的 key
+ * ! 开头(黄色):相同的 key 所在的行号不相同
+ * 若无输出则表示两个文件 key 完全一致。
+ */
+
+const fs = require("fs");
+const path = require("path");
+
+/**
+ * 读取 locale 文件夹下指定语言和 en.ts 文件,逐行解析键值和行号
+ * @param lang 语言文件名(不含扩展名),如 zh-cn
+ * @returns { en: Record, lang: Record }
+ */
+function readLocaleFiles(lang = "zh-cn") {
+ // 构造 locale 目录路径
+ const localeDir = path.join(__dirname, "./locale");
+ // 获取 en.ts 文件路径
+ const enFile = path.join(localeDir, "en.ts");
+ // 获取指定语言文件路径
+ const langFile = path.join(localeDir, `${lang}.ts`);
+ /**
+ * 解析指定的语言文件,提取每个 key 的值和所在行号
+ * @param file 文件路径
+ * @returns {Record}
+ */
+ const parse = (file) => {
+ // 读取文件内容并按行分割
+ const lines = fs.readFileSync(file, "utf8").split(/\r?\n/);
+ const result = {};
+ let inExport = false;
+ for (let i = 0; i < lines.length; i++) {
+ const line = lines[i];
+ // 检查是否进入 export default 块
+ if (!inExport && line.includes("export default")) {
+ inExport = true;
+ continue;
+ }
+ if (!inExport) continue;
+ // 匹配 key: "value", 格式的行
+ const m = line.match(/^\s*([A-Z0-9_]+)\s*:\s*.*?,?$/);
+ if (m) {
+ let key = m[1];
+ // 保存 key 及其所在行号
+ result[key] = i + 1;
+ }
+ }
+ return result;
+ };
+ // 返回 en 和指定语言的解析结果
+ return {
+ en: parse(enFile),
+ lang: parse(langFile),
+ };
+}
+
+/**
+ * 比较 en 和 lang 的 key/value,输出差异
+ */
+
+function diffLang(lang = "zh-cn") {
+ const { en, lang: l } = readLocaleFiles(lang);
+ const allKeys = new Set([...Object.keys(en), ...Object.keys(l)]);
+ const diffs = [];
+ for (const key of allKeys) {
+ if (!(key in en)) {
+ diffs.push(`- ${key}: ${l[key]}`);
+ } else if (!(key in l)) {
+ diffs.push(`+ ${key}: ${en[key]}`);
+ } else {
+ if (en[key] !== l[key]) {
+ diffs.push(`! ${key}: en: ${en[key]} <--> lang: ${l[key]}`);
+ }
+ }
+ }
+ return diffs;
+}
+
+// CLI
+if (require.main === module) {
+ const lang = process.argv[2] || "zh-cn";
+ const diffs = diffLang(lang);
+ if (diffs.length === 0) {
+ console.log(`语言文件 ${lang} 与 en.ts 无差异`);
+ } else {
+ diffs.forEach((line) => {
+ if (line.startsWith("+")) {
+ // 绿色
+ console.log("\x1b[32m%s\x1b[0m", line);
+ } else if (line.startsWith("-")) {
+ // 红色
+ console.log("\x1b[31m%s\x1b[0m", line);
+ } else if (line.startsWith("!")) {
+ // 黄色
+ console.log("\x1b[33m%s\x1b[0m", line);
+ } else {
+ // 默认
+ console.log(line);
+ }
+ });
+ }
+}
diff --git a/src/lang/locale/en.ts b/src/lang/locale/en.ts
index 28396d91b..0c1998905 100644
--- a/src/lang/locale/en.ts
+++ b/src/lang/locale/en.ts
@@ -98,7 +98,7 @@ export default {
SEARCH: "Search for text in drawing",
CROP_PAGE: "Crop and mask selected page",
CROP_IMAGE: "Crop and mask image",
- ANNOTATE_IMAGE : "Annotate image in Excalidraw",
+ ANNOTATE_IMAGE: "Annotate image in Excalidraw",
INSERT_ACTIVE_PDF_PAGE_AS_IMAGE: "Insert active PDF page as image",
RESET_IMG_TO_100: "Set selected image element size to 100% of original",
RESET_IMG_ASPECT_RATIO: "Reset selected image element aspect ratio",
@@ -107,10 +107,10 @@ export default {
FONTS_LOADED: "Excalidraw: CJK Fonts loaded",
FONTS_LOAD_ERROR: "Excalidraw: Could not find CJK Fonts in the assets folder\n",
- //Prompt.ts
+ // Prompt.ts
SELECT_LINK_TO_OPEN: "Select a link to open",
- //ExcalidrawView.ts
+ // ExcalidrawView.ts
ERROR_CANT_READ_FILEPATH: "Error, can't read file path. Importing file instead",
NO_SEARCH_RESULT: "Didn't find a matching element in the drawing",
FORCE_SAVE_ABORTED: "Force Save aborted because saving is in progress",
@@ -192,16 +192,14 @@ export default {
SAVE_IS_TAKING_LONG: "Saving your previous file is taking a long time. Please wait...",
SAVE_IS_TAKING_VERY_LONG: "For better performance, consider splitting large drawings into several smaller files.",
- //ContentSearcher.ts
+ // ContentSearcher.ts
SEARCH_COPIED_TO_CLIPBOARD: "Markdown ready on clipboard",
SEARCH_COPY_TO_CLIPBOARD_ARIA: "Copy the entire dialog to the clipboard as Markdown. Ideal for use with tools like ChatGPT to search and understand.",
SEARCH_SHOWHIDE_ARIA: "Show/Hide search bar",
SEARCH_NEXT: "Next",
SEARCH_PREVIOUS: "Previous",
-
-
- //settings.ts
+ // settings.ts
NOTEBOOKLM_LINK_ARIA: "Ask NotebookLM for help about the plugin. This model is pre-loaded with all my video transcripts, release notes and other helpful content. Chat with NotebookLM to explore my 250+ videos and the Excalidraw documentation.",
NOTEBOOKLM_LINK_TEXT: "Learn the Plugin. Access the NotebookLM knowledgebase.",
LINKS_BUGS_ARIA: "Report bugs and raise feature requsts on the plugin's GitHub page",
@@ -226,7 +224,7 @@ export default {
NEWVERSION_NOTIFICATION_DESC:
"Toggle ON: Show a notification when a new version of the plugin is available.
" +
"Toggle OFF: Silent mode. You need to check for plugin updates in Community Plugins.",
-
+
BASIC_HEAD: "Basic",
BASIC_DESC: `In the "Basic" settings, you can configure options such as displaying release notes after updates, receiving plugin update notifications, setting the default location for new drawings, specifying the Excalidraw folder for embedding drawings into active documents, defining an Excalidraw template file, and designating an Excalidraw Automate script folder for managing automation scripts.`,
FOLDER_NAME: "Excalidraw folder (CAsE sEnsITive!)",
@@ -239,7 +237,7 @@ export default {
CROP_PREFIX_NAME: "Crop file prefix",
CROP_PREFIX_DESC:
"The first part of the filename for new drawings created when cropping an image. " +
- "Leave empty if you don't need a prefix.",
+ "Leave empty if you don't need a prefix.",
ANNOTATE_SUFFIX_NAME: "Annotation file suffix",
ANNOTATE_SUFFIX_DESC:
"The last part of the filename for new drawings created when annotating an image. " +
@@ -331,7 +329,7 @@ export default {
"This will allow you to easily read and edit the JSON string. The drawing will be compressed again " +
"once you switch back to Excalidraw view and save the drawing (CTRL+S).
" +
"I recommend switching this feature off as it will result in smaller file sizes and avoiding unnecessary results in Obsidian search. " +
- "You can always use the 'Excalidraw: Decompress current Excalidraw file' command from the command palette "+
+ "You can always use the 'Excalidraw: Decompress current Excalidraw file' command from the command palette " +
"to manually decompress the drawing JSON when you need to read or edit it.",
AUTOSAVE_INTERVAL_DESKTOP_NAME: "Interval for autosave on Desktop",
AUTOSAVE_INTERVAL_DESKTOP_DESC:
@@ -375,7 +373,7 @@ FILENAME_HEAD: "Filename",
OVERRIDE_OBSIDIAN_FONT_SIZE_DESC:
"Obsidian's custom font size setting affects the entire interface, including Excalidraw and themes that depend on the default font size. " +
"Enabling this option restricts font size changes to editor text, which will improve the look of Excalidraw. " +
- "If parts of the UI look incorrect after enabling, try turning this setting off.",
+ "If parts of the UI look incorrect after enabling, try turning this setting off.",
DYNAMICSTYLE_NAME: "Dynamic styling",
DYNAMICSTYLE_DESC:
"Change Excalidraw UI colors to match the canvas color",
@@ -387,7 +385,7 @@ FILENAME_HEAD: "Filename",
IFRAME_MATCH_THEME_DESC:
"Toggle ON: Set this to true if for example you are using Obsidian in dark-mode but use excalidraw with a light background. " +
"With this setting the embedded Obsidian markdown document will match the Excalidraw theme (i.e. light colors if Excalidraw is in light mode).
" +
- "Toggle OFF: Set this to false if you want the embedded Obsidian markdown document to match the Obsidian theme (i.e. dark colors if Obsidian is in dark mode).",
+ "Toggle OFF: Set this to false if you want the embedded Obsidian markdown document to match the Obsidian theme (i.e. dark colors if Obsidian is in dark mode).",
MATCH_THEME_NAME: "New drawing to match Obsidian theme",
MATCH_THEME_DESC:
"If theme is dark, new drawing will be created in dark mode. This does not apply when you use a template for new drawings. " +
@@ -413,7 +411,7 @@ FILENAME_HEAD: "Filename",
DISABLE_SINGLE_FINGER_PANNING_NAME: "Enable single-finger panning in pen mode",
SHOW_PEN_MODE_FREEDRAW_CROSSHAIR_NAME: "Show (+) crosshair in pen mode",
SHOW_PEN_MODE_FREEDRAW_CROSSHAIR_DESC:
- "Show crosshair in pen mode when using the freedraw tool. Toggle ON: SHOW Toggle OFF: HIDE
"+
+ "Show crosshair in pen mode when using the freedraw tool. Toggle ON: SHOW Toggle OFF: HIDE
" +
"The effect depends on the device. Crosshair is typically visible on drawing tablets, MS Surface, but not on iOS.",
SHOW_DRAWING_OR_MD_IN_HOVER_PREVIEW_NAME: "Render Excalidraw file as an image in hover preview...",
SHOW_DRAWING_OR_MD_IN_HOVER_PREVIEW_DESC:
@@ -424,7 +422,7 @@ FILENAME_HEAD: "Filename",
SHOW_DRAWING_OR_MD_IN_READING_MODE_DESC:
"When you are in markdown reading mode (aka. reading the back side of the drawing) should the Excalidraw drawing be rendered as an image? " +
"This setting will not affect the display of the drawing when you are in Excalidraw mode or when you embed the drawing into a markdown document or when rendering hover preview.
" +
- "- See other related setting for PDF Export under 'Embedding and Exporting' further below.
" +
+ "See other related setting for PDF Export under 'Embedding and Exporting' further below.
" +
"You must close the active excalidraw/markdown file and reopen it for this change to take effect.",
SHOW_DRAWING_OR_MD_IN_EXPORTPDF_NAME: "Render Excalidraw as Image in Obsidian PDF Export",
SHOW_DRAWING_OR_MD_IN_EXPORTPDF_DESC:
@@ -432,7 +430,7 @@ FILENAME_HEAD: "Filename",
"- Enabled: The PDF will include the Excalidraw drawing as an image.
" +
"- Disabled: The PDF will include the markdown content as text.
" +
"Note: This setting does not affect the PDF export feature within Excalidraw itself.
" +
- "See the other related setting for Markdown Reading Mode under 'Appearance and Behavior' further above.
" +
+ "See the other related setting for Markdown Reading Mode under 'Appearance and Behavior' further above.
" +
"⚠️ You must close and reopen the Excalidraw/markdown file for changes to take effect. ⚠️",
HOTKEY_OVERRIDE_HEAD: "Hotkey overrides",
HOTKEY_OVERRIDE_DESC: `Some of the Excalidraw hotkeys such as ${labelCTRL()}+Enter to edit text or ${labelCTRL()}+K to create an element link ` +
@@ -448,13 +446,13 @@ FILENAME_HEAD: "Filename",
DEFAULT_WHEELZOOM_NAME: "Mouse wheel to zoom by default",
DEFAULT_WHEELZOOM_DESC:
`Toggle ON: Mouse wheel to zoom; ${labelCTRL()} + mouse wheel to scrollToggle OFF:${labelCTRL()} + mouse wheel to zoom; Mouse wheel to scroll`,
-
+
ZOOM_TO_FIT_NAME: "Zoom to fit on view resize",
ZOOM_TO_FIT_DESC: "Zoom to fit drawing when the pane is resized" +
"
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",
ZOOM_TO_FIT_ONOPEN_NAME: "Zoom to fit on file open",
ZOOM_TO_FIT_ONOPEN_DESC: "Zoom to fit drawing when the drawing is first opened" +
- "
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",
+ "
Toggle ON: Zoom to fit
Toggle OFF: Auto zoom disabled",
ZOOM_TO_FIT_MAX_LEVEL_NAME: "Zoom to fit max ZOOM level",
ZOOM_TO_FIT_MAX_LEVEL_DESC:
"Set the maximum level to which zoom to fit will enlarge the drawing. Minimum is 0.5 (50%) and maximum is 10 (1000%).",
@@ -489,7 +487,7 @@ FILENAME_HEAD: "Filename",
DRAG_MODIFIER_NAME: "Link Click and Drag&Drop Modifier Keys",
DRAG_MODIFIER_DESC: "Modifier key behavior when clicking links and dragging and dropping elements. " +
"Excalidraw will not validate your configuration... pay attention to avoid conflicting settings. " +
- "These settings are different for Apple and non-Apple. If you use Obsidian on multiple platforms, you'll need to make the settings separately. "+
+ "These settings are different for Apple and non-Apple. If you use Obsidian on multiple platforms, you'll need to make the settings separately. " +
"The toggles follow the order of " +
(DEVICE.isIOS || DEVICE.isMacOS ? "SHIFT, CMD, OPT, CONTROL." : "SHIFT, CTRL, ALT, META (Windows key)."),
LONG_PRESS_DESKTOP_NAME: "Long press to open desktop",
@@ -514,7 +512,7 @@ FILENAME_HEAD: "Filename",
MAINWORKSPACE_PANE_NAME: "Open in main workspace",
MAINWORKSPACE_PANE_DESC:
`When ${labelCTRL()}+${labelALT()} clicking a link in Excalidraw, by default the plugin will open the link in a new pane in the current active window. ` +
- "Turning this setting on, Excalidraw will open the link in an existing or new pane in the main workspace. ",
+ "Turning this setting on, Excalidraw will open the link in an existing or new pane in the main workspace. ",
LINK_BRACKETS_NAME: "Show [[brackets]] around links",
LINK_BRACKETS_DESC: `${
"In PREVIEW mode, when parsing Text Elements, place brackets around links. " +
@@ -618,11 +616,11 @@ FILENAME_HEAD: "Filename",
"You can add one custom font beyond that using the setting above. " +
'You can override this css setting by adding the following frontmatter-key to the embedded markdown file: "excalidraw-css: css_file_in_vault|css-snippet".',
EMBED_HEAD: "Embedding Excalidraw into your Notes and Exporting",
- EMBED_DESC: `In the "Embed & Export" settings, you can configure how images and Excalidraw drawings are embedded and exported within your documents. Key settings include choosing the image type for markdown preview (such as Native SVG or PNG), specifying the type of file to insert into the document (original Excalidraw, PNG, or SVG), and managing image caching for embedding in markdown. You can also control image sizing, whether to embed drawings using wiki links or markdown links, and adjust settings related to image themes, background colors, and Obsidian integration.
+ EMBED_DESC: `In the "Embed & Export" settings, you can configure how images and Excalidraw drawings are embedded and exported within your documents. Key settings include choosing the image type for markdown preview (such as Native SVG or PNG), specifying the type of file to insert into the document (original Excalidraw, PNG, or SVG), and managing image caching for embedding in markdown. You can also control image sizing, whether to embed drawings using wiki links or markdown links, and adjust settings related to image themes, background colors, and Obsidian integration.
Additionally, there are settings for auto-export, which automatically generates SVG and/or PNG files to match the title of your Excalidraw drawings, keeping them in sync with file renames and deletions.`,
EMBED_CANVAS: "Obsidian Canvas support",
EMBED_CANVAS_NAME: "Immersive embedding",
- EMBED_CANVAS_DESC:
+ EMBED_CANVAS_DESC:
"Hide canvas node border and background when embedding an Excalidraw drawing to Canvas. " +
"Note that for a full transparent background for your image, you will still need to configure Excalidraw to export images with transparent background.",
EMBED_CACHING: "Image caching and rendering optimization",
@@ -637,7 +635,7 @@ FILENAME_HEAD: "Filename",
EMBED_IMAGE_CACHE_DESC: "Cache images for embedding in markdown. This will speed up the embedding process, but in case you compose images of several sub-component drawings, " +
"the embedded image in Markdown won't update until you open the drawing and save it to trigger an update of the cache.",
SCENE_IMAGE_CACHE_NAME: "Cache nested Excalidraws in Scene",
- SCENE_IMAGE_CACHE_DESC: "Cache nested Excalidraws in the Scene for faster scene rendering. This will speed up the rendering process, especially if you have deeply nested Excalidraws in your scene. " +
+ SCENE_IMAGE_CACHE_DESC: "Cache nested Excalidraws in the Scene for faster scene rendering. This will speed up the rendering process, especially if you have deeply nested Excalidraws in your scene. " +
"Excalidraw will try to intelligently identify if any children of a nested Excalidraw have changed and will update the cache accordingly. " +
"You may want to turn this off, in case you are suspecting that the cache is not updating properly.",
EMBED_IMAGE_CACHE_CLEAR: "Purge Cache",
@@ -646,20 +644,20 @@ FILENAME_HEAD: "Filename",
EMBED_REUSE_EXPORTED_IMAGE_NAME:
"If found, use the already exported image for preview",
EMBED_REUSE_EXPORTED_IMAGE_DESC:
- "This setting works in conjunction with the Auto-export SVG/PNG setting. If an exported image that matches the file name of the drawing " +
+ "This setting works in conjunction with the Auto-export SVG/PNG setting. If an exported image that matches the file name of the drawing " +
"is available, use that image instead of generating a preview image on the fly. This will result in faster previews especially when you have many embedded objects in the drawing, however, " +
"it may happen that your latest changes are not displayed and that the image will not automatically match your Obsidian theme in case you have changed the " +
"Obsidian theme since the export was created. This setting only applies to embedding images into markdown documents. " +
"For a number of reasons, the same approach cannot be used to expedite the loading of drawings with many embedded objects. See demonstration here.",
- /*EMBED_PREVIEW_SVG_NAME: "Display SVG in markdown preview",
+ /* EMBED_PREVIEW_SVG_NAME: "Display SVG in markdown preview",
EMBED_PREVIEW_SVG_DESC:
"Toggle ON: Embed drawing as an SVG image into the markdown preview.
" +
- "Toggle OFF: Embed drawing as a PNG image. Note, that some of the image block referencing features do not work with PNG embeds.",*/
+ "Toggle OFF: Embed drawing as a PNG image. Note, that some of the image block referencing features do not work with PNG embeds.", */
EMBED_PREVIEW_IMAGETYPE_NAME: "Image type in markdown preview",
EMBED_PREVIEW_IMAGETYPE_DESC:
"Native SVG: High Image Quality. Embedded Websites, YouTube videos, Obsidian Links, and external images embedded via a URL will all work. Embedded Obsidian pages will not
" +
"SVG Image: High Image Quality. Embedded elements and images embedded via URL only have placeholders, links don't work
" +
- "PNG Image: Lower Image Quality, but in some cases better performance with large drawings. Embedded elements and images embedded via URL only have placeholders, links don't work. Also some of the image block referencing features do not work with PNG embeds.",
+ "PNG Image: Lower Image Quality, but in some cases better performance with large drawings. Embedded elements and images embedded via URL only have placeholders, links don't work. Also some of the image block referencing features do not work with PNG embeds.",
PREVIEW_MATCH_OBSIDIAN_NAME: "Excalidraw preview to match Obsidian theme",
PREVIEW_MATCH_OBSIDIAN_DESC:
"Image preview in documents should match the Obsidian theme. If enabled, when Obsidian is in dark mode, Excalidraw images will render in dark mode. " +
@@ -677,11 +675,11 @@ FILENAME_HEAD: "Filename",
EMBED_TYPE_NAME: "Type of file to insert into the document",
EMBED_TYPE_DESC:
"When you embed an image into a document using the command palette this setting will specify if Excalidraw should embed the original Excalidraw file " +
- "or a PNG or an SVG copy. You need to enable auto-export PNG / SVG (see below under Export Settings) for those image types to be available in the dropdown. For drawings that do not have a " +
+ "or a PNG or an SVG copy. You need to enable auto-export PNG / SVG (see below under Export Settings) for those image types to be available in the dropdown. For drawings that do not have a " +
"a corresponding PNG or SVG readily available the command palette action will insert a broken link. You need to open the original drawing and initiate export manually. " +
"This option will not autogenerate PNG/SVG files, but will simply reference the already existing files.",
EMBED_MARKDOWN_COMMENT_NAME: "Embed link to drawing as comment",
- EMBED_MARKDOWN_COMMENT_DESC:
+ EMBED_MARKDOWN_COMMENT_DESC:
"Embed the link to the original Excalidraw file as a markdown link under the image, e.g.:%%[[drawing.excalidraw]]%%.
" +
"Instead of adding a markdown comment you may also select the embedded SVG or PNG line and use the command palette action: " +
"'Excalidraw: Open Excalidraw drawing' to open the drawing.",
@@ -718,13 +716,13 @@ FILENAME_HEAD: "Filename",
"Automatically create an SVG export of your drawing matching the title of your file. " +
"The plugin will save the *.SVG file in the same folder as the drawing. " +
"Embed the .svg file into your documents instead of Excalidraw making you embeds platform independent. " +
- "While the auto-export switch is on, this file will get updated every time you edit the Excalidraw drawing with the matching name. " +
+ "While the auto-export switch is on, this file will get updated every time you edit the Excalidraw drawing with the matching name. " +
"You can override this setting on a file level by adding the excalidraw-autoexport frontmatter key. Valid values for this key are " +
"none,both,svg, and png.",
EXPORT_PNG_NAME: "Auto-export PNG",
EXPORT_PNG_DESC: "Same as the auto-export SVG, but for *.PNG",
EXPORT_BOTH_DARK_AND_LIGHT_NAME: "Export both dark- and light-themed image",
- EXPORT_BOTH_DARK_AND_LIGHT_DESC: "When enabled, Excalidraw will export two files instead of one: filename.dark.png, filename.light.png and/or filename.dark.svg and filename.light.svg
"+
+ EXPORT_BOTH_DARK_AND_LIGHT_DESC: "When enabled, Excalidraw will export two files instead of one: filename.dark.png, filename.light.png and/or filename.dark.svg and filename.light.svg
" +
"Double files will be exported both if auto-export SVG or PNG (or both) are enabled, as well as when clicking export on a single image.",
COMPATIBILITY_HEAD: "Compatibility features",
COMPATIBILITY_DESC: "You should only enable these features if you have a strong reason for wanting to work with excalidraw.com files instead of markdown files. Many of the plugin features are not supported on legacy files. Typical usecase would be if you use set your vault up on top of a Visual Studio Code project folder and you have .excalidraw drawings you want to access from Visual Studio Code as well. Another usecase might be using Excalidraw in Logseq and Obsidian in parallel.",
@@ -761,8 +759,8 @@ FILENAME_HEAD: "Filename",
"and the file explorer are going to be all legacy *.excalidraw files. This setting will also turn off the reminder message " +
"when you open a legacy file for editing.",
MATHJAX_NAME: "MathJax (LaTeX) javascript library host",
- MATHJAX_DESC: "If you are using LaTeX equations in Excalidraw, then the plugin needs to load a javascript library for that. " +
- "Some users are unable to access certain host servers. If you are experiencing issues, try changing the host here. You may need to "+
+ MATHJAX_DESC: "If you are using LaTeX equations in Excalidraw, then the plugin needs to load a javascript library for that. " +
+ "Some users are unable to access certain host servers. If you are experiencing issues, try changing the host here. You may need to " +
"restart Obsidian after closing settings, for this change to take effect.",
LATEX_DEFAULT_NAME: "Default LaTeX formula for new equations",
LATEX_DEFAULT_DESC: "Leave empty if you don't want a default formula. You can add default formatting here such as \\color{white}.",
@@ -782,7 +780,7 @@ FILENAME_HEAD: "Filename",
EXPERIMENTAL_HEAD: "Miscellaneous features",
EXPERIMENTAL_DESC: `These miscellaneous features in Excalidraw include options for setting default LaTeX formulas for new equations, enabling a Field Suggester for autocompletion, displaying type indicators for Excalidraw files, enabling immersive image embedding in live preview editing mode, and experimenting with Taskbone Optical Character Recognition for text extraction from images and drawings. Users can also enter a Taskbone API key for extended usage of the OCR service.`,
EA_HEAD: "Excalidraw Automate",
- EA_DESC:
+ EA_DESC:
"ExcalidrawAutomate is a scripting and automation API for Excalidraw. Unfortunately, the documentation of the API is sparse. " +
"I recommend reading the ExcalidrawAutomate.d.ts file, " +
"visiting the ExcalidrawAutomate How-to page - though the information " +
@@ -816,10 +814,10 @@ FILENAME_HEAD: "Filename",
"in this case the entire drawing markdown will fade out including # Text Elements. The side effect is you won't be able to block reference text in other markdown notes, that is after the %% comment section. This is seldom an issue. " +
"Should you want to edit the Excalidraw markdown script, simply switch to markdown view mode and temporarily remove the %% comment.",
EXCALIDRAW_PROPERTIES_NAME: "Load Excalidraw Properties into Obsidian Suggester",
- EXCALIDRAW_PROPERTIES_DESC: "Toggle this setting to load Excalidraw document properties into Obsidian's property suggester at plugin startup. "+
+ EXCALIDRAW_PROPERTIES_DESC: "Toggle this setting to load Excalidraw document properties into Obsidian's property suggester at plugin startup. " +
"Enabling this feature simplifies the use of Excalidraw front matter properties, allowing you to leverage many powerful settings. If you prefer not to load these properties automatically, " +
"you can disable this feature, but you will need to manually remove any unwanted properties from the suggester. " +
- "Note that turning on this setting requires restarting the plugin as properties are loaded at startup.",
+ "Note that turning on this setting requires restarting the plugin as properties are loaded at startup.",
FONTS_HEAD: "Fonts",
FONTS_DESC: "Configure local fontfaces and downloaded CJK fonts for Excalidraw.",
CUSTOM_FONT_HEAD: "Local font",
@@ -836,16 +834,16 @@ FILENAME_HEAD: "Filename",
"For optimal performance, it is recommended to use a .woff2 file, as Excalidraw will encode only the necessary glyphs when exporting images to SVG. " +
"Other font formats will embed the entire font in the exported file, potentially resulting in significantly larger file sizes.",
OFFLINE_CJK_NAME: "Offline CJK font support",
- OFFLINE_CJK_DESC:
+ OFFLINE_CJK_DESC:
`Changes you make here will only take effect after restarting Obsidian.
- Excalidraw.com offers handwritten CJK fonts. By default these fonts are not included in the plugin locally, but are served from the Internet.
+ Excalidraw.com offers handwritten CJK fonts. By default these fonts are not included in the plugin locally, but are served from the Internet.
If you prefer to keep Excalidraw fully local, allowing it to work without Internet access you can download the necessary font files from GitHub.
After downloading, unzip the contents into a folder within your Vault.
Pre-loading fonts will impact startup performance. For this reason you can select which fonts to load.`,
CJK_ASSETS_FOLDER_NAME: "CJK Font Folder (cAsE sENsiTIvE!)",
CJK_ASSETS_FOLDER_DESC: `You can set the location of the CJK fonts folder here. For example, you may choose to place it under Excalidraw/CJK Fonts.
Important: Do not set this folder to the Vault root! Do not put other fonts in this folder.
- Note: If you're using Obsidian Sync and want to synchronize these font files across your devices, ensure that Obsidian Sync is set to synchronize "All other file types".`,
+ Note: If you're using Obsidian Sync and want to synchronize these font files across your devices, ensure that Obsidian Sync is set to synchronize "All other file types".`,
LOAD_CHINESE_FONTS_NAME: "Load Chinese fonts from file at startup",
LOAD_JAPANESE_FONTS_NAME: "Load Japanese fonts from file at startup",
LOAD_KOREAN_FONTS_NAME: "Load Korean fonts from file at startup",
@@ -860,17 +858,17 @@ FILENAME_HEAD: "Filename",
TASKBONE_ENABLE_DESC: "By enabling this service your agree to the Taskbone Terms and Conditions and the " +
"Privacy Policy.",
TASKBONE_APIKEY_NAME: "Taskbone API Key",
- TASKBONE_APIKEY_DESC: "Taskbone offers a free service with a reasonable number of scans per month. If you want to use this feature more frequently, or you want to support " +
+ TASKBONE_APIKEY_DESC: "Taskbone offers a free service with a reasonable number of scans per month. If you want to use this feature more frequently, or you want to support " +
"the developer of Taskbone (as you can imagine, there is no such thing as 'free', providing this awesome OCR service costs some money to the developer of Taskbone), you can " +
"purchase a paid API key from taskbone.com. In case you have purchased a key, simply overwrite this auto generated free-tier API-key with your paid key.",
- //HotkeyEditor
+ // HotkeyEditor
HOTKEY_PRESS_COMBO_NANE: "Press your hotkey combination",
HOTKEY_PRESS_COMBO_DESC: "Please press the desired key combination",
HOTKEY_BUTTON_ADD_OVERRIDE: "Add New Override",
HOTKEY_BUTTON_REMOVE: "Remove",
- //openDrawings.ts
+ // openDrawings.ts
SELECT_FILE: "Select a file then press enter.",
SELECT_COMMAND: "Select a command then press enter.",
SELECT_FILE_WITH_OPTION_TO_SCALE: `Select a file then press ENTER, or ${labelSHIFT()}+${labelMETA()}+ENTER to insert at 100% scale.`,
@@ -888,29 +886,29 @@ FILENAME_HEAD: "Filename",
PDF_PAGES_HEADER: "Pages to load?",
PDF_PAGES_DESC: "Format: 1, 3-5, 7, 9-11",
- //SelectCard.ts
+ // SelectCard.ts
TYPE_SECTION: "Type section name to select.",
SELECT_SECTION_OR_TYPE_NEW:
"Select existing section or type name of a new section then press Enter.",
INVALID_SECTION_NAME: "Invalid section name.",
EMPTY_SECTION_MESSAGE: "Type the Section Name and hit enter to create a new Section",
- //EmbeddedFileLoader.ts
+ // EmbeddedFileLoader.ts
INFINITE_LOOP_WARNING:
"EXCALIDRAW WARNING\nAborted loading embedded images due to infinite loop in file:\n",
- //Scripts.ts
+ // Scripts.ts
SCRIPT_EXECUTION_ERROR:
"Script execution error. Please find error message on the developer console.",
- //ExcalidrawData.ts
+ // ExcalidrawData.ts
LOAD_FROM_BACKUP: "Excalidraw file was corrupted. Loading from backup file.",
FONT_LOAD_SLOW: "Loading Fonts...\n\n This is taking longer than expected. If this delay occurs regularly then you may download the fonts locally to your Vault. \n\n" +
"(click=dismiss, right-click=Info)",
FONT_INFO_TITLE: "Starting v2.5.3 fonts load from the Internet",
FONT_INFO_DETAILED: `
- To improve Obsidian's startup time and manage the large CJK font family,
+ To improve Obsidian's startup time and manage the large CJK font family,
I've moved the CJK fonts out of the plugin's main.js. CJK fonts will be loaded from the internet by default.
This typically shouldn't cause issues as Obsidian caches these files after first use.
@@ -929,13 +927,13 @@ FILENAME_HEAD: "Filename",
Note:
- If you find this process cumbersome, please submit a feature request to Obsidian.md for supporting assets in the plugin folder.
- Currently, only a single main.js is supported, which leads to large files and slow startup times for complex plugins like Excalidraw.
+ If you find this process cumbersome, please submit a feature request to Obsidian.md for supporting assets in the plugin folder.
+ Currently, only a single main.js is supported, which leads to large files and slow startup times for complex plugins like Excalidraw.
I apologize for the inconvenience.
`,
- //ObsidianMenu.tsx
+ // ObsidianMenu.tsx
GOTO_FULLSCREEN: "Goto fullscreen mode",
EXIT_FULLSCREEN: "Exit fullscreen mode",
TOGGLE_FULLSCREEN: "Toggle fullscreen mode",
@@ -945,7 +943,7 @@ FILENAME_HEAD: "Filename",
OPEN_LINK_CLICK: "Open Link",
OPEN_LINK_PROPS: "Open the image-link or LaTeX-formula editor",
- //IFrameActionsMenu.tsx
+ // IFrameActionsMenu.tsx
NARROW_TO_HEADING: "Narrow to heading...",
PIN_VIEW: "Pin view",
DO_NOT_PIN_VIEW: "Do not pin view",
@@ -959,7 +957,7 @@ FILENAME_HEAD: "Filename",
PROPERTIES: "Properties",
COPYCODE: "Copy source to clipboard",
- //EmbeddableSettings.tsx
+ // EmbeddableSettings.tsx
ES_TITLE: "Embeddable Element Settings",
ES_RENAME: "Rename File",
ES_ZOOM: "Embedded Content Scaling",
@@ -983,7 +981,7 @@ FILENAME_HEAD: "Filename",
ES_ZOOM_100_RELATIVE_DESC: "The button will adjust the element scale so it will show the content at 100% relative to the current zoom level of your canvas",
ES_ZOOM_100: "Relative 100%",
- //Prompts.ts
+ // Prompts.ts
PROMPT_FILE_DOES_NOT_EXIST: "File does not exist. Do you want to create it?",
PROMPT_ERROR_NO_FILENAME: "Error: Filename for new file may not be empty",
PROMPT_ERROR_DRAWING_CLOSED: "Unknown error. It seems as if your drawing was closed or the drawing file is missing",
@@ -1005,21 +1003,21 @@ FILENAME_HEAD: "Filename",
PROMPT_BUTTON_SPECIAL_CHARS: "Special Characters",
PROMPT_SELECT_TEMPLATE: "Select a template",
- //ModifierKeySettings
+ // ModifierKeySettings
WEB_BROWSER_DRAG_ACTION: "Web Browser Drag Action",
LOCAL_FILE_DRAG_ACTION: "OS Local File Drag Action",
INTERNAL_DRAG_ACTION: "Obsidian Internal Drag Action",
PANE_TARGET: "Link click behavior",
DEFAULT_ACTION_DESC: "In case none of the combinations apply the default action for this group is: ",
- //FrameSettings.ts
+ // FrameSettings.ts
FRAME_SETTINGS_TITLE: "Frame Settings",
FRAME_SETTINGS_ENABLE: "Enable Frames",
FRAME_SETTIGNS_NAME: "Display Frame Name",
FRAME_SETTINGS_OUTLINE: "Display Frame Outline",
FRAME_SETTINGS_CLIP: "Enable Frame Clipping",
- //InsertPDFModal.ts
+ // InsertPDFModal.ts
IPM_PAGES_TO_IMPORT_NAME: "Pages to import",
IPM_SELECT_PAGES_TO_IMPORT: "Please select pages to import",
IPM_ADD_BORDER_BOX_NAME: "Add border box",
@@ -1030,16 +1028,16 @@ FILENAME_HEAD: "Filename",
IPM_GROUP_PAGES_DESC: "This will group all pages into a single group. This is recommended if you are locking the pages after import, because the group will be easier to unlock later rather than unlocking one by one.",
IPM_SELECT_PDF: "Please select a PDF file",
- //Utils.ts
+ // Utils.ts
UPDATE_AVAILABLE: `A newer version of Excalidraw is available in Community Plugins.\n\nYou are using ${PLUGIN_VERSION}.\nThe latest is`,
SCRIPT_UPDATES_AVAILABLE: `Script updates available - check the script store.\n\n${DEVICE.isDesktop ? `This message is available in console.log (${DEVICE.isMacOS ? "CMD+OPT+i" : "CTRL+SHIFT+i"})\n\n` : ""}If you have organized scripts into subfolders under the script store folder and have multiple copies of the same script, you may need to clean up unused versions to clear this alert. For private copies of scripts that should not be updated, store them outside the script store folder.`,
ERROR_PNG_TOO_LARGE: "Error exporting PNG - PNG too large, try a smaller resolution",
- //modifierkeyHelper.ts
+ // modifierkeyHelper.ts
// WebBrowserDragAction
WEB_DRAG_IMPORT_IMAGE: "Import Image to Vault",
WEB_DRAG_IMAGE_URL: "Insert Image or YouTube Thumbnail with URL",
- WEB_DRAG_LINK: "Insert Link",
+ WEB_DRAG_LINK: "Insert Link",
WEB_DRAG_EMBEDDABLE: "Insert Interactive-Frame",
// LocalFileDragAction
@@ -1048,7 +1046,7 @@ FILENAME_HEAD: "Filename",
LOCAL_DRAG_LINK: "Insert Link: local URI or internal-link if from Vault",
LOCAL_DRAG_EMBEDDABLE: "Insert Interactive-Frame: local URI or internal-link if from Vault",
- // InternalDragAction
+ // InternalDragAction
INTERNAL_DRAG_IMAGE: "Insert Image",
INTERNAL_DRAG_IMAGE_FULL: "Insert Image @100%",
INTERNAL_DRAG_LINK: "Insert Link",
@@ -1061,7 +1059,7 @@ FILENAME_HEAD: "Filename",
LINK_CLICK_NEW_TAB: "Open in a new tab",
LINK_CLICK_MD_PROPS: "Show the Markdown image-properties dialog (only relevant if you have embedded a markdown document as an image)",
- //ExportDialog
+ // ExportDialog
// Dialog and tabs
EXPORTDIALOG_TITLE: "Export Drawing",
EXPORTDIALOG_TAB_IMAGE: "Image",
@@ -1118,7 +1116,7 @@ FILENAME_HEAD: "Filename",
EXPORTDIALOG_PDF_ALIGN_CENTER_LEFT: "Center Left",
EXPORTDIALOG_PDF_ALIGN_CENTER_RIGHT: "Center Right",
EXPORTDIALOG_PDF_ALIGN_TOP_LEFT: "Top Left",
- EXPORTDIALOG_PDF_ALIGN_TOP_CENTER: "Top Center",
+ EXPORTDIALOG_PDF_ALIGN_TOP_CENTER: "Top Center",
EXPORTDIALOG_PDF_ALIGN_TOP_RIGHT: "Top Right",
EXPORTDIALOG_PDF_ALIGN_BOTTOM_LEFT: "Bottom Left",
EXPORTDIALOG_PDF_ALIGN_BOTTOM_CENTER: "Bottom Center",
@@ -1130,13 +1128,13 @@ FILENAME_HEAD: "Filename",
EXPORTDIALOG_SAVE_PDF_SETTINGS: "Save PDF settings",
EXPORTDIALOG_SAVE_CONFIRMATION: "PDF config saved to plugin settings as default",
// Buttons
- EXPORTDIALOG_PNGTOFILE : "Export PNG",
- EXPORTDIALOG_SVGTOFILE : "Export SVG",
- EXPORTDIALOG_PNGTOVAULT : "PNG to Vault",
- EXPORTDIALOG_SVGTOVAULT : "SVG to Vault",
+ EXPORTDIALOG_PNGTOFILE: "Export PNG",
+ EXPORTDIALOG_SVGTOFILE: "Export SVG",
+ EXPORTDIALOG_PNGTOVAULT: "PNG to Vault",
+ EXPORTDIALOG_SVGTOVAULT: "SVG to Vault",
EXPORTDIALOG_EXCALIDRAW: "Excalidraw",
- EXPORTDIALOG_PNGTOCLIPBOARD : "PNG to Clipboard",
- EXPORTDIALOG_SVGTOCLIPBOARD : "SVG to Clipboard",
+ EXPORTDIALOG_PNGTOCLIPBOARD: "PNG to Clipboard",
+ EXPORTDIALOG_SVGTOCLIPBOARD: "SVG to Clipboard",
EXPORTDIALOG_PDF: "Export PDF",
EXPORTDIALOG_PDF_PROGRESS_NOTICE: "Exporting PDF. If this image is large, it may take a while.",
@@ -1153,6 +1151,6 @@ FILENAME_HEAD: "Filename",
SCREENSHOT_CLIPBOARD_ERROR: "Failed to copy screenshot to clipboard: ",
SCREENSHOT_ERROR: "Error capturing screenshot - see console log",
- //exportUtils.ts
+ // exportUtils.ts
PDF_EXPORT_DESKTOP_ONLY: "PDF export is only available on desktop",
};
diff --git a/src/lang/locale/zh-cn.ts b/src/lang/locale/zh-cn.ts
index 38980c5af..b08afbb6f 100644
--- a/src/lang/locale/zh-cn.ts
+++ b/src/lang/locale/zh-cn.ts
@@ -98,20 +98,20 @@ export default {
SEARCH: "搜索文本",
CROP_PAGE: "对所选页面裁剪并添加蒙版",
CROP_IMAGE: "对图片裁剪并添加蒙版",
- ANNOTATE_IMAGE : "在 Excalidraw 中标注图像",
+ ANNOTATE_IMAGE: "在 Excalidraw 中标注图像",
INSERT_ACTIVE_PDF_PAGE_AS_IMAGE: "将当前激活的 PDF 页面作为图片插入",
RESET_IMG_TO_100: "重置图像元素的尺寸为 100%",
RESET_IMG_ASPECT_RATIO: "重置所选图像元素的纵横比",
TEMPORARY_DISABLE_AUTOSAVE: "临时禁用自动保存功能,直到本次 Obsidian 退出(小白慎用!)",
TEMPORARY_ENABLE_AUTOSAVE: "启用自动保存功能",
- FONTS_LOADED : "Excalidraw: CJK 字体已加载" ,
- FONTS_LOAD_ERROR : "Excalidraw: 在资源文件夹下找不到 CJK 字体\n" ,
+ FONTS_LOADED: "Excalidraw: CJK 字体已加载" ,
+ FONTS_LOAD_ERROR: "Excalidraw: 在资源文件夹下找不到 CJK 字体\n" ,
- //Prompt.ts
+ // Prompt.ts
SELECT_LINK_TO_OPEN: "选择要打开的链接",
- //ExcalidrawView.ts
- ERROR_CANT_READ_FILEPATH : "错误,无法读取文件路径。正在改为导入文件",
+ // ExcalidrawView.ts
+ ERROR_CANT_READ_FILEPATH: "错误,无法读取文件路径。正在改为导入文件",
NO_SEARCH_RESULT: "在绘图中未找到匹配的元素",
FORCE_SAVE_ABORTED: "自动保存被中止,因为文件正在保存中",
LINKLIST_SECOND_ORDER_LINK: "二级链接",
@@ -146,7 +146,7 @@ export default {
"箭头和线元素的链接无法通过 " + labelCTRL() + " + 点击元素来导航,因为这也会激活线编辑器。\n" +
"请使用右键上下文菜单打开链接,或点击元素右上角的链接指示器。\n",
FILENAME_INVALID_CHARS:
- '文件名不能含有以下符号: * " \\ < > : | ? #',
+ '文件名不能含有以下符号: * " \\ < > : | ? #',
FORCE_SAVE:
"保存(同时更新嵌入了该绘图的 Markdown 文档)",
RAW: "文本元素正以原文(RAW)模式显示链接。\n点击切换到预览(PREVIEW)模式",
@@ -158,11 +158,11 @@ export default {
CONVERT_FILE: "转换为新格式",
BACKUP_AVAILABLE: "加载绘图文件时出错,可能是由于 Obsidian 在上次保存时意外退出了(手机上更容易发生这种意外)。
好消息:这台设备上存在备份。您是否想要恢复本设备上的备份?
(我建议您先尝试在最近使用过的其他设备上打开该绘图,以检查是否有更新的备份。)",
BACKUP_RESTORED: "已恢复备份",
- BACKUP_SAVE_AS_FILE : "此绘图为空。存在一个非空的备份。您是否希望将其恢复为新文件并在新标签页中打开?" ,
- BACKUP_SAVE : "恢复" ,
- BACKUP_DELETE : "删除备份" ,
- BACKUP_CANCEL : "取消" ,
- CACHE_NOT_READY : "很抱歉给您带来不便,加载文件时发生了错误。
稍作等待可能会节省您大量时间……
插件有一个备份缓存,但似乎您刚刚启动了 Obsidian。初始化备份缓存可能需要一些时间,通常取决于设备性能,可能需要一分钟或更长时间。当缓存初始化完成时,您会在右上角收到通知。
请按“确定”尝试重新加载文件,并检查缓存是否已完成初始化。如果在此消息后看到一个完全空白的文件,我建议等待备份缓存准备就绪后再继续操作。或者,您也可以选择“取消”以手动修复您的文件。
" ,
+ BACKUP_SAVE_AS_FILE: "此绘图为空。存在一个非空的备份。您是否希望将其恢复为新文件并在新标签页中打开?" ,
+ BACKUP_SAVE: "恢复" ,
+ BACKUP_DELETE: "删除备份" ,
+ BACKUP_CANCEL: "取消" ,
+ CACHE_NOT_READY: "很抱歉给您带来不便,加载文件时发生了错误。
稍作等待可能会节省您大量时间……
插件有一个备份缓存,但似乎您刚刚启动了 Obsidian。初始化备份缓存可能需要一些时间,通常取决于设备性能,可能需要一分钟或更长时间。当缓存初始化完成时,您会在右上角收到通知。
请按“确定”尝试重新加载文件,并检查缓存是否已完成初始化。如果在此消息后看到一个完全空白的文件,我建议等待备份缓存准备就绪后再继续操作。或者,您也可以选择“取消”以手动修复您的文件。
" ,
OBSIDIAN_TOOLS_PANEL: "Obsidian 工具面板",
ERROR_SAVING_IMAGE: "获取图像时发生未知错误。可能是由于某种原因,图像不可用或拒绝了 Obsidian 的获取请求。",
WARNING_PASTING_ELEMENT_AS_TEXT: "你不能将 Excalidraw 元素粘贴为文本元素!",
@@ -192,15 +192,16 @@ export default {
SAVE_IS_TAKING_LONG: "保存您之前的文件花费的时间较长,请稍候...",
SAVE_IS_TAKING_VERY_LONG: "为了更好的性能,请考虑将大型绘图拆分成几个较小的文件。",
- //ContentSearcher.ts
+ // ContentSearcher.ts
SEARCH_COPIED_TO_CLIPBOARD: "Markdown 已复制到剪贴板",
SEARCH_COPY_TO_CLIPBOARD_ARIA: "将整个对话框复制为 Markdown 到剪贴板。非常适合搭配 ChatGPT 等工具进行搜索和理解。",
+ SEARCH_SHOWHIDE_ARIA: "显示/隐藏搜索栏" ,
SEARCH_NEXT: "下一个",
SEARCH_PREVIOUS: "上一个",
-
-
- //settings.ts
+ // settings.ts
+ NOTEBOOKLM_LINK_ARIA: "向 NotebookLM 咨询有关插件的帮助。此模型已预加载了我所有的视频转录、发布说明和其他有用内容。与 NotebookLM 聊天,探索我的 250+ 视频和 Excalidraw 文档。" ,
+ NOTEBOOKLM_LINK_TEXT: "了解插件。访问 NotebookLM 知识库。" ,
LINKS_BUGS_ARIA: "在插件的 GitHub 页面报告错误和提交功能请求",
LINKS_BUGS: "报告错误",
LINKS_YT_ARIA: "访问我的 YouTube 频道学习视觉思维和 Excalidraw",
@@ -212,6 +213,8 @@ export default {
LINKS_VTW: "参加研讨会",
LINKS_BOOK_ARIA: "阅读我的视觉思维著作《Sketch Your Mind》",
LINKS_BOOK: "阅读书籍",
+ LINKS_WIKI: "插件 Wiki" ,
+ LINKS_WIKI_ARIA: "探索 Excalidraw 插件 Wiki" ,
RELEASE_NOTES_NAME: "显示更新说明",
RELEASE_NOTES_DESC:
@@ -227,16 +230,16 @@ export default {
FOLDER_NAME: "Excalidraw 文件夹(區分大小寫!)",
FOLDER_DESC:
"新绘图的默认存储路径。若为空,将在库的根目录中创建新绘图。",
- CROP_SUFFIX_NAME : "裁剪文件后缀" ,
- CROP_SUFFIX_DESC :
+ CROP_SUFFIX_NAME: "裁剪文件后缀" ,
+ CROP_SUFFIX_DESC:
"为裁剪图像时创建的新图纸文件名的最后部分。" +
"如果不需要后缀,请留空。" ,
CROP_PREFIX_NAME: "剪贴文件的前缀",
CROP_PREFIX_DESC:
"当剪贴图片进来时保存的文件名的前缀。 " +
"如果不需要前缀,请留空。" ,
- ANNOTATE_SUFFIX_NAME : "注释文件后缀" ,
- ANNOTATE_SUFFIX_DESC :
+ ANNOTATE_SUFFIX_NAME: "注释文件后缀" ,
+ ANNOTATE_SUFFIX_DESC:
"为注释图像时创建的新绘图文件名的最后部分。" +
"如果不需要后缀,请留空。" ,
ANNOTATE_PREFIX_NAME: "标注文件的前缀",
@@ -279,8 +282,8 @@ export default {
`目前 OpenAI API 还处于测试中,您需要在自己的。` +
`OpenAI 账户中充值至少 5 美元后才能生成 API key,` +
`然后就可以在 Excalidraw 中配置并使用 AI。`,
- AI_ENABLED_NAME : "启用 AI 功能" ,
- AI_ENABLED_DESC : "您需要重新打开 Excalidraw 才能使更改生效。" ,
+ AI_ENABLED_NAME: "启用 AI 功能" ,
+ AI_ENABLED_DESC: "您需要重新打开 Excalidraw 才能使更改生效。" ,
AI_OPENAI_TOKEN_NAME: "OpenAI API key",
AI_OPENAI_TOKEN_DESC:
"您可以访问您的 OpenAI 账户来获取自己的 OpenAI API key。",
@@ -326,7 +329,7 @@ export default {
"这将使您能够轻松阅读和编辑 JSON 字符串。" +
"一旦您切换回 Excalidraw 视图并保存绘图(Ctrl+S),绘图将再次被压缩。
" +
"我建议关闭此功能,因为这可以获得更小的文件尺寸,并避免在 Obsidian 搜索中出现不必要的结果。 " +
- "您始终可以使用命令面板中的“Excalidraw: 解压缩当前 Excalidraw 文件”命令"+
+ "您始终可以使用命令面板中的“Excalidraw: 解压缩当前 Excalidraw 文件”命令" +
"在需要阅读或编辑时手动解压缩绘图 JSON。",
AUTOSAVE_INTERVAL_DESKTOP_NAME: "桌面端自动保存时间间隔",
AUTOSAVE_INTERVAL_DESKTOP_DESC:
@@ -366,8 +369,8 @@ FILENAME_HEAD: "文件名",
"开启:使用 .excalidraw.md 作为扩展名。
关闭:使用 .md 作为扩展名。",
DISPLAY_HEAD: "界面 & 行为",
DISPLAY_DESC: "在 Excalidraw 设置的 '外观和行为' 部分,您可以微调 Excalidraw 的外观和行为。这包括动态样式、左手模式、匹配 Excalidraw 和 Obsidian 主题、默认模式等选项。",
- OVERRIDE_OBSIDIAN_FONT_SIZE_NAME : "限制 Obsidian 字体大小为编辑器文本" ,
- OVERRIDE_OBSIDIAN_FONT_SIZE_DESC :
+ OVERRIDE_OBSIDIAN_FONT_SIZE_NAME: "限制 Obsidian 字体大小为编辑器文本" ,
+ OVERRIDE_OBSIDIAN_FONT_SIZE_DESC:
"Obsidian 的自定义字体大小设置会影响整个界面,包括 Excalidraw 和依赖默认字体大小的主题。" +
"启用此选项将限制字体大小更改为编辑器文本,这将改善 Excalidraw 的外观。" +
"如果启用后发现界面的某些部分看起来不正确,请尝试关闭此设置。" ,
@@ -403,12 +406,12 @@ FILENAME_HEAD: "文件名",
DEFAULT_PEN_MODE_NAME: "触控笔模式(Pen mode)",
DEFAULT_PEN_MODE_DESC:
"打开绘图时,是否自动开启触控笔模式?",
- ENABLE_DOUBLE_CLICK_TEXT_EDITING_NAME : "启用双击文本创建",
+ ENABLE_DOUBLE_CLICK_TEXT_EDITING_NAME: "启用双击文本创建",
DISABLE_DOUBLE_TAP_ERASER_NAME: "启用手写模式下的双击橡皮擦功能",
DISABLE_SINGLE_FINGER_PANNING_NAME: "启用手写模式下的单指平移功能",
SHOW_PEN_MODE_FREEDRAW_CROSSHAIR_NAME: "在触控笔模式下显示十字准星(+)",
SHOW_PEN_MODE_FREEDRAW_CROSSHAIR_DESC:
- "在触控笔模式下使用涂鸦功能会显示十字准星 打开: 显示 关闭: 隐藏
"+
+ "在触控笔模式下使用涂鸦功能会显示十字准星 打开: 显示 关闭: 隐藏
" +
"效果取决于设备。十字准星通常在绘图板、MS Surface 上可见。但在 iOS 上不可见。",
SHOW_DRAWING_OR_MD_IN_HOVER_PREVIEW_NAME: "在鼠标悬停预览时将 Excalidraw 文件渲染为图片",
SHOW_DRAWING_OR_MD_IN_HOVER_PREVIEW_DESC:
@@ -419,9 +422,9 @@ FILENAME_HEAD: "文件名",
SHOW_DRAWING_OR_MD_IN_READING_MODE_DESC:
"当您处于 Markdown 阅读模式(即查看绘图的背景笔记)时,Excalidraw 绘图是否应该渲染为图像?" +
"此设置不会影响您在 Excalidraw 模式下的绘图显示,或者在将绘图嵌入 Markdown 文档时,或在渲染悬停预览时。
" +
- "- 请参阅下面‘嵌入和导出’部分的 PDF 导出 相关设置。
" +
+ "请参阅下面‘嵌入和导出’部分的 PDF 导出 相关设置。
" +
"您必须关闭当前的 Excalidraw/Markdown 文件并重新打开,以使此更改生效。",
- SHOW_DRAWING_OR_MD_IN_EXPORTPDF_NAME : "在 Obsidian 中导出为 PDF 格式时将 Excalidraw 渲染为图像" ,
+ SHOW_DRAWING_OR_MD_IN_EXPORTPDF_NAME: "在 Obsidian 中导出为 PDF 格式时将 Excalidraw 渲染为图像" ,
SHOW_DRAWING_OR_MD_IN_EXPORTPDF_DESC:
"此设置控制在使用 Obsidian 内置的导出为 PDF功能,如何将 Excalidraw 文件导出为 PDF。
" +
"- 启用:PDF 将包含图像格式的 Excalidraw 绘图。
" +
@@ -460,12 +463,12 @@ FILENAME_HEAD: "文件名",
"开启:更改网格颜色以匹配画布颜色
关闭:将以下颜色用作网格颜色",
GRID_COLOR_NAME: "网格颜色",
GRID_OPACITY_NAME: "网格透明度",
- GRID_OPACITY_DESC: "网格透明度还将控制将箭头绑定到元素时绑定框的透明度。
"+
+ GRID_OPACITY_DESC: "网格透明度还将控制将箭头绑定到元素时绑定框的透明度。
" +
"设置网格的不透明度。 0 表示完全透明,100 表示完全不透明。",
- GRID_DIRECTION_NAME : "网格方向" ,
- GRID_DIRECTION_DESC : "第一个开关显示/隐藏水平网格,第二个开关显示/隐藏垂直网格。" ,
- GRID_HORIZONTAL : "渲染水平网格" ,
- GRID_VERTICAL : "渲染垂直网格" ,
+ GRID_DIRECTION_NAME: "网格方向" ,
+ GRID_DIRECTION_DESC: "第一个开关显示/隐藏水平网格,第二个开关显示/隐藏垂直网格。" ,
+ GRID_HORIZONTAL: "渲染水平网格" ,
+ GRID_VERTICAL: "渲染垂直网格" ,
LASER_HEAD: "激光笔工具(更多工具 > 激光笔)",
LASER_COLOR: "激光笔颜色",
LASER_DECAY_TIME_NAME: "激光笔消失时间",
@@ -484,7 +487,7 @@ FILENAME_HEAD: "文件名",
DRAG_MODIFIER_NAME: "修饰键",
DRAG_MODIFIER_DESC: "在您按住点击链接或拖放元素时,可以触发某些行为。您可以为这些行为添加修饰键。" +
"Excalidraw 不会检查您的设置是否合理,因此请谨慎设置,避免冲突。" +
- "以下选项在苹果和非苹果设备上区别很大,如果您在多个硬件平台上使用 Obsidian,需要分别进行设置。"+
+ "以下选项在苹果和非苹果设备上区别很大,如果您在多个硬件平台上使用 Obsidian,需要分别进行设置。" +
"选项里的 4 个开关依次代表 " +
(DEVICE.isIOS || DEVICE.isMacOS ? "Shift, CMD, OPT, CONTROL." : "Shift, Ctrl, Alt, META (Win 键)。"),
LONG_PRESS_DESKTOP_NAME: "长按打开(电脑端)",
@@ -603,15 +606,15 @@ FILENAME_HEAD: "文件名",
"可以填写 HTML 颜色名,如 steelblue(参考 HTML Color Names),或者有效的 16 进制颜色值,例如 #e67700,或者任何其他有效的 CSS 颜色。
" +
"您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-border-color: gray 的键值对。
" +
"如果您不想要边框,请留空。",
- MD_CSS_NAME: "MD-Embed 的默认 CSS 样式表",
+ MD_CSS_NAME: " CSS 样式表文件",
MD_CSS_DESC:
- "MD-Embed 图像所采用的 CSS 样式表文件名。需包含扩展名,例如 md-embed.css。" +
- "允许使用 Markdown 文件(如 md-embed-css.md),但其内容应符合 CSS 语法。
" +
- "如果您要查询 CSS 所作用的 HTML 节点,请在 Obsidian 开发者控制台(Ctrl+Shift+I)中键入命令:" +
- "ExcalidrawAutomate.mostRecentMarkdownSVG —— 这将显示 Excalidraw 最近生成的 SVG。
" +
- "此外,在 CSS 中不能任意地设置字体,您一般只能使用系统默认的标准字体(详见 README)," +
- "但可以通过上面的设置来额外添加一个自定义字体。
" +
- "您可为某个 MD-Embed 单独设置此项,方法是在其源文件的 frontmatter 中添加形如 excalidraw-css: 库中的 CSS 文件或 CSS 片段 的键值对。",
+ "要应用于 Markdown 嵌入的 CSS 文件名。请提供带扩展名的文件名(例如 'md-embed.css')。该 CSS 文件也可以是一个普通的 " +
+ "Markdown 文件(例如 'md-embed-css.md'),只需确保内容使用有效的 CSS 语法编写。 " +
+ `如果您需要查看应用 CSS 的 HTML 代码,请打开 Obsidian 开发者控制台(${DEVICE.isIOS || DEVICE.isMacOS ? "CMD+OPT+i" : "CTRL+SHIFT+i"})并输入以下命令: ` +
+ '"ExcalidrawAutomate.mostRecentMarkdownSVG"。这将显示 Excalidraw 生成的最新 SVG。 ' +
+ "在 CSS 中设置字体系列有一些限制。默认情况下,仅提供您操作系统的标准字体(有关详细信息,请参见 README)。 " +
+ "您可以使用上述设置添加一个自定义字体。 " +
+ '您可以通过向嵌入的 Markdown 文件添加以下 frontmatter 键来覆盖此 CSS 设置:"excalidraw-css: css_file_in_vault|css-snippet"。',
EMBED_HEAD: "嵌入到 Markdown 文档中的绘图",
EMBED_DESC: `包括:嵌入到 Markdown 文档中的绘图的预览图类型(SVG、PNG)、源文件类型(Excalidraw 绘图文件、SVG、PNG)、缓存、图像大小、图像主题,以及嵌入的语法等。
此外,还有自动导出 SVG 或 PNG 文件并保持与绘图文件状态同步的设置。`,
@@ -620,9 +623,9 @@ FILENAME_HEAD: "文件名",
EMBED_CANVAS_DESC:
"当嵌入绘图到 Obsidian 白板中时,隐藏元素的边界和背景。" +
"注意:如果想要背景完全透明,您依然需要在 Excalidraw 中设置“导出的图像不包含背景”。",
- EMBED_CACHING : "图像缓存和渲染优化" ,
- RENDERING_CONCURRENCY_NAME : "图像渲染并发性" ,
- RENDERING_CONCURRENCY_DESC :
+ EMBED_CACHING: "图像缓存和渲染优化" ,
+ RENDERING_CONCURRENCY_NAME: "图像渲染并发性" ,
+ RENDERING_CONCURRENCY_DESC:
"用于图像渲染的并行工作线程数。增加此数值可以加快渲染速度,但可能会减慢系统的其他部分运行速度。" +
"默认值为 3。如果您的系统性能强大,可以增加此数值。" ,
EXPORT_SUBHEAD: "导出",
@@ -641,15 +644,15 @@ FILENAME_HEAD: "文件名",
EMBED_REUSE_EXPORTED_IMAGE_NAME:
"将之前已导出的图像作为预览图",
EMBED_REUSE_EXPORTED_IMAGE_DESC:
- "该选项与自动导出 SVG/PNG 副本选项配合使用。如果嵌入到 Markdown 文档中的绘图文件存在同名的 SVG/PNG 副本,则将其作为预览图,而不再重新生成。
" +
+ "该选项与自动导出 SVG/PNG 副本选项配合使用。如果嵌入到 Markdown 文档中的绘图文件存在同名的 SVG/PNG 副本,则将其作为预览图,而不再重新生成。
" +
"该选项能够提高 Markdown 文档的打开速度,尤其是当嵌入到 Markdown 文档中的绘图文件中含有大量图像或 MD-Embed 时。" +
"但是,该选项也可能导致预览图无法立即响应你对绘图文件或者 Obsidian 主题风格的修改。
" +
"该选项仅作用于嵌入到 Markdown 文档中的绘图。" +
"该选项无法提升绘图文件的打开速度。详见此说明。",
- /*EMBED_PREVIEW_SVG_NAME: "生成 SVG 格式的预览图",
+ /* EMBED_PREVIEW_SVG_NAME: "Display SVG in markdown preview",
EMBED_PREVIEW_SVG_DESC:
"开启:为嵌入到 Markdown 文档中的绘图生成 SVG 格式的预览图。
" +
- "关闭:为嵌入到 Markdown 文档中的绘图生成 PNG 格式的预览图。注意:PNG 格式预览图不支持某些 绘图元素的块引用特性。",*/
+ "关闭:为嵌入到 Markdown 文档中的绘图生成 PNG 格式的预览图。注意:PNG 格式预览图不支持某些 绘图元素的块引用特性。", */
EMBED_PREVIEW_IMAGETYPE_NAME: "预览图的格式",
EMBED_PREVIEW_IMAGETYPE_DESC:
"Native SVG:高品质、可交互。
" +
@@ -672,7 +675,7 @@ FILENAME_HEAD: "文件名",
EMBED_TYPE_NAME: "“嵌入绘图到当前 Markdown 文档中”系列命令的源文件类型",
EMBED_TYPE_DESC:
"在命令面板中执行“嵌入绘图到当前 Markdown 文档中”系列命令时,要嵌入绘图文件本身,还是嵌入其 PNG 或 SVG 副本。
" +
- "如果您想选择 PNG 或 SVG 副本,需要先开启下方的自动导出 PNG / SVG 副本。
" +
+ "如果您想选择 PNG 或 SVG 副本,需要先开启下方的自动导出 PNG / SVG 副本。
" +
"如果您选择了 PNG 或 SVG 副本,当副本不存在时,该命令将会插入一条损坏的链接,您需要打开绘图文件并手动导出副本才能修复 —— " +
"也就是说,该选项不会自动帮您生成 PNG/SVG 副本,而只会引用已有的 PNG/SVG 副本。",
EMBED_MARKDOWN_COMMENT_NAME: "将链接作为注释嵌入",
@@ -701,7 +704,7 @@ FILENAME_HEAD: "文件名",
EXPORT_EMBED_SCENE_DESC:
"在导出的图像中嵌入 Excalidraw 场景。可以通过在文件级别添加 excalidraw-export-embed-scene: true/false frontmatter 元数据键来覆盖此设置。" +
"此设置仅在您下次(重新)打开绘图时生效。",
- PDF_EXPORT_SETTINGS : "PDF 导出设置",
+ PDF_EXPORT_SETTINGS: "PDF 导出设置",
EXPORT_HEAD: "导出设置",
EXPORT_SYNC_NAME:
"保持 SVG/PNG 文件名与绘图文件同步",
@@ -719,13 +722,13 @@ FILENAME_HEAD: "文件名",
EXPORT_PNG_NAME: "自动导出 PNG 副本",
EXPORT_PNG_DESC: "和“自动导出 SVG 副本”类似,但是导出格式为 *.PNG。",
EXPORT_BOTH_DARK_AND_LIGHT_NAME: "同时导出黑暗和明亮主题风格的图像",
- EXPORT_BOTH_DARK_AND_LIGHT_DESC: "若开启,Excalidraw 将导出两个文件:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
"+
+ EXPORT_BOTH_DARK_AND_LIGHT_DESC: "若开启,Excalidraw 将导出两个文件:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
" +
"该选项可作用于“自动导出 SVG 副本”、“自动导出 PNG 副本”,以及其他的手动的导出命令。",
COMPATIBILITY_HEAD: "兼容性设置",
COMPATIBILITY_DESC: "如果没有特殊原因(例如您想同时在 VSCode / Logseq 和 Obsidian 中使用 Excalidraw),建议您使用 Markdown 格式的绘图文件,而不是旧的 excalidraw.com 格式,因为本插件的很多功能在旧格式中无法使用。",
DUMMY_TEXT_ELEMENT_LINT_SUPPORT_NAME: "代码格式化(Linting)兼容性",
DUMMY_TEXT_ELEMENT_LINT_SUPPORT_DESC: "Excalidraw 对 # Excalidraw Data 下的文件结构非常敏感。文档的自动代码格式化(linting)可能会在 Excalidraw 数据中造成错误。" +
- "虽然我已经努力使数据加载对自动代码格式化(linting)变更具有一定的抗性,但这种解决方案并非万无一失。
"+
+ "虽然我已经努力使数据加载对自动代码格式化(linting)变更具有一定的抗性,但这种解决方案并非万无一失。
" +
"最好的方法是避免使用不同的插件对 Excalidraw 文档进行自动更改。
" +
"如果出于某些合理的原因,您决定忽略我的建议并配置了 Excalidraw 文件的自动代码格式化,那么可以使用这个设置
" +
"## Text Elements 部分对空行很敏感。一种常见的代码格式化是在章节标题后添加一个空行。但对于 Excalidraw 来说,这将破坏/改变您绘图中的第一个文本元素。" +
@@ -757,12 +760,12 @@ FILENAME_HEAD: "文件名",
"此外,您打开旧格式绘图文件时将不再收到警告消息。",
MATHJAX_NAME: "MathJax (LaTeX) 的 javascript 库服务器",
MATHJAX_DESC: "如果您在绘图中使用 LaTeX,插件需要从服务器获取并加载一个 javascript 库。" +
- "如果您的网络无法访问某些库服务器,可以尝试通过此选项更换库服务器。"+
+ "如果您的网络无法访问某些库服务器,可以尝试通过此选项更换库服务器。" +
"更改此选项后,您可能需要重启 Obsidian 来使其生效。",
LATEX_DEFAULT_NAME: "插入 LaTeX 时的默认表达式",
LATEX_DEFAULT_DESC: "允许留空。允许使用类似 \\color{white} 的格式化表达式。",
- LATEX_PREAMBLE_NAME : "LaTeX 前言文件(區分大小寫!)" ,
- LATEX_PREAMBLE_DESC : "前言文件的完整路径,留空则使用默认值。如果文件不存在,此选项将被忽略。
重要:更改后需要重新加载 Obsidian 才能生效!" ,
+ LATEX_PREAMBLE_NAME: "LaTeX 前言文件(區分大小寫!)" ,
+ LATEX_PREAMBLE_DESC: "前言文件的完整路径,留空则使用默认值。如果文件不存在,此选项将被忽略。
重要:更改后需要重新加载 Obsidian 才能生效!" ,
NONSTANDARD_HEAD: "非 Excalidraw.com 官方支持的特性",
NONSTANDARD_DESC: `这些特性不受 Excalidraw.com 官方支持。如果在 Excalidraw.com 导入绘图,这些特性将会发生不可预知的变化。
包括:自定义画笔工具的数量,自定义字体等。`,
@@ -811,7 +814,7 @@ FILENAME_HEAD: "文件名",
"这样,整个 Excalidraw Markdown 都会淡化,包括 # Text Elements。 副作用是您将无法在其他 Markdown 笔记中引用文本块,即 %% 注释部分之后的内容。这应该不是大问题。" +
"如果您想编辑 Excalidraw Markdown 脚本,只需切换到 Markdown 视图模式并暂时删除 %% 注释。",
EXCALIDRAW_PROPERTIES_NAME: "将 Excalidraw 属性加载到 Obsidian 的自动提示中",
- EXCALIDRAW_PROPERTIES_DESC: "切换此设置以在插件启动时将 Excalidraw 文档属性加载到 Obsidian 的属性自动提示中。"+
+ EXCALIDRAW_PROPERTIES_DESC: "切换此设置以在插件启动时将 Excalidraw 文档属性加载到 Obsidian 的属性自动提示中。" +
"启用此功能简化了 Excalidraw 前置属性的使用,使您能够利用许多强大的设置。如果您不希望自动加载这些属性," +
"您可以禁用此功能,但您将需要手动从自动提示中移除任何不需要的属性。" +
"请注意,启用此设置需要重启插件,因为属性是在启动时加载的。",
@@ -826,9 +829,9 @@ FILENAME_HEAD: "文件名",
"此外,在excalidraw.com 或其他 Excalidraw 版本中,默认的本地字体字体将使用系统字体。",
FOURTH_FONT_NAME: "本地字体文件",
FOURTH_FONT_DESC:
- "从您的库中选择一个 .otf、.ttf、.woff 或 .woff2 字体文件作为本地字体使用。"+
- "如果没有选择文件,Excalidraw 将默认使用 Virgil 字体。"+
- "为了获得最佳性能,建议使用 .woff2 文件,因为当导出到 SVG 格式的图像时,Excalidraw 只会编码必要的字形。"+
+ "从您的库中选择一个 .otf、.ttf、.woff 或 .woff2 字体文件作为本地字体使用。" +
+ "如果没有选择文件,Excalidraw 将默认使用 Virgil 字体。" +
+ "为了获得最佳性能,建议使用 .woff2 文件,因为当导出到 SVG 格式的图像时,Excalidraw 只会编码必要的字形。" +
"其他字体格式将在导出文件中嵌入整个字体,可能会导致文件大小显著增加。译者注:您可以在Free Font获取免费商用中文手写字体。",
OFFLINE_CJK_NAME: "离线 CJK 字体支持",
OFFLINE_CJK_DESC:
@@ -859,13 +862,13 @@ FILENAME_HEAD: "文件名",
"Taskbone 的开发者(您懂的,没有人能用爱发电,Taskbone 开发者也需要投入资金来维持这项 OCR 服务)您可以" +
"到 taskbone.com 购买一个商用 API key。购买后请将它填写到旁边这个文本框里,替换掉原本自动生成的免费 API key。",
- //HotkeyEditor
+ // HotkeyEditor
HOTKEY_PRESS_COMBO_NANE: "按下您的组合键",
HOTKEY_PRESS_COMBO_DESC: "请按下所需的组合键",
HOTKEY_BUTTON_ADD_OVERRIDE: "添加新的(热键)覆写",
HOTKEY_BUTTON_REMOVE: "移除",
- //openDrawings.ts
+ // openDrawings.ts
SELECT_FILE: "选择一个文件后按回车。",
SELECT_COMMAND: "选择一个命令后按回车。",
SELECT_FILE_WITH_OPTION_TO_SCALE: `选择一个文件后按回车,或者 ${labelSHIFT()}+${labelMETA()}+Enter 以 100% 尺寸插入。`,
@@ -883,22 +886,22 @@ FILENAME_HEAD: "文件名",
PDF_PAGES_HEADER: "页码范围",
PDF_PAGES_DESC: "示例:1, 3-5, 7, 9-11",
- //SelectCard.ts
+ // SelectCard.ts
TYPE_SECTION: "输入章节名称(标题)进行选择",
SELECT_SECTION_OR_TYPE_NEW:
"选择现有章节(标题)或输入新章节(标题)的名称,然后按 Enter。",
INVALID_SECTION_NAME: "无效的章节名称(标题)",
EMPTY_SECTION_MESSAGE: "输入章节(标题)名称以创建",
- //EmbeddedFileLoader.ts
+ // EmbeddedFileLoader.ts
INFINITE_LOOP_WARNING:
"EXCALIDRAW 警告\n停止加载嵌入的图像,因为此文件中存在死循环:\n",
- //Scripts.ts
+ // Scripts.ts
SCRIPT_EXECUTION_ERROR:
"脚本运行错误。请在开发者控制台中查看错误信息。",
- //ExcalidrawData.ts
+ // ExcalidrawData.ts
LOAD_FROM_BACKUP: "Excalidraw 文件已损坏。尝试从备份文件中加载。",
FONT_LOAD_SLOW: "正在加载字体...\n\n 这比预期花费的时间更长。如果这种延迟经常发生,您可以将字体下载到您的 Vault 中。\n\n" +
"(点击=忽略提示,右键=更多信息)",
@@ -930,7 +933,7 @@ FILENAME_HEAD: "文件名",
`,
- //ObsidianMenu.tsx
+ // ObsidianMenu.tsx
GOTO_FULLSCREEN: "进入全屏模式",
EXIT_FULLSCREEN: "退出全屏模式",
TOGGLE_FULLSCREEN: "切换全屏模式",
@@ -940,7 +943,7 @@ FILENAME_HEAD: "文件名",
OPEN_LINK_CLICK: "打开所选的图形或文本元素里的链接",
OPEN_LINK_PROPS: "打开图像链接或 LaTeX 公式编辑器",
- //IFrameActionsMenu.tsx
+ // IFrameActionsMenu.tsx
NARROW_TO_HEADING: "缩放至标题",
PIN_VIEW: "锁定视图",
DO_NOT_PIN_VIEW: "不锁定视图",
@@ -954,7 +957,7 @@ FILENAME_HEAD: "文件名",
PROPERTIES: "属性",
COPYCODE: "复制源文件",
- //EmbeddableSettings.tsx
+ // EmbeddableSettings.tsx
ES_TITLE: "Embeddable 元素设置",
ES_RENAME: "重命名",
ES_ZOOM: "缩放",
@@ -963,8 +966,8 @@ FILENAME_HEAD: "文件名",
ES_YOUTUBE_START_INVALID: "YouTube 起始时间无效。请检查格式并重试",
ES_FILENAME_VISIBLE: "显示文件名",
ES_BACKGROUND_HEAD: "背景色",
- ES_BACKGROUND_DESC_INFO : "点击此处了解更多颜色信息" ,
- ES_BACKGROUND_DESC_DETAIL : "背景颜色仅影响 Markdown 嵌入预览模式。在编辑模式下,它会根据场景(通过文档属性设置)或插件设置,遵循 Obsidian 的浅色/深色主题。背景颜色有两层:元素背景颜色(下层)和上层颜色。选择“匹配元素背景”意味着两层都遵循元素颜色。选择“匹配画布”或特定背景颜色时,保留元素背景层。设置透明度(例如 50%)会将画布或选定的颜色与元素背景颜色混合。要移除元素背景层,可以在 Excalidraw 的元素属性编辑器中将元素颜色设置为透明,这样只有上层颜色生效。" ,
+ ES_BACKGROUND_DESC_INFO: "点击此处了解更多颜色信息" ,
+ ES_BACKGROUND_DESC_DETAIL: "背景颜色仅影响 Markdown 嵌入预览模式。在编辑模式下,它会根据场景(通过文档属性设置)或插件设置,遵循 Obsidian 的浅色/深色主题。背景颜色有两层:元素背景颜色(下层)和上层颜色。选择“匹配元素背景”意味着两层都遵循元素颜色。选择“匹配画布”或特定背景颜色时,保留元素背景层。设置透明度(例如 50%)会将画布或选定的颜色与元素背景颜色混合。要移除元素背景层,可以在 Excalidraw 的元素属性编辑器中将元素颜色设置为透明,这样只有上层颜色生效。" ,
ES_BACKGROUND_MATCH_ELEMENT: "匹配元素背景色",
ES_BACKGROUND_MATCH_CANVAS: "匹配画布背景色",
ES_BACKGROUND_COLOR: "背景色",
@@ -978,7 +981,7 @@ FILENAME_HEAD: "文件名",
ES_ZOOM_100_RELATIVE_DESC: "使元素的缩放等级等于当前画布的缩放等级",
ES_ZOOM_100: "Relative 100%",
- //Prompts.ts
+ // Prompts.ts
PROMPT_FILE_DOES_NOT_EXIST: "文件不存在。要创建吗?",
PROMPT_ERROR_NO_FILENAME: "错误:文件名不能为空",
PROMPT_ERROR_DRAWING_CLOSED: "未知错误。绘图文件可能已关闭或丢失",
@@ -997,24 +1000,24 @@ FILENAME_HEAD: "文件名",
PROMPT_BUTTON_INSERT_SPACE: "插入空格",
PROMPT_BUTTON_INSERT_LINK: "插入内部链接",
PROMPT_BUTTON_UPPERCASE: "大写",
- PROMPT_BUTTON_SPECIAL_CHARS : "特殊字符" ,
+ PROMPT_BUTTON_SPECIAL_CHARS: "特殊字符" ,
PROMPT_SELECT_TEMPLATE: "选择一个模板",
- //ModifierKeySettings
+ // ModifierKeySettings
WEB_BROWSER_DRAG_ACTION: "从浏览器拖进来时",
LOCAL_FILE_DRAG_ACTION: "从本地文件系统拖进来时",
INTERNAL_DRAG_ACTION: "在 Obsidian 内部拖放时",
PANE_TARGET: "点击链接时",
DEFAULT_ACTION_DESC: "无修饰键时的行为:",
- //FrameSettings.ts
+ // FrameSettings.ts
FRAME_SETTINGS_TITLE: "框架设置",
FRAME_SETTINGS_ENABLE: "启用框架",
FRAME_SETTIGNS_NAME: "显示框架名称",
FRAME_SETTINGS_OUTLINE: "显示框架外边框",
FRAME_SETTINGS_CLIP: "启用框架裁剪",
- //InsertPDFModal.ts
+ // InsertPDFModal.ts
IPM_PAGES_TO_IMPORT_NAME: "要导入的页面",
IPM_SELECT_PAGES_TO_IMPORT: "请选择页面以进行导入",
IPM_ADD_BORDER_BOX_NAME: "添加带边框的盒子容器",
@@ -1025,129 +1028,129 @@ FILENAME_HEAD: "文件名",
IPM_GROUP_PAGES_DESC: "这将把所有页面建立为一个单独的组。如果您在导入后锁定页面,建议使用此方法,因为这样可以更方便地解锁整个组,而不是逐个解锁。",
IPM_SELECT_PDF: "请选择一个 PDF 文件",
- //Utils.ts
+ // Utils.ts
UPDATE_AVAILABLE: `Excalidraw 的新版本已在社区插件中可用。\n\n您正在使用 ${PLUGIN_VERSION}。\n最新版本是`,
- SCRIPT_UPDATES_AVAILABLE : `脚本更新可用 - 请检查脚本存储。\n\n ${ DEVICE . isDesktop ? `此消息可在控制台日志中查看 ( ${ DEVICE . isMacOS ? "CMD+OPT+i" : "CTRL+SHIFT+i" } )\n\n` : "" } 如果您已将脚本组织到脚本存储文件夹下的子文件夹中,并且存在同一脚本的多个副本,可能需要清理未使用的版本以消除此警报。对于不需要更新的私人脚本副本,请将它们存储在脚本存储文件夹之外。` ,
+ SCRIPT_UPDATES_AVAILABLE: `脚本更新可用 - 请检查脚本存储。\n\n ${ DEVICE . isDesktop ? `此消息可在控制台日志中查看 ( ${ DEVICE . isMacOS ? "CMD+OPT+i" : "CTRL+SHIFT+i" } )\n\n` : "" } 如果您已将脚本组织到脚本存储文件夹下的子文件夹中,并且存在同一脚本的多个副本,可能需要清理未使用的版本以消除此警报。对于不需要更新的私人脚本副本,请将它们存储在脚本存储文件夹之外。` ,
ERROR_PNG_TOO_LARGE: "导出 PNG 时出错 - PNG 文件过大,请尝试较小的分辨率",
// ModifierkeyHelper.ts
// WebBrowserDragAction
- WEB_DRAG_IMPORT_IMAGE : "导入图片到 Vault" ,
- WEB_DRAG_IMAGE_URL : "通过 URL 插入图片或 YouTube 缩略图" ,
- WEB_DRAG_LINK : "插入链接" ,
- WEB_DRAG_EMBEDDABLE : "插入交互框架" ,
+ WEB_DRAG_IMPORT_IMAGE: "导入图片到 Vault" ,
+ WEB_DRAG_IMAGE_URL: "通过 URL 插入图片或 YouTube 缩略图" ,
+ WEB_DRAG_LINK: "插入链接" ,
+ WEB_DRAG_EMBEDDABLE: "插入交互框架" ,
// LocalFileDragAction
- LOCAL_DRAG_IMPORT : "导入外部文件,或在路径来自 Vault 时复用现有文件" ,
- LOCAL_DRAG_IMAGE : "插入图片:使用本地 URI,或在路径来自 Vault 时使用内部链接" ,
- LOCAL_DRAG_LINK : "插入链接:使用本地 URI,或在路径来自 Vault 时使用内部链接" ,
- LOCAL_DRAG_EMBEDDABLE : "插入交互框架:使用本地 URI,或在路径来自 Vault 时使用内部链接" ,
+ LOCAL_DRAG_IMPORT: "导入外部文件,或在路径来自 Vault 时复用现有文件" ,
+ LOCAL_DRAG_IMAGE: "插入图片:使用本地 URI,或在路径来自 Vault 时使用内部链接" ,
+ LOCAL_DRAG_LINK: "插入链接:使用本地 URI,或在路径来自 Vault 时使用内部链接" ,
+ LOCAL_DRAG_EMBEDDABLE: "插入交互框架:使用本地 URI,或在路径来自 Vault 时使用内部链接" ,
// InternalDragAction
- INTERNAL_DRAG_IMAGE : "插入图片" ,
- INTERNAL_DRAG_IMAGE_FULL : "插入图片(100% 尺寸)" ,
- INTERNAL_DRAG_LINK : "插入链接" ,
- INTERNAL_DRAG_EMBEDDABLE : "插入交互框架" ,
+ INTERNAL_DRAG_IMAGE: "插入图片" ,
+ INTERNAL_DRAG_IMAGE_FULL: "插入图片(100% 尺寸)" ,
+ INTERNAL_DRAG_LINK: "插入链接" ,
+ INTERNAL_DRAG_EMBEDDABLE: "插入交互框架" ,
// LinkClickAction
- LINK_CLICK_ACTIVE : "在当前活动窗口中打开" ,
- LINK_CLICK_NEW_PANE : "在相邻的新窗口中打开" ,
- LINK_CLICK_POPOUT : "在弹出窗口中打开" ,
- LINK_CLICK_NEW_TAB : "在新标签页中打开" ,
- LINK_CLICK_MD_PROPS : "显示 Markdown 图片属性对话框(仅在嵌入 Markdown 文档为图片时适用)" ,
+ LINK_CLICK_ACTIVE: "在当前活动窗口中打开" ,
+ LINK_CLICK_NEW_PANE: "在相邻的新窗口中打开" ,
+ LINK_CLICK_POPOUT: "在弹出窗口中打开" ,
+ LINK_CLICK_NEW_TAB: "在新标签页中打开" ,
+ LINK_CLICK_MD_PROPS: "显示 Markdown 图片属性对话框(仅在嵌入 Markdown 文档为图片时适用)" ,
-// 导出对话框
-// 对话框和标签页
-EXPORTDIALOG_TITLE: "导出图形",
-EXPORTDIALOG_TAB_IMAGE: "图像",
-EXPORTDIALOG_TAB_PDF: "PDF",
-// 设置持久化
-EXPORTDIALOG_SAVE_SETTINGS: "将图像设置保存到文件 doc.properties 吗?",
-EXPORTDIALOG_SAVE_SETTINGS_SAVE: "保存为预设",
-EXPORTDIALOG_SAVE_SETTINGS_ONETIME: "仅本次使用",
-// 图像设置
-EXPORTDIALOG_IMAGE_SETTINGS: "图像",
-EXPORTDIALOG_IMAGE_DESC: "PNG 支持透明。外部文件可以包含 Excalidraw 场景数据。",
-EXPORTDIALOG_PADDING: "边距",
-EXPORTDIALOG_SCALE: "缩放",
-EXPORTDIALOG_CURRENT_PADDING: "当前边距:",
-EXPORTDIALOG_SIZE_DESC: "缩放会影响输出大小",
-EXPORTDIALOG_SCALE_VALUE: "缩放:",
-EXPORTDIALOG_IMAGE_SIZE: "大小:",
-// 主题和背景
-EXPORTDIALOG_EXPORT_THEME: "主题",
-EXPORTDIALOG_THEME_LIGHT: "浅色",
-EXPORTDIALOG_THEME_DARK: "深色",
-EXPORTDIALOG_BACKGROUND: "背景",
-EXPORTDIALOG_BACKGROUND_TRANSPARENT: "透明",
-EXPORTDIALOG_BACKGROUND_USE_COLOR: "使用场景颜色",
-// 选择
-EXPORTDIALOG_SELECTED_ELEMENTS: "导出",
-EXPORTDIALOG_SELECTED_ALL: "整个场景",
-EXPORTDIALOG_SELECTED_SELECTED: "仅选中部分",
-// 导出选项
-EXPORTDIALOG_EMBED_SCENE: "包含场景数据吗?",
-EXPORTDIALOG_EMBED_YES: "是",
-EXPORTDIALOG_EMBED_NO: "否",
-// PDF 设置
-EXPORTDIALOG_PDF_SETTINGS: "PDF",
-EXPORTDIALOG_PAGE_SIZE: "页面大小",
-EXPORTDIALOG_PAGE_ORIENTATION: "方向",
-EXPORTDIALOG_ORIENTATION_PORTRAIT: "纵向",
-EXPORTDIALOG_ORIENTATION_LANDSCAPE: "横向",
-EXPORTDIALOG_PDF_FIT_TO_PAGE: "页面适配",
-EXPORTDIALOG_PDF_FIT_OPTION: "适配页面",
-EXPORTDIALOG_PDF_FIT_2_OPTION: "适配至最多 2 页" ,
-EXPORTDIALOG_PDF_FIT_4_OPTION: "适配至最多 4 页" ,
-EXPORTDIALOG_PDF_FIT_6_OPTION: "适配至最多 6 页" ,
-EXPORTDIALOG_PDF_FIT_8_OPTION: "适配至最多 8 页" ,
-EXPORTDIALOG_PDF_FIT_12_OPTION: "适配至最多 12 页" ,
-EXPORTDIALOG_PDF_FIT_16_OPTION: "适配至最多 16 页" ,
-EXPORTDIALOG_PDF_SCALE_OPTION: "使用图像缩放(可能跨多页)",
-EXPORTDIALOG_PDF_PAPER_COLOR: "纸张颜色",
-EXPORTDIALOG_PDF_PAPER_WHITE: "白色",
-EXPORTDIALOG_PDF_PAPER_SCENE: "使用场景颜色",
-EXPORTDIALOG_PDF_PAPER_CUSTOM: "自定义颜色",
-EXPORTDIALOG_PDF_ALIGNMENT: "页面位置",
-EXPORTDIALOG_PDF_ALIGN_CENTER: "居中",
-EXPORTDIALOG_PDF_ALIGN_CENTER_LEFT: "左对齐居中" ,
-EXPORTDIALOG_PDF_ALIGN_CENTER_RIGHT: "右对齐居中" ,
-EXPORTDIALOG_PDF_ALIGN_TOP_LEFT: "左上角",
-EXPORTDIALOG_PDF_ALIGN_TOP_CENTER: "顶部居中",
-EXPORTDIALOG_PDF_ALIGN_TOP_RIGHT: "右上角",
-EXPORTDIALOG_PDF_ALIGN_BOTTOM_LEFT: "左下角",
-EXPORTDIALOG_PDF_ALIGN_BOTTOM_CENTER: "底部居中",
-EXPORTDIALOG_PDF_ALIGN_BOTTOM_RIGHT: "右下角",
-EXPORTDIALOG_PDF_MARGIN: "边距",
-EXPORTDIALOG_PDF_MARGIN_NONE: "无",
-EXPORTDIALOG_PDF_MARGIN_TINY: "小",
-EXPORTDIALOG_PDF_MARGIN_NORMAL: "正常",
-EXPORTDIALOG_SAVE_PDF_SETTINGS: "保存 PDF 设置",
-EXPORTDIALOG_SAVE_CONFIRMATION: "PDF 配置已保存为插件默认设置",
-// 按钮
-EXPORTDIALOG_PNGTOFILE: "导出 PNG 文件",
-EXPORTDIALOG_SVGTOFILE: "导出 SVG 文件",
-EXPORTDIALOG_PNGTOVAULT: "PNG 保存到 Vault",
-EXPORTDIALOG_SVGTOVAULT: "SVG 保存到 Vault",
-EXPORTDIALOG_EXCALIDRAW: "Excalidraw",
-EXPORTDIALOG_PNGTOCLIPBOARD: "PNG 复制到剪贴板",
-EXPORTDIALOG_SVGTOCLIPBOARD: "SVG 复制到剪贴板",
-EXPORTDIALOG_PDF: "导出 PDF 文件",
+ // ExportDialog
+ // Dialog and tabs
+ EXPORTDIALOG_TITLE: "导出图形",
+ EXPORTDIALOG_TAB_IMAGE: "图像",
+ EXPORTDIALOG_TAB_PDF: "PDF",
+ // Settings persistence
+ EXPORTDIALOG_SAVE_SETTINGS: "将图像设置保存到文件 doc.properties 吗?",
+ EXPORTDIALOG_SAVE_SETTINGS_SAVE: "保存为预设",
+ EXPORTDIALOG_SAVE_SETTINGS_ONETIME: "仅本次使用",
+ // Image settings
+ EXPORTDIALOG_IMAGE_SETTINGS: "图像",
+ EXPORTDIALOG_IMAGE_DESC: "PNG 支持透明。外部文件可以包含 Excalidraw 场景数据。",
+ EXPORTDIALOG_PADDING: "边距",
+ EXPORTDIALOG_SCALE: "缩放",
+ EXPORTDIALOG_CURRENT_PADDING: "当前边距:",
+ EXPORTDIALOG_SIZE_DESC: "缩放会影响输出大小",
+ EXPORTDIALOG_SCALE_VALUE: "缩放:",
+ EXPORTDIALOG_IMAGE_SIZE: "大小:",
+ // Theme and background
+ EXPORTDIALOG_EXPORT_THEME: "主题",
+ EXPORTDIALOG_THEME_LIGHT: "浅色",
+ EXPORTDIALOG_THEME_DARK: "深色",
+ EXPORTDIALOG_BACKGROUND: "背景",
+ EXPORTDIALOG_BACKGROUND_TRANSPARENT: "透明",
+ EXPORTDIALOG_BACKGROUND_USE_COLOR: "使用场景颜色",
+ // Selection
+ EXPORTDIALOG_SELECTED_ELEMENTS: "导出",
+ EXPORTDIALOG_SELECTED_ALL: "整个场景",
+ EXPORTDIALOG_SELECTED_SELECTED: "仅选中部分",
+ // Export options
+ EXPORTDIALOG_EMBED_SCENE: "包含场景数据吗?",
+ EXPORTDIALOG_EMBED_YES: "是",
+ EXPORTDIALOG_EMBED_NO: "否",
+ // PDF settings
+ EXPORTDIALOG_PDF_SETTINGS: "PDF",
+ EXPORTDIALOG_PAGE_SIZE: "页面大小",
+ EXPORTDIALOG_PAGE_ORIENTATION: "方向",
+ EXPORTDIALOG_ORIENTATION_PORTRAIT: "纵向",
+ EXPORTDIALOG_ORIENTATION_LANDSCAPE: "横向",
+ EXPORTDIALOG_PDF_FIT_TO_PAGE: "页面适配",
+ EXPORTDIALOG_PDF_FIT_OPTION: "适配页面",
+ EXPORTDIALOG_PDF_FIT_2_OPTION: "适配至最多 2 页" ,
+ EXPORTDIALOG_PDF_FIT_4_OPTION: "适配至最多 4 页" ,
+ EXPORTDIALOG_PDF_FIT_6_OPTION: "适配至最多 6 页" ,
+ EXPORTDIALOG_PDF_FIT_8_OPTION: "适配至最多 8 页" ,
+ EXPORTDIALOG_PDF_FIT_12_OPTION: "适配至最多 12 页" ,
+ EXPORTDIALOG_PDF_FIT_16_OPTION: "适配至最多 16 页" ,
+ EXPORTDIALOG_PDF_SCALE_OPTION: "使用图像缩放(可能跨多页)",
+ EXPORTDIALOG_PDF_PAPER_COLOR: "纸张颜色",
+ EXPORTDIALOG_PDF_PAPER_WHITE: "白色",
+ EXPORTDIALOG_PDF_PAPER_SCENE: "使用场景颜色",
+ EXPORTDIALOG_PDF_PAPER_CUSTOM: "自定义颜色",
+ EXPORTDIALOG_PDF_ALIGNMENT: "页面位置",
+ EXPORTDIALOG_PDF_ALIGN_CENTER: "居中",
+ EXPORTDIALOG_PDF_ALIGN_CENTER_LEFT: "左对齐居中" ,
+ EXPORTDIALOG_PDF_ALIGN_CENTER_RIGHT: "右对齐居中" ,
+ EXPORTDIALOG_PDF_ALIGN_TOP_LEFT: "左上角",
+ EXPORTDIALOG_PDF_ALIGN_TOP_CENTER: "顶部居中",
+ EXPORTDIALOG_PDF_ALIGN_TOP_RIGHT: "右上角",
+ EXPORTDIALOG_PDF_ALIGN_BOTTOM_LEFT: "左下角",
+ EXPORTDIALOG_PDF_ALIGN_BOTTOM_CENTER: "底部居中",
+ EXPORTDIALOG_PDF_ALIGN_BOTTOM_RIGHT: "右下角",
+ EXPORTDIALOG_PDF_MARGIN: "边距",
+ EXPORTDIALOG_PDF_MARGIN_NONE: "无",
+ EXPORTDIALOG_PDF_MARGIN_TINY: "小",
+ EXPORTDIALOG_PDF_MARGIN_NORMAL: "正常",
+ EXPORTDIALOG_SAVE_PDF_SETTINGS: "保存 PDF 设置",
+ EXPORTDIALOG_SAVE_CONFIRMATION: "PDF 配置已保存为插件默认设置",
+ // Buttons
+ EXPORTDIALOG_PNGTOFILE: "导出 PNG 文件",
+ EXPORTDIALOG_SVGTOFILE: "导出 SVG 文件",
+ EXPORTDIALOG_PNGTOVAULT: "PNG 保存到 Vault",
+ EXPORTDIALOG_SVGTOVAULT: "SVG 保存到 Vault",
+ EXPORTDIALOG_EXCALIDRAW: "Excalidraw",
+ EXPORTDIALOG_PNGTOCLIPBOARD: "PNG 复制到剪贴板",
+ EXPORTDIALOG_SVGTOCLIPBOARD: "SVG 复制到剪贴板",
+ EXPORTDIALOG_PDF: "导出 PDF 文件",
-EXPORTDIALOG_PDF_PROGRESS_NOTICE: "正在导出 PDF。如果图像较大,可能需要一些时间。" ,
-EXPORTDIALOG_PDF_PROGRESS_DONE: "导出完成" ,
-EXPORTDIALOG_PDF_PROGRESS_ERROR: "导出 PDF 时出错,请检查开发者控制台以获取详细信息" ,
+ EXPORTDIALOG_PDF_PROGRESS_NOTICE: "正在导出 PDF。如果图像较大,可能需要一些时间。" ,
+ EXPORTDIALOG_PDF_PROGRESS_DONE: "导出完成" ,
+ EXPORTDIALOG_PDF_PROGRESS_ERROR: "导出 PDF 时出错,请检查开发者控制台以获取详细信息" ,
-// Screenshot tab
-EXPORTDIALOG_NOT_AVAILALBE : "抱歉,此功能仅在绘图在主 Obsidian 工作区打开时可用。",
-EXPORTDIALOG_TAB_SCREENSHOT : "截图" ,
-EXPORTDIALOG_SCREENSHOT_DESC : "截图将包括可嵌入的内容,例如 markdown 页面、YouTube、网站等。它们仅在桌面端可用,无法自动导出,并且仅支持 PNG 格式。" ,
-SCREENSHOT_DESKTOP_ONLY : "截图功能仅在桌面端可用" ,
-SCREENSHOT_FILE_SUCCESS : "截图已保存到仓库" ,
-SCREENSHOT_CLIPBOARD_SUCCESS : "截图已复制到剪贴板" ,
-SCREENSHOT_CLIPBOARD_ERROR : "无法复制截图到剪贴板:" ,
-SCREENSHOT_ERROR : "截图出错 - 请查看控制台日志" ,
+ // Screenshot tab
+ EXPORTDIALOG_NOT_AVAILALBE: "抱歉,此功能仅在绘图在主 Obsidian 工作区打开时可用。",
+ EXPORTDIALOG_TAB_SCREENSHOT: "截图" ,
+ EXPORTDIALOG_SCREENSHOT_DESC: "截图将包括可嵌入的内容,例如 markdown 页面、YouTube、网站等。它们仅在桌面端可用,无法自动导出,并且仅支持 PNG 格式。" ,
+ SCREENSHOT_DESKTOP_ONLY: "截图功能仅在桌面端可用" ,
+ SCREENSHOT_FILE_SUCCESS: "截图已保存到仓库" ,
+ SCREENSHOT_CLIPBOARD_SUCCESS: "截图已复制到剪贴板" ,
+ SCREENSHOT_CLIPBOARD_ERROR: "无法复制截图到剪贴板:" ,
+ SCREENSHOT_ERROR: "截图出错 - 请查看控制台日志" ,
-// exportUtils.ts
-PDF_EXPORT_DESKTOP_ONLY: "PDF 导出功能仅限桌面端使用" ,
-};
\ No newline at end of file
+ // exportUtils.ts
+ PDF_EXPORT_DESKTOP_ONLY: "PDF 导出功能仅限桌面端使用" ,
+};
diff --git a/src/lang/locale/zh-tw.ts b/src/lang/locale/zh-tw.ts
index c827014d9..65ce7e479 100644
--- a/src/lang/locale/zh-tw.ts
+++ b/src/lang/locale/zh-tw.ts
@@ -98,20 +98,20 @@ export default {
SEARCH: "搜尋文字",
CROP_PAGE: "對所選頁面裁剪並新增蒙版",
CROP_IMAGE: "對圖片裁剪並新增蒙版",
- ANNOTATE_IMAGE : "在 Excalidraw 中標註影像",
+ ANNOTATE_IMAGE: "在 Excalidraw 中標註影像",
INSERT_ACTIVE_PDF_PAGE_AS_IMAGE: "將當前啟用的 PDF 頁面作為圖片插入",
RESET_IMG_TO_100: "重置影像元素的尺寸為 100%",
RESET_IMG_ASPECT_RATIO: "重置所選影像元素的縱橫比",
TEMPORARY_DISABLE_AUTOSAVE: "臨時停用自動儲存功能,直到本次 Obsidian 退出(小白慎用!)",
TEMPORARY_ENABLE_AUTOSAVE: "啟用自動儲存功能",
- FONTS_LOADED : "Excalidraw: CJK 字型已載入" ,
- FONTS_LOAD_ERROR : "Excalidraw: 在資原始檔夾下找不到 CJK 字型\n" ,
+ FONTS_LOADED: "Excalidraw: CJK 字型已載入" ,
+ FONTS_LOAD_ERROR: "Excalidraw: 在資原始檔夾下找不到 CJK 字型\n" ,
- //Prompt.ts
+ // Prompt.ts
SELECT_LINK_TO_OPEN: "選擇要開啟的連結",
- //ExcalidrawView.ts
- ERROR_CANT_READ_FILEPATH : "錯誤,無法讀取檔案路徑。正在改為匯入檔案",
+ // ExcalidrawView.ts
+ ERROR_CANT_READ_FILEPATH: "錯誤,無法讀取檔案路徑。正在改為匯入檔案",
NO_SEARCH_RESULT: "在繪圖中未找到匹配的元素",
FORCE_SAVE_ABORTED: "自動儲存被中止,因為檔案正在儲存中",
LINKLIST_SECOND_ORDER_LINK: "二級連結",
@@ -146,7 +146,7 @@ export default {
"箭頭和線元素的連結無法透過 " + labelCTRL() + " + 點選元素來導航,因為這也會啟用線編輯器。\n" +
"請使用右鍵上下文選單開啟連結,或點選元素右上角的連結指示器。\n",
FILENAME_INVALID_CHARS:
- '檔名不能含有以下符號: * " \\ < > : | ? #',
+ '檔名不能含有以下符號: * " \\ < > : | ? #',
FORCE_SAVE:
"儲存(同時更新嵌入了該繪圖的 Markdown 文件)",
RAW: "文字元素正以原文(RAW)模式顯示連結。\n點選切換到預覽(PREVIEW)模式",
@@ -158,11 +158,11 @@ export default {
CONVERT_FILE: "轉換為新格式",
BACKUP_AVAILABLE: "載入繪圖檔案時出錯,可能是由於 Obsidian 在上次儲存時意外退出了(手機上更容易發生這種意外)。
好訊息:這臺裝置上存在備份。您是否想要恢復本裝置上的備份?
(我建議您先嚐試在最近使用過的其他裝置上開啟該繪圖,以檢查是否有更新的備份。)",
BACKUP_RESTORED: "已恢復備份",
- BACKUP_SAVE_AS_FILE : "此繪圖為空。存在一個非空的備份。您是否希望將其恢復為新檔案並在新標籤頁中開啟?" ,
- BACKUP_SAVE : "恢復" ,
- BACKUP_DELETE : "刪除備份" ,
- BACKUP_CANCEL : "取消" ,
- CACHE_NOT_READY : "很抱歉給您帶來不便,載入檔案時發生了錯誤。
稍作等待可能會節省您大量時間……
外掛有一個備份快取,但似乎您剛剛啟動了 Obsidian。初始化備份快取可能需要一些時間,通常取決於裝置效能,可能需要一分鐘或更長時間。當快取初始化完成時,您會在右上角收到通知。
請按“確定”嘗試重新載入檔案,並檢查快取是否已完成初始化。如果在此訊息後看到一個完全空白的檔案,我建議等待備份快取準備就緒後再繼續操作。或者,您也可以選擇“取消”以手動修復您的檔案。
" ,
+ BACKUP_SAVE_AS_FILE: "此繪圖為空。存在一個非空的備份。您是否希望將其恢復為新檔案並在新標籤頁中開啟?" ,
+ BACKUP_SAVE: "恢復" ,
+ BACKUP_DELETE: "刪除備份" ,
+ BACKUP_CANCEL: "取消" ,
+ CACHE_NOT_READY: "很抱歉給您帶來不便,載入檔案時發生了錯誤。
稍作等待可能會節省您大量時間……
外掛有一個備份快取,但似乎您剛剛啟動了 Obsidian。初始化備份快取可能需要一些時間,通常取決於裝置效能,可能需要一分鐘或更長時間。當快取初始化完成時,您會在右上角收到通知。
請按“確定”嘗試重新載入檔案,並檢查快取是否已完成初始化。如果在此訊息後看到一個完全空白的檔案,我建議等待備份快取準備就緒後再繼續操作。或者,您也可以選擇“取消”以手動修復您的檔案。
" ,
OBSIDIAN_TOOLS_PANEL: "Obsidian 工具面板",
ERROR_SAVING_IMAGE: "獲取影像時發生未知錯誤。可能是由於某種原因,影像不可用或拒絕了 Obsidian 的獲取請求。",
WARNING_PASTING_ELEMENT_AS_TEXT: "你不能將 Excalidraw 元素貼上為文字元素!",
@@ -192,7 +192,30 @@ export default {
SAVE_IS_TAKING_LONG: "儲存您之前的檔案花費的時間較長,請稍候...",
SAVE_IS_TAKING_VERY_LONG: "為了更好的效能,請考慮將大型繪圖拆分成幾個較小的檔案。",
- //settings.ts
+ // ContentSearcher.ts
+ SEARCH_COPIED_TO_CLIPBOARD: "Markdown 已複製到剪貼簿",
+ SEARCH_COPY_TO_CLIPBOARD_ARIA: "將整個對話框複製為 Markdown 到剪貼簿。非常適合搭配 ChatGPT 等工具進行搜尋和理解。",
+ SEARCH_SHOWHIDE_ARIA: "顯示/隱藏搜尋列" ,
+ SEARCH_NEXT: "下一個",
+ SEARCH_PREVIOUS: "上一個",
+
+ // settings.ts
+ NOTEBOOKLM_LINK_ARIA: "向 NotebookLM 諮詢有關外掛的協助。此模型已預先載入了我所有的影片轉錄、發佈說明和其他有用內容。與 NotebookLM 聊天,探索我的 250+ 影片和 Excalidraw 文件。",
+ NOTEBOOKLM_LINK_TEXT: "了解外掛。造訪 NotebookLM 知識庫。" ,
+ LINKS_BUGS_ARIA: "在外掛的 GitHub 頁面回報錯誤並提交功能請求",
+ LINKS_BUGS: "回報錯誤",
+ LINKS_YT_ARIA: "造訪我的 YouTube 頻道學習視覺思考與 Excalidraw",
+ LINKS_YT: "在 YouTube 學習",
+ LINKS_DISCORD_ARIA: "加入視覺思考研討會 Discord 伺服器",
+ LINKS_DISCORD: "加入社群",
+ LINKS_TWITTER: "追蹤我",
+ LINKS_VTW_ARIA: "了解視覺知識管理、Excalidraw、Obsidian、ExcaliBrain 等內容",
+ LINKS_VTW: "參加研討會",
+ LINKS_BOOK_ARIA: "閱讀我的視覺思考著作《Sketch Your Mind》",
+ LINKS_BOOK: "閱讀書籍",
+ LINKS_WIKI: "外掛 Wiki" ,
+ LINKS_WIKI_ARIA: "探索 Excalidraw 外掛 Wiki" ,
+
RELEASE_NOTES_NAME: "顯示更新說明",
RELEASE_NOTES_DESC:
"開啟:每次更新本外掛後,顯示最新發行版本的說明。
" +
@@ -207,16 +230,16 @@ export default {
FOLDER_NAME: "Excalidraw 資料夾(區分大小寫!)",
FOLDER_DESC:
"新繪圖的預設儲存路徑。若為空,將在庫的根目錄中建立新繪圖。",
- CROP_SUFFIX_NAME : "裁剪檔案字尾" ,
- CROP_SUFFIX_DESC :
+ CROP_SUFFIX_NAME: "裁剪檔案字尾" ,
+ CROP_SUFFIX_DESC:
"為裁剪影像時建立的新圖紙檔名的最後部分。" +
"如果不需要字尾,請留空。" ,
CROP_PREFIX_NAME: "剪貼檔案的字首",
CROP_PREFIX_DESC:
"當剪貼圖片進來時儲存的檔名的字首。 " +
"如果不需要字首,請留空。" ,
- ANNOTATE_SUFFIX_NAME : "註釋檔案字尾" ,
- ANNOTATE_SUFFIX_DESC :
+ ANNOTATE_SUFFIX_NAME: "註釋檔案字尾" ,
+ ANNOTATE_SUFFIX_DESC:
"為註釋影像時建立的新繪圖檔名的最後部分。" +
"如果不需要字尾,請留空。" ,
ANNOTATE_PREFIX_NAME: "標註檔案的字首",
@@ -259,8 +282,8 @@ export default {
`目前 OpenAI API 還處於測試中,您需要在自己的。` +
`OpenAI 賬戶中充值至少 5 美元后才能生成 API key,` +
`然後就可以在 Excalidraw 中配置並使用 AI。`,
- AI_ENABLED_NAME : "啟用 AI 功能" ,
- AI_ENABLED_DESC : "您需要重新開啟 Excalidraw 才能使更改生效。" ,
+ AI_ENABLED_NAME: "啟用 AI 功能" ,
+ AI_ENABLED_DESC: "您需要重新開啟 Excalidraw 才能使更改生效。" ,
AI_OPENAI_TOKEN_NAME: "OpenAI API key",
AI_OPENAI_TOKEN_DESC:
"您可以訪問您的 OpenAI 賬戶來獲取自己的 OpenAI API key。",
@@ -306,7 +329,7 @@ export default {
"這將使您能夠輕鬆閱讀和編輯 JSON 字串。" +
"一旦您切換回 Excalidraw 檢視並儲存繪圖(Ctrl+S),繪圖將再次被壓縮。
" +
"我建議關閉此功能,因為這可以獲得更小的檔案尺寸,並避免在 Obsidian 搜尋中出現不必要的結果。 " +
- "您始終可以使用命令面板中的“Excalidraw: 解壓縮當前 Excalidraw 檔案”命令"+
+ "您始終可以使用命令面板中的“Excalidraw: 解壓縮當前 Excalidraw 檔案”命令" +
"在需要閱讀或編輯時手動解壓縮繪圖 JSON。",
AUTOSAVE_INTERVAL_DESKTOP_NAME: "桌面端自動儲存時間間隔",
AUTOSAVE_INTERVAL_DESKTOP_DESC:
@@ -346,8 +369,8 @@ FILENAME_HEAD: "檔名",
"開啟:使用 .excalidraw.md 作為副檔名。
關閉:使用 .md 作為副檔名。",
DISPLAY_HEAD: "介面 & 行為",
DISPLAY_DESC: "在 Excalidraw 設定的 '外觀和行為' 部分,您可以微調 Excalidraw 的外觀和行為。這包括動態樣式、左手模式、匹配 Excalidraw 和 Obsidian 主題、預設模式等選項。",
- OVERRIDE_OBSIDIAN_FONT_SIZE_NAME : "限制 Obsidian 字型大小為編輯器文字" ,
- OVERRIDE_OBSIDIAN_FONT_SIZE_DESC :
+ OVERRIDE_OBSIDIAN_FONT_SIZE_NAME: "限制 Obsidian 字型大小為編輯器文字" ,
+ OVERRIDE_OBSIDIAN_FONT_SIZE_DESC:
"Obsidian 的自定義字型大小設定會影響整個介面,包括 Excalidraw 和依賴預設字型大小的主題。" +
"啟用此選項將限制字型大小更改為編輯器文字,這將改善 Excalidraw 的外觀。" +
"如果啟用後發現介面的某些部分看起來不正確,請嘗試關閉此設定。" ,
@@ -383,12 +406,12 @@ FILENAME_HEAD: "檔名",
DEFAULT_PEN_MODE_NAME: "觸控筆模式(Pen mode)",
DEFAULT_PEN_MODE_DESC:
"開啟繪圖時,是否自動開啟觸控筆模式?",
- ENABLE_DOUBLE_CLICK_TEXT_EDITING_NAME : "啟用雙擊文字建立",
+ ENABLE_DOUBLE_CLICK_TEXT_EDITING_NAME: "啟用雙擊文字建立",
DISABLE_DOUBLE_TAP_ERASER_NAME: "啟用手寫模式下的雙擊橡皮擦功能",
DISABLE_SINGLE_FINGER_PANNING_NAME: "啟用手寫模式下的單指平移功能",
SHOW_PEN_MODE_FREEDRAW_CROSSHAIR_NAME: "在觸控筆模式下顯示十字準星(+)",
SHOW_PEN_MODE_FREEDRAW_CROSSHAIR_DESC:
- "在觸控筆模式下使用塗鴉功能會顯示十字準星 開啟: 顯示 關閉: 隱藏
"+
+ "在觸控筆模式下使用塗鴉功能會顯示十字準星 開啟: 顯示 關閉: 隱藏
" +
"效果取決於裝置。十字準星通常在繪圖板、MS Surface 上可見。但在 iOS 上不可見。",
SHOW_DRAWING_OR_MD_IN_HOVER_PREVIEW_NAME: "在滑鼠懸停預覽時將 Excalidraw 檔案渲染為圖片",
SHOW_DRAWING_OR_MD_IN_HOVER_PREVIEW_DESC:
@@ -399,9 +422,9 @@ FILENAME_HEAD: "檔名",
SHOW_DRAWING_OR_MD_IN_READING_MODE_DESC:
"當您處於 Markdown 閱讀模式(即檢視繪圖的背景筆記)時,Excalidraw 繪圖是否應該渲染為影像?" +
"此設定不會影響您在 Excalidraw 模式下的繪圖顯示,或者在將繪圖嵌入 Markdown 文件時,或在渲染懸停預覽時。
" +
- "- 請參閱下面‘嵌入和匯出’部分的 PDF 匯出 相關設定。
" +
+ "- 請參閱下面‘嵌入和匯出’部分的 PDF 匯出 相關設定。
" +
"您必須關閉當前的 Excalidraw/Markdown 檔案並重新開啟,以使此更改生效。",
- SHOW_DRAWING_OR_MD_IN_EXPORTPDF_NAME : "在 Obsidian 中匯出為 PDF 格式時將 Excalidraw 渲染為影像" ,
+ SHOW_DRAWING_OR_MD_IN_EXPORTPDF_NAME: "在 Obsidian 中匯出為 PDF 格式時將 Excalidraw 渲染為影像" ,
SHOW_DRAWING_OR_MD_IN_EXPORTPDF_DESC:
"此設定控制在使用 Obsidian 內建的匯出為 PDF功能,如何將 Excalidraw 檔案匯出為 PDF。
" +
"- 啟用:PDF 將包含影像格式的 Excalidraw 繪圖。
" +
@@ -440,12 +463,12 @@ FILENAME_HEAD: "檔名",
"開啟:更改網格顏色以匹配畫布顏色
關閉:將以下顏色用作網格顏色",
GRID_COLOR_NAME: "網格顏色",
GRID_OPACITY_NAME: "網格透明度",
- GRID_OPACITY_DESC: "網格透明度還將控制將箭頭繫結到元素時繫結框的透明度。
"+
+ GRID_OPACITY_DESC: "網格透明度還將控制將箭頭繫結到元素時繫結框的透明度。
" +
"設定網格的不透明度。 0 表示完全透明,100 表示完全不透明。",
- GRID_DIRECTION_NAME : "網格方向" ,
- GRID_DIRECTION_DESC : "第一個開關顯示/隱藏水平網格,第二個開關顯示/隱藏垂直網格。" ,
- GRID_HORIZONTAL : "渲染水平網格" ,
- GRID_VERTICAL : "渲染垂直網格" ,
+ GRID_DIRECTION_NAME: "網格方向" ,
+ GRID_DIRECTION_DESC: "第一個開關顯示/隱藏水平網格,第二個開關顯示/隱藏垂直網格。" ,
+ GRID_HORIZONTAL: "渲染水平網格" ,
+ GRID_VERTICAL: "渲染垂直網格" ,
LASER_HEAD: "雷射筆工具(更多工具 > 雷射筆)",
LASER_COLOR: "雷射筆顏色",
LASER_DECAY_TIME_NAME: "雷射筆消失時間",
@@ -464,7 +487,7 @@ FILENAME_HEAD: "檔名",
DRAG_MODIFIER_NAME: "修飾鍵",
DRAG_MODIFIER_DESC: "在您按住點選連結或拖放元素時,可以觸發某些行為。您可以為這些行為新增修飾鍵。" +
"Excalidraw 不會檢查您的設定是否合理,因此請謹慎設定,避免衝突。" +
- "以下選項在蘋果和非蘋果裝置上區別很大,如果您在多個硬體平臺上使用 Obsidian,需要分別進行設定。"+
+ "以下選項在蘋果和非蘋果裝置上區別很大,如果您在多個硬體平臺上使用 Obsidian,需要分別進行設定。" +
"選項裡的 4 個開關依次代表 " +
(DEVICE.isIOS || DEVICE.isMacOS ? "Shift, CMD, OPT, CONTROL." : "Shift, Ctrl, Alt, META (Win 鍵)。"),
LONG_PRESS_DESKTOP_NAME: "長按開啟(電腦端)",
@@ -583,15 +606,15 @@ FILENAME_HEAD: "檔名",
"可以填寫 HTML 顏色名,如 steelblue(參考 HTML Color Names),或者有效的 16 進位制顏色值,例如 #e67700,或者任何其他有效的 CSS 顏色。
" +
"您可為某個 MD-Embed 單獨設定此項,方法是在其原始檔的 frontmatter 中新增形如 excalidraw-border-color: gray 的鍵值對。
" +
"如果您不想要邊框,請留空。",
- MD_CSS_NAME: "MD-Embed 的預設 CSS 樣式表",
+ MD_CSS_NAME: " CSS 樣式表檔案",
MD_CSS_DESC:
- "MD-Embed 影像所採用的 CSS 樣式表文件名。需包含副檔名,例如 md-embed.css。" +
- "允許使用 Markdown 檔案(如 md-embed-css.md),但其內容應符合 CSS 語法。
" +
- "如果您要查詢 CSS 所作用的 HTML 節點,請在 Obsidian 開發者控制檯(Ctrl+Shift+I)中鍵入命令:" +
- "ExcalidrawAutomate.mostRecentMarkdownSVG —— 這將顯示 Excalidraw 最近生成的 SVG。
" +
- "此外,在 CSS 中不能任意地設定字型,您一般只能使用系統預設的標準字型(詳見 README)," +
- "但可以透過上面的設定來額外新增一個自定義字型。
" +
- "您可為某個 MD-Embed 單獨設定此項,方法是在其原始檔的 frontmatter 中新增形如 excalidraw-css: 庫中的 CSS 檔案或 CSS 片段 的鍵值對。",
+ "要應用於 Markdown 嵌入的 CSS 檔案名稱。請提供帶副檔名的檔案名稱(例如 'md-embed.css')。該 CSS 檔案也可以是一個普通的 " +
+ "Markdown 檔案(例如 'md-embed-css.md'),只需確保內容使用有效的 CSS 語法編寫。 " +
+ `如果您需要查看應用 CSS 的 HTML 代碼,請打開 Obsidian 開發者控制台(${DEVICE.isIOS || DEVICE.isMacOS ? "CMD+OPT+i" : "CTRL+SHIFT+i"})並輸入以下命令: ` +
+ '"ExcalidrawAutomate.mostRecentMarkdownSVG"。這將顯示 Excalidraw 生成的最新 SVG。 ' +
+ "在 CSS 中設定字型系列有一些限制。預設情況下,僅提供您作業系統的標準字型(有關詳細資訊,請參見 README)。 " +
+ "您可以使用上述設定添加一個自訂字型。 " +
+ '您可以透過向嵌入的 Markdown 檔案添加以下前置資料鍵來覆蓋此 CSS 設定:"excalidraw-css: css_file_in_vault|css-snippet"。',
EMBED_HEAD: "嵌入到 Markdown 文件中的繪圖",
EMBED_DESC: `包括:嵌入到 Markdown 文件中的繪圖的預覽圖型別(SVG、PNG)、原始檔型別(Excalidraw 繪圖檔案、SVG、PNG)、快取、影像大小、影像主題,以及嵌入的語法等。
此外,還有自動匯出 SVG 或 PNG 檔案並保持與繪圖檔案狀態同步的設定。`,
@@ -600,9 +623,9 @@ FILENAME_HEAD: "檔名",
EMBED_CANVAS_DESC:
"當嵌入繪圖到 Obsidian 白板中時,隱藏元素的邊界和背景。" +
"注意:如果想要背景完全透明,您依然需要在 Excalidraw 中設定“匯出的影像不包含背景”。",
- EMBED_CACHING : "影像快取和渲染最佳化" ,
- RENDERING_CONCURRENCY_NAME : "影像渲染併發性" ,
- RENDERING_CONCURRENCY_DESC :
+ EMBED_CACHING: "影像快取和渲染最佳化" ,
+ RENDERING_CONCURRENCY_NAME: "影像渲染併發性" ,
+ RENDERING_CONCURRENCY_DESC:
"用於影像渲染的並行工作執行緒數。增加此數值可以加快渲染速度,但可能會減慢系統的其他部分執行速度。" +
"預設值為 3。如果您的系統性能強大,可以增加此數值。" ,
EXPORT_SUBHEAD: "匯出",
@@ -621,15 +644,15 @@ FILENAME_HEAD: "檔名",
EMBED_REUSE_EXPORTED_IMAGE_NAME:
"將之前已匯出的影像作為預覽圖",
EMBED_REUSE_EXPORTED_IMAGE_DESC:
- "該選項與自動匯出 SVG/PNG 副本選項配合使用。如果嵌入到 Markdown 文件中的繪圖檔案存在同名的 SVG/PNG 副本,則將其作為預覽圖,而不再重新生成。
" +
+ "該選項與自動匯出 SVG/PNG 副本選項配合使用。如果嵌入到 Markdown 文件中的繪圖檔案存在同名的 SVG/PNG 副本,則將其作為預覽圖,而不再重新生成。
" +
"該選項能夠提高 Markdown 文件的開啟速度,尤其是當嵌入到 Markdown 文件中的繪圖檔案中含有大量影像或 MD-Embed 時。" +
"但是,該選項也可能導致預覽圖無法立即響應你對繪圖檔案或者 Obsidian 主題風格的修改。
" +
"該選項僅作用於嵌入到 Markdown 文件中的繪圖。" +
"該選項無法提升繪圖檔案的開啟速度。詳見此說明。",
- /*EMBED_PREVIEW_SVG_NAME: "生成 SVG 格式的預覽圖",
+ /* EMBED_PREVIEW_SVG_NAME: "生成 SVG 格式的預覽圖",
EMBED_PREVIEW_SVG_DESC:
"開啟:為嵌入到 Markdown 文件中的繪圖生成 SVG 格式的預覽圖。
" +
- "關閉:為嵌入到 Markdown 文件中的繪圖生成 PNG 格式的預覽圖。注意:PNG 格式預覽圖不支援某些 繪圖元素的塊引用特性。",*/
+ "關閉:為嵌入到 Markdown 文件中的繪圖生成 PNG 格式的預覽圖。注意:PNG 格式預覽圖不支援某些 繪圖元素的塊引用特性。", */
EMBED_PREVIEW_IMAGETYPE_NAME: "預覽圖的格式",
EMBED_PREVIEW_IMAGETYPE_DESC:
"Native SVG:高品質、可互動。
" +
@@ -652,7 +675,7 @@ FILENAME_HEAD: "檔名",
EMBED_TYPE_NAME: "“嵌入繪圖到當前 Markdown 文件中”系列命令的原始檔型別",
EMBED_TYPE_DESC:
"在命令面板中執行“嵌入繪圖到當前 Markdown 文件中”系列命令時,要嵌入繪圖檔案本身,還是嵌入其 PNG 或 SVG 副本。
" +
- "如果您想選擇 PNG 或 SVG 副本,需要先開啟下方的自動匯出 PNG / SVG 副本。
" +
+ "如果您想選擇 PNG 或 SVG 副本,需要先開啟下方的自動匯出 PNG / SVG 副本。
" +
"如果您選擇了 PNG 或 SVG 副本,當副本不存在時,該命令將會插入一條損壞的連結,您需要開啟繪圖檔案並手動匯出副本才能修復 —— " +
"也就是說,該選項不會自動幫您生成 PNG/SVG 副本,而只會引用已有的 PNG/SVG 副本。",
EMBED_MARKDOWN_COMMENT_NAME: "將連結作為註釋嵌入",
@@ -681,7 +704,7 @@ FILENAME_HEAD: "檔名",
EXPORT_EMBED_SCENE_DESC:
"在匯出的影像中嵌入 Excalidraw 場景。可以透過在檔案級別新增 excalidraw-export-embed-scene: true/false frontmatter 元資料鍵來覆蓋此設定。" +
"此設定僅在您下次(重新)開啟繪圖時生效。",
- PDF_EXPORT_SETTINGS : "PDF 匯出設定",
+ PDF_EXPORT_SETTINGS: "PDF 匯出設定",
EXPORT_HEAD: "匯出設定",
EXPORT_SYNC_NAME:
"保持 SVG/PNG 檔名與繪圖檔案同步",
@@ -699,13 +722,13 @@ FILENAME_HEAD: "檔名",
EXPORT_PNG_NAME: "自動匯出 PNG 副本",
EXPORT_PNG_DESC: "和“自動匯出 SVG 副本”類似,但是匯出格式為 *.PNG。",
EXPORT_BOTH_DARK_AND_LIGHT_NAME: "同時匯出黑暗和明亮主題風格的影像",
- EXPORT_BOTH_DARK_AND_LIGHT_DESC: "若開啟,Excalidraw 將匯出兩個檔案:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
"+
+ EXPORT_BOTH_DARK_AND_LIGHT_DESC: "若開啟,Excalidraw 將匯出兩個檔案:filename.dark.png(或 filename.dark.svg)和 filename.light.png(或 filename.light.svg)。
" +
"該選項可作用於“自動匯出 SVG 副本”、“自動匯出 PNG 副本”,以及其他的手動的匯出命令。",
COMPATIBILITY_HEAD: "相容性設定",
COMPATIBILITY_DESC: "如果沒有特殊原因(例如您想同時在 VSCode / Logseq 和 Obsidian 中使用 Excalidraw),建議您使用 Markdown 格式的繪圖檔案,而不是舊的 excalidraw.com 格式,因為本外掛的很多功能在舊格式中無法使用。",
DUMMY_TEXT_ELEMENT_LINT_SUPPORT_NAME: "程式碼格式化(Linting)相容性",
DUMMY_TEXT_ELEMENT_LINT_SUPPORT_DESC: "Excalidraw 對 # Excalidraw Data 下的檔案結構非常敏感。文件的自動程式碼格式化(linting)可能會在 Excalidraw 資料中造成錯誤。" +
- "雖然我已經努力使資料載入對自動程式碼格式化(linting)變更具有一定的抗性,但這種解決方案並非萬無一失。
"+
+ "雖然我已經努力使資料載入對自動程式碼格式化(linting)變更具有一定的抗性,但這種解決方案並非萬無一失。
" +
"最好的方法是避免使用不同的外掛對 Excalidraw 文件進行自動更改。
" +
"如果出於某些合理的原因,您決定忽略我的建議並配置了 Excalidraw 檔案的自動程式碼格式化,那麼可以使用這個設定
" +
"## Text Elements 部分對空行很敏感。一種常見的程式碼格式化是在章節標題後新增一個空行。但對於 Excalidraw 來說,這將破壞/改變您繪圖中的第一個文字元素。" +
@@ -737,12 +760,12 @@ FILENAME_HEAD: "檔名",
"此外,您開啟舊格式繪圖檔案時將不再收到警告訊息。",
MATHJAX_NAME: "MathJax (LaTeX) 的 javascript 庫伺服器",
MATHJAX_DESC: "如果您在繪圖中使用 LaTeX,外掛需要從伺服器獲取並載入一個 javascript 庫。" +
- "如果您的網路無法訪問某些庫伺服器,可以嘗試透過此選項更換庫伺服器。"+
+ "如果您的網路無法訪問某些庫伺服器,可以嘗試透過此選項更換庫伺服器。" +
"更改此選項後,您可能需要重啟 Obsidian 來使其生效。",
LATEX_DEFAULT_NAME: "插入 LaTeX 時的預設表示式",
LATEX_DEFAULT_DESC: "允許留空。允許使用類似 \\color{white} 的格式化表示式。",
- LATEX_PREAMBLE_NAME : "LaTeX 前言檔案(區分大小寫!)" ,
- LATEX_PREAMBLE_DESC : "前言檔案的完整路徑,留空則使用預設值。如果檔案不存在,此選項將被忽略。
重要:更改後需要重新載入 Obsidian 才能生效!" ,
+ LATEX_PREAMBLE_NAME: "LaTeX 前言檔案(區分大小寫!)" ,
+ LATEX_PREAMBLE_DESC: "前言檔案的完整路徑,留空則使用預設值。如果檔案不存在,此選項將被忽略。
重要:更改後需要重新載入 Obsidian 才能生效!" ,
NONSTANDARD_HEAD: "非 Excalidraw.com 官方支援的特性",
NONSTANDARD_DESC: `這些特性不受 Excalidraw.com 官方支援。如果在 Excalidraw.com 匯入繪圖,這些特性將會發生不可預知的變化。
包括:自定義畫筆工具的數量,自定義字型等。`,
@@ -791,7 +814,7 @@ FILENAME_HEAD: "檔名",
"這樣,整個 Excalidraw Markdown 都會淡化,包括 # Text Elements。 副作用是您將無法在其他 Markdown 筆記中引用文字塊,即 %% 註釋部分之後的內容。這應該不是大問題。" +
"如果您想編輯 Excalidraw Markdown 指令碼,只需切換到 Markdown 檢視模式並暫時刪除 %% 註釋。",
EXCALIDRAW_PROPERTIES_NAME: "將 Excalidraw 屬性載入到 Obsidian 的自動提示中",
- EXCALIDRAW_PROPERTIES_DESC: "切換此設定以在外掛啟動時將 Excalidraw 文件屬性載入到 Obsidian 的屬性自動提示中。"+
+ EXCALIDRAW_PROPERTIES_DESC: "切換此設定以在外掛啟動時將 Excalidraw 文件屬性載入到 Obsidian 的屬性自動提示中。" +
"啟用此功能簡化了 Excalidraw 前置屬性的使用,使您能夠利用許多強大的設定。如果您不希望自動載入這些屬性," +
"您可以停用此功能,但您將需要手動從自動提示中移除任何不需要的屬性。" +
"請注意,啟用此設定需要重啟外掛,因為屬性是在啟動時載入的。",
@@ -806,9 +829,9 @@ FILENAME_HEAD: "檔名",
"此外,在excalidraw.com 或其他 Excalidraw 版本中,預設的本地字型字型將使用系統字型。",
FOURTH_FONT_NAME: "本地字型檔案",
FOURTH_FONT_DESC:
- "從您的庫中選擇一個 .otf、.ttf、.woff 或 .woff2 字型檔案作為本地字型使用。"+
- "如果沒有選擇檔案,Excalidraw 將預設使用 Virgil 字型。"+
- "為了獲得最佳效能,建議使用 .woff2 檔案,因為當匯出到 SVG 格式的影像時,Excalidraw 只會編碼必要的字形。"+
+ "從您的庫中選擇一個 .otf、.ttf、.woff 或 .woff2 字型檔案作為本地字型使用。" +
+ "如果沒有選擇檔案,Excalidraw 將預設使用 Virgil 字型。" +
+ "為了獲得最佳效能,建議使用 .woff2 檔案,因為當匯出到 SVG 格式的影像時,Excalidraw 只會編碼必要的字形。" +
"其他字型格式將在匯出檔案中嵌入整個字型,可能會導致檔案大小顯著增加。譯者注:您可以在Free Font獲取免費商用中文手寫字型。",
OFFLINE_CJK_NAME: "離線 CJK 字型支援",
OFFLINE_CJK_DESC:
@@ -839,13 +862,13 @@ FILENAME_HEAD: "檔名",
"Taskbone 的開發者(您懂的,沒有人能用愛發電,Taskbone 開發者也需要投入資金來維持這項 OCR 服務)您可以" +
"到 taskbone.com 購買一個商用 API key。購買後請將它填寫到旁邊這個文字框裡,替換掉原本自動生成的免費 API key。",
- //HotkeyEditor
+ // HotkeyEditor
HOTKEY_PRESS_COMBO_NANE: "按下您的組合鍵",
HOTKEY_PRESS_COMBO_DESC: "請按下所需的組合鍵",
HOTKEY_BUTTON_ADD_OVERRIDE: "新增新的(熱鍵)覆寫",
HOTKEY_BUTTON_REMOVE: "移除",
- //openDrawings.ts
+ // openDrawings.ts
SELECT_FILE: "選擇一個檔案後按回車。",
SELECT_COMMAND: "選擇一個命令後按回車。",
SELECT_FILE_WITH_OPTION_TO_SCALE: `選擇一個檔案後按回車,或者 ${labelSHIFT()}+${labelMETA()}+Enter 以 100% 尺寸插入。`,
@@ -863,22 +886,22 @@ FILENAME_HEAD: "檔名",
PDF_PAGES_HEADER: "頁碼範圍",
PDF_PAGES_DESC: "示例:1, 3-5, 7, 9-11",
- //SelectCard.ts
+ // SelectCard.ts
TYPE_SECTION: "輸入章節名稱(標題)進行選擇",
SELECT_SECTION_OR_TYPE_NEW:
"選擇現有章節(標題)或輸入新章節(標題)的名稱,然後按 Enter。",
INVALID_SECTION_NAME: "無效的章節名稱(標題)",
EMPTY_SECTION_MESSAGE: "輸入章節(標題)名稱以建立",
- //EmbeddedFileLoader.ts
+ // EmbeddedFileLoader.ts
INFINITE_LOOP_WARNING:
"EXCALIDRAW 警告\n停止載入嵌入的影像,因為此檔案中存在死迴圈:\n",
- //Scripts.ts
+ // Scripts.ts
SCRIPT_EXECUTION_ERROR:
"指令碼執行錯誤。請在開發者控制檯中檢視錯誤資訊。",
- //ExcalidrawData.ts
+ // ExcalidrawData.ts
LOAD_FROM_BACKUP: "Excalidraw 檔案已損壞。嘗試從備份檔案中載入。",
FONT_LOAD_SLOW: "正在載入字型...\n\n 這比預期花費的時間更長。如果這種延遲經常發生,您可以將字型下載到您的 Vault 中。\n\n" +
"(點選=忽略提示,右鍵=更多資訊)",
@@ -910,7 +933,7 @@ FILENAME_HEAD: "檔名",
`,
- //ObsidianMenu.tsx
+ // ObsidianMenu.tsx
GOTO_FULLSCREEN: "進入全屏模式",
EXIT_FULLSCREEN: "退出全屏模式",
TOGGLE_FULLSCREEN: "切換全屏模式",
@@ -920,17 +943,21 @@ FILENAME_HEAD: "檔名",
OPEN_LINK_CLICK: "開啟所選的圖形或文字元素裡的連結",
OPEN_LINK_PROPS: "開啟影像連結或 LaTeX 公式編輯器",
- //IFrameActionsMenu.tsx
+ // IFrameActionsMenu.tsx
NARROW_TO_HEADING: "縮放至標題",
+ PIN_VIEW: "鎖定視圖",
+ DO_NOT_PIN_VIEW: "解除視圖鎖定",
NARROW_TO_BLOCK: "縮放至塊",
SHOW_ENTIRE_FILE: "顯示全部",
+ SELECT_SECTION: "自文件選取章節",
+ SELECT_VIEW: "自 base 選取視圖",
ZOOM_TO_FIT: "縮放至合適大小",
RELOAD: "過載連結",
OPEN_IN_BROWSER: "在瀏覽器中開啟",
PROPERTIES: "屬性",
COPYCODE: "複製原始檔",
- //EmbeddableSettings.tsx
+ // EmbeddableSettings.tsx
ES_TITLE: "Embeddable 元素設定",
ES_RENAME: "重新命名",
ES_ZOOM: "縮放",
@@ -939,8 +966,8 @@ FILENAME_HEAD: "檔名",
ES_YOUTUBE_START_INVALID: "YouTube 起始時間無效。請檢查格式並重試",
ES_FILENAME_VISIBLE: "顯示檔名",
ES_BACKGROUND_HEAD: "背景色",
- ES_BACKGROUND_DESC_INFO : "點選此處瞭解更多顏色資訊" ,
- ES_BACKGROUND_DESC_DETAIL : "背景顏色僅影響 Markdown 嵌入預覽模式。在編輯模式下,它會根據場景(透過文件屬性設定)或外掛設定,遵循 Obsidian 的淺色/深色主題。背景顏色有兩層:元素背景顏色(下層)和上層顏色。選擇“匹配元素背景”意味著兩層都遵循元素顏色。選擇“匹配畫布”或特定背景顏色時,保留元素背景層。設定透明度(例如 50%)會將畫布或選定的顏色與元素背景顏色混合。要移除元素背景層,可以在 Excalidraw 的元素屬性編輯器中將元素顏色設定為透明,這樣只有上層顏色生效。" ,
+ ES_BACKGROUND_DESC_INFO: "點選此處瞭解更多顏色資訊" ,
+ ES_BACKGROUND_DESC_DETAIL: "背景顏色僅影響 Markdown 嵌入預覽模式。在編輯模式下,它會根據場景(透過文件屬性設定)或外掛設定,遵循 Obsidian 的淺色/深色主題。背景顏色有兩層:元素背景顏色(下層)和上層顏色。選擇“匹配元素背景”意味著兩層都遵循元素顏色。選擇“匹配畫布”或特定背景顏色時,保留元素背景層。設定透明度(例如 50%)會將畫布或選定的顏色與元素背景顏色混合。要移除元素背景層,可以在 Excalidraw 的元素屬性編輯器中將元素顏色設定為透明,這樣只有上層顏色生效。" ,
ES_BACKGROUND_MATCH_ELEMENT: "匹配元素背景色",
ES_BACKGROUND_MATCH_CANVAS: "匹配畫布背景色",
ES_BACKGROUND_COLOR: "背景色",
@@ -954,7 +981,7 @@ FILENAME_HEAD: "檔名",
ES_ZOOM_100_RELATIVE_DESC: "使元素的縮放等級等於當前畫布的縮放等級",
ES_ZOOM_100: "Relative 100%",
- //Prompts.ts
+ // Prompts.ts
PROMPT_FILE_DOES_NOT_EXIST: "檔案不存在。要建立嗎?",
PROMPT_ERROR_NO_FILENAME: "錯誤:檔名不能為空",
PROMPT_ERROR_DRAWING_CLOSED: "未知錯誤。繪圖檔案可能已關閉或丟失",
@@ -973,24 +1000,24 @@ FILENAME_HEAD: "檔名",
PROMPT_BUTTON_INSERT_SPACE: "插入空格",
PROMPT_BUTTON_INSERT_LINK: "插入內部連結",
PROMPT_BUTTON_UPPERCASE: "大寫",
- PROMPT_BUTTON_SPECIAL_CHARS : "特殊字元" ,
+ PROMPT_BUTTON_SPECIAL_CHARS: "特殊字元" ,
PROMPT_SELECT_TEMPLATE: "選擇一個模板",
- //ModifierKeySettings
+ // ModifierKeySettings
WEB_BROWSER_DRAG_ACTION: "從瀏覽器拖進來時",
LOCAL_FILE_DRAG_ACTION: "從本地檔案系統拖進來時",
INTERNAL_DRAG_ACTION: "在 Obsidian 內部拖放時",
PANE_TARGET: "點選連結時",
DEFAULT_ACTION_DESC: "無修飾鍵時的行為:",
- //FrameSettings.ts
+ // FrameSettings.ts
FRAME_SETTINGS_TITLE: "框架設定",
FRAME_SETTINGS_ENABLE: "啟用框架",
FRAME_SETTIGNS_NAME: "顯示框架名稱",
FRAME_SETTINGS_OUTLINE: "顯示框架外邊框",
FRAME_SETTINGS_CLIP: "啟用框架裁剪",
- //InsertPDFModal.ts
+ // InsertPDFModal.ts
IPM_PAGES_TO_IMPORT_NAME: "要匯入的頁面",
IPM_SELECT_PAGES_TO_IMPORT: "請選擇頁面以進行匯入",
IPM_ADD_BORDER_BOX_NAME: "新增帶邊框的盒子容器",
@@ -1001,129 +1028,129 @@ FILENAME_HEAD: "檔名",
IPM_GROUP_PAGES_DESC: "這將把所有頁面建立為一個單獨的組。如果您在匯入後鎖定頁面,建議使用此方法,因為這樣可以更方便地解鎖整個組,而不是逐個解鎖。",
IPM_SELECT_PDF: "請選擇一個 PDF 檔案",
- //Utils.ts
+ // Utils.ts
UPDATE_AVAILABLE: `Excalidraw 的新版本已在社群外掛中可用。\n\n您正在使用 ${PLUGIN_VERSION}。\n最新版本是`,
- SCRIPT_UPDATES_AVAILABLE : `指令碼更新可用 - 請檢查指令碼儲存。\n\n ${ DEVICE . isDesktop ? `此訊息可在控制檯日誌中檢視 ( ${ DEVICE . isMacOS ? "CMD+OPT+i" : "CTRL+SHIFT+i" } )\n\n` : "" } 如果您已將指令碼組織到指令碼儲存資料夾下的子資料夾中,並且存在同一指令碼的多個副本,可能需要清理未使用的版本以消除此警報。對於不需要更新的私人指令碼副本,請將它們儲存在指令碼儲存資料夾之外。` ,
+ SCRIPT_UPDATES_AVAILABLE: `指令碼更新可用 - 請檢查指令碼儲存。\n\n ${ DEVICE . isDesktop ? `此訊息可在控制檯日誌中檢視 ( ${ DEVICE . isMacOS ? "CMD+OPT+i" : "CTRL+SHIFT+i" } )\n\n` : "" } 如果您已將指令碼組織到指令碼儲存資料夾下的子資料夾中,並且存在同一指令碼的多個副本,可能需要清理未使用的版本以消除此警報。對於不需要更新的私人指令碼副本,請將它們儲存在指令碼儲存資料夾之外。` ,
ERROR_PNG_TOO_LARGE: "匯出 PNG 時出錯 - PNG 檔案過大,請嘗試較小的解析度",
// ModifierkeyHelper.ts
// WebBrowserDragAction
- WEB_DRAG_IMPORT_IMAGE : "匯入圖片到 Vault" ,
- WEB_DRAG_IMAGE_URL : "透過 URL 插入圖片或 YouTube 縮圖" ,
- WEB_DRAG_LINK : "插入連結" ,
- WEB_DRAG_EMBEDDABLE : "插入互動框架" ,
+ WEB_DRAG_IMPORT_IMAGE: "匯入圖片到 Vault" ,
+ WEB_DRAG_IMAGE_URL: "透過 URL 插入圖片或 YouTube 縮圖" ,
+ WEB_DRAG_LINK: "插入連結" ,
+ WEB_DRAG_EMBEDDABLE: "插入互動框架" ,
// LocalFileDragAction
- LOCAL_DRAG_IMPORT : "匯入外部檔案,或在路徑來自 Vault 時複用現有檔案" ,
- LOCAL_DRAG_IMAGE : "插入圖片:使用本地 URI,或在路徑來自 Vault 時使用內部連結" ,
- LOCAL_DRAG_LINK : "插入連結:使用本地 URI,或在路徑來自 Vault 時使用內部連結" ,
- LOCAL_DRAG_EMBEDDABLE : "插入互動框架:使用本地 URI,或在路徑來自 Vault 時使用內部連結" ,
+ LOCAL_DRAG_IMPORT: "匯入外部檔案,或在路徑來自 Vault 時複用現有檔案" ,
+ LOCAL_DRAG_IMAGE: "插入圖片:使用本地 URI,或在路徑來自 Vault 時使用內部連結" ,
+ LOCAL_DRAG_LINK: "插入連結:使用本地 URI,或在路徑來自 Vault 時使用內部連結" ,
+ LOCAL_DRAG_EMBEDDABLE: "插入互動框架:使用本地 URI,或在路徑來自 Vault 時使用內部連結" ,
// InternalDragAction
- INTERNAL_DRAG_IMAGE : "插入圖片" ,
- INTERNAL_DRAG_IMAGE_FULL : "插入圖片(100% 尺寸)" ,
- INTERNAL_DRAG_LINK : "插入連結" ,
- INTERNAL_DRAG_EMBEDDABLE : "插入互動框架" ,
+ INTERNAL_DRAG_IMAGE: "插入圖片" ,
+ INTERNAL_DRAG_IMAGE_FULL: "插入圖片(100% 尺寸)" ,
+ INTERNAL_DRAG_LINK: "插入連結" ,
+ INTERNAL_DRAG_EMBEDDABLE: "插入互動框架" ,
// LinkClickAction
- LINK_CLICK_ACTIVE : "在當前活動視窗中開啟" ,
- LINK_CLICK_NEW_PANE : "在相鄰的新視窗中開啟" ,
- LINK_CLICK_POPOUT : "在彈出視窗中開啟" ,
- LINK_CLICK_NEW_TAB : "在新標籤頁中開啟" ,
- LINK_CLICK_MD_PROPS : "顯示 Markdown 圖片屬性對話方塊(僅在嵌入 Markdown 文件為圖片時適用)" ,
+ LINK_CLICK_ACTIVE: "在當前活動視窗中開啟" ,
+ LINK_CLICK_NEW_PANE: "在相鄰的新視窗中開啟" ,
+ LINK_CLICK_POPOUT: "在彈出視窗中開啟" ,
+ LINK_CLICK_NEW_TAB: "在新標籤頁中開啟" ,
+ LINK_CLICK_MD_PROPS: "顯示 Markdown 圖片屬性對話方塊(僅在嵌入 Markdown 文件為圖片時適用)" ,
-// 匯出對話方塊
-// 對話方塊和標籤頁
-EXPORTDIALOG_TITLE: "匯出圖形",
-EXPORTDIALOG_TAB_IMAGE: "影像",
-EXPORTDIALOG_TAB_PDF: "PDF",
-// 設定持久化
-EXPORTDIALOG_SAVE_SETTINGS: "將影像設定儲存到檔案 doc.properties 嗎?",
-EXPORTDIALOG_SAVE_SETTINGS_SAVE: "儲存為預設",
-EXPORTDIALOG_SAVE_SETTINGS_ONETIME: "僅本次使用",
-// 影像設定
-EXPORTDIALOG_IMAGE_SETTINGS: "影像",
-EXPORTDIALOG_IMAGE_DESC: "PNG 支援透明。外部檔案可以包含 Excalidraw 場景資料。",
-EXPORTDIALOG_PADDING: "邊距",
-EXPORTDIALOG_SCALE: "縮放",
-EXPORTDIALOG_CURRENT_PADDING: "當前邊距:",
-EXPORTDIALOG_SIZE_DESC: "縮放會影響輸出大小",
-EXPORTDIALOG_SCALE_VALUE: "縮放:",
-EXPORTDIALOG_IMAGE_SIZE: "大小:",
-// 主題和背景
-EXPORTDIALOG_EXPORT_THEME: "主題",
-EXPORTDIALOG_THEME_LIGHT: "淺色",
-EXPORTDIALOG_THEME_DARK: "深色",
-EXPORTDIALOG_BACKGROUND: "背景",
-EXPORTDIALOG_BACKGROUND_TRANSPARENT: "透明",
-EXPORTDIALOG_BACKGROUND_USE_COLOR: "使用場景顏色",
-// 選擇
-EXPORTDIALOG_SELECTED_ELEMENTS: "匯出",
-EXPORTDIALOG_SELECTED_ALL: "整個場景",
-EXPORTDIALOG_SELECTED_SELECTED: "僅選中部分",
-// 匯出選項
-EXPORTDIALOG_EMBED_SCENE: "包含場景資料嗎?",
-EXPORTDIALOG_EMBED_YES: "是",
-EXPORTDIALOG_EMBED_NO: "否",
-// PDF 設定
-EXPORTDIALOG_PDF_SETTINGS: "PDF",
-EXPORTDIALOG_PAGE_SIZE: "頁面大小",
-EXPORTDIALOG_PAGE_ORIENTATION: "方向",
-EXPORTDIALOG_ORIENTATION_PORTRAIT: "縱向",
-EXPORTDIALOG_ORIENTATION_LANDSCAPE: "橫向",
-EXPORTDIALOG_PDF_FIT_TO_PAGE: "頁面適配",
-EXPORTDIALOG_PDF_FIT_OPTION: "適配頁面",
-EXPORTDIALOG_PDF_FIT_2_OPTION: "適配至最多 2 頁" ,
-EXPORTDIALOG_PDF_FIT_4_OPTION: "適配至最多 4 頁" ,
-EXPORTDIALOG_PDF_FIT_6_OPTION: "適配至最多 6 頁" ,
-EXPORTDIALOG_PDF_FIT_8_OPTION: "適配至最多 8 頁" ,
-EXPORTDIALOG_PDF_FIT_12_OPTION: "適配至最多 12 頁" ,
-EXPORTDIALOG_PDF_FIT_16_OPTION: "適配至最多 16 頁" ,
-EXPORTDIALOG_PDF_SCALE_OPTION: "使用影像縮放(可能跨多頁)",
-EXPORTDIALOG_PDF_PAPER_COLOR: "紙張顏色",
-EXPORTDIALOG_PDF_PAPER_WHITE: "白色",
-EXPORTDIALOG_PDF_PAPER_SCENE: "使用場景顏色",
-EXPORTDIALOG_PDF_PAPER_CUSTOM: "自定義顏色",
-EXPORTDIALOG_PDF_ALIGNMENT: "頁面位置",
-EXPORTDIALOG_PDF_ALIGN_CENTER: "居中",
-EXPORTDIALOG_PDF_ALIGN_CENTER_LEFT: "左對齊居中" ,
-EXPORTDIALOG_PDF_ALIGN_CENTER_RIGHT: "右對齊居中" ,
-EXPORTDIALOG_PDF_ALIGN_TOP_LEFT: "左上角",
-EXPORTDIALOG_PDF_ALIGN_TOP_CENTER: "頂部居中",
-EXPORTDIALOG_PDF_ALIGN_TOP_RIGHT: "右上角",
-EXPORTDIALOG_PDF_ALIGN_BOTTOM_LEFT: "左下角",
-EXPORTDIALOG_PDF_ALIGN_BOTTOM_CENTER: "底部居中",
-EXPORTDIALOG_PDF_ALIGN_BOTTOM_RIGHT: "右下角",
-EXPORTDIALOG_PDF_MARGIN: "邊距",
-EXPORTDIALOG_PDF_MARGIN_NONE: "無",
-EXPORTDIALOG_PDF_MARGIN_TINY: "小",
-EXPORTDIALOG_PDF_MARGIN_NORMAL: "正常",
-EXPORTDIALOG_SAVE_PDF_SETTINGS: "儲存 PDF 設定",
-EXPORTDIALOG_SAVE_CONFIRMATION: "PDF 配置已儲存為外掛預設設定",
-// 按鈕
-EXPORTDIALOG_PNGTOFILE: "匯出 PNG 檔案",
-EXPORTDIALOG_SVGTOFILE: "匯出 SVG 檔案",
-EXPORTDIALOG_PNGTOVAULT: "PNG 儲存到 Vault",
-EXPORTDIALOG_SVGTOVAULT: "SVG 儲存到 Vault",
-EXPORTDIALOG_EXCALIDRAW: "Excalidraw",
-EXPORTDIALOG_PNGTOCLIPBOARD: "PNG 複製到剪貼簿",
-EXPORTDIALOG_SVGTOCLIPBOARD: "SVG 複製到剪貼簿",
-EXPORTDIALOG_PDF: "匯出 PDF 檔案",
+ // ExportDialog
+ // Dialog and tabs
+ EXPORTDIALOG_TITLE: "匯出圖形",
+ EXPORTDIALOG_TAB_IMAGE: "影像",
+ EXPORTDIALOG_TAB_PDF: "PDF",
+ // Settings persistence
+ EXPORTDIALOG_SAVE_SETTINGS: "將影像設定儲存到檔案 doc.properties 嗎?",
+ EXPORTDIALOG_SAVE_SETTINGS_SAVE: "儲存為預設",
+ EXPORTDIALOG_SAVE_SETTINGS_ONETIME: "僅本次使用",
+ // Image settings
+ EXPORTDIALOG_IMAGE_SETTINGS: "影像",
+ EXPORTDIALOG_IMAGE_DESC: "PNG 支援透明。外部檔案可以包含 Excalidraw 場景資料。",
+ EXPORTDIALOG_PADDING: "邊距",
+ EXPORTDIALOG_SCALE: "縮放",
+ EXPORTDIALOG_CURRENT_PADDING: "當前邊距:",
+ EXPORTDIALOG_SIZE_DESC: "縮放會影響輸出大小",
+ EXPORTDIALOG_SCALE_VALUE: "縮放:",
+ EXPORTDIALOG_IMAGE_SIZE: "大小:",
+ // Theme and background
+ EXPORTDIALOG_EXPORT_THEME: "主題",
+ EXPORTDIALOG_THEME_LIGHT: "淺色",
+ EXPORTDIALOG_THEME_DARK: "深色",
+ EXPORTDIALOG_BACKGROUND: "背景",
+ EXPORTDIALOG_BACKGROUND_TRANSPARENT: "透明",
+ EXPORTDIALOG_BACKGROUND_USE_COLOR: "使用場景顏色",
+ // Selection
+ EXPORTDIALOG_SELECTED_ELEMENTS: "匯出",
+ EXPORTDIALOG_SELECTED_ALL: "整個場景",
+ EXPORTDIALOG_SELECTED_SELECTED: "僅選中部分",
+ // Export options
+ EXPORTDIALOG_EMBED_SCENE: "包含場景資料嗎?",
+ EXPORTDIALOG_EMBED_YES: "是",
+ EXPORTDIALOG_EMBED_NO: "否",
+ // PDF settings
+ EXPORTDIALOG_PDF_SETTINGS: "PDF",
+ EXPORTDIALOG_PAGE_SIZE: "頁面大小",
+ EXPORTDIALOG_PAGE_ORIENTATION: "方向",
+ EXPORTDIALOG_ORIENTATION_PORTRAIT: "縱向",
+ EXPORTDIALOG_ORIENTATION_LANDSCAPE: "橫向",
+ EXPORTDIALOG_PDF_FIT_TO_PAGE: "頁面適配",
+ EXPORTDIALOG_PDF_FIT_OPTION: "適配頁面",
+ EXPORTDIALOG_PDF_FIT_2_OPTION: "適配至最多 2 頁" ,
+ EXPORTDIALOG_PDF_FIT_4_OPTION: "適配至最多 4 頁" ,
+ EXPORTDIALOG_PDF_FIT_6_OPTION: "適配至最多 6 頁" ,
+ EXPORTDIALOG_PDF_FIT_8_OPTION: "適配至最多 8 頁" ,
+ EXPORTDIALOG_PDF_FIT_12_OPTION: "適配至最多 12 頁" ,
+ EXPORTDIALOG_PDF_FIT_16_OPTION: "適配至最多 16 頁" ,
+ EXPORTDIALOG_PDF_SCALE_OPTION: "使用影像縮放(可能跨多頁)",
+ EXPORTDIALOG_PDF_PAPER_COLOR: "紙張顏色",
+ EXPORTDIALOG_PDF_PAPER_WHITE: "白色",
+ EXPORTDIALOG_PDF_PAPER_SCENE: "使用場景顏色",
+ EXPORTDIALOG_PDF_PAPER_CUSTOM: "自定義顏色",
+ EXPORTDIALOG_PDF_ALIGNMENT: "頁面位置",
+ EXPORTDIALOG_PDF_ALIGN_CENTER: "居中",
+ EXPORTDIALOG_PDF_ALIGN_CENTER_LEFT: "左對齊居中" ,
+ EXPORTDIALOG_PDF_ALIGN_CENTER_RIGHT: "右對齊居中" ,
+ EXPORTDIALOG_PDF_ALIGN_TOP_LEFT: "左上角",
+ EXPORTDIALOG_PDF_ALIGN_TOP_CENTER: "頂部居中",
+ EXPORTDIALOG_PDF_ALIGN_TOP_RIGHT: "右上角",
+ EXPORTDIALOG_PDF_ALIGN_BOTTOM_LEFT: "左下角",
+ EXPORTDIALOG_PDF_ALIGN_BOTTOM_CENTER: "底部居中",
+ EXPORTDIALOG_PDF_ALIGN_BOTTOM_RIGHT: "右下角",
+ EXPORTDIALOG_PDF_MARGIN: "邊距",
+ EXPORTDIALOG_PDF_MARGIN_NONE: "無",
+ EXPORTDIALOG_PDF_MARGIN_TINY: "小",
+ EXPORTDIALOG_PDF_MARGIN_NORMAL: "正常",
+ EXPORTDIALOG_SAVE_PDF_SETTINGS: "儲存 PDF 設定",
+ EXPORTDIALOG_SAVE_CONFIRMATION: "PDF 配置已儲存為外掛預設設定",
+ // Buttons
+ EXPORTDIALOG_PNGTOFILE: "匯出 PNG 檔案",
+ EXPORTDIALOG_SVGTOFILE: "匯出 SVG 檔案",
+ EXPORTDIALOG_PNGTOVAULT: "PNG 儲存到 Vault",
+ EXPORTDIALOG_SVGTOVAULT: "SVG 儲存到 Vault",
+ EXPORTDIALOG_EXCALIDRAW: "Excalidraw",
+ EXPORTDIALOG_PNGTOCLIPBOARD: "PNG 複製到剪貼簿",
+ EXPORTDIALOG_SVGTOCLIPBOARD: "SVG 複製到剪貼簿",
+ EXPORTDIALOG_PDF: "匯出 PDF 檔案",
-EXPORTDIALOG_PDF_PROGRESS_NOTICE: "正在匯出 PDF。如果影像較大,可能需要一些時間。" ,
-EXPORTDIALOG_PDF_PROGRESS_DONE: "匯出完成" ,
-EXPORTDIALOG_PDF_PROGRESS_ERROR: "匯出 PDF 時出錯,請檢查開發者控制檯以獲取詳細資訊" ,
+ EXPORTDIALOG_PDF_PROGRESS_NOTICE: "正在匯出 PDF。如果影像較大,可能需要一些時間。" ,
+ EXPORTDIALOG_PDF_PROGRESS_DONE: "匯出完成" ,
+ EXPORTDIALOG_PDF_PROGRESS_ERROR: "匯出 PDF 時出錯,請檢查開發者控制檯以獲取詳細資訊" ,
-// Screenshot tab
-EXPORTDIALOG_NOT_AVAILALBE : "抱歉,此功能僅在繪圖在主 Obsidian 工作區開啟時可用。",
-EXPORTDIALOG_TAB_SCREENSHOT : "截圖" ,
-EXPORTDIALOG_SCREENSHOT_DESC : "截圖將包括可嵌入的內容,例如 markdown 頁面、YouTube、網站等。它們僅在桌面端可用,無法自動匯出,並且僅支援 PNG 格式。" ,
-SCREENSHOT_DESKTOP_ONLY : "截圖功能僅在桌面端可用" ,
-SCREENSHOT_FILE_SUCCESS : "截圖已儲存到倉庫" ,
-SCREENSHOT_CLIPBOARD_SUCCESS : "截圖已複製到剪貼簿" ,
-SCREENSHOT_CLIPBOARD_ERROR : "無法複製截圖到剪貼簿:" ,
-SCREENSHOT_ERROR : "截圖出錯 - 請檢視控制檯日誌" ,
+ // Screenshot tab
+ EXPORTDIALOG_NOT_AVAILALBE: "抱歉,此功能僅在繪圖在主 Obsidian 工作區開啟時可用。",
+ EXPORTDIALOG_TAB_SCREENSHOT: "截圖" ,
+ EXPORTDIALOG_SCREENSHOT_DESC: "截圖將包括可嵌入的內容,例如 markdown 頁面、YouTube、網站等。它們僅在桌面端可用,無法自動匯出,並且僅支援 PNG 格式。" ,
+ SCREENSHOT_DESKTOP_ONLY: "截圖功能僅在桌面端可用" ,
+ SCREENSHOT_FILE_SUCCESS: "截圖已儲存到倉庫" ,
+ SCREENSHOT_CLIPBOARD_SUCCESS: "截圖已複製到剪貼簿" ,
+ SCREENSHOT_CLIPBOARD_ERROR: "無法複製截圖到剪貼簿:" ,
+ SCREENSHOT_ERROR: "截圖出錯 - 請檢視控制檯日誌" ,
-// exportUtils.ts
-PDF_EXPORT_DESKTOP_ONLY: "PDF 匯出功能僅限桌面端使用" ,
+ // exportUtils.ts
+ PDF_EXPORT_DESKTOP_ONLY: "PDF 匯出功能僅限桌面端使用" ,
};