diff --git a/.clj-kondo/config.edn b/.clj-kondo/config.edn index a749f92be..9fe7b7b0c 100644 --- a/.clj-kondo/config.edn +++ b/.clj-kondo/config.edn @@ -14,6 +14,7 @@ datascript.transit dt datascript.db ddb lambdaisland.glogi log + medley.core medley frontend.db.query-dsl query-dsl frontend.db.react react frontend.db.query-react query-react}}} diff --git a/src/main/frontend/context/i18n.cljs b/src/main/frontend/context/i18n.cljs index 9f41eb1f8..6a01cbc5b 100644 --- a/src/main/frontend/context/i18n.cljs +++ b/src/main/frontend/context/i18n.cljs @@ -22,7 +22,7 @@ _ (when (nil? preferred-language) (state/set-preferred-language! (fetch-local-language))) dicts (or (get @translate-dicts preferred-language) - (let [result (some-> (deep-merge dicts/dicts shortcut-dict/dict) + (let [result (some-> (deep-merge dicts/dicts shortcut-dict/dicts) dicts/translate)] (swap! translate-dicts assoc preferred-language result) result))] diff --git a/src/main/frontend/dicts.cljs b/src/main/frontend/dicts.cljs index 88332a7d1..53f19cd50 100644 --- a/src/main/frontend/dicts.cljs +++ b/src/main/frontend/dicts.cljs @@ -1,4 +1,5 @@ (ns frontend.dicts + "Provides dictionary entries for most of the application" (:require [frontend.config :as config] [shadow.resource :as rc] [tongue.core :as tongue])) diff --git a/src/main/frontend/handler/command_palette.cljs b/src/main/frontend/handler/command_palette.cljs index e57568219..db397c111 100644 --- a/src/main/frontend/handler/command_palette.cljs +++ b/src/main/frontend/handler/command_palette.cljs @@ -13,8 +13,10 @@ (s/def :command/tag vector?) (s/def :command/command - (s/keys :req-un [:command/id :command/desc :command/action] - :opt-un [:command/shortcut :command/tag])) + (s/keys :req-un [:command/id :command/action] + ;; :command/desc is optional for internal commands since view + ;; checks translation ns first + :opt-un [:command/desc :command/shortcut :command/tag])) (defn global-shortcut-commands [] (->> [:shortcut.handler/editor-global diff --git a/src/main/frontend/handler/plugin.cljs b/src/main/frontend/handler/plugin.cljs index 56599e14e..41950e6cb 100644 --- a/src/main/frontend/handler/plugin.cljs +++ b/src/main/frontend/handler/plugin.cljs @@ -6,7 +6,7 @@ [frontend.handler.notification :as notifications] [camel-snake-kebab.core :as csk] [frontend.state :as state] - [medley.core :as md] + [medley.core :as medley] [frontend.fs :as fs] [electron.ipc :as ipc] [cljs-bean.core :as bean] @@ -234,7 +234,7 @@ (defn unregister-plugin-slash-command [pid] - (swap! state/state md/dissoc-in [:plugin/installed-commands (keyword pid)])) + (swap! state/state medley/dissoc-in [:plugin/installed-commands (keyword pid)])) (def keybinding-mode-handler-map {:global :shortcut.handler/editor-global @@ -278,7 +278,7 @@ (defn unregister-plugin-simple-command [pid] - (swap! state/state md/dissoc-in [:plugin/simple-commands (keyword pid)])) + (swap! state/state medley/dissoc-in [:plugin/simple-commands (keyword pid)])) (defn register-plugin-ui-item [pid {:keys [type] :as opts}] @@ -498,7 +498,7 @@ ;; effects (unregister-plugin-themes pid) ;; plugins - (swap! state/state md/dissoc-in [:plugin/installed-plugins pid]) + (swap! state/state medley/dissoc-in [:plugin/installed-plugins pid]) ;; commands (clear-commands! pid)))) diff --git a/src/main/frontend/modules/shortcut/config.cljs b/src/main/frontend/modules/shortcut/config.cljs index c73223fb6..f3507a1ac 100644 --- a/src/main/frontend/modules/shortcut/config.cljs +++ b/src/main/frontend/modules/shortcut/config.cljs @@ -11,307 +11,237 @@ [frontend.handler.search :as search-handler] [frontend.handler.ui :as ui-handler] [frontend.handler.plugin :as plugin-handler] + [frontend.modules.shortcut.dict :as dict] [frontend.modules.shortcut.before :as m] [frontend.state :as state] [frontend.util :refer [mac?] :as util] [frontend.commands :as commands] + [clojure.data :as data] [medley.core :as medley])) -;; Note – when you change this file, you will need to do a hard reset. -;; The commands are registered when the Clojurescript code runs for the first time -(defonce ^:large-vars/data-var all-default-keyboard-shortcuts - {:date-picker/complete {:desc "Date picker: Choose selected day" - :binding "enter" +;; To add a new entry to this map, first add it here and then +;; a description for it in frontend.modules.shortcut.dict/all-default-keyboard-shortcuts +(def ^:large-vars/data-var all-default-keyboard-shortcuts + {:date-picker/complete {:binding "enter" :fn ui-handler/shortcut-complete} - :date-picker/prev-day {:desc "Date picker: Select previous day" - :binding "left" + :date-picker/prev-day {:binding "left" :fn ui-handler/shortcut-prev-day} - :date-picker/next-day {:desc "Date picker: Select next day" - :binding "right" + :date-picker/next-day {:binding "right" :fn ui-handler/shortcut-next-day} - :date-picker/prev-week {:desc "Date picker: Select previous week" - :binding "up" + :date-picker/prev-week {:binding "up" :fn ui-handler/shortcut-prev-week} - :date-picker/next-week {:desc "Date picker: Select next week" - :binding "down" + :date-picker/next-week {:binding "down" :fn ui-handler/shortcut-next-week} - :pdf/previous-page {:desc "Previous page of current pdf doc" - :binding "alt+p" + :pdf/previous-page {:binding "alt+p" :fn pdf-utils/prev-page} - :pdf/next-page {:desc "Next page of current pdf doc" - :binding "alt+n" + :pdf/next-page {:binding "alt+n" :fn pdf-utils/next-page} - :auto-complete/complete {:desc "Auto-complete: Choose selected item" - :binding "enter" + :auto-complete/complete {:binding "enter" :fn ui-handler/auto-complete-complete} - :auto-complete/prev {:desc "Auto-complete: Select previous item" - :binding "up" + :auto-complete/prev {:binding "up" :fn ui-handler/auto-complete-prev} - :auto-complete/next {:desc "Auto-complete: Select next item" - :binding "down" + :auto-complete/next {:binding "down" :fn ui-handler/auto-complete-next} - :auto-complete/shift-complete {:desc "Auto-complete: Open selected item in sidebar" - :binding "shift+enter" + :auto-complete/shift-complete {:binding "shift+enter" :fn ui-handler/auto-complete-shift-complete} - :auto-complete/open-link {:desc "Auto-complete: Open selected item in browser" - :binding "mod+o" + :auto-complete/open-link {:binding "mod+o" :fn ui-handler/auto-complete-open-link} - :cards/toggle-answers {:desc "Cards: show/hide answers/clozes" - :binding "s" + :cards/toggle-answers {:binding "s" :fn srs/toggle-answers} - :cards/next-card {:desc "Cards: next card" - :binding "n" + :cards/next-card {:binding "n" :fn srs/next-card} - :cards/forgotten {:desc "Cards: forgotten" - :binding "f" + :cards/forgotten {:binding "f" :fn srs/forgotten} - :cards/remembered {:desc "Cards: remembered" - :binding "r" + :cards/remembered {:binding "r" :fn srs/remembered} - :cards/recall {:desc "Cards: take a while to recall" - :binding "t" + :cards/recall {:binding "t" :fn srs/recall} - :editor/escape-editing {:desc "Escape editing" - :binding false + :editor/escape-editing {:binding false :fn (fn [_ _] (editor-handler/escape-editing))} - :editor/backspace {:desc "Backspace / Delete backwards" - :binding "backspace" + :editor/backspace {:binding "backspace" :fn editor-handler/editor-backspace} - :editor/delete {:desc "Delete / Delete forwards" - :binding "delete" + :editor/delete {:binding "delete" :fn editor-handler/editor-delete} - :editor/new-block {:desc "Create new block" - :binding "enter" + :editor/new-block {:binding "enter" :fn editor-handler/keydown-new-block-handler} - :editor/new-line {:desc "New line in current block" - :binding "shift+enter" + :editor/new-line {:binding "shift+enter" :fn editor-handler/keydown-new-line-handler} - :editor/follow-link {:desc "Follow link under cursor" - :binding "mod+o" + :editor/follow-link {:binding "mod+o" :fn editor-handler/follow-link-under-cursor!} - :editor/open-link-in-sidebar {:desc "Open link in sidebar" - :binding "mod+shift+o" + :editor/open-link-in-sidebar {:binding "mod+shift+o" :fn editor-handler/open-link-in-sidebar!} - :editor/bold {:desc "Bold" - :binding "mod+b" + :editor/bold {:binding "mod+b" :fn editor-handler/bold-format!} - :editor/italics {:desc "Italics" - :binding "mod+i" + :editor/italics {:binding "mod+i" :fn editor-handler/italics-format!} - :editor/highlight {:desc "Highlight" - :binding "mod+shift+h" + :editor/highlight {:binding "mod+shift+h" :fn editor-handler/highlight-format!} - :editor/strike-through {:desc "Strikethrough" - :binding "mod+shift+s" + :editor/strike-through {:binding "mod+shift+s" :fn editor-handler/strike-through-format!} - :editor/clear-block {:desc "Delete entire block content" - :binding (if mac? "ctrl+l" "alt+l") + :editor/clear-block {:binding (if mac? "ctrl+l" "alt+l") :fn editor-handler/clear-block-content!} - :editor/kill-line-before {:desc "Delete line before cursor position" - :binding (if mac? "ctrl+u" "alt+u") + :editor/kill-line-before {:binding (if mac? "ctrl+u" "alt+u") :fn editor-handler/kill-line-before!} - :editor/kill-line-after {:desc "Delete line after cursor position" - :binding (if mac? false "alt+k") + :editor/kill-line-after {:binding (if mac? false "alt+k") :fn editor-handler/kill-line-after!} - :editor/beginning-of-block {:desc "Move cursor to the beginning of a block" - :binding (if mac? false "alt+a") + :editor/beginning-of-block {:binding (if mac? false "alt+a") :fn editor-handler/beginning-of-block} - :editor/end-of-block {:desc "Move cursor to the end of a block" - :binding (if mac? false "alt+e") + :editor/end-of-block {:binding (if mac? false "alt+e") :fn editor-handler/end-of-block} - :editor/forward-word {:desc "Move cursor forward a word" - :binding (if mac? "ctrl+shift+f" "alt+f") + :editor/forward-word {:binding (if mac? "ctrl+shift+f" "alt+f") :fn editor-handler/cursor-forward-word} - :editor/backward-word {:desc "Move cursor backward a word" - :binding (if mac? "ctrl+shift+b" "alt+b") + :editor/backward-word {:binding (if mac? "ctrl+shift+b" "alt+b") :fn editor-handler/cursor-backward-word} - :editor/forward-kill-word {:desc "Delete a word forwards" - :binding (if mac? "ctrl+w" "alt+d") + :editor/forward-kill-word {:binding (if mac? "ctrl+w" "alt+d") :fn editor-handler/forward-kill-word} - :editor/backward-kill-word {:desc "Delete a word backwards" - :binding (if mac? false "alt+w") + :editor/backward-kill-word {:binding (if mac? false "alt+w") :fn editor-handler/backward-kill-word} - :editor/replace-block-reference-at-point {:desc "Replace block reference with its content at point" - :binding "mod+shift+r" + :editor/replace-block-reference-at-point {:binding "mod+shift+r" :fn editor-handler/replace-block-reference-with-content-at-point} - :editor/paste-text-in-one-block-at-point {:desc "Paste text into one block at point" - :binding "mod+shift+v" + :editor/paste-text-in-one-block-at-point {:binding "mod+shift+v" :fn editor-handler/paste-text-in-one-block-at-point} - :editor/insert-youtube-timestamp {:desc "Insert youtube timestamp" - :binding "mod+shift+y" + :editor/insert-youtube-timestamp {:binding "mod+shift+y" :fn commands/insert-youtube-timestamp} - :editor/cycle-todo {:desc "Rotate the TODO state of the current item" - :binding "mod+enter" + :editor/cycle-todo {:binding "mod+enter" :fn editor-handler/cycle-todo!} - :editor/up {:desc "Move cursor up / Select up" - :binding "up" + :editor/up {:binding "up" :fn (editor-handler/shortcut-up-down :up)} - :editor/down {:desc "Move cursor down / Select down" - :binding "down" + :editor/down {:binding "down" :fn (editor-handler/shortcut-up-down :down)} - :editor/left {:desc "Move cursor left / Open selected block at beginning" - :binding "left" + :editor/left {:binding "left" :fn (editor-handler/shortcut-left-right :left)} - :editor/right {:desc "Move cursor right / Open selected block at end" - :binding "right" + :editor/right {:binding "right" :fn (editor-handler/shortcut-left-right :right)} - :editor/move-block-up {:desc "Move block up" - :binding (if mac? "mod+shift+up" "alt+shift+up") + :editor/move-block-up {:binding (if mac? "mod+shift+up" "alt+shift+up") :fn (editor-handler/move-up-down true)} - :editor/move-block-down {:desc "Move block down" - :binding (if mac? "mod+shift+down" "alt+shift+down") + :editor/move-block-down {:binding (if mac? "mod+shift+down" "alt+shift+down") :fn (editor-handler/move-up-down false)} ;; FIXME: add open edit in non-selection mode - :editor/open-edit {:desc "Edit selected block" - :binding "enter" + :editor/open-edit {:binding "enter" :fn (partial editor-handler/open-selected-block! :right)} - :editor/select-block-up {:desc "Select block above" - :binding "shift+up" + :editor/select-block-up {:binding "shift+up" :fn (editor-handler/on-select-block :up)} - :editor/select-block-down {:desc "Select block below" - :binding "shift+down" + :editor/select-block-down {:binding "shift+down" :fn (editor-handler/on-select-block :down)} - :editor/delete-selection {:desc "Delete selected blocks" - :binding ["backspace" "delete"] + :editor/delete-selection {:binding ["backspace" "delete"] :fn editor-handler/delete-selection} - :editor/expand-block-children {:desc "Expand" - :binding "mod+down" + :editor/expand-block-children {:binding "mod+down" :fn editor-handler/expand!} - :editor/collapse-block-children {:desc "Collapse" - :binding "mod+up" + :editor/collapse-block-children {:binding "mod+up" :fn editor-handler/collapse!} - :editor/indent {:desc "Indent block" - :binding "tab" + :editor/indent {:binding "tab" :fn (editor-handler/keydown-tab-handler :right)} - :editor/outdent {:desc "Outdent block" - :binding "shift+tab" + :editor/outdent {:binding "shift+tab" :fn (editor-handler/keydown-tab-handler :left)} - :editor/copy {:desc "Copy (copies either selection, or block reference)" - :binding "mod+c" + :editor/copy {:binding "mod+c" :fn editor-handler/shortcut-copy} - :editor/cut {:desc "Cut" - :binding "mod+x" + :editor/cut {:binding "mod+x" :fn editor-handler/shortcut-cut} - :editor/undo {:desc "Undo" - :binding "mod+z" + :editor/undo {:binding "mod+z" :fn history/undo!} - :editor/redo {:desc "Redo" - :binding ["shift+mod+z" "mod+y"] + :editor/redo {:binding ["shift+mod+z" "mod+y"] :fn history/redo!} - :editor/insert-link {:desc "HTML Link" - :binding "mod+l" + :editor/insert-link {:binding "mod+l" :fn #(editor-handler/html-link-format!)} - :editor/select-all-blocks {:desc "Select all blocks" - :binding "mod+shift+a" + :editor/select-all-blocks {:binding "mod+shift+a" :fn editor-handler/select-all-blocks!} - :editor/zoom-in {:desc "Zoom in editing block / Forwards otherwise" - :binding (if mac? "mod+." "alt+right") + :editor/zoom-in {:binding (if mac? "mod+." "alt+right") :fn editor-handler/zoom-in!} - :editor/zoom-out {:desc "Zoom out editing block / Backwards otherwise" - :binding (if mac? "mod+," "alt+left") + :editor/zoom-out {:binding (if mac? "mod+," "alt+left") :fn editor-handler/zoom-out!} - :ui/toggle-brackets {:desc "Toggle whether to display brackets" - :binding "mod+c mod+b" + :ui/toggle-brackets {:binding "mod+c mod+b" :fn config-handler/toggle-ui-show-brackets!} - :go/search-in-page {:desc "Search in the current page" - :binding "mod+shift+k" + :go/search-in-page {:binding "mod+shift+k" :fn #(do (editor-handler/escape-editing) (route-handler/go-to-search! :page))} - :go/search {:desc "Full text search" - :binding "mod+k" + :go/search {:binding "mod+k" :fn #(do (editor-handler/escape-editing) (route-handler/go-to-search! :global))} - :go/journals {:desc "Go to journals" - :binding "g j" + :go/journals {:binding "g j" :fn route-handler/go-to-journals!} - :go/backward {:desc "Backwards" - :binding "mod+open-square-bracket" + :go/backward {:binding "mod+open-square-bracket" :fn (fn [_] (js/window.history.back))} - :go/forward {:desc "Forwards" - :binding "mod+close-square-bracket" + :go/forward {:binding "mod+close-square-bracket" :fn (fn [_] (js/window.history.forward))} - :search/re-index {:desc "Rebuild search index" - :binding "mod+c mod+s" + :search/re-index {:binding "mod+c mod+s" :fn (fn [_] (search-handler/rebuild-indices! true))} - :sidebar/open-today-page {:desc "Open today's page in the right sidebar" - :binding (if mac? "mod+shift+j" "alt+shift+j") + :sidebar/open-today-page {:binding (if mac? "mod+shift+j" "alt+shift+j") :fn page-handler/open-today-in-sidebar} - :sidebar/clear {:desc "Clear all in the right sidebar" - :binding "mod+c mod+c" + :sidebar/clear {:binding "mod+c mod+c" :fn #(do (state/clear-sidebar-blocks!) (state/hide-right-sidebar!))} @@ -319,151 +249,126 @@ :misc/copy {:binding "mod+c" :fn (fn [] (js/document.execCommand "copy"))} - :command-palette/toggle {:desc "Toggle command palette" - :binding "mod+shift+p" + :command-palette/toggle {:binding "mod+shift+p" :fn #(do (editor-handler/escape-editing) (state/toggle! :ui/command-palette-open?))} - :graph/open {:desc "Select graph to open" - :fn #(do + :graph/open {:fn #(do (editor-handler/escape-editing) (state/set-state! :ui/open-select :graph-open)) :binding "mod+shift+g"} - :graph/remove {:desc "Remove a graph" - :fn #(do + :graph/remove {:fn #(do (editor-handler/escape-editing) (state/set-state! :ui/open-select :graph-remove)) :binding false} - :graph/add {:desc "Add a graph" - :fn (fn [] (route-handler/redirect! {:to :repo-add})) + :graph/add {:fn (fn [] (route-handler/redirect! {:to :repo-add})) :binding false} - :graph/save {:desc "Save current graph to disk" - :fn #(state/pub-event! [:graph/save]) + :graph/save {:fn #(state/pub-event! [:graph/save]) :binding false} :command/run (when (util/electron?) - {:desc "Run git command" - :binding "mod+shift+1" + {:binding "mod+shift+1" :fn #(state/pub-event! [:command/run])}) - :go/home {:desc "Go to home" - :binding "g h" + :go/home {:binding "g h" :fn route-handler/redirect-to-home!} - :go/all-pages {:desc "Go to all pages" - :binding "g a" + :go/all-pages {:binding "g a" :fn route-handler/redirect-to-all-pages!} - :go/graph-view {:desc "Go to graph view" - :binding "g g" + :go/graph-view {:binding "g g" :fn route-handler/redirect-to-graph-view!} - :go/keyboard-shortcuts {:desc "Go to keyboard shortcuts" - :binding "g s" + :go/keyboard-shortcuts {:binding "g s" :fn #(route-handler/redirect! {:to :shortcut-setting})} - :go/tomorrow {:desc "Go to tomorrow" - :binding "g t" + :go/tomorrow {:binding "g t" :fn journal-handler/go-to-tomorrow!} - :go/next-journal {:desc "Go to next journal" - :binding "g n" + :go/next-journal {:binding "g n" :fn journal-handler/go-to-next-journal!} - :go/prev-journal {:desc "Go to previous journal" - :binding "g p" + :go/prev-journal {:binding "g p" :fn journal-handler/go-to-prev-journal!} - :go/flashcards {:desc "Toggle flashcards" - :binding "g f" + :go/flashcards {:binding "g f" :fn (fn [] (if (state/modal-opened?) (state/close-modal!) (state/pub-event! [:modal/show-cards])))} - :ui/toggle-document-mode {:desc "Toggle document mode" - :binding "t d" + :ui/toggle-document-mode {:binding "t d" :fn state/toggle-document-mode!} - :ui/toggle-settings {:desc "Toggle settings" - :binding (if mac? "t s" ["t s" "mod+,"]) + :ui/toggle-settings {:binding (if mac? "t s" ["t s" "mod+,"]) :fn ui-handler/toggle-settings-modal!} - :ui/toggle-right-sidebar {:desc "Toggle right sidebar" - :binding "t r" + :ui/toggle-right-sidebar {:binding "t r" :fn ui-handler/toggle-right-sidebar!} - :ui/toggle-left-sidebar {:desc "Toggle left sidebar" - :binding "t l" + :ui/toggle-left-sidebar {:binding "t l" :fn state/toggle-left-sidebar!} - :ui/toggle-help {:desc "Toggle help" - :binding "shift+/" + :ui/toggle-help {:binding "shift+/" :fn ui-handler/toggle-help!} - :ui/toggle-theme {:desc "Toggle between dark/light theme" - :binding "t t" + :ui/toggle-theme {:binding "t t" :fn state/toggle-theme!} - :ui/toggle-contents {:desc "Toggle Contents in sidebar" - :binding "mod+shift+c" + :ui/toggle-contents {:binding "mod+shift+c" :fn ui-handler/toggle-contents!} + :ui/open-new-window (when (util/electron?) - {:desc "Open another window" - :binding "mod+n" + {:binding "mod+n" :fn #(state/pub-event! [:graph/open-new-window nil])}) - :command/toggle-favorite {:desc "Add to/remove from favorites" - :binding "mod+shift+f" + :command/toggle-favorite {:binding "mod+shift+f" :fn page-handler/toggle-favorite!} :editor/open-file-in-default-app (when (util/electron?) - {:desc "Open file in default app" - :binding false + {:binding false :fn page-handler/open-file-in-default-app}) :editor/open-file-in-directory (when (util/electron?) - {:desc "Open file in parent directory" - :binding false + {:binding false :fn page-handler/open-file-in-directory}) :editor/copy-current-file (when (util/electron?) - {:desc "Copy current file" - :binding false + {:binding false :fn page-handler/copy-current-file}) - :ui/toggle-wide-mode {:desc "Toggle wide mode" - :binding "t w" + :ui/toggle-wide-mode {:binding "t w" :fn ui-handler/toggle-wide-mode!} - :ui/select-theme-color {:desc "Select available theme colors" - :binding "t i" + :ui/select-theme-color {:binding "t i" :fn plugin-handler/show-themes-modal!} :ui/goto-plugins (when plugin-handler/lsp-enabled? - {:desc "Go to plugins dashboard" - :binding "t p" + {:binding "t p" :fn plugin-handler/goto-plugins-dashboard!}) - :editor/toggle-open-blocks {:desc "Toggle open blocks (collapse or expand all blocks)" - :binding "t o" + :editor/toggle-open-blocks {:binding "t o" :fn editor-handler/toggle-open!} - :ui/toggle-cards {:desc "Toggle cards" - :binding "t c" + :ui/toggle-cards {:binding "t c" :fn ui-handler/toggle-cards!} - ;; :ui/toggle-between-page-and-file route-handler/toggle-between-page-and-file! - :git/commit {:desc "Git commit message" - :binding "c" + :git/commit {:binding "c" :fn commit/show-commit-modal!}}) +(let [keyboard-shortcuts + {::keyboard-shortcuts (set (keys all-default-keyboard-shortcuts)) + ::dict/keyboard-shortcuts (set (keys dict/all-default-keyboard-shortcuts))}] + (assert (= (::keyboard-shortcuts keyboard-shortcuts) (::dict/keyboard-shortcuts keyboard-shortcuts)) + (str "Keys for keyboard shortcuts must be the same " + (data/diff (::keyboard-shortcuts keyboard-shortcuts) (::dict/keyboard-shortcuts keyboard-shortcuts))))) + (defn build-category-map [symbols] (reduce into {} (map (fn [sym] {sym (get all-default-keyboard-shortcuts sym)}) symbols))) @@ -605,10 +510,11 @@ :git/commit]) (with-meta {:before m/enable-when-not-editing-mode!}))})) -;; Categories for docs purpose +;; To add a new entry to this map, first add it here and then +;; a description for it in frontend.modules.shortcut.dict/category (def ^:large-vars/data-var category + "Categories for docs purpose" {:shortcut.category/basics - ^{:doc "Basics"} [:editor/new-block :editor/new-line :editor/indent @@ -622,14 +528,12 @@ :editor/cut] :shortcut.category/formatting - ^{:doc "Formatting"} [:editor/bold :editor/insert-link :editor/italics :editor/highlight] :shortcut.category/navigating - ^{:doc "Navigation"} [:editor/up :editor/down :editor/left @@ -653,7 +557,6 @@ :ui/open-new-window] :shortcut.category/block-editing - ^{:doc "Block editing general"} [:editor/backspace :editor/delete :editor/indent @@ -670,7 +573,6 @@ :editor/escape-editing] :shortcut.category/block-command-editing - ^{:doc "Block command editing"} [:editor/backspace :editor/clear-block :editor/kill-line-before @@ -685,7 +587,6 @@ :editor/paste-text-in-one-block-at-point] :shortcut.category/block-selection - ^{:doc "Block selection (press Esc to quit selection)"} [:editor/open-edit :editor/select-all-blocks :editor/select-block-up @@ -693,7 +594,6 @@ :editor/delete-selection] :shortcut.category/toggle - ^{:doc "Toggle"} [:ui/toggle-help :editor/toggle-open-blocks :ui/toggle-wide-mode @@ -707,7 +607,6 @@ :ui/toggle-contents] :shortcut.category/others - ^{:doc "Others"} [:pdf/previous-page :pdf/next-page :command/toggle-favorite @@ -732,6 +631,13 @@ :date-picker/next-week :date-picker/complete]}) +(let [category-maps {::category (set (keys category)) + ::dict/category (set (keys dict/category))}] + (assert (= (::category category-maps) (::dict/category category-maps)) + (str "Keys for category maps must be the same " + (data/diff (::category category-maps) (::dict/category category-maps))))) + + (defn add-shortcut! [handler-id id shortcut-map] (swap! config assoc-in [handler-id id] shortcut-map)) diff --git a/src/main/frontend/modules/shortcut/data_helper.cljs b/src/main/frontend/modules/shortcut/data_helper.cljs index d91a5816e..e40f6ffe2 100644 --- a/src/main/frontend/modules/shortcut/data_helper.cljs +++ b/src/main/frontend/modules/shortcut/data_helper.cljs @@ -77,19 +77,6 @@ ns (namespace k)] (keyword (str "command." ns) n))) -(defn desc-helper [] - (->> (vals @config/config) - (apply merge) - (map (fn [[k {:keys [desc]}]] - {(decorate-namespace k) desc})) - (into {}))) - -(defn category-helper [] - (->> config/category - (map (fn [[k v]] - {k (:doc (meta v))})) - (into {}))) - (defn decorate-binding [binding] (-> (if (string? binding) binding (str/join "+" binding)) (str/replace "mod" (if util/mac? "cmd" "ctrl")) diff --git a/src/main/frontend/modules/shortcut/dict.cljs b/src/main/frontend/modules/shortcut/dict.cljs index ca8899bbc..c19649ff9 100644 --- a/src/main/frontend/modules/shortcut/dict.cljs +++ b/src/main/frontend/modules/shortcut/dict.cljs @@ -1,530 +1,652 @@ -(ns frontend.modules.shortcut.dict - (:require [frontend.modules.shortcut.data-helper :as dh] - [frontend.modules.shortcut.macro :refer [shortcut-dict]])) +(ns ^:bb-compatible frontend.modules.shortcut.dict + "Provides dictionary entries for shortcuts" + (:require [medley.core :as medley])) -(def ^:large-vars/data-var dict - (shortcut-dict - (dh/desc-helper) - (dh/category-helper) - {:zh-CN {:shortcut.category/formatting "格式化" - :shortcut.category/basics "基础操作" - :shortcut.category/navigating "移动" - :shortcut.category/block-editing "块编辑基本" - :shortcut.category/block-command-editing "块编辑文本操作" - :shortcut.category/block-selection "块选择操作" - :shortcut.category/toggle "切换" - :shortcut.category/others "其他" - :command.editor/indent "缩进块标签" - :command.editor/outdent "取消缩进块" - :command.editor/move-block-up "向上移动块" - :command.editor/move-block-down "向下移动块" - :command.editor/new-block "创建块" - :command.editor/new-line "块中新建行" - :command.editor/zoom-in "聚焦" - :command.editor/zoom-out "退出聚焦" - :command.editor/follow-link "跟随光标下的链接" - :command.editor/open-link-in-sidebar "在侧边栏打开" - :command.editor/expand-block-children "展开" - :command.editor/collapse-block-children "折叠" - :command.editor/select-block-up "选择上方的块" - :command.editor/select-block-down "选择下方的块" - :command.editor/select-all-blocks "选择所有块" - :command.ui/toggle-help "显示/关闭帮助" - :command.git/commit "提交消息" - :command.go/search "全文搜索" - :command.go/backward "回退" - :command.go/forward "前进" - :command.go/search-in-page "在当前页面搜索" - :command.ui/toggle-document-mode "切换文档模式" - :command.ui/toggle-contents "打开/关闭目录" - :command.ui/toggle-theme "在暗色/亮色主题之间切换" - :command.ui/toggle-right-sidebar "启用/关闭右侧栏" - :command.ui/toggle-settings "显示/关闭设置" - :command.go/journals "跳转到日记" - :command.ui/toggle-wide-mode "切换宽屏模式" - :command.ui/toggle-brackets "切换是否显示括号" - :command.search/re-index "重新建立搜索索引" - :command.editor/bold "粗体" - :command.editor/italics "斜体" - :command.editor/insert-link "Html 链接" - :command.editor/highlight "高亮" - :command.editor/undo "撤销" - :command.editor/redo "重做" - :command.editor/copy "复制" - :command.editor/cut "剪切" - :command.editor/up "向上移动光标 / 向上选择" - :command.editor/down "向下移动光标 / 向下选择" - :command.editor/left "向左移动光标 / 向左选择" - :command.editor/right "向右移动光标 / 向右选择" - :command.editor/backspace "向左删除" - :command.editor/delete "向右删除" - :command.editor/cycle-todo "切换TODO状态" - :command.editor/clear-block "清除块内容" - :command.editor/kill-line-before "删除光标右侧行" - :command.editor/kill-line-after "删除光标左侧行" - :command.editor/beginning-of-block "移动光标到块开始位置" - :command.editor/end-of-block "移动光标到块末尾" - :command.editor/forward-word "光标向后移动一个单词" - :command.editor/backward-word "光标向前移动一个单词" - :command.editor/forward-kill-word "向后删除一个单词" - :command.editor/backward-kill-word "向前删除一个单词" - :command.editor/open-edit "编辑选中块" - :command.editor/delete-selection "删除选中块" - :command.editor/toggle-open-blocks "切换折叠/展开所有块(非编辑状态)"} +(defn- decorate-namespace [k] + (let [n (name k) + ns (namespace k)] + (keyword (str "command." ns) n))) - :zh-Hant {:command.editor/indent "縮進塊標簽" - :command.editor/outdent "取消縮進塊" - :command.editor/move-block-up "向上移動塊" - :command.editor/move-block-down "向下移動塊" - :command.editor/new-block "創建塊" - :command.editor/new-line "塊中新建行" - :command.editor/zoom-in "聚焦" - :command.editor/zoom-out "推出聚焦" - :command.editor/follow-link "跟隨光標下的鏈接" - :command.editor/open-link-in-sidebar "在側邊欄打開" - :command.editor/expand-block-children "展開" - :command.editor/collapse-block-children "折疊" - :command.editor/select-block-up "選擇上方的塊" - :command.editor/select-block-down "選擇下方的塊" - :command.editor/select-all-blocks "選擇所有塊" - :command.ui/toggle-help "顯示/關閉幫助" - :command.git/commit "提交消息" - :command.go/search "全文搜索" - :command.ui/toggle-document-mode "切換文檔模式" - :command.ui/toggle-theme "“在暗色/亮色主題之間切換”" - :command.ui/toggle-right-sidebar "啟用/關閉右側欄" - :command.go/journals "跳轉到日記"} +(def ^:large-vars/data-var all-default-keyboard-shortcuts + {:date-picker/complete "Date picker: Choose selected day" + :date-picker/prev-day "Date picker: Select previous day" + :date-picker/next-day "Date picker: Select next day" + :date-picker/prev-week "Date picker: Select previous week" + :date-picker/next-week "Date picker: Select next week" + :pdf/previous-page "Previous page of current pdf doc" + :pdf/next-page "Next page of current pdf doc" + :auto-complete/complete "Auto-complete: Choose selected item" + :auto-complete/prev "Auto-complete: Select previous item" + :auto-complete/next "Auto-complete: Select next item" + :auto-complete/shift-complete "Auto-complete: Open selected item in sidebar" + :auto-complete/open-link "Auto-complete: Open selected item in browser" + :cards/toggle-answers "Cards: show/hide answers/clozes" + :cards/next-card "Cards: next card" + :cards/forgotten "Cards: forgotten" + :cards/remembered "Cards: remembered" + :cards/recall "Cards: take a while to recall" + :editor/escape-editing "Escape editing" + :editor/backspace "Backspace / Delete backwards" + :editor/delete "Delete / Delete forwards" + :editor/new-block "Create new block" + :editor/new-line "New line in current block" + :editor/follow-link "Follow link under cursor" + :editor/open-link-in-sidebar "Open link in sidebar" + :editor/bold "Bold" + :editor/italics "Italics" + :editor/highlight "Highlight" + :editor/strike-through "Strikethrough" + :editor/clear-block "Delete entire block content" + :editor/kill-line-before "Delete line before cursor position" + :editor/kill-line-after "Delete line after cursor position" + :editor/beginning-of-block "Move cursor to the beginning of a block" + :editor/end-of-block "Move cursor to the end of a block" + :editor/forward-word "Move cursor forward a word" + :editor/backward-word "Move cursor backward a word" + :editor/forward-kill-word "Delete a word forwards" + :editor/backward-kill-word "Delete a word backwards" + :editor/replace-block-reference-at-point "Replace block reference with its content at point" + :editor/paste-text-in-one-block-at-point "Paste text into one block at point" + :editor/insert-youtube-timestamp "Insert youtube timestamp" + :editor/cycle-todo "Rotate the TODO state of the current item" + :editor/up "Move cursor up / Select up" + :editor/down "Move cursor down / Select down" + :editor/left "Move cursor left / Open selected block at beginning" + :editor/right "Move cursor right / Open selected block at end" + :editor/move-block-up "Move block up" + :editor/move-block-down "Move block down" + :editor/open-edit "Edit selected block" + :editor/select-block-up "Select block above" + :editor/select-block-down "Select block below" + :editor/delete-selection "Delete selected blocks" + :editor/expand-block-children "Expand" + :editor/collapse-block-children "Collapse" + :editor/indent "Indent block" + :editor/outdent "Outdent block" + :editor/copy "Copy (copies either selection, or block reference)" + :editor/cut "Cut" + :editor/undo "Undo" + :editor/redo "Redo" + :editor/insert-link "HTML Link" + :editor/select-all-blocks "Select all blocks" + :editor/zoom-in "Zoom in editing block / Forwards otherwise" + :editor/zoom-out "Zoom out editing block / Backwards otherwise" + :ui/toggle-brackets "Toggle whether to display brackets" + :go/search-in-page "Search in the current page" + :go/search "Full text search" + :go/journals "Go to journals" + :go/backward "Backwards" + :go/forward "Forwards" + :search/re-index "Rebuild search index" + :sidebar/open-today-page "Open today's page in the right sidebar" + :sidebar/clear "Clear all in the right sidebar" + :misc/copy "mod+c" + :command-palette/toggle "Toggle command palette" + :graph/open "Select graph to open" + :graph/remove "Remove a graph" + :graph/add "Add a graph" + :graph/save "Save current graph to disk" + :command/run "Run git command" + :go/home "Go to home" + :go/all-pages "Go to all pages" + :go/graph-view "Go to graph view" + :go/keyboard-shortcuts "Go to keyboard shortcuts" + :go/tomorrow "Go to tomorrow" + :go/next-journal "Go to next journal" + :go/prev-journal "Go to previous journal" + :go/flashcards "Toggle flashcards" + :ui/toggle-document-mode "Toggle document mode" + :ui/toggle-settings "Toggle settings" + :ui/toggle-right-sidebar "Toggle right sidebar" + :ui/toggle-left-sidebar "Toggle left sidebar" + :ui/toggle-help "Toggle help" + :ui/toggle-theme "Toggle between dark/light theme" + :ui/toggle-contents "Toggle Contents in sidebar" + :ui/open-new-window "Open another window" + :command/toggle-favorite "Add to/remove from favorites" + :editor/open-file-in-default-app "Open file in default app" + :editor/open-file-in-directory "Open file in parent directory" + :editor/copy-current-file "Copy current file" + :ui/toggle-wide-mode "Toggle wide mode" + :ui/select-theme-color "Select available theme colors" + :ui/goto-plugins "Go to plugins dashboard" + :editor/toggle-open-blocks "Toggle open blocks (collapse or expand all blocks)" + :ui/toggle-cards "Toggle cards" + :git/commit "Git commit message"}) - :de {:shortcut.category/formatting "Formatierung" - :command.editor/indent "Block einrücken" - :command.editor/outdent "Block ausrücken" - :command.editor/move-block-up "Block nach oben verschieben" - :command.editor/move-block-down "Block nach unten verschieben" - :command.editor/new-block "Neuen Block erstellen" - :command.editor/new-line "Neue Zeile innerhalb des Blocks erstellen" - :command.editor/zoom-in "Heranzoomen" - :command.editor/zoom-out "Herauszoomen" - :command.editor/follow-link "Link unter dem Cursor folgen" - :command.editor/open-link-in-sidebar "Link in Seitenleiste öffnen" - :command.editor/expand-block-children "Erweitern" - :command.editor/collapse-block-children "Zusammenklappen" - :command.editor/select-block-up "Block oberhalb auswählen" - :command.ui/toggle-help "Hilfe aktivieren" - :command.go/search "Volltextsuche" - :command.ui/toggle-document-mode "Dokumentenmodus umschalten" - :command.ui/toggle-theme "Umschalten zwischen dunklem/hellem Thema" - :command.ui/toggle-right-sidebar "Rechte Seitenleiste umschalten" - :command.go/journals "Zu Journalen springen" - :command.git/commit "Git Commit-Nachricht" - :command.editor/select-block-down "Block unterhalb auswählen" - :command.editor/select-all-blocks "Alle Blöcke auswählen"} +(def category + {:shortcut.category/basics "Basics" + :shortcut.category/formatting "Formatting" + :shortcut.category/navigating "Navigation" + :shortcut.category/block-editing "Block editing general" + :shortcut.category/block-command-editing "Block command editing" + :shortcut.category/block-selection "Block selection (press Esc to quit selection)" + :shortcut.category/toggle "Toggle" + :shortcut.category/others "Others"}) - :fr {:shortcut.category/formatting "Formats" - :command.editor/indent "Indenter un Bloc vers la droite" - :command.editor/outdent "Indenter un Bloc vers la gauche" - :command.editor/move-block-up "Déplacer un bloc au dessus" - :command.editor/move-block-down "Déplacer un bloc en dessous" - :command.editor/new-block "Créer un nouveau bloc" - :command.editor/new-line "Aller à la ligne dans un bloc" - :command.editor/zoom-in "Zoomer" - :command.editor/zoom-out "Dézoomer" - :command.editor/follow-link "Suivre le lien sous le curseur" - :command.editor/open-link-in-sidebar "Ouvrir le lien dans la barre latérale" - :command.editor/expand-block-children "Etendre" - :command.editor/collapse-block-children "Réduire" - :command.editor/select-block-up "Sélectionner le bloc au dessus" - :command.editor/select-block-down "Sélectionner le bloc en dessous" - :command.editor/select-all-blocks "Sélectionner tous les blocs" - :command.ui/toggle-help "Afficher l'aide" - :command.git/commit "Message de commit Git" - :command.go/search "Recherche globale dans le texte" - :command.ui/toggle-document-mode "Intervertir le mode document" - :command.ui/toggle-theme "Intervertir le thème foncé/clair" - :command.ui/toggle-right-sidebar "Afficher/cacher la barre latérale" - :command.go/journals "Aller au Journal"} +(def ^:large-vars/data-var dicts + {:en (merge + (medley/map-keys decorate-namespace all-default-keyboard-shortcuts) + category) + :zh-CN {:shortcut.category/formatting "格式化" + :shortcut.category/basics "基础操作" + :shortcut.category/navigating "移动" + :shortcut.category/block-editing "块编辑基本" + :shortcut.category/block-command-editing "块编辑文本操作" + :shortcut.category/block-selection "块选择操作" + :shortcut.category/toggle "切换" + :shortcut.category/others "其他" + :command.editor/indent "缩进块标签" + :command.editor/outdent "取消缩进块" + :command.editor/move-block-up "向上移动块" + :command.editor/move-block-down "向下移动块" + :command.editor/new-block "创建块" + :command.editor/new-line "块中新建行" + :command.editor/zoom-in "聚焦" + :command.editor/zoom-out "退出聚焦" + :command.editor/follow-link "跟随光标下的链接" + :command.editor/open-link-in-sidebar "在侧边栏打开" + :command.editor/expand-block-children "展开" + :command.editor/collapse-block-children "折叠" + :command.editor/select-block-up "选择上方的块" + :command.editor/select-block-down "选择下方的块" + :command.editor/select-all-blocks "选择所有块" + :command.ui/toggle-help "显示/关闭帮助" + :command.git/commit "提交消息" + :command.go/search "全文搜索" + :command.go/backward "回退" + :command.go/forward "前进" + :command.go/search-in-page "在当前页面搜索" + :command.ui/toggle-document-mode "切换文档模式" + :command.ui/toggle-contents "打开/关闭目录" + :command.ui/toggle-theme "在暗色/亮色主题之间切换" + :command.ui/toggle-right-sidebar "启用/关闭右侧栏" + :command.ui/toggle-settings "显示/关闭设置" + :command.go/journals "跳转到日记" + :command.ui/toggle-wide-mode "切换宽屏模式" + :command.ui/toggle-brackets "切换是否显示括号" + :command.search/re-index "重新建立搜索索引" + :command.editor/bold "粗体" + :command.editor/italics "斜体" + :command.editor/insert-link "Html 链接" + :command.editor/highlight "高亮" + :command.editor/undo "撤销" + :command.editor/redo "重做" + :command.editor/copy "复制" + :command.editor/cut "剪切" + :command.editor/up "向上移动光标 / 向上选择" + :command.editor/down "向下移动光标 / 向下选择" + :command.editor/left "向左移动光标 / 向左选择" + :command.editor/right "向右移动光标 / 向右选择" + :command.editor/backspace "向左删除" + :command.editor/delete "向右删除" + :command.editor/cycle-todo "切换TODO状态" + :command.editor/clear-block "清除块内容" + :command.editor/kill-line-before "删除光标右侧行" + :command.editor/kill-line-after "删除光标左侧行" + :command.editor/beginning-of-block "移动光标到块开始位置" + :command.editor/end-of-block "移动光标到块末尾" + :command.editor/forward-word "光标向后移动一个单词" + :command.editor/backward-word "光标向前移动一个单词" + :command.editor/forward-kill-word "向后删除一个单词" + :command.editor/backward-kill-word "向前删除一个单词" + :command.editor/open-edit "编辑选中块" + :command.editor/delete-selection "删除选中块" + :command.editor/toggle-open-blocks "切换折叠/展开所有块(非编辑状态)"} - :af {:shortcut.category/formatting "Formatering" - :command.editor/indent "Ingekeepte blok oortjie" - :command.editor/outdent "Oningekeepte blok" - :command.editor/move-block-up "Skuif Blok Boontoe" - :command.editor/move-block-down "Skuif Blok Ondertoe" - :command.editor/new-block "Skep 'n nuwe blok" - :command.editor/new-line "Nuwe lyn in blok" - :command.editor/zoom-in "Zoem in" - :command.editor/zoom-out "Zoem uit" - :command.editor/follow-link "Volg die skakel onder die wyser" - :command.editor/open-link-in-sidebar "Maak skakel in kantlys oop" - :command.editor/expand-block-children "Brei uit" - :command.editor/collapse-block-children "Vou in" - :command.editor/select-block-up "Kies blok bo" - :command.editor/select-block-down "Kies blok onder" - :command.editor/select-all-blocks "Kies alle blokke" - :command.ui/toggle-help "Wissel help" - :command.git/commit "Jou git stoor boodskap" - :command.go/search "Volteks soek" - :command.ui/toggle-document-mode "Wissel dokument modus" - :command.go/journals "Spring na joernale" - :command.ui/toggle-theme "Wissel tussen donker/lig temas" - :command.ui/toggle-right-sidebar "Wissel regter sybalk"} + :zh-Hant {:command.editor/indent "縮進塊標簽" + :command.editor/outdent "取消縮進塊" + :command.editor/move-block-up "向上移動塊" + :command.editor/move-block-down "向下移動塊" + :command.editor/new-block "創建塊" + :command.editor/new-line "塊中新建行" + :command.editor/zoom-in "聚焦" + :command.editor/zoom-out "推出聚焦" + :command.editor/follow-link "跟隨光標下的鏈接" + :command.editor/open-link-in-sidebar "在側邊欄打開" + :command.editor/expand-block-children "展開" + :command.editor/collapse-block-children "折疊" + :command.editor/select-block-up "選擇上方的塊" + :command.editor/select-block-down "選擇下方的塊" + :command.editor/select-all-blocks "選擇所有塊" + :command.ui/toggle-help "顯示/關閉幫助" + :command.git/commit "提交消息" + :command.go/search "全文搜索" + :command.ui/toggle-document-mode "切換文檔模式" + :command.ui/toggle-theme "“在暗色/亮色主題之間切換”" + :command.ui/toggle-right-sidebar "啟用/關閉右側欄" + :command.go/journals "跳轉到日記"} - :es {:shortcut.category/formatting "Formato" - :shortcut.category/basics "Básico" - :shortcut.category/navigating "Navegación" - :shortcut.category/block-editing "Edición de bloque general" - :shortcut.category/block-command-editing "Comandos edición de bloque" - :shortcut.category/block-selection "Selección de bloques (pulsar Esc para salir)" - :shortcut.category/toggle "Alternar" - :shortcut.category/others "Otros" - :command.editor/indent "Aumentar sangría" - :command.editor/outdent "Disminuir sangría" - :command.editor/move-block-up "Mover bloque arriba" - :command.editor/move-block-down "Mover bloque abajo" - :command.editor/new-block "Crear bloque nuevo" - :command.editor/new-line "Nueva linea en bloque" - :command.editor/zoom-in "Acercar / Adelante" - :command.editor/zoom-out "Alejar / Atrás" - :command.editor/follow-link "Seguir enlace bajo el cursor" - :command.editor/open-link-in-sidebar "Abrir enlace en barra lateral" - :command.editor/expand-block-children "Expandir" - :command.editor/collapse-block-children "Colapsar" - :command.editor/select-block-up "Seleccionar bloque de arriba" - :command.editor/select-block-down "Seleccionar bloque de abajo" - :command.editor/select-all-blocks "Seleccionar todos los bloques" - :command.ui/toggle-help "Alternar ayuda" - :command.git/commit "Confirmar" - :command.go/search "Buscar en el grafo" - :command.go/search-in-page "Buscar en la página actual" - :command.ui/toggle-document-mode "Alternar modo documento" - :command.ui/toggle-contents "Alternar Contenido en barra lateral" - :command.ui/toggle-theme "Alternar entre tema claro/oscuro" - :command.ui/toggle-right-sidebar "Alternar barra lateral" - :command.ui/toggle-settings "Alternar Opciones" - :command.go/journals "Ir a los diarios" - :command.ui/toggle-wide-mode "Alternar modo ancho" - :command.ui/toggle-brackets "Alternar corchetes" - :command.search/re-index "Reconstruir índice de búsqueda" - :command.editor/bold "Negrita" - :command.editor/italics "Cursiva" - :command.editor/insert-link "Enlace html" - :command.editor/highlight "Resaltado" - :command.editor/undo "Deshacer" - :command.editor/redo "Rehacer" - :command.editor/copy "Copiar" - :command.editor/cut "Pegar" - :command.editor/up "Mover cursor arriba / Seleccionar arriba" - :command.editor/down "Mover cursor abajo / Seleccionar abajo" - :command.editor/left "Mover cursor a la izquierda / Abrir bloque seleccionado al inicio" - :command.editor/right "Mover cursor a la derecha / Abrir bloque seleccionado al final" - :command.editor/backspace "Retroceso / Eliminar hacia atrás" - :command.editor/delete "Suprimir / Eliminar hacia delante" - :command.editor/cycle-todo "Rotar estado TODO del elemento" - :command.editor/clear-block "Borrar contenido del bloque" - :command.editor/kill-line-before "Borrar linea antes del cursor" - :command.editor/kill-line-after "Borrar linea despues del cursor" - :command.editor/beginning-of-block "Mover cursor al inicio del bloque" - :command.editor/end-of-block "Mover cursor al final del bloque" - :command.editor/forward-word "Mover cursor una palabra adelante" - :command.editor/backward-word "Mover cursor una palabra atrás" - :command.editor/forward-kill-word "Borrar palabra posterior" - :command.editor/backward-kill-word "Borrar palabra anterior" - :command.editor/open-edit "Editar bloque seleccionado" - :command.editor/delete-selection "Eliminar bloques seleccionados" - :command.editor/toggle-open-blocks "Alternar bloques abieros, (colapsar o expandir todos)"} + :de {:shortcut.category/formatting "Formatierung" + :command.editor/indent "Block einrücken" + :command.editor/outdent "Block ausrücken" + :command.editor/move-block-up "Block nach oben verschieben" + :command.editor/move-block-down "Block nach unten verschieben" + :command.editor/new-block "Neuen Block erstellen" + :command.editor/new-line "Neue Zeile innerhalb des Blocks erstellen" + :command.editor/zoom-in "Heranzoomen" + :command.editor/zoom-out "Herauszoomen" + :command.editor/follow-link "Link unter dem Cursor folgen" + :command.editor/open-link-in-sidebar "Link in Seitenleiste öffnen" + :command.editor/expand-block-children "Erweitern" + :command.editor/collapse-block-children "Zusammenklappen" + :command.editor/select-block-up "Block oberhalb auswählen" + :command.ui/toggle-help "Hilfe aktivieren" + :command.go/search "Volltextsuche" + :command.ui/toggle-document-mode "Dokumentenmodus umschalten" + :command.ui/toggle-theme "Umschalten zwischen dunklem/hellem Thema" + :command.ui/toggle-right-sidebar "Rechte Seitenleiste umschalten" + :command.go/journals "Zu Journalen springen" + :command.git/commit "Git Commit-Nachricht" + :command.editor/select-block-down "Block unterhalb auswählen" + :command.editor/select-all-blocks "Alle Blöcke auswählen"} - :ru {:shortcut.category/formatting "Форматирование" - :shortcut.category/basics "Базовые" - :shortcut.category/navigating "Навигация" - :shortcut.category/block-editing "Общее редактирование блока" - :shortcut.category/block-command-editing "Команды редактирования блока" - :shortcut.category/block-selection "Выделение блоков (нажмите Esc для снятия выделения)" - :shortcut.category/toggle "Переключатели" - :shortcut.category/others "Разное" - :command.editor/indent "Увеличить отступ" - :command.editor/outdent "Уменьшить отступ" - :command.editor/move-block-up "Передвинуть блок выше" - :command.editor/move-block-down "Передвинуть блок ниже" - :command.editor/new-block "Создать новый блок" - :command.editor/new-line "Новая строка в блоке" - :command.editor/zoom-in "Увеличить / Вперед" - :command.editor/zoom-out "Уменьшить / Назад" - :command.editor/follow-link "Перейти по ссылке под курсором" - :command.editor/open-link-in-sidebar "Открыть ссылку в боковой панели" - :command.editor/expand-block-children "Раскрыть" - :command.editor/collapse-block-children "Свернуть" - :command.editor/select-block-up "Выбрать блок выше" - :command.editor/select-block-down "Выбрать блок ниже" - :command.editor/select-all-blocks "Выбрать все блоки" - :command.ui/toggle-help "Переключить помощь" - :command.git/commit "Подтвердить" - :command.go/search "Искать на графе" - :command.go/search-in-page "Искать на текущей странице" - :command.ui/toggle-document-mode "Переключить режи документа" - :command.ui/toggle-contents "Переключить контент на боковой панели" - :command.ui/toggle-theme "Переключение между светлой / темной темой" - :command.ui/toggle-right-sidebar "Переключить боковую панель" - :command.ui/toggle-settings "Переключить параметры" - :command.go/journals "Перейти в Дневники" - :command.ui/toggle-wide-mode "Переключить широкоформатный режим" - :command.ui/toggle-brackets "Переключить скобки" - :command.search/re-index "Восстановить индекс поиска" - :command.editor/bold "Жирный" - :command.editor/italics "Курсив" - :command.editor/insert-link "HTML ссылка" - :command.editor/highlight "Выделение" - :command.editor/undo "Отменить" - :command.editor/redo "Вернуть" - :command.editor/copy "Копировать" - :command.editor/cut "Вырезать" - :command.editor/up "Переместить курсор вверх / Выбрать вверх" - :command.editor/down "Переместить курсор вниз / Выбрать вниз" - :command.editor/left "Переместить курсор влево / Открыть выбранный блок в начале" - :command.editor/right "Переместить курсор вправо / Открыть выбранный блок в конце" - :command.editor/backspace "Удалить перед курсором" - :command.editor/delete "Удалить после курсора" - :command.editor/cycle-todo "Переключить состояние элемента TODO" - :command.editor/clear-block "Удалить содержимое блока" - :command.editor/kill-line-before "Удалить строку до курсора" - :command.editor/kill-line-after "Удалить строку после курсора" - :command.editor/beginning-of-block "Переместите курсор в начало блока" - :command.editor/end-of-block "Переместите курсор в конец блока" - :command.editor/forward-word "Переместить курсор на одно слово вперед" - :command.editor/backward-word "Переместить курсор на одно слово назад" - :command.editor/forward-kill-word "Удалить следующее слово" - :command.editor/backward-kill-word "Удалить предыдущее слово" - :command.editor/open-edit "Редактировать выбранный блок" - :command.editor/delete-selection "Удалить выбранные блоки" - :command.editor/toggle-open-blocks "Переключить открытые блоки (свернуть или развернуть все)"} + :fr {:shortcut.category/formatting "Formats" + :command.editor/indent "Indenter un Bloc vers la droite" + :command.editor/outdent "Indenter un Bloc vers la gauche" + :command.editor/move-block-up "Déplacer un bloc au dessus" + :command.editor/move-block-down "Déplacer un bloc en dessous" + :command.editor/new-block "Créer un nouveau bloc" + :command.editor/new-line "Aller à la ligne dans un bloc" + :command.editor/zoom-in "Zoomer" + :command.editor/zoom-out "Dézoomer" + :command.editor/follow-link "Suivre le lien sous le curseur" + :command.editor/open-link-in-sidebar "Ouvrir le lien dans la barre latérale" + :command.editor/expand-block-children "Etendre" + :command.editor/collapse-block-children "Réduire" + :command.editor/select-block-up "Sélectionner le bloc au dessus" + :command.editor/select-block-down "Sélectionner le bloc en dessous" + :command.editor/select-all-blocks "Sélectionner tous les blocs" + :command.ui/toggle-help "Afficher l'aide" + :command.git/commit "Message de commit Git" + :command.go/search "Recherche globale dans le texte" + :command.ui/toggle-document-mode "Intervertir le mode document" + :command.ui/toggle-theme "Intervertir le thème foncé/clair" + :command.ui/toggle-right-sidebar "Afficher/cacher la barre latérale" + :command.go/journals "Aller au Journal"} - :nb-NO {:shortcut.category/formatting "Formatering" - :shortcut.category/basics "Basis" - :shortcut.category/navigating "Navigasjon" - :shortcut.category/block-editing "Blokkredigering generelt" - :shortcut.category/block-command-editing "Blokkredigering kommandoer" - :shortcut.category/block-selection "Blokkseleksjon (trykk ESC for å avslutte)" - :shortcut.category/toggle "Veksling" - :shortcut.category/others "Annet" - :command.editor/indent "Innrykk inn" - :command.editor/outdent "Innrykk ut" - :command.editor/move-block-up "Flytt blokk opp" - :command.editor/move-block-down "Flytt blokk ned" - :command.editor/new-block "Opprett ny blokk" - :command.editor/new-line "Ny linje i nåværende blokk" - :command.editor/zoom-in "Zoom inn / Fremover" - :command.editor/zoom-out "Zoom ut / Tilbake" - :command.editor/follow-link "Følg lenke under markøren" - :command.editor/open-link-in-sidebar "Åpne lenke i sidestolpe" - :command.editor/expand-block-children "Utvid" - :command.editor/collapse-block-children "Slå sammen" - :command.editor/select-block-up "Velg blokk over" - :command.editor/select-block-down "Velg blokk under" - :command.editor/select-all-blocks "Velg alle blokker" - :command.ui/toggle-help "Vis hjelp" - :command.git/commit "Git commit beskjed" - :command.go/search "Fulltekst søk" - :command.go/search-in-page "Søk på nåværende side" - :command.ui/toggle-document-mode "Aktiver dokumentmodus" - :command.ui/toggle-contents "Åpne favoritter i sidestolpen" - :command.ui/toggle-theme "Veksle mellom lyst og mørkt tema" - :command.ui/toggle-left-sidebar "Aktiver venstre sidestolpe" - :command.ui/toggle-right-sidebar "Aktiver høyre sidestolpe" - :command.ui/toggle-settings "Åpne innstillinger" - :command.go/journals "Gå til dagbok" - :command.ui/toggle-wide-mode "Aktiver vid-modus" - :command.ui/toggle-brackets "Aktiver vising av klammer" - :command.search/re-index "Gjenoppbygg søkeindeks" - :command.editor/bold "Fet" - :command.editor/italics "Kursiv" - :command.editor/insert-link "HTML lenke" - :command.editor/highlight "Markering" - :command.editor/undo "Angre" - :command.editor/redo "Gjør om" - :command.editor/copy "Kopier" - :command.editor/cut "Klipp ut" - :command.editor/up "Flytt markøren opp / Velg opp" - :command.editor/down "Flytt markøren ned / Velg ned" - :command.editor/left "Flytt markøren til venstre / Åpne valgt blokk på begynnelsen" - :command.editor/right "Flytt markøren til høyre / Åpne valgt blokk på slutten" - :command.editor/backspace "Backspace / Slett bakover" - :command.editor/delete "Delete / Slett forover" - :command.editor/cycle-todo "Veksle TODO status for valg linje" - :command.editor/clear-block "Slett alt innhold i blokken" - :command.editor/kill-line-before "Slett linje foran markøren" - :command.editor/kill-line-after "Slett linsje etter markøren" - :command.editor/beginning-of-block "Flytt markøren til begynnelsen av blokken" - :command.editor/end-of-block "Flytt markøren til slutten av blokken" - :command.editor/forward-word "Flytt markøren frem ett ord" - :command.editor/backward-word "Flytt markøren bakover ett ord" - :command.editor/forward-kill-word "Slett ett ord forover" - :command.editor/backward-kill-word "Slett ett ord bakover" - :command.editor/open-edit "Rediger valgt blokk" - :command.editor/delete-selection "Slett valgte blokker" - :command.editor/toggle-open-blocks "Veksle åpne blokker (slå sammen eller utvid alle blokker)"} + :af {:shortcut.category/formatting "Formatering" + :command.editor/indent "Ingekeepte blok oortjie" + :command.editor/outdent "Oningekeepte blok" + :command.editor/move-block-up "Skuif Blok Boontoe" + :command.editor/move-block-down "Skuif Blok Ondertoe" + :command.editor/new-block "Skep 'n nuwe blok" + :command.editor/new-line "Nuwe lyn in blok" + :command.editor/zoom-in "Zoem in" + :command.editor/zoom-out "Zoem uit" + :command.editor/follow-link "Volg die skakel onder die wyser" + :command.editor/open-link-in-sidebar "Maak skakel in kantlys oop" + :command.editor/expand-block-children "Brei uit" + :command.editor/collapse-block-children "Vou in" + :command.editor/select-block-up "Kies blok bo" + :command.editor/select-block-down "Kies blok onder" + :command.editor/select-all-blocks "Kies alle blokke" + :command.ui/toggle-help "Wissel help" + :command.git/commit "Jou git stoor boodskap" + :command.go/search "Volteks soek" + :command.ui/toggle-document-mode "Wissel dokument modus" + :command.go/journals "Spring na joernale" + :command.ui/toggle-theme "Wissel tussen donker/lig temas" + :command.ui/toggle-right-sidebar "Wissel regter sybalk"} - :pt-PT {:shortcut.category/formatting "Formatação" - :shortcut.category/basics "Básico" - :shortcut.category/navigating "Navegação" - :shortcut.category/block-editing "Edição geral de blocos" - :shortcut.category/block-command-editing "Comandos de edição de blocos" - :shortcut.category/block-selection "Seleção de blocos (premir Esc para sair)" - :shortcut.category/toggle "Alternar" - :shortcut.category/others "Outros" - :command.editor/indent "Aumentar avanço de parágrafo" - :command.editor/outdent "Diminuir avanço de parágrafo" - :command.editor/move-block-up "Mover bloco para cima" - :command.editor/move-block-down "Mover bloco para baixo" - :command.editor/new-block "Criar novo bloco" - :command.editor/new-line "Nova linha no bloco actual" - :command.editor/zoom-in "Aproximar / Para a frente" - :command.editor/zoom-out "Afastar / Para trás" - :command.editor/follow-link "Seguir ligação sob o cursor" - :command.editor/open-link-in-sidebar "Abrir ligação na barra lateral" - :command.editor/expand-block-children "Expandir" - :command.editor/collapse-block-children "Colapsar" - :command.editor/select-block-up "Selecionar bloco acima" - :command.editor/select-block-down "Selecionar bloco abaixo" - :command.editor/select-all-blocks "Selecionar todos os blocos" - :command.ui/toggle-help "Alternar ajuda" - :command.git/commit "Confirmar" - :command.go/search "Pesquisar no grafo" - :command.go/search-in-page "Pesquisar na página atual" - :command.ui/toggle-document-mode "Alternar modo de documento" - :command.ui/toggle-contents "Alternar Conteúdo na barra lateral" - :command.ui/toggle-theme "Alternar entre tema claro/escuro" - :command.ui/toggle-right-sidebar "Alternar barra lateral" - :command.ui/toggle-settings "Alternar Opções" - :command.go/journals "Ir para diários" - :command.ui/toggle-wide-mode "Alternar modo de ecrã amplo" - :command.ui/toggle-brackets "Alternar parênteses rectos" - :command.search/re-index "Reconstruir índice de pesquisa" - :command.editor/bold "Negrito" - :command.editor/italics "Itálico" - :command.editor/insert-link "Inserir ligação html" - :command.editor/highlight "Realçado" - :command.editor/undo "Desfazer" - :command.editor/redo "Refazer" - :command.editor/copy "Copiar" - :command.editor/cut "Cortar" - :command.editor/up "Mover cursor para cima / Selecionar para cima" - :command.editor/down "Mover cursor para baixo / Selecionar para baixo" - :command.editor/left "Mover cursor para a esquerda / Abrir bloco selecionado no início" - :command.editor/right "Mover cursor para a direita / Abrir bloco selecionado no final" - :command.editor/backspace "Retroceder / Eliminar para atrás" - :command.editor/delete "Apagar / Eliminar para a frente" - :command.editor/cycle-todo "Alternar estado TODO do elemento" - :command.editor/clear-block "Apagar conteúdo do bloco" - :command.editor/kill-line-before "Apagar linha antes do cursor" - :command.editor/kill-line-after "Apagar linha depois do cursor" - :command.editor/beginning-of-block "Mover o cursor para o início do bloco" - :command.editor/end-of-block "Mover o cursor para o fim do bloco" - :command.editor/forward-word "Mover o cursor para a próxima palavra" - :command.editor/backward-word "Mover o cursor para a palavra anterior" - :command.editor/forward-kill-word "Apagar a próxima palavra" - :command.editor/backward-kill-word "Apagar a palavra anterior" - :command.editor/open-edit "Editar bloco selecionado" - :command.editor/delete-selection "Eliminar blocos selecionados" - :command.editor/toggle-open-blocks "Alternar blocos abertos (colapsar ou expandir todos)"} + :es {:shortcut.category/formatting "Formato" + :shortcut.category/basics "Básico" + :shortcut.category/navigating "Navegación" + :shortcut.category/block-editing "Edición de bloque general" + :shortcut.category/block-command-editing "Comandos edición de bloque" + :shortcut.category/block-selection "Selección de bloques (pulsar Esc para salir)" + :shortcut.category/toggle "Alternar" + :shortcut.category/others "Otros" + :command.editor/indent "Aumentar sangría" + :command.editor/outdent "Disminuir sangría" + :command.editor/move-block-up "Mover bloque arriba" + :command.editor/move-block-down "Mover bloque abajo" + :command.editor/new-block "Crear bloque nuevo" + :command.editor/new-line "Nueva linea en bloque" + :command.editor/zoom-in "Acercar / Adelante" + :command.editor/zoom-out "Alejar / Atrás" + :command.editor/follow-link "Seguir enlace bajo el cursor" + :command.editor/open-link-in-sidebar "Abrir enlace en barra lateral" + :command.editor/expand-block-children "Expandir" + :command.editor/collapse-block-children "Colapsar" + :command.editor/select-block-up "Seleccionar bloque de arriba" + :command.editor/select-block-down "Seleccionar bloque de abajo" + :command.editor/select-all-blocks "Seleccionar todos los bloques" + :command.ui/toggle-help "Alternar ayuda" + :command.git/commit "Confirmar" + :command.go/search "Buscar en el grafo" + :command.go/search-in-page "Buscar en la página actual" + :command.ui/toggle-document-mode "Alternar modo documento" + :command.ui/toggle-contents "Alternar Contenido en barra lateral" + :command.ui/toggle-theme "Alternar entre tema claro/oscuro" + :command.ui/toggle-right-sidebar "Alternar barra lateral" + :command.ui/toggle-settings "Alternar Opciones" + :command.go/journals "Ir a los diarios" + :command.ui/toggle-wide-mode "Alternar modo ancho" + :command.ui/toggle-brackets "Alternar corchetes" + :command.search/re-index "Reconstruir índice de búsqueda" + :command.editor/bold "Negrita" + :command.editor/italics "Cursiva" + :command.editor/insert-link "Enlace html" + :command.editor/highlight "Resaltado" + :command.editor/undo "Deshacer" + :command.editor/redo "Rehacer" + :command.editor/copy "Copiar" + :command.editor/cut "Pegar" + :command.editor/up "Mover cursor arriba / Seleccionar arriba" + :command.editor/down "Mover cursor abajo / Seleccionar abajo" + :command.editor/left "Mover cursor a la izquierda / Abrir bloque seleccionado al inicio" + :command.editor/right "Mover cursor a la derecha / Abrir bloque seleccionado al final" + :command.editor/backspace "Retroceso / Eliminar hacia atrás" + :command.editor/delete "Suprimir / Eliminar hacia delante" + :command.editor/cycle-todo "Rotar estado TODO del elemento" + :command.editor/clear-block "Borrar contenido del bloque" + :command.editor/kill-line-before "Borrar linea antes del cursor" + :command.editor/kill-line-after "Borrar linea despues del cursor" + :command.editor/beginning-of-block "Mover cursor al inicio del bloque" + :command.editor/end-of-block "Mover cursor al final del bloque" + :command.editor/forward-word "Mover cursor una palabra adelante" + :command.editor/backward-word "Mover cursor una palabra atrás" + :command.editor/forward-kill-word "Borrar palabra posterior" + :command.editor/backward-kill-word "Borrar palabra anterior" + :command.editor/open-edit "Editar bloque seleccionado" + :command.editor/delete-selection "Eliminar bloques seleccionados" + :command.editor/toggle-open-blocks "Alternar bloques abieros, (colapsar o expandir todos)"} - :pt-BR {:shortcut.category/formatting "Formatação" - :shortcut.category/basics "Básico" - :shortcut.category/navigating "Navegação" - :shortcut.category/block-editing "Edição geral de blocos" - :shortcut.category/block-command-editing "Comandos de edição de blocos" - :shortcut.category/block-selection "Seleção de blocos (aperte Esc para sair)" - :shortcut.category/toggle "Alternar" - :shortcut.category/others "Outros" - :command.editor/indent "Aumentar avanço de parágrafo" - :command.editor/outdent "Diminuir avanço de parágrafo" - :command.editor/move-block-up "Mover bloco para cima" - :command.editor/move-block-down "Mover bloco para baixo" - :command.editor/new-block "Criar novo bloco" - :command.editor/new-line "Nova linha no bloco actual" - :command.editor/zoom-in "Aproximar / Para a frente" - :command.editor/zoom-out "Afastar / Para trás" - :command.editor/follow-link "Seguir ligação sob o cursor" - :command.editor/open-link-in-sidebar "Abrir ligação na barra lateral" - :command.editor/expand-block-children "Expandir" - :command.editor/collapse-block-children "Recolher" - :command.editor/select-block-up "Selecionar bloco acima" - :command.editor/select-block-down "Selecionar bloco abaixo" - :command.editor/select-all-blocks "Selecionar todos os blocos" - :command.ui/toggle-help "Alternar ajuda" - :command.git/commit "Confirmar" - :command.go/search "Pesquisar no grafo" - :command.go/search-in-page "Pesquisar na página atual" - :command.ui/toggle-document-mode "Alternar modo de documento" - :command.ui/toggle-contents "Alternar Conteúdo na barra lateral" - :command.ui/toggle-theme "Alternar entre tema claro/escuro" - :command.ui/toggle-right-sidebar "Alternar barra lateral" - :command.ui/toggle-settings "Alternar Opções" - :command.go/journals "Ir para diários" - :command.ui/toggle-wide-mode "Alternar largura extendida" - :command.ui/toggle-brackets "Alternar colchetes" - :command.search/re-index "Reconstruir índice de pesquisa" - :command.editor/bold "Negrito" - :command.editor/italics "Itálico" - :command.editor/insert-link "Inserir vínculo" - :command.editor/highlight "Realçado" - :command.editor/undo "Desfazer" - :command.editor/redo "Refazer" - :command.editor/copy "Copiar" - :command.editor/cut "Cortar" - :command.editor/up "Mover cursor para cima / Selecionar para cima" - :command.editor/down "Mover cursor para baixo / Selecionar para baixo" - :command.editor/left "Mover cursor para a esquerda / Abrir bloco selecionado no início" - :command.editor/right "Mover cursor para a direita / Abrir bloco selecionado no final" - :command.editor/backspace "Retroceder / Eliminar para trás" - :command.editor/delete "Deletar / Eliminar para frente" - :command.editor/cycle-todo "Alternar estado A FAZER do elemento" - :command.editor/clear-block "Apagar conteúdo do bloco" - :command.editor/kill-line-before "Apagar linha antes do cursor" - :command.editor/kill-line-after "Apagar linha depois do cursor" - :command.editor/beginning-of-block "Mover o cursor para o início do bloco" - :command.editor/end-of-block "Mover o cursor para o fim do bloco" - :command.editor/forward-word "Mover o cursor para a próxima palavra" - :command.editor/backward-word "Mover o cursor para a palavra anterior" - :command.editor/forward-kill-word "Apagar a próxima palavra" - :command.editor/backward-kill-word "Apagar a palavra anterior" - :command.editor/open-edit "Editar bloco selecionado" - :command.editor/delete-selection "Eliminar blocos selecionados" - :command.editor/toggle-open-blocks "Alternar blocos abertos (recolher ou expandir todos)" - :command.auto-complete/complete "Auto-completar: Escolha o item selecionado" - :command.auto-complete/next "Auto-completar: Selecione o próximo item" - :command.auto-complete/prev "Auto-completar: Selecione o item anterior" - :command.auto-complete/shift-complete "Auto-completar: Abra o item selecionado na barra lateral" - :command.cards/forgotten "Cartas: Esquecido" - :command.cards/next-card "Cartas: Próxima carta" - :command.cards/recall "Cartas: Demorar um pouco para lembrar" - :command.cards/remembered "Cartas: Relembrado" - :command.cards/toggle-answers "Cartas: mostrar/esconder as respostas/clozes" - :command.command/toggle-favorite "Adicionar para/remover dos favoritos" - :command.command-palette/toggle "Editar atalhos" - :command.date-picker/complete "Pegar data: Escolha o dia selecionado" - :command.date-picker/next-day "Pegar data: Selecione o próximo dia" - :command.date-picker/next-week "Pegar data: Selecione a próxima semana" - :command.date-picker/prev-day "Pegar data: Selecione o dia anterior" - :command.date-picker/prev-week "Pegar data: Selecione a semana anterior" - :command.editor/escape-editing "Sair da edição" - :command.editor/insert-youtube-timestamp "Inserir timestamp do youtube" - :command.editor/paste-text-in-one-block-at-point "Colar texto em um bloco no ponto" - :command.editor/replace-block-reference-at-point "Substitua a referência do bloco pelo seu conteúdo no ponto" - :command.editor/strike-through "Tachar" - :command.go/all-pages "Ir para todas as páginas" - :command.go/backward "Voltar" - :command.go/flashcards "Trocar flashcards" - :command.go/forward "Avançar" - :command.go/graph-view "Ir para o gráfico" - :command.go/home "Volar para o inicio" - :command.go/keyboard-shortcuts "Ir para os atalhos do teclado" - :command.go/next-journal "Ir ao proximo jornal" - :command.go/prev-journal "Ir ao jornal anterior" - :command.go/tomorrow "Ir para amanhã" - :command.graph/add "Adicionar um gráfico" - :command.graph/open "Selecionar gráfico para abrir" - :command.graph/remove "Remover um gráfico" - :command.pdf/next-page "Próxima página do atual pdf doc" - :command.pdf/previous-page "Página anterior do atual pdf doc" - :command.sidebar/clear "Limpar tudo da barra lateral direita" - :command.sidebar/open-today-page "Abrir a página de hoje na barra lateral direita" - :command.ui/select-theme-color "Selecionar as cores do tema disponível" - :command.ui/toggle-cards "Trocar cartas" - :command.ui/toggle-left-sidebar "Trocar barra lateral esquerda"}})) + :ru {:shortcut.category/formatting "Форматирование" + :shortcut.category/basics "Базовые" + :shortcut.category/navigating "Навигация" + :shortcut.category/block-editing "Общее редактирование блока" + :shortcut.category/block-command-editing "Команды редактирования блока" + :shortcut.category/block-selection "Выделение блоков (нажмите Esc для снятия выделения)" + :shortcut.category/toggle "Переключатели" + :shortcut.category/others "Разное" + :command.editor/indent "Увеличить отступ" + :command.editor/outdent "Уменьшить отступ" + :command.editor/move-block-up "Передвинуть блок выше" + :command.editor/move-block-down "Передвинуть блок ниже" + :command.editor/new-block "Создать новый блок" + :command.editor/new-line "Новая строка в блоке" + :command.editor/zoom-in "Увеличить / Вперед" + :command.editor/zoom-out "Уменьшить / Назад" + :command.editor/follow-link "Перейти по ссылке под курсором" + :command.editor/open-link-in-sidebar "Открыть ссылку в боковой панели" + :command.editor/expand-block-children "Раскрыть" + :command.editor/collapse-block-children "Свернуть" + :command.editor/select-block-up "Выбрать блок выше" + :command.editor/select-block-down "Выбрать блок ниже" + :command.editor/select-all-blocks "Выбрать все блоки" + :command.ui/toggle-help "Переключить помощь" + :command.git/commit "Подтвердить" + :command.go/search "Искать на графе" + :command.go/search-in-page "Искать на текущей странице" + :command.ui/toggle-document-mode "Переключить режи документа" + :command.ui/toggle-contents "Переключить контент на боковой панели" + :command.ui/toggle-theme "Переключение между светлой / темной темой" + :command.ui/toggle-right-sidebar "Переключить боковую панель" + :command.ui/toggle-settings "Переключить параметры" + :command.go/journals "Перейти в Дневники" + :command.ui/toggle-wide-mode "Переключить широкоформатный режим" + :command.ui/toggle-brackets "Переключить скобки" + :command.search/re-index "Восстановить индекс поиска" + :command.editor/bold "Жирный" + :command.editor/italics "Курсив" + :command.editor/insert-link "HTML ссылка" + :command.editor/highlight "Выделение" + :command.editor/undo "Отменить" + :command.editor/redo "Вернуть" + :command.editor/copy "Копировать" + :command.editor/cut "Вырезать" + :command.editor/up "Переместить курсор вверх / Выбрать вверх" + :command.editor/down "Переместить курсор вниз / Выбрать вниз" + :command.editor/left "Переместить курсор влево / Открыть выбранный блок в начале" + :command.editor/right "Переместить курсор вправо / Открыть выбранный блок в конце" + :command.editor/backspace "Удалить перед курсором" + :command.editor/delete "Удалить после курсора" + :command.editor/cycle-todo "Переключить состояние элемента TODO" + :command.editor/clear-block "Удалить содержимое блока" + :command.editor/kill-line-before "Удалить строку до курсора" + :command.editor/kill-line-after "Удалить строку после курсора" + :command.editor/beginning-of-block "Переместите курсор в начало блока" + :command.editor/end-of-block "Переместите курсор в конец блока" + :command.editor/forward-word "Переместить курсор на одно слово вперед" + :command.editor/backward-word "Переместить курсор на одно слово назад" + :command.editor/forward-kill-word "Удалить следующее слово" + :command.editor/backward-kill-word "Удалить предыдущее слово" + :command.editor/open-edit "Редактировать выбранный блок" + :command.editor/delete-selection "Удалить выбранные блоки" + :command.editor/toggle-open-blocks "Переключить открытые блоки (свернуть или развернуть все)"} + + :nb-NO {:shortcut.category/formatting "Formatering" + :shortcut.category/basics "Basis" + :shortcut.category/navigating "Navigasjon" + :shortcut.category/block-editing "Blokkredigering generelt" + :shortcut.category/block-command-editing "Blokkredigering kommandoer" + :shortcut.category/block-selection "Blokkseleksjon (trykk ESC for å avslutte)" + :shortcut.category/toggle "Veksling" + :shortcut.category/others "Annet" + :command.editor/indent "Innrykk inn" + :command.editor/outdent "Innrykk ut" + :command.editor/move-block-up "Flytt blokk opp" + :command.editor/move-block-down "Flytt blokk ned" + :command.editor/new-block "Opprett ny blokk" + :command.editor/new-line "Ny linje i nåværende blokk" + :command.editor/zoom-in "Zoom inn / Fremover" + :command.editor/zoom-out "Zoom ut / Tilbake" + :command.editor/follow-link "Følg lenke under markøren" + :command.editor/open-link-in-sidebar "Åpne lenke i sidestolpe" + :command.editor/expand-block-children "Utvid" + :command.editor/collapse-block-children "Slå sammen" + :command.editor/select-block-up "Velg blokk over" + :command.editor/select-block-down "Velg blokk under" + :command.editor/select-all-blocks "Velg alle blokker" + :command.ui/toggle-help "Vis hjelp" + :command.git/commit "Git commit beskjed" + :command.go/search "Fulltekst søk" + :command.go/search-in-page "Søk på nåværende side" + :command.ui/toggle-document-mode "Aktiver dokumentmodus" + :command.ui/toggle-contents "Åpne favoritter i sidestolpen" + :command.ui/toggle-theme "Veksle mellom lyst og mørkt tema" + :command.ui/toggle-left-sidebar "Aktiver venstre sidestolpe" + :command.ui/toggle-right-sidebar "Aktiver høyre sidestolpe" + :command.ui/toggle-settings "Åpne innstillinger" + :command.go/journals "Gå til dagbok" + :command.ui/toggle-wide-mode "Aktiver vid-modus" + :command.ui/toggle-brackets "Aktiver vising av klammer" + :command.search/re-index "Gjenoppbygg søkeindeks" + :command.editor/bold "Fet" + :command.editor/italics "Kursiv" + :command.editor/insert-link "HTML lenke" + :command.editor/highlight "Markering" + :command.editor/undo "Angre" + :command.editor/redo "Gjør om" + :command.editor/copy "Kopier" + :command.editor/cut "Klipp ut" + :command.editor/up "Flytt markøren opp / Velg opp" + :command.editor/down "Flytt markøren ned / Velg ned" + :command.editor/left "Flytt markøren til venstre / Åpne valgt blokk på begynnelsen" + :command.editor/right "Flytt markøren til høyre / Åpne valgt blokk på slutten" + :command.editor/backspace "Backspace / Slett bakover" + :command.editor/delete "Delete / Slett forover" + :command.editor/cycle-todo "Veksle TODO status for valg linje" + :command.editor/clear-block "Slett alt innhold i blokken" + :command.editor/kill-line-before "Slett linje foran markøren" + :command.editor/kill-line-after "Slett linsje etter markøren" + :command.editor/beginning-of-block "Flytt markøren til begynnelsen av blokken" + :command.editor/end-of-block "Flytt markøren til slutten av blokken" + :command.editor/forward-word "Flytt markøren frem ett ord" + :command.editor/backward-word "Flytt markøren bakover ett ord" + :command.editor/forward-kill-word "Slett ett ord forover" + :command.editor/backward-kill-word "Slett ett ord bakover" + :command.editor/open-edit "Rediger valgt blokk" + :command.editor/delete-selection "Slett valgte blokker" + :command.editor/toggle-open-blocks "Veksle åpne blokker (slå sammen eller utvid alle blokker)"} + + :pt-PT {:shortcut.category/formatting "Formatação" + :shortcut.category/basics "Básico" + :shortcut.category/navigating "Navegação" + :shortcut.category/block-editing "Edição geral de blocos" + :shortcut.category/block-command-editing "Comandos de edição de blocos" + :shortcut.category/block-selection "Seleção de blocos (premir Esc para sair)" + :shortcut.category/toggle "Alternar" + :shortcut.category/others "Outros" + :command.editor/indent "Aumentar avanço de parágrafo" + :command.editor/outdent "Diminuir avanço de parágrafo" + :command.editor/move-block-up "Mover bloco para cima" + :command.editor/move-block-down "Mover bloco para baixo" + :command.editor/new-block "Criar novo bloco" + :command.editor/new-line "Nova linha no bloco actual" + :command.editor/zoom-in "Aproximar / Para a frente" + :command.editor/zoom-out "Afastar / Para trás" + :command.editor/follow-link "Seguir ligação sob o cursor" + :command.editor/open-link-in-sidebar "Abrir ligação na barra lateral" + :command.editor/expand-block-children "Expandir" + :command.editor/collapse-block-children "Colapsar" + :command.editor/select-block-up "Selecionar bloco acima" + :command.editor/select-block-down "Selecionar bloco abaixo" + :command.editor/select-all-blocks "Selecionar todos os blocos" + :command.ui/toggle-help "Alternar ajuda" + :command.git/commit "Confirmar" + :command.go/search "Pesquisar no grafo" + :command.go/search-in-page "Pesquisar na página atual" + :command.ui/toggle-document-mode "Alternar modo de documento" + :command.ui/toggle-contents "Alternar Conteúdo na barra lateral" + :command.ui/toggle-theme "Alternar entre tema claro/escuro" + :command.ui/toggle-right-sidebar "Alternar barra lateral" + :command.ui/toggle-settings "Alternar Opções" + :command.go/journals "Ir para diários" + :command.ui/toggle-wide-mode "Alternar modo de ecrã amplo" + :command.ui/toggle-brackets "Alternar parênteses rectos" + :command.search/re-index "Reconstruir índice de pesquisa" + :command.editor/bold "Negrito" + :command.editor/italics "Itálico" + :command.editor/insert-link "Inserir ligação html" + :command.editor/highlight "Realçado" + :command.editor/undo "Desfazer" + :command.editor/redo "Refazer" + :command.editor/copy "Copiar" + :command.editor/cut "Cortar" + :command.editor/up "Mover cursor para cima / Selecionar para cima" + :command.editor/down "Mover cursor para baixo / Selecionar para baixo" + :command.editor/left "Mover cursor para a esquerda / Abrir bloco selecionado no início" + :command.editor/right "Mover cursor para a direita / Abrir bloco selecionado no final" + :command.editor/backspace "Retroceder / Eliminar para atrás" + :command.editor/delete "Apagar / Eliminar para a frente" + :command.editor/cycle-todo "Alternar estado TODO do elemento" + :command.editor/clear-block "Apagar conteúdo do bloco" + :command.editor/kill-line-before "Apagar linha antes do cursor" + :command.editor/kill-line-after "Apagar linha depois do cursor" + :command.editor/beginning-of-block "Mover o cursor para o início do bloco" + :command.editor/end-of-block "Mover o cursor para o fim do bloco" + :command.editor/forward-word "Mover o cursor para a próxima palavra" + :command.editor/backward-word "Mover o cursor para a palavra anterior" + :command.editor/forward-kill-word "Apagar a próxima palavra" + :command.editor/backward-kill-word "Apagar a palavra anterior" + :command.editor/open-edit "Editar bloco selecionado" + :command.editor/delete-selection "Eliminar blocos selecionados" + :command.editor/toggle-open-blocks "Alternar blocos abertos (colapsar ou expandir todos)"} + + :pt-BR {:shortcut.category/formatting "Formatação" + :shortcut.category/basics "Básico" + :shortcut.category/navigating "Navegação" + :shortcut.category/block-editing "Edição geral de blocos" + :shortcut.category/block-command-editing "Comandos de edição de blocos" + :shortcut.category/block-selection "Seleção de blocos (aperte Esc para sair)" + :shortcut.category/toggle "Alternar" + :shortcut.category/others "Outros" + :command.editor/indent "Aumentar avanço de parágrafo" + :command.editor/outdent "Diminuir avanço de parágrafo" + :command.editor/move-block-up "Mover bloco para cima" + :command.editor/move-block-down "Mover bloco para baixo" + :command.editor/new-block "Criar novo bloco" + :command.editor/new-line "Nova linha no bloco actual" + :command.editor/zoom-in "Aproximar / Para a frente" + :command.editor/zoom-out "Afastar / Para trás" + :command.editor/follow-link "Seguir ligação sob o cursor" + :command.editor/open-link-in-sidebar "Abrir ligação na barra lateral" + :command.editor/expand-block-children "Expandir" + :command.editor/collapse-block-children "Recolher" + :command.editor/select-block-up "Selecionar bloco acima" + :command.editor/select-block-down "Selecionar bloco abaixo" + :command.editor/select-all-blocks "Selecionar todos os blocos" + :command.ui/toggle-help "Alternar ajuda" + :command.git/commit "Confirmar" + :command.go/search "Pesquisar no grafo" + :command.go/search-in-page "Pesquisar na página atual" + :command.ui/toggle-document-mode "Alternar modo de documento" + :command.ui/toggle-contents "Alternar Conteúdo na barra lateral" + :command.ui/toggle-theme "Alternar entre tema claro/escuro" + :command.ui/toggle-right-sidebar "Alternar barra lateral" + :command.ui/toggle-settings "Alternar Opções" + :command.go/journals "Ir para diários" + :command.ui/toggle-wide-mode "Alternar largura extendida" + :command.ui/toggle-brackets "Alternar colchetes" + :command.search/re-index "Reconstruir índice de pesquisa" + :command.editor/bold "Negrito" + :command.editor/italics "Itálico" + :command.editor/insert-link "Inserir vínculo" + :command.editor/highlight "Realçado" + :command.editor/undo "Desfazer" + :command.editor/redo "Refazer" + :command.editor/copy "Copiar" + :command.editor/cut "Cortar" + :command.editor/up "Mover cursor para cima / Selecionar para cima" + :command.editor/down "Mover cursor para baixo / Selecionar para baixo" + :command.editor/left "Mover cursor para a esquerda / Abrir bloco selecionado no início" + :command.editor/right "Mover cursor para a direita / Abrir bloco selecionado no final" + :command.editor/backspace "Retroceder / Eliminar para trás" + :command.editor/delete "Deletar / Eliminar para frente" + :command.editor/cycle-todo "Alternar estado A FAZER do elemento" + :command.editor/clear-block "Apagar conteúdo do bloco" + :command.editor/kill-line-before "Apagar linha antes do cursor" + :command.editor/kill-line-after "Apagar linha depois do cursor" + :command.editor/beginning-of-block "Mover o cursor para o início do bloco" + :command.editor/end-of-block "Mover o cursor para o fim do bloco" + :command.editor/forward-word "Mover o cursor para a próxima palavra" + :command.editor/backward-word "Mover o cursor para a palavra anterior" + :command.editor/forward-kill-word "Apagar a próxima palavra" + :command.editor/backward-kill-word "Apagar a palavra anterior" + :command.editor/open-edit "Editar bloco selecionado" + :command.editor/delete-selection "Eliminar blocos selecionados" + :command.editor/toggle-open-blocks "Alternar blocos abertos (recolher ou expandir todos)" + :command.auto-complete/complete "Auto-completar: Escolha o item selecionado" + :command.auto-complete/next "Auto-completar: Selecione o próximo item" + :command.auto-complete/prev "Auto-completar: Selecione o item anterior" + :command.auto-complete/shift-complete "Auto-completar: Abra o item selecionado na barra lateral" + :command.cards/forgotten "Cartas: Esquecido" + :command.cards/next-card "Cartas: Próxima carta" + :command.cards/recall "Cartas: Demorar um pouco para lembrar" + :command.cards/remembered "Cartas: Relembrado" + :command.cards/toggle-answers "Cartas: mostrar/esconder as respostas/clozes" + :command.command/toggle-favorite "Adicionar para/remover dos favoritos" + :command.command-palette/toggle "Editar atalhos" + :command.date-picker/complete "Pegar data: Escolha o dia selecionado" + :command.date-picker/next-day "Pegar data: Selecione o próximo dia" + :command.date-picker/next-week "Pegar data: Selecione a próxima semana" + :command.date-picker/prev-day "Pegar data: Selecione o dia anterior" + :command.date-picker/prev-week "Pegar data: Selecione a semana anterior" + :command.editor/escape-editing "Sair da edição" + :command.editor/insert-youtube-timestamp "Inserir timestamp do youtube" + :command.editor/paste-text-in-one-block-at-point "Colar texto em um bloco no ponto" + :command.editor/replace-block-reference-at-point "Substitua a referência do bloco pelo seu conteúdo no ponto" + :command.editor/strike-through "Tachar" + :command.go/all-pages "Ir para todas as páginas" + :command.go/backward "Voltar" + :command.go/flashcards "Trocar flashcards" + :command.go/forward "Avançar" + :command.go/graph-view "Ir para o gráfico" + :command.go/home "Volar para o inicio" + :command.go/keyboard-shortcuts "Ir para os atalhos do teclado" + :command.go/next-journal "Ir ao proximo jornal" + :command.go/prev-journal "Ir ao jornal anterior" + :command.go/tomorrow "Ir para amanhã" + :command.graph/add "Adicionar um gráfico" + :command.graph/open "Selecionar gráfico para abrir" + :command.graph/remove "Remover um gráfico" + :command.pdf/next-page "Próxima página do atual pdf doc" + :command.pdf/previous-page "Página anterior do atual pdf doc" + :command.sidebar/clear "Limpar tudo da barra lateral direita" + :command.sidebar/open-today-page "Abrir a página de hoje na barra lateral direita" + :command.ui/select-theme-color "Selecionar as cores do tema disponível" + :command.ui/toggle-cards "Trocar cartas" + :command.ui/toggle-left-sidebar "Trocar barra lateral esquerda"}}) diff --git a/src/main/frontend/modules/shortcut/macro.cljc b/src/main/frontend/modules/shortcut/macro.cljc deleted file mode 100644 index 4a5c0dc58..000000000 --- a/src/main/frontend/modules/shortcut/macro.cljc +++ /dev/null @@ -1,11 +0,0 @@ -(ns frontend.modules.shortcut.macro - #?(:cljs (:require-macros [frontend.modules.shortcut.macro]))) - -(defmacro shortcut-dict - "All docs for EN are generated from :desc field of shortcut default-config map. - For all other languages, need manual translation in dict file. " - [desc category & maps] - `(medley.core/deep-merge - {:en ~category} - {:en ~desc} - ~@maps)) diff --git a/src/main/frontend/spec.cljs b/src/main/frontend/spec.cljs index b69e22190..8cf929749 100644 --- a/src/main/frontend/spec.cljs +++ b/src/main/frontend/spec.cljs @@ -15,7 +15,7 @@ (when config/dev? (if (s/explain-data spec value) (let [error-message (expound/expound-str spec value) - ex (ex-info "Error in validate" {})] + ex (ex-info "Error in validate" {:value value})] (log/error :exception ex :spec/validate-failed error-message) false) true))) diff --git a/src/test/frontend/context/i18n_test.cljs b/src/test/frontend/context/i18n_test.cljs new file mode 100644 index 000000000..86fa5338e --- /dev/null +++ b/src/test/frontend/context/i18n_test.cljs @@ -0,0 +1,31 @@ +(ns frontend.context.i18n-test + (:require [frontend.context.i18n :as i18n] + [frontend.state :as state] + [cljs.test :refer [deftest is testing use-fixtures]])) + +(use-fixtures :once (fn [f] + (f) + (state/set-state! :preferred-language nil))) + +(deftest translations + (testing "dict/dicts.cljs translations" + (state/set-preferred-language! :en) + (is (= "About Logseq" + (i18n/t :help/about))) + + (state/set-preferred-language! :es) + (is (= "Acerca de Logseq" + (i18n/t :help/about)))) + + (testing "shortcut/dict.cljs translations" + (state/set-preferred-language! :en) + (is (= "Go to journals" + (i18n/t :command.go/journals)) + "Check config/config") + (is (= "Basics" + (i18n/t :shortcut.category/basics)) + "Check config/category") + + (state/set-preferred-language! :es) + (is (= "Ir a los diarios" + (i18n/t :command.go/journals)))))