瀏覽代碼

Merge remote-tracking branch 'upstream/master' into whiteboards

Peng Xiao 3 年之前
父節點
當前提交
a54614c866

+ 5 - 3
src/main/frontend/components/sidebar.cljs

@@ -71,9 +71,11 @@
   (let [original-name (db-model/get-page-original-name name)
         whiteboard-page? (db-model/whiteboard-page? name)]
     [:a {:on-click (fn [e]
-                     (let [name (util/safe-page-name-sanity-lc name)]
+                     (let [name (util/safe-page-name-sanity-lc name)
+                           source-page (db-model/get-alias-source-page (state/get-current-repo) name) 
+                           name (if (empty? source-page) name (:block/name source-page))]
                        (if (and (gobj/get e "shiftKey") (not whiteboard-page?))
-                         (when-let [page-entity (db/entity [:block/name name])]
+                         (when-let [page-entity (if (empty? source-page) (db/entity [:block/name name]) source-page)]
                            (state/sidebar-add-block!
                             (state/get-current-repo)
                             (:db/id page-entity)
@@ -275,7 +277,7 @@
             :active (and (not srs-open?) (#{:whiteboard :whiteboards} route-name))
             :icon  "whiteboard"}))]]
 
-      (when (and left-sidebar-open? (not config/publishing?)) (favorites t))
+      (when left-sidebar-open? (favorites t))
 
       (when (and left-sidebar-open? (not config/publishing?)) (recent-pages t))
 

+ 428 - 48
src/main/frontend/dicts.cljc

@@ -744,20 +744,20 @@
         :file/last-modified-at "Laatst aangepast op"
         :file/name "Bestandsnaam"
         :file/no-data "Geen gegevens"
-        
+
         :file-sync/graph-deleted "Het huidige remote grafiek is verwijderd"
         :file-sync/other-user-graph "De huidige lokale grafiek is gebonden aan de remote grafiek van de andere gebruiker. Dus kan de synchronisatie niet starten."
-        
+
         :format/markdown "Markdown"
         :format/org-mode "Org mode"
         :format/preferred-mode "Wat is u favoriete mode?"
-        
+
         :graph/persist "Logseq is de interne status aan het synchroniseren, wacht alstublieft enkele seconden."
         :graph/persist-error "Interne status sync mislukt."
         :graph/save "Opslaan..."
         :graph/save-error "Opslaan mislukt"
         :graph/save-success "Opslaan succesvol"
-        
+
         :help/about "Over Logseq"
         :help/awesome-logseq "Awesome Logseq"
         :help/block-content-autocomplete "Blokinhoud (brontekst, citaten, zoekopdrachten, enz.) autocomplete"
@@ -786,10 +786,10 @@
         :help/start "Aan de slag"
         :help/terms "Voorwaarden"
         :help/working-with-lists "(werken met lijsten)"
-        
+
         :journal/go-to "Ga naar bestanden"
         :journal/multiple-files-with-different-formats "Het lijkt erop dat u meerdere Journaalbestanden (met verschillende formaten) heeft voor dezelfde maand, alstublieft slechts één journaalbestand bewaren voor elke maand."
-        
+
         :left-side-bar/journals "Journalen"
         :left-side-bar/nav-favorites "Favorieten"
         :left-side-bar/nav-recent-pages "Recent"
@@ -797,7 +797,7 @@
         :left-side-bar/new-page "Nieuwe pagina"
 
         :linked-references/filter-search "Zoeken in gelinkte pagina's"
-        
+
         :on-boarding/add-graph "Grafiek toevoegen"
         :on-boarding/demo-graph "Dit is een demo grafiek, wijzigingen worden niet opgeslagen totdat u een lokale map opent."
         :on-boarding/new-graph-desc-1 "Logseq ondersteunt zowel Markdown als Org-mode. U kunt een bestaande map openen of een nieuwe aanmaken op uw apparaat, een map is ook gewoon bekend als een folder. Uw gegevens worden alleen op dit apparaat opgeslagen."
@@ -837,11 +837,11 @@
         :page/unfavorite "Pagina uit favorieten verwijderen"
         :page/updated-at "Bijgewerkt op"
         :page/version-history "Controleer pagina geschiedenis"
-        
+
         :paginates/next "Volgende"
         :paginates/pages "Totaal {1} pagina's"
         :paginates/prev "Vorige"
-        
+
         :pdf/copy-ref "Kopieer ref"
         :pdf/copy-text "Kopieer tekst"
         :pdf/linked-ref "Gekoppelde referenties"
@@ -878,12 +878,12 @@
         :plugin/update "Update"
         :plugin/update-available "Update beschikbaar"
         :plugin/updating "Bijwerken"
-        
+
         :reference/linked "Gelinkte referentie"
         :reference/unlinked-ref "Ongelinkte verwijzingen"
-        
+
         :repo/download-zip "Download alle bestanden als een zip"
-        
+
         :right-side-bar/all-pages "Alle pagina's"
         :right-side-bar/block-ref "Blok verwijzingen"
         :right-side-bar/contents "Inhoud"
@@ -907,7 +907,7 @@
         :select.graph/add-graph "Ja, voeg nog een grafiek toe"
         :select.graph/empty-placeholder-description "Geen overeenkomende grafieken. Wilt u er een toevoegen?"
         :select.graph/prompt "Selecteer een grafiek"
-        
+
         :settings-page/auto-updater "Auto updater"
         :settings-page/clear "Verwijder"
         :settings-page/clear-cache "Cache wissen"
@@ -1743,7 +1743,7 @@
         :file-sync/other-user-graph "Huidige plaaslike grafiek is gebonde aan ander gebruiker se afgeleë grafiek. So kan nie begin om te sinkroniseer nie."
         :file-sync/graph-deleted "Huidige afstandgrafiek is geskrap"}
 
-  :es {:tutorial/text #?(:cljs (rc/inline "tutorial-es.md")
+   :es {:tutorial/text #?(:cljs (rc/inline "tutorial-es.md")
                           :default "tutorial-es.md")
         :tutorial/dummy-notes #?(:cljs (rc/inline "dummy-notes-es.md")
                                  :default "dummy-notes-es.md")
@@ -2063,7 +2063,7 @@
         :select.graph/add-graph "Sí, añadir otro grafo"
         :file-sync/other-user-graph "El gráfico local actual está unido al gráfico remoto de otro usuario. Así que no se puede empezar a sincronizar"
         :file-sync/graph-deleted "El gráfico remoto actual se ha eliminado"
-     }
+        }
 
    :nb-NO {:tutorial/text #?(:cljs (rc/inline "tutorial-no.md")
                              :default "tutorial-no.md")
@@ -3048,13 +3048,14 @@
         :help/about "О Logseq"
         :help/roadmap "Дорожная карта"
         :help/bug "Сообщить об ошибке"
-        :help/feature "Запрос функционала"
-        :help/changelog "Журнал изменений"
-        :help/blog "Logseq блог"
+        :help/feature "Предложить улучшение"
+        :help/changelog "Список изменений"
+        :help/blog "Блог Logseq"
         :help/docs "Документация"
-        :help/privacy "Политика конфендициальности"
+        :help/privacy "Политика конфиденциальности"
         :help/terms "Условия"
-        :help/community "Discord сообщество"
+        :help/community "Discord сообщества"
+        :help/forum-community "Forum сообщества"
         :help/awesome-logseq "Потрясающий Logseq"
         :help/shortcuts "Горячие клавиши"
         :help/shortcuts-triggers "Действия"
@@ -3065,7 +3066,7 @@
         :help/block-reference "Ссылка на блок"
         :help/key-commands "Key commands"
         :help/working-with-lists " (работа со списками)"
-        :help/select-nfs-browser "Пожалуйста, используйте другой браузер (например, последний Chrome), который поддерживает NFS функционал, для работы с локальными файлами."
+        :help/select-nfs-browser "Пожалуйста, используйте другой браузер (например, последний Chrome), поддерживающий NFS, для работы с локальными файлами."
         :undo "Отменить"
         :redo "Вернуть"
         :general "Общий"
@@ -3098,7 +3099,8 @@
         :left-side-bar/nav-recent-pages "Недавнее"
         :right-side-bar/graph-view "Визуальный граф"
         :right-side-bar/all-pages "Все страницы"
-        :right-side-bar/flashcards "Слайды"
+        :right-side-bar/flashcards "Карточки"
+        :right-side-bar/show-journals "Журналы"
         :right-side-bar/new-page "Новая страница"
         :left-side-bar/journals "Дневники"
         :format/preferred-mode "Какой режим вы предпочитаете?"
@@ -3115,15 +3117,16 @@
         :page/copy-to-json "Скопировать всю страницу как JSON"
         :page/rename "Переименовать страницу"
         :page/open-in-finder "Открыть в каталоге"
-        :page/open-with-default-app "Открыть через приложение по умолчанию"
+        :page/open-with-default-app "Открыть в приложении по умолчанию"
         :page/action-publish "Опубликовать"
-        :page/make-public "Сделать доступным для публикации"
-        :page/version-history "проверить историю git страницы"
-        :page/file-sync-versions "история страницы"
-        :page/make-private "Сделать приватным"
+        :page/make-public "Сделать доступной для публикации"
+        :page/version-history "Проверить историю страницы"
+        :page/open-backup-directory "Открыть каталог резервных копий"
+        :page/file-sync-versions "Версии страницы"
+        :page/make-private "Сделать приватной"
         :page/delete "Удалить страницу"
         :page/add-to-favorites "Добавить в Избранное"
-        :page/unfavorite "Удалить страницу из Избранного"
+        :page/unfavorite "Удалить из Избранного"
         :page/show-journals "Показать Дневники"
         :page/show-name "Показать имя страницы"
         :page/hide-name "Скрыть имя страницы"
@@ -3141,13 +3144,14 @@
         :file/format-not-supported "Расширение .{1} не поддерживается."
         :page/created-at "Создан"
         :page/updated-at "Обновлен"
-        :page/backlinks "Обратная ссылка"
+        :page/backlinks "Обратные ссылки"
+        :linked-references/filter-search "Искать в страницах по ссылкам"
         :editor/block-search "Искать блок"
         :editor/image-uploading "Загрузка"
         :draw/invalid-file "Не удалось загрузить недопустимый excalidraw файл"
         :draw/specify-title "Пожалуйста, сначала укажите заголовок!"
         :draw/rename-success "Файл был успешно переименован!"
-        :draw/rename-failure "Переименовать файл не удлось, причина: "
+        :draw/rename-failure "Переименовать файл не удалось, причина: "
         :draw/title-placeholder "Без названия"
         :draw/save "Сохранить"
         :draw/save-changes "Сохранить изменения"
@@ -3155,28 +3159,31 @@
         :draw/list-files "Список файлов"
         :draw/delete "Удалить"
         :draw/more-options "Больше опций"
-        :draw/back-to-logseq "Вернуться к logseq"
+        :draw/back-to-logseq "Вернуться к Logseq"
         :text/image "Изображение"
         :asset/confirm-delete "Вы уверены, что хотите удалить {1}?"
         :asset/physical-delete "Также удалить файл (обратите внимание, восстановить его будет невозможно)"
         :content/copy "Копировать"
         :content/cut "Вырезать"
-        :content/make-todos "Make {1}s"
+        :content/make-todos "Создать {1}"
         :content/copy-block-ref "Копировать ссылку блока"
         :content/copy-block-emebed "Копировать встроенный блок"
         :content/focus-on-block "Фокус на блоке"
         :content/open-in-sidebar "Открыть в боковой панели"
         :content/copy-as-json "Копировать как JSON"
         :content/click-to-edit "Нажмите для редактирования"
-        :settings-page/edit-config-edn "Редактировать config.edn для текущего графа"
+        :settings-of-plugins "Настройки расширений"
+        :settings-page/edit-config-edn "Редактировать config.edn"
+        :settings-page/edit-custom-css "Педактировать custom.css"
+        :settings-page/edit-export-css "Редактировать export.css"
         :settings-page/git-desc " используется для контроля версий страниы. Вы можете кликнуть на меню 'три точки' чтобы проверить историю страницы."
         :settings-page/git-confirm "Необходимо перезапустить приложение после изменения настроек Git."
         :settings-page/git-switcher-label "Автокоммит в Git"
         :settings-page/git-commit-delay "Git автокоммит после сек."
         :settings-page/show-brackets "Показывать скобки"
-        :settings-page/spell-checker "Проверка орфограции"
+        :settings-page/spell-checker "Проверка орфографии"
         :settings-page/auto-updater "Автообновление"
-        :settings-page/disable-sentry "Отправлять данные использования и диагностику в Logseq"
+        :settings-page/disable-sentry "Отправлять данные использования и диагностики в Logseq"
         :settings-page/preferred-outdenting "Логические отступы"
         :settings-page/custom-date-format "Формат дат"
         :settings-page/preferred-file-format "Формат файлов"
@@ -3187,16 +3194,22 @@
         :settings-page/enable-journals "Включить Дневники"
         :settings-page/enable-all-pages-public "Все страницы общедоступны при публикации"
         :settings-page/enable-encryption "Функции шифрования"
+        :settings-page/enable-flashcards "Карточки"
+        :settings-page/custom-configuration "Настройки пользователя"
+        :settings-page/custom-theme "Тема пользователя"
+        :settings-page/export-theme "Экспорт темы"
         :settings-page/customize-shortcuts "Горячие клавиши"
         :settings-page/shortcut-settings "Настроить горячие клавиши"
         :settings-page/home-default-page "Установить домашнюю страницу по умолчанию"
         :settings-page/enable-block-time "Временные метки блока"
-        :settings-page/clear-cache "Отчистить кэш"
-        :settings-page/clear "Отчистить"
+        :settings-page/clear-cache "Очистить кэш"
+        :settings-page/clear "Очистить"
+        :settings-page/network-proxy "Прокси"
+        :settings-page/plugin-system "Система расширений"
         :settings-page/developer-mode "Режим разработчика"
         :settings-page/enable-developer-mode "Включить режим разработчика"
         :settings-page/disable-developer-mode "Выключить режим разработчика"
-        :settings-page/developer-mode-desc "Режим разработчика помогает людям, участвующим в разработке приложения и расширений, тестировать их интеграции с Logseq более эффективно."
+        :settings-page/developer-mode-desc "Режим разработчика помогает людям, участвующим в разработке приложения и расширений, лучше тестировать их интеграцию с Logseq."
         :settings-page/current-version "Версия"
         :settings-page/current-graph "Текущий граф"
         :settings-page/tab-general "Общие"
@@ -3207,15 +3220,25 @@
         :logseq "Logseq"
         :on "ON"
         :more-options "Больше опций"
-        :to "to"
+        :to "к"
         :yes "Да"
         :no "Нет"
         :submit "Подтвердить"
         :cancel "Отмена"
         :close "Закрыть"
         :delete "Удалить"
-        :re-index "Переиндексировать (перестроить граф)"
-        :sync-from-local-files "Обновить (импортировать изменния из локальных файлов)"
+        :save "Сохранить"
+        :host "Хост"
+        :port "Порт"
+        :type "Тип"
+        :re-index "Переиндексировать"
+        :re-index-detail "Перестроить граф из локальных файлов"
+        :re-index-discard-unsaved-changes-warning "Переиндексация сбросит текущий граф и обработает все файлы заново, прочитав их с диска. Вы потеряете несохранённые изменения, и процесс может занять некоторое время. Продолжить?"
+        :re-index-multiple-windows-warning "Необходимо закрыть другие окна перед переиндексацией этого графа."
+        :sync-from-local-files "Обновить"
+        :sync-from-local-changes-detected "При обновлении будут найдены и обработаны файлы, изменённые на диске и отличающиеся от текущего содержимого страниц Logseq. Продолжить?"
+        :sync-from-local-files-detail "Импортировать изменения из локальных файлов"
+        :open-new-window "Новое окно"
         :unlink "отвязать"
         :search/publishing "Искать"
         :search "Искать или создать страницу"
@@ -3226,6 +3249,11 @@
         :new-graph "Добавить новый граф"
         :graph "Граф"
         :graph-view "Смотреть граф"
+        :graph/persist "Logseq синхронизирует внутреннее состояние, пожалуйста, подождите несколько секунд."
+        :graph/persist-error "Сбой синхронизации внутреннего состояния."
+        :graph/save "Сохраняем..."
+        :graph/save-error "Сбой сохранения"
+        :graph/save-success "Сохранено успешно"
         :cards-view "Смотреть карточки"
         :publishing "Публикация"
         :export "Экспорт"
@@ -3248,12 +3276,13 @@
         :settings "Настройки"
         :plugins "Расширения"
         :themes "Темы"
-        :developer-mode-alert "Необходимо перезагрузить приложение для активации системы плагинов. Хотите сделать это сейчас?"
+        :developer-mode-alert "Необходимо перезагрузить приложение для включения системы плагинов. Хотите сделать это сейчас?"
         :relaunch-confirm-to-work "Необходимо перезапустить приложение. Сделать это сейчас?"
         :import "Импорт"
         :join-community "Присоединиться к сообществу"
         :sponsor-us "Стать спонсором"
         :discord-title "Наша группа в Дискорде!"
+        :discourse-title "Наш форум!"
         :help-shortcut-title "Нажмите для просмотра горячих клавиш и других полезностей"
         :loading "Загрузка"
         :cloning "Клонирование"
@@ -3261,7 +3290,7 @@
         :loading-files "Загрузка файлов"
         :login "Логин"
         :logout "Выйти"
-        :go-to "Go to "
+        :go-to "Перейти к "
         :or "или"
         :download "Скачать"
         :repo/download-zip "Скачать все файлы как архив"
@@ -3277,11 +3306,21 @@
 
         :help/shortcut-page-title "Горячие клавиши"
 
-        :plugin/installed "Установленно"
+        :plugin/all "Все"
+        :plugin/check-all-updates "Проверить все обновления"
+        :plugin/check-update "Проверить обновления"
+        :plugin/delete-alert "Вы точно хотите удалить расширение [{1}]?"
+        :plugin/disabled "Отключено"
+        :plugin/downloads "Загрузки"
+        :plugin/enabled "Включено"
+        :plugin/installed "Установлено"
+        :plugin/not-installed "Не установлено"
         :plugin/installing "Установка"
         :plugin/install "Установить"
         :plugin/reload "Перезагрузить"
+        :plugin/refresh-lists "Обновить списки"
         :plugin/update "Обновить"
+        :plugin/update-available "Доступно обновление"
         :plugin/updating "Обновление"
         :plugin/uninstall "Удаление"
         :plugin/marketplace "Маркетплейс"
@@ -3290,8 +3329,11 @@
         :plugin/load-unpacked "Загрузить распакованные расширения"
         :plugin/open-preferences "Открыть файл настроек плагина"
         :plugin/restart "Перезапустить приложение"
+        :plugin/unpacked "Распаковано"
         :plugin/unpacked-tips "Выбрать папку для расширений"
         :plugin/contribute "✨ Написать и подтвердить новое расширение"
+        :plugin/stars "Звёзды"
+        :plugin/title "Название"
         :plugin/marketplace-tips "Если расширение работает некорректно после установки, попробуйте перезапустить Logseq."
         :plugin/up-to-date "Обновлено"
         :plugin/custom-js-alert "Найден файл custom.js, выполнить его? (Если вы не понимаете содержимое этого файла, рекомендуем не разрешать выполнение, т.к. это несет риски безопасности.)"
@@ -3304,16 +3346,24 @@
         :updater/new-version-install "Новая версия загружена. Перезапустите приложения для завершения обновления."
         :updater/quit-and-install "Перезапустить для установки"
 
+        :page/copy-page-url "Копировать URL страницы"
+
         :paginates/pages "Всего {1} стр."
         :paginates/prev "Предыдушая"
         :paginates/next "Следующая"
 
         :tips/all-done "Все сделано"
 
-        :command-palette/prompt "Набери команду"
+        :command-palette/prompt "Наберите команду"
+
 
-        :file-sync/other-user-graph "Текущий локальный график привязан к удаленному диаграмму другого пользователя. Так что не могу начать синхронизирование"
-        :file-sync/graph-deleted "Текущий удаленный график был удален"}
+        :select.graph/add-graph "Да, добавить другой граф"
+        :select.graph/empty-placeholder-description "Нет подходящих графов. Вы хотите добавить другой?"
+        :select.graph/prompt "Выберите граф"
+        :select/default-prompt "Выберите"
+
+        :file-sync/other-user-graph "Текущий локальный граф привязан к внешнему графу другого пользователя. Поэтому нельзя начать синхронизацию."
+        :file-sync/graph-deleted "Текущий внешний граф был удален"}
 
    :ja {:tutorial/text #?(:cljs (rc/inline "tutorial-ja.md")
                                 :default "tutorial-ja.md")
@@ -4621,8 +4671,337 @@
         :file-sync/other-user-graph "현재 로컬 그래프가 다른 유저의 리모트 그래프와 충돌합니다. 동기화를 시작할 수 없습니다."
         :file-sync/graph-deleted "현재 리모트 그래프를 삭제했습니다."
         }
+   :pl {
+        :tutorial/text #?(:cljs (rc/inline "tutorial-pl.md")
+                          :default "tutorial-pl.md")
+        :tutorial/dummy-notes #?(:cljs (rc/inline "dummy-notes-pl.md")
+                                 :default "dummy-notes-pl.md")
+        :on-boarding/demo-graph "To jest przykładowy graf, zmiany nie zostaną zapisane dopóki nie otworzysz jakiegoś lokalnego katalogu."
+        :on-boarding/add-graph "Dodaj graf"
+        :on-boarding/open-local-dir "Otwórz lokalny katalog"
+        :on-boarding/new-graph-desc-1 "Logseq wspiera zarówno składnię Markdown jak i Org-mode. Możesz otworzyć istniejący już folder lub utworzyć nowy katalog na swoim urządzeniu. Wszystkie dane będą przechowywane tylko na tym urządzeniu."
+        :on-boarding/new-graph-desc-2 "Po otwarciu wybranego katalogu zostaną w nim uworzone trzy dodatkowe katalogi:"
+        :on-boarding/new-graph-desc-3 "/journals - przechowuje wszystkie strony twojego dziennika"
+        :on-boarding/new-graph-desc-4 "/pages - przechowuje wszystkie pozostałe, utworzone przez Ciebie strony"
+        :on-boarding/new-graph-desc-5 "/logseq - przechowuje konfigurację, custom.css oraz niektóre meta dane."
+        :help/start "Rozpocznij swoją przygodę z Logseq"
+        :help/about "O Logseq"
+        :help/roadmap "Roadmapa"
+        :help/bug "Zgłoś błąd"
+        :help/feature "Zgłoś zapotrzebowanie na funkcjonalność"
+        :help/changelog "Log zmian"
+        :help/blog "Blog Logseq"
+        :help/docs "Dokumentacja"
+        :help/privacy "Polityka prywatności"
+        :help/terms "Warunki użytkowania"
+        :help/community "Społeczność Discord"
+        :help/forum-community "Forum dyskusyjne"
+        :help/awesome-logseq "Awesome Logseq"
+        :help/shortcuts "Skróty klawiaturowe"
+        :help/shortcuts-triggers "Akcja"
+        :help/shortcut "Skrót"
+        :help/slash-autocomplete "Autouzupełnianie poleceń /"
+        :help/block-content-autocomplete "Autouzupełnianie treści bloku"
+        :help/reference-autocomplete "Autouzupełnianie referencji bloku"
+        :help/block-reference "Referencja bloku"
+        :help/key-commands "Kluczowe"
+        :help/working-with-lists " (praca z listami)"
+        :help/select-nfs-browser "Proszę użyć innej przeglądarki (na przykład ostatniego Chrome), która wspiera otwieranie lokalnych katalogów (NFS feature)"
+        :undo "Cofnij"
+        :redo "Ponów"
+        :general "General"
+        :more "Więcej"
+        :search/result-for "Wyniki wyszukiwania dla"
+        :search/items "elementów"
+        :search/page-names "Przeszukaj nazwy stron"
+        :help/context-menu "Menu kontekstowe bloku"
+        :help/fold-unfold "Zwiń/Rozwiń blok (kiedy nie jesteś w trybie edycji)"
+        :help/markdown-syntax "Składnia Markdown"
+        :help/org-mode-syntax "Składnia Org mode"
+        :bold "Pogrubienie"
+        :italics "Pochylenie"
+        :html-link "Link HTML"
+        :highlight "Wyróżnij"
+        :strikethrough "Przekreśl"
+        :code "Kod"
+        :right-side-bar/help "Pomoc"
+        :right-side-bar/switch-theme "Zmień motyw"
+        :right-side-bar/theme "Motyw {1}"
+        :right-side-bar/page "Graf strony"
+        :right-side-bar/recent "Ostatnio edytowane"
+        :right-side-bar/contents "Treść"
+        :right-side-bar/favorites "Ulubione"
+        :right-side-bar/page-graph "Graf strony"
+        :right-side-bar/block-ref "Ref bloku"
+        :right-side-bar/graph-view "Widok gafu"
+        :right-side-bar/all-pages "Wszystkie strony"
+        :right-side-bar/flashcards "Fiszki"
+        :right-side-bar/new-page "Nowa strona"
+        :right-side-bar/show-journals "Pokaż dzienniki"
+        :left-side-bar/journals "Dzienniki"
+        :left-side-bar/new-page "Nowa strona"
+        :left-side-bar/nav-favorites "Ulubione"
+        :left-side-bar/nav-shortcuts "Skróty"
+        :left-side-bar/nav-recent-pages "Ostatnio odwiedzane"
+        :format/preferred-mode "Jaki jest Twój preferowany tryb?"
+        :format/markdown "Markdown"
+        :format/org-mode "Org mode"
+        :reference/linked "Powiązane referencje"
+        :reference/unlinked-ref "Niepołączone referencje"
+        :page/presentation-mode "Tryb prezentacji"
+        :page/edit-properties-placeholder "Właściwości"
+        :page/delete-success "Strona {1} została usunięta!"
+        :page/delete-confirmation "Czy jesteś pewien że chcesz usunąć tę stronę i jej plik?"
+        :page/rename-to "Zmień nazwę \"{1}\" na:"
+        :page/priority "Priorytet \"{1}\""
+        :page/copy-to-json "Skopiuj stronę jako JSON"
+        :page/rename "Zmień nazwę strony"
+        :page/open-in-finder "Otwórz w przeglądarce plików"
+        :page/open-with-default-app "Otwórz w domyślnej aplikacji"
+        :page/action-publish "Publikuj"
+        :page/make-public "Oznacz jako publiczną"
+        :page/version-history "Sprawdź historię zmian"
+        :page/open-backup-directory "Otwórz katalog z kopiami bezpieczeństwa"
+        :page/file-sync-versions "Wersje strony"
+        :page/make-private "Oznacz jako prywantą"
+        :page/delete "Usuń stronę"
+        :page/add-to-favorites "Dodaj do ulubionych"
+        :page/unfavorite "Usuń z ulubionych"
+        :page/show-journals "Pokaż dzienniki"
+        :page/show-name "Pokaż nazwę strony"
+        :page/hide-name "Ukryj nazwę strony"
+        :block/name "Nazwa strony"
+        :page/last-modified "Ostatnio zmodyfikowany"
+        :page/new-title "Jaki jest nowy tytuł strony?"
+        :page/earlier "Wcześniej"
+        :page/no-more-journals "Brak kolejnych dzienników"
+        :page/copy-page-url "Kopiuj adres URL strony"
+        :journal/multiple-files-with-different-formats "Wygląda na to że masz wiele plików dziennika (w wielu formatach) dla tego samego miesiąca. Proszę zachować tylko jeden plik dziennika dla każdego miesiąca."
+        :journal/go-to "Przejdź do plików"
+        :file/name "Nazwa pliku"
+        :file/file "Plik: "
+        :file/last-modified-at "Ostatnio zmodyfikowany"
+        :file/no-data "Brak danych"
+        :file/format-not-supported "Format .{1} nie jest wspierany."
+        :page/created-at "Utworzony"
+        :page/updated-at "Zaktualizowany"
+        :page/backlinks "Backlinki"
+        :linked-references/filter-search "Szukaj w powiązanych stronach"
+        :editor/block-search "Szukaj bloku"
+        :editor/image-uploading "Przesyłam"
+        :draw/invalid-file "Nie potrafię załadować pliku exildraw. Format pliku jest niepoprawny."
+        :draw/specify-title "Proszę najpierw określić tytuł strony!"
+        :draw/rename-success "Nazwa pliku została zmieniona!"
+        :draw/rename-failure "Zmiana nazwy pliku nieudana. Powód: "
+        :draw/title-placeholder "Nienazwany"
+        :draw/save "Zapisz"
+        :draw/save-changes "Zapisz zmiany"
+        :draw/new-file "Nowy plik"
+        :draw/list-files "Wylistuj pliki"
+        :draw/delete "Usuń"
+        :draw/more-options "Więcej opcji"
+        :draw/back-to-logseq "Powrót do LogSeq"
+        :text/image "Obrazek"
+        :asset/confirm-delete "Jesteś pewien, że chcesz usunąć ten {1}?"
+        :asset/physical-delete "Usuń ten plik z dysku (operacja nie może zostać cofnięta)"
+        :content/copy "Kopiuj"
+        :content/cut "Wytnij"
+        :content/make-todos "Stwórz {1}s"
+        :content/copy-block-ref "Kopiuje ref bloku"
+        :content/copy-block-emebed "Kopiuj blok jako embed"
+        :content/focus-on-block "Skup się na bloku"
+        :content/open-in-sidebar "Otwórz w panelu bocznym"
+        :content/copy-as-json "Kopiuj jako JSON"
+        :content/click-to-edit "Kliknij aby edytować"
+        :settings-page/git-desc "jest użyty do kontroli wersji stron, możesz kliknąć pionowe trzy kropki żeby zobaczyć historię zmian strony."
+        :settings-page/git-confirm "Musisz uruchomić ponownie aplikację żeby zastosować zmiany w ustawieniach GITa."
+        :settings-page/git-switcher-label "Włącz Autocommit GITa"
+        :settings-page/git-commit-delay "Wykonaj commit co każde [s.]"
+        :settings-page/edit-config-edn "Edytuj config.edn"
+        :settings-page/edit-custom-css "Edytuj custom.css"
+        :settings-page/edit-export-css "Edytuj export.css"
+        :settings-page/custom-configuration "Niestandardowa konfiguracja"
+        :settings-page/custom-theme "Niestandardowy motyw graficzny"
+        :settings-page/export-theme "Eksportuj motyw graficzny"
+        :settings-page/show-brackets "Pokaż kwadratowe nawiasy"
+        :settings-page/spell-checker "Sprawdzanie pisowni"
+        :settings-page/auto-updater "Auto aktualizacje"
+        :settings-page/disable-sentry "Wyślij statystyki użycia aplikacji do Logseq"
+        :settings-page/preferred-outdenting "Logiczne zmniejszanie wcięć"
+        :settings-page/custom-date-format "Preferowany format daty"
+        :settings-page/preferred-file-format "Preferowany format pliku"
+        :settings-page/preferred-workflow "Preferowany flow TODOsów"
+        :settings-page/enable-shortcut-tooltip "Włącz dymek podpowiedzi skrótu klawiszowego"
+        :settings-page/enable-timetracking "Mierzenie czasu"
+        :settings-page/enable-tooltip "Dymki podpowiedzi"
+        :settings-page/enable-journals "Dzienniki"
+        :settings-page/enable-all-pages-public "Publikuj wszystkie strony"
+        :settings-page/enable-encryption "Szyfrowanie"
+        :settings-page/customize-shortcuts "Skróty klawiszowe"
+        :settings-page/shortcut-settings "Zmień skróty"
+        :settings-page/home-default-page "Ustaw domyślną stronę startową"
+        :settings-page/enable-block-time "Włącz czas dla bloków"
+        :settings-page/clear-cache "Wyczyść cache"
+        :settings-page/clear "Wyczyść"
+        :settings-page/developer-mode "Tryb programisty"
+        :settings-page/enable-developer-mode "Włącz tryb programisty"
+        :settings-page/disable-developer-mode "Wyłącz tryb programisty"
+        :settings-page/developer-mode-desc "Tryb programisty pomaga kontrybutorom i programistom rozszerzeń lepiej przetestować ich integracje w Logseq."
+        :settings-page/current-version "Aktualna wersja"
+        :settings-page/current-graph "Obecny graf"
+        :settings-page/tab-general "Ogólne"
+        :settings-page/tab-editor "Edytor"
+        :settings-page/tab-shortcuts "Skróty"
+        :settings-page/tab-version-control "Kontrola wersji"
+        :settings-page/tab-advanced "Zaawansowane"
+        :settings-page/plugin-system "System pluginów"
+        :settings-page/enable-flashcards "Fiszki"
+        :settings-page/network-proxy "Ustawienia proxy"
+        :on "WŁ"
+        :more-options "Więcej opcji"
+        :to "dla"
+        :yes "Tak"
+        :no "Nie"
+        :submit "Wyślij"
+        :cancel "Anuluj"
+        :close "Zamknij"
+        :delete "Usuń"
+        :save "Zapisz"
+        :type "Typ"
+        :re-index "Ponownie indeksuj"
+        :re-index-detail "Przebuduj graf od nowa"
+        :re-index-multiple-windows-warning "Musisz zamknąć inne okna zanim rozpoczniesz proces ponownej indeksacji"
+        :re-index-discard-unsaved-changes-warning "Ponowna indeksacja odrzuci zmiany w obecnym grafie a następnie przejdzie po wszystkich plikach zapisanych na dysku. Utracisz wszystkie niezapisane zmiany a sam proces może trochę potrwać. Kontynuować?"
+        :open-new-window "Nowe okno"
+        :sync-from-local-files "Odśwież"
+        :sync-from-local-files-detail "Importuj zmiany z lokalnych plików"
+        :sync-from-local-changes-detected "Funkcja Odśwież wykrywa i procesuje pliki zmianione na dysku. Wszystkie pliki różniące się od tych w Logseq zostaną ponownie wczytane. Kontynuować?"
 
-     :tongue/fallback :en})
+        :unlink "Usuń link"
+        :search/publishing "Szukaj"
+        :search "Wyszukaj lub stwórz stronę"
+        :page-search "Wyszukaj na stronie"
+        :graph-search "Przeszukaj graf"
+        :new-page "Nowa strona"
+        :new-file "Nowy plik"
+        :new-graph "Dodaj nowy graf"
+        :graph "Graf"
+        :graph-view "Widok grafu"
+        :graph/persist "Logseq synchronizuje lokalny stan. Proszę poczekać kilka sekund."
+        :graph/persist-error "Nieudana synchronizacja lokalnego stanu"
+        :graph/save "Zapisuję..."
+        :graph/save-success "Zmiany zostały zapisane"
+        :graph/save-error "Zapisywanie zakończone niepowodzeniem"
+        :cards-view "Pokaż karty"
+        :publishing "Publikuję"
+        :host "Host"
+        :logseq "Logseq"
+        :port "Port"
+        :import "Importuj"
+        :export "Eksport"
+        :export-graph "Eksportuj graf"
+        :export-page "Eksportuj stronę"
+        :export-markdown "Eksportuj jako Markdown (brak właściwości bloków)"
+        :export-opml "Eksportuj jako OPML"
+        :export-public-pages "Eksportuj publiczne strony"
+        :export-json "Eksportuj jako JSON"
+        :export-roam-json "Eksportuj jako Roam JSON"
+        :export-edn "Eksportuj jako EDN"
+        :export-datascript-edn "Eksportuj datascript EDN"
+        :convert-markdown "Konwertuj nagłówki markdown do wypunktowanej listy (# -> -)"
+        :all-graphs "Wszystkie grafy"
+        :all-pages "Wszystkie strony"
+        :all-files "Wszystkie pliki"
+        :remove-orphaned-pages "Usuń strony bez powiązań"
+        :all-journals "Wszystkie dzienniki"
+        :my-publishing "Moje publikacje"
+        :settings "Ustawienia"
+        :settings-of-plugins "Ustawienia pluginu"
+        :plugins "Pluginy"
+        :themes "Motywy graficzne"
+        :developer-mode-alert "Musisz uruchomić ponownie aplikację żeby włączyć system pluginów. Zrobić to teraz?"
+        :relaunch-confirm-to-work "Powinienem uruchomić ponownie aplikację żeby to zaczęło działać. Zrobić to teraz?"
+        :join-community "Dołącz do społeczności"
+        :sponsor-us "Sponsoruj nas"
+        :discourse-title "Nasze forum!"
+        :discord-title "Nasza grupa Discord!" ;; unused
+        :help-shortcut-title "Kliknij aby sprawdzić skróty klawiszowe i inne takie"
+        :loading "Ładuję"
+        :cloning "Klonuję"
+        :parsing-files "Parsuję pliki"
+        :loading-files "Ładuję pliki"
+        :login "Zaloguj"
+        :logout "Wyloguj"
+        :go-to "Idź do "
+        :or "lub"
+        :download "Ściągnij"
+        :repo/download-zip "Ściągnij wszystkie pliki jako ZIP"
+        :language "Język"
+        :white "Jasny"
+        :dark "Ciemny"
+        :remove-background "Usuń tło"
+        :open "Otwórz"
+        :open-a-directory "Otwórz lokalny katalog"
+        :user/delete-account "Usuń konto"
+        :user/delete-your-account "Usuń twoje konto"
+        :user/delete-account-notice "Wszystkie opublikowane strony na logseq.com zostaną usunięte."
+        :help/shortcut-page-title "Skróty klawiszowe"
+        :plugin/installed "Zainstalowany"
+        :plugin/not-installed "Nie zainstalowany"
+        :plugin/installing "Instaluję"
+        :plugin/install "Zainstaluj"
+        :plugin/reload "Przeładuj"
+        :plugin/update "Zaktualizuj"
+        :plugin/check-update "Sprawdź aktualizację"
+        :plugin/check-all-updates "Sprawdź wszystkie aktualizacje"
+        :plugin/refresh-lists "Odśwież listy"
+        :plugin/enabled "Włączony"
+        :plugin/disabled "Wyłączony"
+        :plugin/update-available "Aktualizacja dostępna"
+        :plugin/updating "Aktualizuję"
+        :plugin/uninstall "Odinstaluj"
+        :plugin/downloads "Ściągnięte"
+        :plugin/stars "Gwiazdki"
+        :plugin/title "Tytuł"
+        :plugin/all "Wszystkie"
+        :plugin/unpacked "Rozpakowany"
+        :plugin/marketplace "Marketplace"
+        :plugin/delete-alert "Czy napeno chcesz usunąć plugin [{1}]?"
+        :plugin/open-settings "Otwórz ustawienia"
+        :plugin/open-package "Otwórz paczkę"
+        :plugin/load-unpacked "Załaduj rozpakowany plugin"
+        :plugin/open-preferences "Otwórz plik z ustawieniami pluginu"
+        :plugin/restart "Uruchom ponownie"
+        :plugin/unpacked-tips "Wybierz katalog z pluginem"
+        :plugin/contribute "✨ Napisz i prześlij nowy plugin"
+        :plugin/marketplace-tips "Jeżeli plugin po załadowaniu nie działa, spróbuj zrestartować Logseq."
+        :plugin/up-to-date "Wszystko jest aktualne"
+        :plugin/custom-js-alert "Found the custom.js file, is it allowed to execute? (If you don't understand the content of this file, it is recommended not to allow execution, which has certain security risks.)"
+
+        :pdf/copy-ref "Kopiuj ref"
+        :pdf/copy-text "Kopiuj tekst"
+        :pdf/linked-ref "Połączone odwołania"
+        :pdf/toggle-dashed "Dashed style for area highlight"
+
+        :updater/new-version-install "Nowa wersja została ściągnięta."
+        :updater/quit-and-install "Uruchom ponownie żeby zainstalować"
+
+        :paginates/pages "{1} wszystkich stron"
+        :paginates/prev "← Poprzednia"
+        :paginates/next "Następna →"
+
+        :tips/all-done "Wszystko zrobione"
+
+        :command-palette/prompt "Wprowadź komendę"
+        :select/default-prompt "Wybierz jeden"
+        :select.graph/prompt "Wybierz graf"
+        :select.graph/empty-placeholder-description "Brak pasujących grafów. Chcesz dodać nowy?"
+        :select.graph/add-graph "Tak, dodaj nowy graf"
+
+        :file-sync/other-user-graph "Obecny lokalny graf jest przypisany do zdalnego grafu innego użytkownika. Nie mogę rozpocząć synchronizacji."
+        :file-sync/graph-deleted "Obecny zdalny graf został usunięty"
+        }
+   :tongue/fallback :en})
 
 (def languages [{:label "English" :value :en}
                 {:label "Français" :value :fr}
@@ -4633,6 +5012,7 @@
                 {:label "Afrikaans" :value :af}
                 {:label "Español" :value :es}
                 {:label "Norsk (bokmål)" :value :nb-NO}
+                {:label "Polski" :value :pl}
                 {:label "Português (Brasileiro)" :value :pt-BR}
                 {:label "Português (Europeu)" :value :pt-PT}
                 {:label "Русский" :value :ru}

+ 2 - 3
src/main/frontend/handler/editor.cljs

@@ -1577,7 +1577,7 @@
   [input before end]
   (when input
     (let [value (gobj/get input "value")
-          pos (dec (cursor/pos input))]
+          pos (cursor/pos input)]
       (when (>= pos 0)
         (text-util/wrapped-by? value pos before end)))))
 
@@ -1857,8 +1857,7 @@
       (and
        (not= :property-search (state/get-editor-action))
        (let [{:keys [line start-pos]} (text-util/get-current-line-by-pos (.-value input) (dec pos))]
-         (text-util/wrapped-by? line (dec (- pos start-pos)) "" gp-property/colons)))
-
+         (text-util/wrapped-by? line (- pos start-pos) "" gp-property/colons)))
       (do
         (state/set-editor-action-data! {:pos (cursor/get-caret-pos input)})
         (state/set-editor-action! :property-search))

+ 195 - 19
src/main/frontend/modules/shortcut/dicts.cljc

@@ -131,11 +131,11 @@
 
 (def ^:large-vars/data-var dicts
   {:en (merge
-        ;; Dynamically add this ns since command descriptions have to
-        ;; stay in sync with shortcut.config command ids which do not
-        ;; have a namespace
-        (update-keys all-default-keyboard-shortcuts decorate-namespace)
-        category)
+         ;; Dynamically add this ns since command descriptions have to
+         ;; stay in sync with shortcut.config command ids which do not
+         ;; have a namespace
+         (update-keys all-default-keyboard-shortcuts decorate-namespace)
+         category)
 
    :zh-CN   {:shortcut.category/formatting            "格式化"
              :shortcut.category/basics                "基础操作"
@@ -539,6 +539,24 @@
              :shortcut.category/block-selection       "Выделение блоков (нажмите Esc для снятия выделения)"
              :shortcut.category/toggle                "Переключатели"
              :shortcut.category/others                "Разное"
+             :command.auto-complete/complete          "Автодополнение: Использовать выбранный элемент"
+             :command.auto-complete/next              "Автодополнение: Выбрать следующий"
+             :command.auto-complete/open-link         "Автодополнение: Открыть выбранный элемент в браузере"
+             :command.auto-complete/prev              "Автодополнение: Выбрать предыдущий"
+             :command.auto-complete/shift-complete    "Автодополнение: Открыть выбранный элемент в боковой панели"
+             :command.cards/forgotten                 "Карточки: забытое"
+             :command.cards/next-card                 "Карточки: следующая карточка"
+             :command.cards/recall                    "Карточки: долго вспоминалось"
+             :command.cards/remembered                "Карточки: запомненное"
+             :command.cards/toggle-answers            "Карточки: показать/скрыть ответы"
+             :command.command-palette/toggle          "Показать палитру команд"
+             :command.command/run                     "Выполнить команду git"
+             :command.command/toggle-favorite         "Добавить в / убрать из Избранного"
+             :command.date-picker/complete            "Выбор даты: Выбрать указанный день"
+             :command.date-picker/next-day            "Выбор даты: Выбрать следующий день"
+             :command.date-picker/next-week           "Выбор даты: Выбрать следующую неделю"
+             :command.date-picker/prev-day            "Выбор даты: Выбрать предыдущий день"
+             :command.date-picker/prev-week           "Выбор даты: Выбрать предыдущую неделю"
              :command.editor/indent                   "Увеличить отступ"
              :command.editor/outdent                  "Уменьшить отступ"
              :command.editor/move-block-up            "Передвинуть блок выше"
@@ -549,32 +567,56 @@
              :command.editor/zoom-out                 "Уменьшить / Назад"
              :command.editor/follow-link              "Перейти по ссылке под курсором"
              :command.editor/open-link-in-sidebar     "Открыть ссылку в боковой панели"
+             :command.editor/open-file-in-default-app "Открыть файл в программе по умолчанию"
+             :command.editor/open-file-in-directory   "Открыть файл в родительском каталоге"
              :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.editor/select-down              "Выбрать контент ниже"
+             :command.editor/select-up                "Выбрать контент выше"
              :command.ui/toggle-help                  "Переключить помощь"
-             :command.git/commit                      "Подтвердить"
+             :command.git/commit                      "Создать коммит"
              :command.go/search                       "Искать на графе"
              :command.go/search-in-page               "Искать на текущей странице"
-             :command.ui/toggle-document-mode         "Переключить режи документа"
+             :command.ui/goto-plugins                 "Перейти к панели расширений"
+             :command.ui/select-theme-color           "Выбрать доступные цвета темы"
+             :command.ui/toggle-cards                 "Переключить карточки"
+             :command.ui/toggle-document-mode         "Переключить режим документа"
              :command.ui/toggle-contents              "Переключить контент на боковой панели"
              :command.ui/toggle-theme                 "Переключение между светлой / темной темой"
-             :command.ui/toggle-right-sidebar         "Переключить боковую панель"
+             :command.ui/toggle-left-sidebar          "Переключить левую панель"
+             :command.ui/toggle-right-sidebar         "Переключить правую панель"
              :command.ui/toggle-settings              "Переключить параметры"
+             :command.go/all-pages                    "Перейти ко всем страницам"
+             :command.go/backward                     "Назад"
+             :command.go/flashcards                   "Показать карточки"
              :command.go/journals                     "Перейти в Дневники"
+             :command.go/forward                      "Вперёд"
+             :command.go/graph-view                   "Перейти к виду графа"
+             :command.go/home                         "Домой"
+             :command.go/keyboard-shortcuts           "Перейти к горячим клавишам"
+             :command.go/next-journal                 "Перейти к следующему журналу"
+             :command.go/prev-journal                 "Перейти к предыдущему журналу"
+             :command.go/tomorrow                     "перейти к завтрашнему дню"
              :command.ui/toggle-wide-mode             "Переключить широкоформатный режим"
-             :command.ui/toggle-brackets              "Переключить скобки"
-             :command.search/re-index                 "Восстановить индекс поиска"
+             :command.ui/toggle-brackets              "Переключить отображение скобок"
              :command.editor/bold                     "Жирный"
              :command.editor/italics                  "Курсив"
+             :command.editor/strike-through           "Перечёркнутый"
              :command.editor/insert-link              "HTML ссылка"
+             :command.editor/insert-youtube-timestamp "Вставить временную метку на Youtube"
              :command.editor/highlight                "Выделение"
              :command.editor/undo                     "Отменить"
              :command.editor/redo                     "Вернуть"
-             :command.editor/copy                     "Копировать"
+             :command.editor/copy                     "Копировать (выделенное или ссылку на блок)"
+             :command.editor/copy-current-file        "Копировать текущий файл"
+             :command.editor/copy-embed               "Копировать вставку, ссылающуюся на текущий блок"
+             :command.editor/copy-text                "Копировать как текст"
              :command.editor/cut                      "Вырезать"
+             :command.editor/paste-text-in-one-block-at-point "Вставить текст а один блок"
+             :command.editor/replace-block-reference-at-point "Заменить ссылку на блок его содержимым"
              :command.editor/up                       "Переместить курсор вверх / Выбрать вверх"
              :command.editor/down                     "Переместить курсор вниз / Выбрать вниз"
              :command.editor/left                     "Переместить курсор влево / Открыть выбранный блок в начале"
@@ -593,7 +635,20 @@
              :command.editor/backward-kill-word       "Удалить предыдущее слово"
              :command.editor/open-edit                "Редактировать выбранный блок"
              :command.editor/delete-selection         "Удалить выбранные блоки"
-             :command.editor/toggle-open-blocks       "Переключить открытые блоки (свернуть или развернуть все)"}
+             :command.editor/toggle-open-blocks       "Переключить открытые блоки (свернуть или развернуть все)"
+             :command.editor/escape-editing           "Выйти из режима редактирования"
+             :command.graph/add                       "Добавить граф"
+             :command.graph/open                      "Открыть граф"
+             :command.graph/re-index                  "Переиндексировать текущий граф"
+             :command.graph/remove                    "Удалить граф"
+             :command.graph/save                      "Сохранить текущий граф на диск"
+             :command.misc/copy                       "mod+c"
+             :command.pdf/close                       "Закрыть текущий просмотр PDF"
+             :command.pdf/next-page                   "Следующая страница текущего PDF"
+             :command.pdf/previous-page               "Предыдущая страница текущего PDF"
+             :command.search/re-index                 "Перестроить индекс поиска"
+             :command.sidebar/clear                   "Очистить правую панель"
+             :command.sidebar/open-today-page         "Открыть сегодняшнюю страницу в правой панели"}
 
    :nb-NO   {:shortcut.category/formatting            "Formatering"
              :shortcut.category/basics                "Basis"
@@ -708,7 +763,7 @@
              :command.sidebar/clear "Fjern alt i høyre sidestolpe"
              :command.sidebar/open-today-page "Åpne dagens side i høyre sidestolpe"
              :command.ui/goto-plugins "Gå til dashbord for utvidelser"
-            ;;  :command.ui/open-new-window "Åpne et nytt vindu"
+             ;;  :command.ui/open-new-window "Åpne et nytt vindu"
              :command.ui/select-theme-color "Velg tilgjengelige temafarger"
              :command.ui/toggle-cards "Veksle kort"}
 
@@ -943,7 +998,7 @@
              :command.graph/save                      "Salvar gráfico atual no computador"
              :command.misc/copy                       "Copiar (copiar seleção ou referência do bloco)"
              :command.ui/goto-plugins                 "Ir para o painel de plugins"
-            ;;  :command.ui/open-new-window              "Abra uma nova janela"
+             ;;  :command.ui/open-new-window              "Abra uma nova janela"
              :command.editor/select-down              "Selecione o conteúdo abaixo"
              :command.editor/select-up                "Selecione o conteúdo acima"
              :command.editor/copy-embed               "Copiar uma incorporação do bloco, apontando para o bloco atual"
@@ -988,7 +1043,7 @@
              :command.go/next-journal                 "次の日誌へ移動"
              :command.go/prev-journal                 "前の日誌へ移動"
              :command.go/keyboard-shortcuts           "キーボードショートカットへ移動"
-            ;;  :command.ui/open-new-window              "別のウィンドウを開く"
+             ;;  :command.ui/open-new-window              "別のウィンドウを開く"
              :command.go/search-in-page               "ページ内を検索"
              :command.ui/toggle-document-mode         "ドキュメントモードのトグル"
              :command.ui/toggle-contents              "目次のトグル"
@@ -1162,7 +1217,7 @@
              :command.ui/toggle-help                 "Attiva/disattiva aiuto"
              :command.ui/toggle-theme                "Passa dal tema scuro a quello chiaro"
              :command.ui/toggle-contents             "Attiva/disattiva i contenuti nella barra laterale"
-            ;;  :command.ui/open-new-window             "Apri un'altra finestra"
+             ;;  :command.ui/open-new-window             "Apri un'altra finestra"
              :command.command/toggle-favorite        "Aggiungi a/rimuovi dai preferiti"
              :command.editor/open-file-in-default-app "Apri file nell'app predefinita"
              :command.editor/open-file-in-directory   "Apri file nella directory principale"
@@ -1292,7 +1347,7 @@
              :command.ui/toggle-help                 "Yardımı aç/kapat"
              :command.ui/toggle-theme                "Koyu ve açık tema arasında geçiş yap"
              :command.ui/toggle-contents             "Kenar çubuğundaki içeriği aç/kapat"
-            ;;  :command.ui/open-new-window             "Başka bir pencere aç"
+             ;;  :command.ui/open-new-window             "Başka bir pencere aç"
              :command.command/toggle-favorite        "Sık kullanılanlara ekle/çıkar"
              :command.editor/open-file-in-default-app "Dosyayı varsayılan uygulamada aç"
              :command.editor/open-file-in-directory   "Dosyayı üst dizinde aç"
@@ -1304,7 +1359,7 @@
              :command.ui/toggle-cards                 "Kartları aç/kapat"
              :command.git/commit                      "Git commit mesajı"}
 
-  :ko      {:shortcut.category/formatting             "포맷"
+   :ko      {:shortcut.category/formatting             "포맷"
              :shortcut.category/basics                "기본 동작"
              :shortcut.category/navigating            "내비게이션"
              :shortcut.category/block-editing         "블록 편집"
@@ -1342,7 +1397,7 @@
              :command.go/next-journal                 "다음 일지로 이동"
              :command.go/prev-journal                 "이전 일지로 이동"
              :command.go/keyboard-shortcuts           "키보드 단축키로 이동"
-            ;;  :command.ui/open-new-window              "새 창 열기"
+             ;;  :command.ui/open-new-window              "새 창 열기"
              :command.go/search-in-page               "페이지 안에서 검색"
              :command.ui/toggle-document-mode         "문서 모드 토글"
              :command.ui/toggle-contents              "목차 토글"
@@ -1422,4 +1477,125 @@
              :command.editor/copy-text                        "선택한 영역을 텍스트로 복사"
              :command.pdf/close                               "PDF 닫기"
              }
+   :pl {
+        :shortcut.category/basics                        "Podstawy"
+        :shortcut.category/formatting                    "Formatowanie"
+        :shortcut.category/navigating                    "Nawigacja"
+        :shortcut.category/block-editing                 "Edycja bloków (ogólne)"
+        :shortcut.category/block-command-editing         "Komenda edycji bloków"
+        :shortcut.category/block-selection               "Zaznaczanie bloków (wciśnij Esc aby zakończyć)"
+        :shortcut.category/toggle                        "Przełącz"
+        :shortcut.category/others                        "Pozostałe"
+
+        :command.date-picker/complete                    "Date picker: Wybierz zaznaczony dzień"
+        :command.date-picker/next-day                    "Date picker: Wybierz następny dzień"
+        :command.date-picker/prev-day                    "Date picker: Wybierz poprzedni dzień"
+        :command.date-picker/prev-week                   "Date picker: Wybierz poprzedni tydzień"
+        :command.date-picker/next-week                   "Date picker: Wybierz następny tydzień"
+        :command.pdf/previous-page                       "Poprzednia strona otwartego dokumentu PDF"
+        :command.pdf/next-page                           "Następna strona otwartego dokumentu PDF"
+        :command.pdf/close                               "Zamknij aktualnie otwarty dokument PDF"
+        :command.auto-complete/complete                  "Auto uzupełnianie: Wybierz zaznaczoną opcję"
+        :command.auto-complete/prev                      "Auto uzupełnianie: Wybierz poprzednią opcję"
+        :command.auto-complete/next                      "Auto uzupełnianie: Wybierz następną opcję"
+        :command.auto-complete/shift-complete            "Auto uzupełnianie: Otwórz wybraną opcję w panelu bocznym"
+        :command.auto-complete/open-link                 "Auto uzupełnianie: Otwórz wybraną opcję w przeglądarce"
+        :command.cards/toggle-answers                    "Karty: pokaż/ukryj odpowiedzi/luki w tekście"
+        :command.cards/next-card                         "Karty: następna karta"
+        :command.cards/forgotten                         "Karty: zapomniane"
+        :command.cards/remembered                        "Karty: zapamiętane"
+        :command.cards/recall                            "Karty: zajęło chwilę żeby sobie przypomnieć"
+        :command.editor/escape-editing                   "Wyjście z edycji"
+        :command.editor/backspace                        "Usuwanie wstecz"
+        :command.editor/delete                           "Usuwanie naprzód"
+        :command.editor/new-block                        "Utwórz nowy blok"
+        :command.editor/new-line                         "Nowa linia w obecnym bloku"
+        :command.editor/follow-link                      "Przejdź do linku pod kursorem"
+        :command.editor/open-link-in-sidebar             "Otwórz link w panelu bocznym"
+        :command.editor/bold                             "Wytłuszczenie"
+        :command.editor/italics                          "Pochylenie"
+        :command.editor/highlight                        "Podświetlenie"
+        :command.editor/strike-through                   "Przekreślenie"
+        :command.editor/clear-block                      "Usuń całą treść bloku"
+        :command.editor/kill-line-before                 "Usuń linię powyżej kursora"
+        :command.editor/copy-embed                       "Kopiuj kod osadzenia dla obecnego bloku"
+        :command.editor/kill-line-after                  "Usuń linię poniżej kursora"
+        :command.editor/beginning-of-block               "Umieść kursor na początku bloku"
+        :command.editor/end-of-block                     "Umieść kursor na końcu bloku"
+        :command.editor/forward-word                     "Przesuń kursor do następnego słowa"
+        :command.editor/backward-word                    "Przesuń kursor do poprzedniego słowa"
+        :command.editor/forward-kill-word                "Usuń następne słowo"
+        :command.editor/backward-kill-word               "Usuń poprzednie słowo"
+        :command.editor/replace-block-reference-at-point "Zastąp referencję do bloku jego treścią"
+        :command.editor/paste-text-in-one-block-at-point "Wklej cały tekst jako jeden blok"
+        :command.editor/insert-youtube-timestamp         "Umieść znacznik czasu filmu YouTube"
+        :command.editor/cycle-todo                       "Rotuj stan TODO dla aktualnego bloku"
+        :command.editor/up                               "Przesuń kursor do góry / Zaznacz powyższą opcję"
+        :command.editor/down                             "Przesuń kursor w dół / Zaznacz poniższą opcję"
+        :command.editor/left                             "Przesuń kursor w lewo / Rozpocznij edycję na początku bloku"
+        :command.editor/right                            "Przesuń kursor w prawo / Rozpocznij edycję na końcu bloku"
+        :command.editor/select-up                        "Zaznacz treść powyżej"
+        :command.editor/select-down                      "Zaznacz treść poniżej"
+        :command.editor/move-block-up                    "Przesuń blok powyżej"
+        :command.editor/move-block-down                  "Przesuń blok poniżej"
+        :command.editor/open-edit                        "Edytuj zaznaczony blok"
+        :command.editor/select-block-up                  "Zaznacz blok powyżej"
+        :command.editor/select-block-down                "Zaznacz blok poniżej"
+        :command.editor/delete-selection                 "Usuń zaznaczone bloki"
+        :command.editor/expand-block-children            "Rozwiń"
+        :command.editor/collapse-block-children          "Zwiń"
+        :command.editor/indent                           "Przesuń blok poziom niżej"
+        :command.editor/outdent                          "Przesuń blok poziom wyżej"
+        :command.editor/copy                             "Kopiuj (kopiuje zaznaczenie lub referencję do bloku)"
+        :command.editor/copy-text                        "Kopiuj zaznaczenie jako tekst"
+        :command.editor/cut                              "Wytnij"
+        :command.editor/undo                             "Cofnij"
+        :command.editor/redo                             "Ponów"
+        :command.editor/insert-link                      "HTML Link"
+        :command.editor/select-all-blocks                "Zaznacz wszystkie bloki"
+        :command.editor/zoom-in                          "Zoom in editing block / Forwards otherwise"
+        :command.editor/zoom-out                         "Zoom out editing block / Backwards otherwise"
+        :command.ui/toggle-brackets                      "Pokaż / Ukrywaj kwadratowe nawiasy"
+        :command.go/search-in-page                       "Szukaj na aktualnej stronie"
+        :command.go/search                               "Wyszukiwanie tekstowe"
+        :command.go/journals                             "Idź do dzienników"
+        :command.go/backward                             "Wstecz"
+        :command.go/forward                              "Naprzód"
+        :command.search/re-index                         "Przebuduj index wyszukiwania"
+        :command.sidebar/open-today-page                 "Otwórz dzisiejszy dziennik w panelu bocznym"
+        :command.sidebar/clear                           "Wyczyść wszystko w panelu bocznym"
+        :command.misc/copy                               "mod+c"
+        :command.graph/open                              "Wybierz graf do otwarcia"
+        :command.graph/remove                            "Usuń graf"
+        :command.graph/add                               "Dodaj graf"
+        :command.graph/save                              "Zapisz obecny graf na dysk"
+        :command.graph/re-index                          "Reindeksuj obecny graf"
+        :command.command/run                             "Wykonaj polecenie GIT"
+        :command.command/toggle-favorite                 "Dodaj / Usuń z ulubionych"
+        :command.command-palette/toggle                  "Pokaż / Ukryj paletę poleceń"
+        :command.go/home                                 "Idź do strony głównej"
+        :command.go/all-pages                            "Idź do indeksu wszystkich stron"
+        :command.go/graph-view                           "Idź do widoku grafu"
+        :command.go/keyboard-shortcuts                   "Idź do widoku skrótów klawiszowych"
+        :command.go/tomorrow                             "Idź do jutrzejszego dziennika"
+        :command.go/next-journal                         "Idź do następnego dziennika"
+        :command.go/prev-journal                         "Idź do poprzedniego dziennika"
+        :command.go/flashcards                           "Pokaż / Ukryj widok fiszek"
+        :command.ui/toggle-document-mode                 "Wyświetl / Ukryj widok dokumentu"
+        :command.ui/toggle-settings                      "Wyświetl / Ukryj ustawienia"
+        :command.ui/toggle-right-sidebar                 "Pokaż / Ukryj prawy panel"
+        :command.ui/toggle-left-sidebar                  "Pokaż / Ukryj lewy panel"
+        :command.ui/toggle-help                          "Pogaż / Ukryj pomoc"
+        :command.ui/toggle-theme                         "Zmień motyw graficzny na ciemny/jasny"
+        :command.ui/toggle-contents                      "Toggle Contents in sidebar"
+        :command.editor/open-file-in-default-app         "Otwórz plik w domyślnej aplikacji"
+        :command.editor/open-file-in-directory           "Otwórz plik w nadrzędnym katalogu"
+        :command.editor/copy-current-file                "Kopiuj aktualny plik"
+        :command.editor/toggle-open-blocks               "Zwiń / Rozwiń otwarte bloki"
+        :command.ui/toggle-wide-mode                     "Włącz / wyłącz tryb szeroki"
+        :command.ui/select-theme-color                   "Select available theme colors"
+        :command.ui/goto-plugins                         "Przejdź do dashboardu pluginów"
+        :command.ui/toggle-cards                         "Pokaż / Ukryj karty"
+        :command.git/commit                              "Wykonaj GIT COMMIT z wiadomością"
+        }
 })

+ 5 - 3
src/main/frontend/util/text.cljs

@@ -89,7 +89,7 @@
   "Get all indexes of `value` in the string `s`."
   [s value {:keys [before?] :or {before? true}}]
   (if (= value "")
-    (if before? [0] [(dec (count s))])
+    (if before? [0] [(count s)]) ;; Hack: this prevents unnecessary work in wrapped-by?
     (loop [acc []
           i 0]
      (if-let [i (string/index-of s value i)]
@@ -99,10 +99,12 @@
 (defn wrapped-by?
   "`pos` must be wrapped by `before` and `and` in string `value`, e.g. ((a|b))"
   [value pos before end]
+  ;; Increment 'before' matches by (length of before string - 0.5) to make them be just before the cursor position they precede.
+  ;; Increment 'after' matches by 0.5 to make them be just after the cursor position they follow.
   (let [before-matches (->> (get-string-all-indexes value before {:before? true})
-                            (map (fn [i] [i :before])))
+                            (map (fn [i] [(+ i (- (count before) 0.5)) :before])))
         end-matches (->> (get-string-all-indexes value end {:before? false})
-                         (map (fn [i] [i :end])))
+                         (map (fn [i] [(+ i 0.5) :end])))
         indexes (sort-by first (concat before-matches end-matches [[pos :between]]))
         ks (map second indexes)
         q [:before :between :end]]

+ 5 - 1
src/main/logseq/api.cljs

@@ -713,7 +713,11 @@
             result (apply d/q query db resolved-inputs)]
         (clj->js result)))))
 
-(def ^:export custom_query db/custom-query)
+(defn ^:export custom_query
+  [query-string]
+  (let [result (let [query (cljs.reader/read-string query-string)]
+                 (db/custom-query {:query query}))]
+    (bean/->js (normalize-keyword-for-json (flatten @result)))))
 
 (defn ^:export download_graph_db
   []

+ 27 - 1
src/test/frontend/util/text_test.cljs

@@ -30,4 +30,30 @@
     [0 4 8]
 
     (text-util/get-string-all-indexes "a.c a.c ab" "a." {})
-    [0 4]))
+    [0 4]
+    
+    (text-util/get-string-all-indexes "abc" "" { :before? true })
+    [0]
+
+    (text-util/get-string-all-indexes "abc" "" { :before? false })
+    [3]
+    ))
+
+(deftest test-wrapped-by
+  []
+  (are [x y] (= x y)
+    '(false false true false false)
+    (map #(text-util/wrapped-by? "[[]]" % "[[" "]]") (take 5 (range)))
+
+    '(false false true true true true false false)
+    (map #(text-util/wrapped-by? "[[abc]]" % "[[" "]]") (take 8 (range)))
+
+    '(false false false false false false true true false false false false true true false false)
+    (map #(text-util/wrapped-by? "012 [[6]] [[2]]" % "[[" "]]") (take 16 (range)))
+
+    '(true true true true true false false false false false false false)
+    (map #(text-util/wrapped-by? "prop::value" % "" "::") (take 12 (range)))
+
+    '(false false false false false false true true true true true true)
+    (map #(text-util/wrapped-by? "prop::value" % "::" "") (take 12 (range)))
+    ))

+ 14 - 0
templates/dummy-notes-pl.md

@@ -0,0 +1,14 @@
+---
+title: Jak pisać zwykłe notatki?
+---
+
+- Cześć, Jestem blokiem!
+:PROPERTIES:
+:id: 5f713e91-8a3c-4b04-a33a-c39482428e2d
+:END:
+    - Jestem blokiem - dzieckiem!
+    - Jestem innym blokiem - dzieckiem!
+- A ja jestem kolejnym blokiem!
+:PROPERTIES:
+:id: 5f713ea8-8cba-403d-ac00-9964b1ec7190
+:END:

+ 27 - 0
templates/tutorial-pl.md

@@ -0,0 +1,27 @@
+## Cześć! Witamy w  Logseq!
+- Logseq to _skupiona na prywatności_, [otwarto źródłowa](https://github.com/logseq/logseq) platforma do zarządzania _wiedzą_ i współpracą.
+- To jest 3 minutowy samouczek jak używać Logseq. Rozpoczynajmy!
+- Masz tutaj kilka podpowiedzi, które mogą być przydatne podczas pracy z programem.
+#+BEGIN_TIP
+Kliknij aby rozpocząć edycję bloku.
+Każdorazowe naciśnięcie `Enter` tworzy nowy blok.
+Zaś `Shift+Enter` tworzy nową linię w tym samym bloku.
+Napisanie `/` pokazuje wszystkie dostępne komendy.
+#+END_TIP
+- 1. Stwórzmy stronę [[Jak pisać zwykłe notatki?]]. Możesz kliknąć ten link aby otworzyć wybraną stronę, albo kliknąć z wciśniętym klawiszem `Shift` aby otworzyć go w panelu bocznym! Powinieneś widzieć teraz zarówno _Połączone referencje_ jak i _Niepołączone referencje_.
+- 2. Odwołajmy się do niektórych bloków strony [[Jak pisać zwykłe notatki?]], możesz kliknąć z `Shift` dowolne odwołanie aby otworzyć je w panelu bocznym. Spróbuj zmienić cokolwiek
+w prawym panelu. Zmiany powinny być widoczne w wybranych blokach w centralnej części edytora!
+    - ((5f713e91-8a3c-4b04-a33a-c39482428e2d)) : To jest odwołanie do wybranegoo bloku.
+    - ((5f713ea8-8cba-403d-ac00-9964b1ec7190)) : To jest odwołanie do innego bloku.
+- 3. Czy Logseq wspiera tagi?
+    - Oczywiście!! To jest #przyład tagu.
+- 4. Czy Logseq wspiera todosy np. todo/doing/done oraz priorytety?
+    - Tak jest! Wciśnij `/` i wybierz ulubione słowo todo lub priorytet z listy (A/B/C).
+    - NOW [#A] Zwykły samouczek nt. "Jak pisać zwykłe notatki?"
+    - LATER [#A] Sprawdzić to wideo [:a {:href "https://twitter.com/shuomi3" :target "_blank"} "@shuomi3"] na temat jak używać Logseq do robienia notatek i organizacji swojego życia!
+    {{youtube https://www.youtube.com/watch?v=BhHfF0P9A80&ab_channel=ShuOmi}}
+
+    - DONE Stworzyć nową stronę
+    - CANCELED [#C] Stworzyć stronę z przynajmniej tysiącem innych bloków
+- To by było na tyle! Możesz dodać więcej treści do tego grafu lub otworzyć lokalny katalog aby zaimportować swoje notatki!
+- Możesz także ściągnąć naszą pulpitową aplikację na [Github](https://github.com/logseq/logseq/releases)