mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 05:28:59 +01:00 
			
		
		
		
	add translation for type widgets: relation_map.js
This commit is contained in:
		
							parent
							
								
									2754bd7a93
								
							
						
					
					
						commit
						8f6087068e
					
				@ -9,6 +9,7 @@ import appContext from "../../components/app_context.js";
 | 
				
			|||||||
import utils from "../../services/utils.js";
 | 
					import utils from "../../services/utils.js";
 | 
				
			||||||
import froca from "../../services/froca.js";
 | 
					import froca from "../../services/froca.js";
 | 
				
			||||||
import dialogService from "../../services/dialog.js";
 | 
					import dialogService from "../../services/dialog.js";
 | 
				
			||||||
 | 
					import { t } from "../../services/i18n.js";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const uniDirectionalOverlays = [
 | 
					const uniDirectionalOverlays = [
 | 
				
			||||||
    [ "Arrow", {
 | 
					    [ "Arrow", {
 | 
				
			||||||
@ -113,9 +114,9 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
                x: e.pageX,
 | 
					                x: e.pageX,
 | 
				
			||||||
                y: e.pageY,
 | 
					                y: e.pageY,
 | 
				
			||||||
                items: [
 | 
					                items: [
 | 
				
			||||||
                    {title: "Open in new tab", command: "openInNewTab", uiIcon: "bx bx-empty"},
 | 
					                    { title: t("relation_map.open_in_new_tab"), command: "openInNewTab", uiIcon: "bx bx-empty" },
 | 
				
			||||||
                    {title: "Remove note", command: "remove", uiIcon: "bx bx-trash"},
 | 
					                    { title: t("relation_map.remove_note"), command: "remove", uiIcon: "bx bx-trash" },
 | 
				
			||||||
                    {title: "Edit title", command: "editTitle", uiIcon: "bx bx-pencil"},
 | 
					                    { title: t("relation_map.edit_title"), command: "editTitle", uiIcon: "bx bx-pencil" }
 | 
				
			||||||
                ],
 | 
					                ],
 | 
				
			||||||
                selectMenuItemHandler: ({command}) => this.contextMenuHandler(command, e.target)
 | 
					                selectMenuItemHandler: ({command}) => this.contextMenuHandler(command, e.target)
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
@ -168,8 +169,8 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        else if (command === "editTitle") {
 | 
					        else if (command === "editTitle") {
 | 
				
			||||||
            const title = await dialogService.prompt({
 | 
					            const title = await dialogService.prompt({
 | 
				
			||||||
                title: "Rename note",
 | 
					                title: t("relation_map.rename_note"),
 | 
				
			||||||
                message: "Enter new note title:",
 | 
					                message: t("relation_map.enter_new_title"),
 | 
				
			||||||
                defaultValue: $title.text()
 | 
					                defaultValue: $title.text()
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -392,10 +393,10 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
                contextMenu.show({
 | 
					                contextMenu.show({
 | 
				
			||||||
                    x: event.pageX,
 | 
					                    x: event.pageX,
 | 
				
			||||||
                    y: event.pageY,
 | 
					                    y: event.pageY,
 | 
				
			||||||
                    items: [ {title: "Remove relation", command: "remove", uiIcon: "bx bx-trash"} ],
 | 
					                    items: [{title: t("relation_map.remove_relation"), command: "remove", uiIcon: "bx bx-trash"}],
 | 
				
			||||||
                    selectMenuItemHandler: async ({command}) => {
 | 
					                    selectMenuItemHandler: async ({command}) => {
 | 
				
			||||||
                        if (command === 'remove') {
 | 
					                        if (command === 'remove') {
 | 
				
			||||||
                            if (!await dialogService.confirm("Are you sure you want to remove the relation?")) {
 | 
					                            if (!await dialogService.confirm(t("relation_map.confirm_remove_relation"))) {
 | 
				
			||||||
                                return;
 | 
					                                return;
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -418,7 +419,7 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        let name = await dialogService.prompt({
 | 
					        let name = await dialogService.prompt({
 | 
				
			||||||
            message: "Specify new relation name (allowed characters: alphanumeric, colon and underscore):",
 | 
					            message: t("relation_map.specify_new_relation_name"),
 | 
				
			||||||
            shown: ({ $answer }) => {
 | 
					            shown: ({ $answer }) => {
 | 
				
			||||||
                $answer.on('keyup', () => {
 | 
					                $answer.on('keyup', () => {
 | 
				
			||||||
                    // invalid characters are simply ignored (from user perspective they are not even entered)
 | 
					                    // invalid characters are simply ignored (from user perspective they are not even entered)
 | 
				
			||||||
@ -452,7 +453,7 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
            && rel.name === name);
 | 
					            && rel.name === name);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (relationExists) {
 | 
					        if (relationExists) {
 | 
				
			||||||
            await dialogService.info(`Connection '${name}' between these notes already exists.`);
 | 
					            await dialogService.info(t("relation_map.connection_exists", {name}));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            this.jsPlumbInstance.deleteConnection(connection);
 | 
					            this.jsPlumbInstance.deleteConnection(connection);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -479,7 +480,7 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
            .addClass(note.getCssClass())
 | 
					            .addClass(note.getCssClass())
 | 
				
			||||||
            .prop("id", this.noteIdToId(noteId))
 | 
					            .prop("id", this.noteIdToId(noteId))
 | 
				
			||||||
            .append($("<span>").addClass("title").append($link))
 | 
					            .append($("<span>").addClass("title").append($link))
 | 
				
			||||||
            .append($("<div>").addClass("endpoint").attr("title", "Start dragging relations from here and drop them on another note."))
 | 
					            .append($("<div>").addClass("endpoint").attr("title", t("relation_map.start_dragging_relations")))
 | 
				
			||||||
            .css("left", `${x}px`)
 | 
					            .css("left", `${x}px`)
 | 
				
			||||||
            .css("top", `${y}px`);
 | 
					            .css("top", `${y}px`);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -494,7 +495,7 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
                const note = this.mapData.notes.find(note => note.noteId === noteId);
 | 
					                const note = this.mapData.notes.find(note => note.noteId === noteId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (!note) {
 | 
					                if (!note) {
 | 
				
			||||||
                    logError(`Note ${noteId} not found!`);
 | 
					                    logError(t("relation_map.note_not_found", {noteId}));
 | 
				
			||||||
                    return;
 | 
					                    return;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -533,7 +534,7 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
        const matches = transform.match(matrixRegex);
 | 
					        const matches = transform.match(matrixRegex);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!matches) {
 | 
					        if (!matches) {
 | 
				
			||||||
            throw new Error(`Cannot match transform: ${transform}`);
 | 
					            throw new Error(t("relation_map.cannot_match_transform", {transform}));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return matches[1];
 | 
					        return matches[1];
 | 
				
			||||||
@ -550,8 +551,7 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
            const exists = this.mapData.notes.some(n => n.noteId === note.noteId);
 | 
					            const exists = this.mapData.notes.some(n => n.noteId === note.noteId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (exists) {
 | 
					            if (exists) {
 | 
				
			||||||
                toastService.showError(`Note "${note.title}" is already in the diagram.`);
 | 
					                toastService.showError(t("relation_map.note_already_in_diagram", {title: note.title}));
 | 
				
			||||||
 | 
					 | 
				
			||||||
                continue;
 | 
					                continue;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -593,7 +593,7 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        const title = await dialogService.prompt({ message: "Enter title of new note",  defaultValue: "new note" });
 | 
					        const title = await dialogService.prompt({ message: t("relation_map.enter_title_of_new_note"), defaultValue: t("relation_map.default_new_note_title") });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!title.trim()) {
 | 
					        if (!title.trim()) {
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
@ -605,7 +605,7 @@ export default class RelationMapTypeWidget extends TypeWidget {
 | 
				
			|||||||
            type: 'text'
 | 
					            type: 'text'
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        toastService.showMessage("Click on canvas to place new note");
 | 
					        toastService.showMessage(t("relation_map.click_on_canvas_to_place_new_note"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        this.clipboard = { noteId: note.noteId, title };
 | 
					        this.clipboard = { noteId: note.noteId, title };
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -887,5 +887,23 @@
 | 
				
			|||||||
    "protected_session": {
 | 
					    "protected_session": {
 | 
				
			||||||
        "enter_password_instruction": "显示受保护的笔记需要输入您的密码:",
 | 
					        "enter_password_instruction": "显示受保护的笔记需要输入您的密码:",
 | 
				
			||||||
        "start_session_button": "开始受保护的会话"
 | 
					        "start_session_button": "开始受保护的会话"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "relation_map": {
 | 
				
			||||||
 | 
					        "open_in_new_tab": "在新标签页中打开",
 | 
				
			||||||
 | 
					        "remove_note": "删除笔记",
 | 
				
			||||||
 | 
					        "edit_title": "编辑标题",
 | 
				
			||||||
 | 
					        "rename_note": "重命名笔记",
 | 
				
			||||||
 | 
					        "enter_new_title": "输入新的笔记标题:",
 | 
				
			||||||
 | 
					        "remove_relation": "删除关系",
 | 
				
			||||||
 | 
					        "confirm_remove_relation": "你确定要删除这个关系吗?",
 | 
				
			||||||
 | 
					        "specify_new_relation_name": "指定新的关系名称(允许的字符:字母数字、冒号和下划线):",
 | 
				
			||||||
 | 
					        "connection_exists": "笔记之间的连接 '{{name}}' 已经存在。",
 | 
				
			||||||
 | 
					        "start_dragging_relations": "从这里开始拖动关系,并将其放置到另一个笔记上。",
 | 
				
			||||||
 | 
					        "note_not_found": "笔记 {{noteId}} 未找到!",
 | 
				
			||||||
 | 
					        "cannot_match_transform": "无法匹配变换:{{transform}}",
 | 
				
			||||||
 | 
					        "note_already_in_diagram": "笔记 \"{{title}}\" 已经在图中。",
 | 
				
			||||||
 | 
					        "enter_title_of_new_note": "输入新笔记的标题",
 | 
				
			||||||
 | 
					        "default_new_note_title": "新笔记",
 | 
				
			||||||
 | 
					        "click_on_canvas_to_place_new_note": "点击画布以放置新笔记"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -888,5 +888,23 @@
 | 
				
			|||||||
    "protected_session": {
 | 
					    "protected_session": {
 | 
				
			||||||
        "enter_password_instruction": "Showing protected note requires entering your password:",
 | 
					        "enter_password_instruction": "Showing protected note requires entering your password:",
 | 
				
			||||||
        "start_session_button": "Start protected session"
 | 
					        "start_session_button": "Start protected session"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "relation_map": {
 | 
				
			||||||
 | 
					        "open_in_new_tab": "Open in new tab",
 | 
				
			||||||
 | 
					        "remove_note": "Remove note",
 | 
				
			||||||
 | 
					        "edit_title": "Edit title",
 | 
				
			||||||
 | 
					        "rename_note": "Rename note",
 | 
				
			||||||
 | 
					        "enter_new_title": "Enter new note title:",
 | 
				
			||||||
 | 
					        "remove_relation": "Remove relation",
 | 
				
			||||||
 | 
					        "confirm_remove_relation": "Are you sure you want to remove the relation?",
 | 
				
			||||||
 | 
					        "specify_new_relation_name": "Specify new relation name (allowed characters: alphanumeric, colon and underscore):",
 | 
				
			||||||
 | 
					        "connection_exists": "Connection '{{name}}' between these notes already exists.",
 | 
				
			||||||
 | 
					        "start_dragging_relations": "Start dragging relations from here and drop them on another note.",
 | 
				
			||||||
 | 
					        "note_not_found": "Note {{noteId}} not found!",
 | 
				
			||||||
 | 
					        "cannot_match_transform": "Cannot match transform: {{transform}}",
 | 
				
			||||||
 | 
					        "note_already_in_diagram": "Note \"{{title}}\" is already in the diagram.",
 | 
				
			||||||
 | 
					        "enter_title_of_new_note": "Enter title of new note",
 | 
				
			||||||
 | 
					        "default_new_note_title": "new note",
 | 
				
			||||||
 | 
					        "click_on_canvas_to_place_new_note": "Click on canvas to place new note"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user