mirror of
https://github.com/logseq/logseq.git
synced 2026-05-23 20:24:15 +00:00
Merge branch 'master' into enhance/i18n
This commit is contained in:
4
deps.edn
4
deps.edn
@@ -56,7 +56,7 @@
|
||||
|
||||
:aliases {:cljs {:extra-paths ["src/dev-cljs/" "src/test/" "src/electron/"]
|
||||
:extra-deps {org.clojure/tools.namespace {:mvn/version "1.5.0"}
|
||||
cider/cider-nrepl {:mvn/version "0.58.0"}
|
||||
cider/cider-nrepl {:mvn/version "0.59.0"}
|
||||
org.clojars.knubie/cljs-run-test {:mvn/version "1.0.1"}
|
||||
tortue/spy {:mvn/version "2.15.0"}
|
||||
binaryage/devtools {:mvn/version "1.0.7"}}
|
||||
@@ -66,7 +66,7 @@
|
||||
pjstadig/humane-test-output {:mvn/version "0.11.0"}
|
||||
org.clojars.knubie/cljs-run-test {:mvn/version "1.0.1"}
|
||||
tortue/spy {:mvn/version "2.15.0"}
|
||||
cider/cider-nrepl {:mvn/version "0.58.0"}}
|
||||
cider/cider-nrepl {:mvn/version "0.59.0"}}
|
||||
:main-opts ["-m" "shadow.cljs.devtools.cli"]}
|
||||
|
||||
:bench {:extra-paths ["src/bench/"]
|
||||
|
||||
19
deps/db/src/logseq/db.cljs
vendored
19
deps/db/src/logseq/db.cljs
vendored
@@ -212,6 +212,23 @@
|
||||
(transact-fn repo-or-conn tx-data tx-meta)
|
||||
(transact-sync repo-or-conn tx-data tx-meta))))))
|
||||
|
||||
(defn- make-conn [opts]
|
||||
;; `datascript.conn/->Conn` is not exposed in nbb runtime.
|
||||
;; Start from a fresh conn and merge the desired internal state.
|
||||
(let [conn (d/create-conn)]
|
||||
(swap! (:atom conn) merge opts)
|
||||
conn))
|
||||
|
||||
(defn- conn-from-db
|
||||
"Forked conn-from-db to not invoke `d/store`, it's unsafe to store during nested batch tx."
|
||||
[db]
|
||||
(if-some [_storage (storage/storage db)]
|
||||
(make-conn
|
||||
{:db db
|
||||
:tx-tail []
|
||||
:db-last-stored db})
|
||||
(make-conn {:db db})))
|
||||
|
||||
(defn batch-transact-with-temp-conn!
|
||||
"Run batched tx work against a temporary conn, then apply all collected tx-data
|
||||
to `conn` with a single final `transact!`.
|
||||
@@ -229,7 +246,7 @@
|
||||
- `listen-db` (if provided) receives each intermediate tx-report from temp conn.
|
||||
- Do not rely on returned tx-report shape for undo/redo behavior."
|
||||
[conn tx-meta batch-tx-fn & {:keys [listen-db]}]
|
||||
(let [temp-conn (d/conn-from-db @conn)
|
||||
(let [temp-conn (conn-from-db @conn)
|
||||
*batch-tx-data (volatile! [])
|
||||
*complete? (volatile! false)]
|
||||
;; can read from disk, write is disallowed
|
||||
|
||||
56
deps/outliner/src/logseq/outliner/op.cljs
vendored
56
deps/outliner/src/logseq/outliner/op.cljs
vendored
@@ -371,41 +371,6 @@
|
||||
(reset! *result (apply toggle-reaction! conn args))
|
||||
nil))
|
||||
|
||||
(defn- apply-single-op!
|
||||
[conn ops *result opts' clean-tx-meta]
|
||||
(let [db @conn
|
||||
op (first ops)
|
||||
result (case (ffirst ops)
|
||||
:save-block
|
||||
(apply outliner-core/save-block db (second op))
|
||||
:insert-blocks
|
||||
(let [[blocks target-block-id insert-opts] (second op)]
|
||||
(outliner-core/insert-blocks db blocks
|
||||
(d/entity db [:block/uuid target-block-id])
|
||||
insert-opts))
|
||||
:delete-blocks
|
||||
(let [[block-ids opts] (second op)
|
||||
blocks (keep #(d/entity db [:block/uuid %]) block-ids)]
|
||||
(outliner-core/delete-blocks db blocks (merge opts opts'))))
|
||||
additional-tx (:additional-tx opts')
|
||||
full-tx (concat (:tx-data result) additional-tx)]
|
||||
(ldb/transact! conn full-tx clean-tx-meta)
|
||||
(reset! *result result)))
|
||||
|
||||
(defn- apply-save-followed-by-insert!
|
||||
[conn ops *result opts' clean-tx-meta]
|
||||
(let [save-block-tx (:tx-data (apply outliner-core/save-block @conn (second (first ops))))
|
||||
[blocks target-block-id insert-opts] (second (second ops))
|
||||
insert-blocks-result (outliner-core/insert-blocks @conn blocks
|
||||
(d/entity @conn [:block/uuid target-block-id])
|
||||
insert-opts)
|
||||
additional-tx (:additional-tx opts')
|
||||
full-tx (concat save-block-tx
|
||||
(:tx-data insert-blocks-result)
|
||||
additional-tx)]
|
||||
(ldb/transact! conn full-tx clean-tx-meta)
|
||||
(reset! *result insert-blocks-result)))
|
||||
|
||||
(defn apply-ops!
|
||||
[conn ops opts]
|
||||
(assert (ops-validator ops) ops)
|
||||
@@ -420,22 +385,11 @@
|
||||
(and single-op-outliner-op
|
||||
(nil? (:outliner-op opts)))
|
||||
(assoc :outliner-op single-op-outliner-op))
|
||||
*result (atom nil)
|
||||
clean-tx-meta (dissoc opts' :additional-tx :transact-opts :current-block)]
|
||||
(cond
|
||||
(and single-op-outliner-op
|
||||
(contains? #{:save-block :insert-blocks :delete-blocks} (ffirst ops)))
|
||||
(apply-single-op! conn ops *result opts' clean-tx-meta)
|
||||
*result (atom nil)]
|
||||
|
||||
(and (= 2 (count ops))
|
||||
(= :save-block (ffirst ops))
|
||||
(= :insert-blocks (first (second ops))))
|
||||
(apply-save-followed-by-insert! conn ops *result opts' clean-tx-meta)
|
||||
|
||||
:else
|
||||
(outliner-tx/transact!
|
||||
opts'
|
||||
(doseq [op-entry ops]
|
||||
(apply-op! conn opts' *result op-entry))))
|
||||
(outliner-tx/transact!
|
||||
opts'
|
||||
(doseq [op-entry ops]
|
||||
(apply-op! conn opts' *result op-entry)))
|
||||
|
||||
@*result))
|
||||
|
||||
@@ -259,10 +259,32 @@
|
||||
[:<>
|
||||
(let [handle-copy!
|
||||
(fn [_e]
|
||||
(-> (util/copy-image-to-clipboard image-src)
|
||||
(p/then #(notification/show! (t :notification/copied) :success))
|
||||
(p/catch (fn [error]
|
||||
(js/console.error error)))))
|
||||
;; Electron renderer cannot fetch file:// URLs; read the
|
||||
;; file via IPC and copy the blob directly.
|
||||
(if (util/electron?)
|
||||
(let [ext (some-> (util/get-file-ext image-src) string/lower-case)
|
||||
;; Should support all exts in common-config/img-formats
|
||||
ext->mime {"png" "image/png"
|
||||
"jpg" "image/jpeg"
|
||||
"jpeg" "image/jpeg"
|
||||
"gif" "image/gif"
|
||||
"webp" "image/webp"
|
||||
"bmp" "image/bmp"
|
||||
"svg" "image/svg+xml"
|
||||
"ico" "image/x-icon"}
|
||||
mime (get ext->mime ext)]
|
||||
(if-not mime
|
||||
(notification/show! (t :asset/copy-image-unsupported-extension (str "." ext)) :warning)
|
||||
(-> (p/let [binary (fs/read-file-raw nil image-src {})
|
||||
blob (js/Blob. (array binary) (clj->js {:type mime}))]
|
||||
(util/copy-image-blob-to-clipboard blob))
|
||||
(p/then #(notification/show! (t :notification/copied) :success))
|
||||
(p/catch (fn [error]
|
||||
(js/console.error error))))))
|
||||
(-> (util/copy-image-to-clipboard src')
|
||||
(p/then #(notification/show! (t :notification/copied) :success))
|
||||
(p/catch (fn [error]
|
||||
(js/console.error error))))))
|
||||
handle-delete!
|
||||
(fn [_e]
|
||||
(when-let [block-id (get-blockid)]
|
||||
@@ -347,7 +369,7 @@
|
||||
(ipc/ipc "openFileInFolder" image-src)
|
||||
(js/window.apis.openExternal image-src)))}
|
||||
[:span.flex.items-center.gap-1
|
||||
(ui/icon "folder-pin") (t (if local? :asset/show-in-folder :asset/open-in-browser))]))
|
||||
(ui/icon "folder-pin") (t (if local? :asset/show-file-in-folder :asset/open-in-browser))]))
|
||||
|
||||
(when-not config/publishing?
|
||||
[:<>
|
||||
|
||||
@@ -2,11 +2,13 @@
|
||||
(:require [cljs-time.coerce :as tc]
|
||||
[cljs.pprint :as pp]
|
||||
[clojure.string :as string]
|
||||
[electron.ipc :as ipc]
|
||||
[frontend.commands :as commands]
|
||||
[frontend.components.editor :as editor]
|
||||
[frontend.components.export :as export]
|
||||
[frontend.components.icon :as icon-component]
|
||||
[frontend.components.page-menu :as page-menu]
|
||||
[frontend.config :as config]
|
||||
[frontend.context.i18n :refer [t]]
|
||||
[frontend.db :as db]
|
||||
[frontend.extensions.fsrs :as fsrs]
|
||||
@@ -24,6 +26,7 @@
|
||||
[frontend.util.url :as url-util]
|
||||
[goog.dom :as gdom]
|
||||
[goog.object :as gobj]
|
||||
[logseq.common.path :as path]
|
||||
[logseq.common.util :as common-util]
|
||||
[logseq.db :as ldb]
|
||||
[logseq.shui.ui :as shui]
|
||||
@@ -241,6 +244,16 @@
|
||||
(editor-handler/copy-block-ref! block-id tap-f)))}
|
||||
(t :block/copy-url)))
|
||||
|
||||
(when (and (util/electron?) (ldb/asset? block))
|
||||
(shui/dropdown-menu-item
|
||||
{:key "Show asset in folder"
|
||||
:on-click (fn [_e]
|
||||
(let [assets-dir (config/get-current-repo-assets-root)
|
||||
ext (name (:logseq.property.asset/type block))
|
||||
file-path (path/path-join assets-dir (str (:block/uuid block) "." ext))]
|
||||
(ipc/ipc "openFileInFolder" file-path)))}
|
||||
(t :asset/show-file-in-folder)))
|
||||
|
||||
(shui/dropdown-menu-item
|
||||
{:key "Copy as"
|
||||
:on-click (fn [_]
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
:else
|
||||
;; FIXME: should move to worker
|
||||
(let [txs [(db-class/build-new-class (db/get-db)
|
||||
{:block/uuid [:block/uuid (:block/uuid page-entity)]
|
||||
{:block/uuid (:block/uuid page-entity)
|
||||
:block/title (:block/title page-entity)
|
||||
:block/created-at (:block/created-at page-entity)})
|
||||
[:db/retract (:db/id page-entity) :block/tags :logseq.class/Page]]]
|
||||
|
||||
@@ -1314,16 +1314,20 @@
|
||||
(.catch (fn [err]
|
||||
(js/console.error "Web clipboard failed" err)))))))))
|
||||
|
||||
#?(:cljs
|
||||
(defn copy-image-blob-to-clipboard
|
||||
[blob]
|
||||
(if (= (.-type blob) "image/png")
|
||||
(write-blob-to-clipboard blob)
|
||||
(image-blob->png blob write-blob-to-clipboard))))
|
||||
|
||||
#?(:cljs
|
||||
(defn copy-image-to-clipboard
|
||||
[src]
|
||||
(-> (js/fetch src)
|
||||
(.then (fn [data]
|
||||
(-> (.blob data)
|
||||
(.then (fn [blob]
|
||||
(if (= (.-type blob) "image/png")
|
||||
(write-blob-to-clipboard blob)
|
||||
(image-blob->png blob write-blob-to-clipboard))))
|
||||
(.then copy-image-blob-to-clipboard)
|
||||
(.catch js/console.error)))))))
|
||||
|
||||
(defn memoize-last
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Bovenliggend element kan nie als eigen eienskap worden ingesloten"
|
||||
:asset/confirm-delete-image "Is jy seker jy wil hierdie beeld uitvee?"
|
||||
:asset/copy "Kopieer"
|
||||
:asset/copy-image-unsupported-extension "Kopiëring van beelde word nie vir {1}-lêers ondersteun nie"
|
||||
:asset/create-local-copy-warning "Skep 'n plaaslike bate van 'n eksterne een. PDF-aantekeninge vereis 'n plaaslike bate om behoorlik te werk."
|
||||
:asset/create-title "Skep bate"
|
||||
:asset/delete "Verwyder"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Kies batelêer"
|
||||
:asset/select-from-disk "Kies van skyf"
|
||||
:asset/selected-directories "Gekose gidse:"
|
||||
:asset/show-in-folder "Wys in gids"
|
||||
:asset/show-file-in-folder "Wys lêer in gids"
|
||||
:asset/size-too-large "Lêer is te groot"
|
||||
:asset/syncing "Sinkronisasie"
|
||||
:asset/title-label "Batetitel:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "لا يمكن تضمين العنصر الأصلي كخاصية"
|
||||
:asset/confirm-delete-image "هل أنت متأكد من أنك تريد حذف هذه الصورة؟"
|
||||
:asset/copy "نسخ"
|
||||
:asset/copy-image-unsupported-extension "نسخ الصورة غير مدعوم لملفات {1}"
|
||||
:asset/create-local-copy-warning "إنشاء أصل محلي من أصل خارجي. تتطلب تعليقات PDF التوضيحية أصلًا محليًا للعمل بشكل صحيح."
|
||||
:asset/create-title "إنشاء أصل"
|
||||
:asset/delete "حذف"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "تحديد ملف الأصل"
|
||||
:asset/select-from-disk "التحديد من القرص"
|
||||
:asset/selected-directories "المجلدات المحددة:"
|
||||
:asset/show-in-folder "عرض في المجلد"
|
||||
:asset/show-file-in-folder "إظهار الملف في المجلد"
|
||||
:asset/size-too-large "الملف كبير جداً"
|
||||
:asset/syncing "جاري المزامنة"
|
||||
:asset/title-label "عنوان الأصل:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "No es pot incrustar el pare com a propietat pròpia"
|
||||
:asset/confirm-delete-image "Esteu segur que voleu eliminar aquesta imatge?"
|
||||
:asset/copy "Copiar imatge"
|
||||
:asset/copy-image-unsupported-extension "Copiar la imatge no és compatible amb els fitxers {1}"
|
||||
:asset/create-local-copy-warning "S'està creant un recurs local a partir d'un d'extern. Les anotacions PDF requereixen un recurs local per funcionar correctament."
|
||||
:asset/create-title "Crear recurs"
|
||||
:asset/delete "Eliminar imatge"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Seleccioneu el fitxer del recurs"
|
||||
:asset/select-from-disk "Seleccionar del disc"
|
||||
:asset/selected-directories "Directoris seleccionats:"
|
||||
:asset/show-in-folder "Mostrar imatge a la carpeta"
|
||||
:asset/show-file-in-folder "Mostrar el fitxer a la carpeta"
|
||||
:asset/size-too-large "El recurs és massa gran"
|
||||
:asset/syncing "Sincronització en curs"
|
||||
:asset/title-label "Títol del recurs:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Nelze vložit rodiče jako vlastní vlastnost"
|
||||
:asset/confirm-delete-image "Jste si jisti, že chcete odstranit tento obrázek?"
|
||||
:asset/copy "Kopírovat obrázek"
|
||||
:asset/copy-image-unsupported-extension "Kopírování obrázku není pro soubory {1} podporováno"
|
||||
:asset/create-local-copy-warning "Vytváření lokální kopie z externího souboru. PDF anotace vyžadují lokální soubor pro správné fungování."
|
||||
:asset/create-title "Vytvořit soubor"
|
||||
:asset/delete "Odstranit obrázek"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Vybrat soubor"
|
||||
:asset/select-from-disk "Vybrat z disku"
|
||||
:asset/selected-directories "Vybrané adresáře:"
|
||||
:asset/show-in-folder "Zobrazit obrázek ve složce"
|
||||
:asset/show-file-in-folder "Zobrazit soubor ve složce"
|
||||
:asset/size-too-large "Soubor je příliš velký"
|
||||
:asset/syncing "Synchronizace"
|
||||
:asset/title-label "Název souboru:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Elternelement kann nicht als eigene Eigenschaft eingebettet werden"
|
||||
:asset/confirm-delete-image "Möchten Sie dieses Bild wirklich löschen?"
|
||||
:asset/copy "Bild kopieren"
|
||||
:asset/copy-image-unsupported-extension "Das Kopieren von Bildern wird für Dateien vom Typ {1} nicht unterstützt"
|
||||
:asset/create-local-copy-warning "Es wird ein lokales Asset aus einem externen erstellt. PDF-Anmerkungen erfordern ein lokales Asset, um richtig zu funktionieren."
|
||||
:asset/create-title "Asset erstellen"
|
||||
:asset/delete "Bild löschen"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Asset-Datei auswählen"
|
||||
:asset/select-from-disk "Von Festplatte auswählen"
|
||||
:asset/selected-directories "Ausgewählte Verzeichnisse:"
|
||||
:asset/show-in-folder "Bild im Ordner anzeigen"
|
||||
:asset/show-file-in-folder "Datei im Ordner anzeigen"
|
||||
:asset/size-too-large "Asset-Größe ist zu groß"
|
||||
:asset/syncing "Wird synchronisiert"
|
||||
:asset/title-label "Asset-Titel:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Can't embed parent block as its own property"
|
||||
:asset/confirm-delete-image "Are you sure you want to delete this image?"
|
||||
:asset/copy "Copy image"
|
||||
:asset/copy-image-unsupported-extension "Copy image is not supported for {1} files"
|
||||
:asset/create-local-copy-warning "Creating a local asset from an external one. PDF annotations require a local asset to work properly."
|
||||
:asset/create-title "Create asset"
|
||||
:asset/delete "Delete image"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Select Asset File"
|
||||
:asset/select-from-disk "Select from disk"
|
||||
:asset/selected-directories "Selected directories:"
|
||||
:asset/show-in-folder "Show image in folder"
|
||||
:asset/show-file-in-folder "Show file in folder"
|
||||
:asset/size-too-large "Asset size shouldn't be larger than 100M"
|
||||
:asset/syncing "Syncing"
|
||||
:asset/title-label "Asset title:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "No se puede incrustar el padre como su propia propiedad"
|
||||
:asset/confirm-delete-image "¿Está seguro de que desea eliminar esta imagen?"
|
||||
:asset/copy "Copiar imagen"
|
||||
:asset/copy-image-unsupported-extension "No se admite copiar imágenes para archivos {1}"
|
||||
:asset/create-local-copy-warning "Creando un archivo local a partir de uno externo. Las anotaciones PDF requieren un archivo local para funcionar correctamente."
|
||||
:asset/create-title "Crear archivo adjunto"
|
||||
:asset/delete "Eliminar imagen"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Seleccionar archivo adjunto"
|
||||
:asset/select-from-disk "Seleccionar desde disco"
|
||||
:asset/selected-directories "Directorios seleccionados:"
|
||||
:asset/show-in-folder "Mostrar imagen en la carpeta"
|
||||
:asset/show-file-in-folder "Mostrar archivo en la carpeta"
|
||||
:asset/size-too-large "El recurso es demasiado grande"
|
||||
:asset/syncing "Sincronizando"
|
||||
:asset/title-label "Título del archivo adjunto:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "نمیتوان والد را به عنوان ویژگی خودش جاسازی کرد"
|
||||
:asset/confirm-delete-image "آیا مطمئن هستید که میخواهید این تصویر را حذف کنید؟"
|
||||
:asset/copy "کپی"
|
||||
:asset/copy-image-unsupported-extension "کپی تصویر برای فایلهای {1} پشتیبانی نمیشود"
|
||||
:asset/create-local-copy-warning "ایجاد فایل پیوست محلی از یک فایل خارجی. حاشیهنویسی PDF نیاز به فایل پیوست محلی دارد تا به درستی کار کند."
|
||||
:asset/create-title "ایجاد فایل پیوست"
|
||||
:asset/delete "حذف"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "انتخاب فایل پیوست"
|
||||
:asset/select-from-disk "انتخاب از دیسک"
|
||||
:asset/selected-directories "پوشههای انتخاب شده:"
|
||||
:asset/show-in-folder "نمایش در پوشه"
|
||||
:asset/show-file-in-folder "نمایش فایل در پوشه"
|
||||
:asset/size-too-large "فایل خیلی بزرگ است"
|
||||
:asset/syncing "در حال همگامسازی"
|
||||
:asset/title-label "عنوان فایل پیوست:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Impossible d'intégrer le parent comme sa propre propriété"
|
||||
:asset/confirm-delete-image "Voulez-vous vraiment supprimer cette image ?"
|
||||
:asset/copy "Copier l'image"
|
||||
:asset/copy-image-unsupported-extension "La copie d'image n'est pas prise en charge pour les fichiers {1}"
|
||||
:asset/create-local-copy-warning "Création d'un fichier local à partir d'un fichier externe. Les annotations PDF nécessitent un fichier local pour fonctionner correctement."
|
||||
:asset/create-title "Créer un fichier"
|
||||
:asset/delete "Supprimer l'image"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Sélectionner un fichier"
|
||||
:asset/select-from-disk "Sélectionner depuis le disque"
|
||||
:asset/selected-directories "Répertoires sélectionnés :"
|
||||
:asset/show-in-folder "Montrer l'image dans le dossier"
|
||||
:asset/show-file-in-folder "Afficher le fichier dans le dossier"
|
||||
:asset/size-too-large "La taille de la ressource est trop grande"
|
||||
:asset/syncing "Synchronisation en cours"
|
||||
:asset/title-label "Titre du fichier :"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Tidak dapat menyematkan induk sebagai propertinya sendiri"
|
||||
:asset/confirm-delete-image "Apakah Anda yakin ingin menghapus gambar ini?"
|
||||
:asset/copy "Salin gambar"
|
||||
:asset/copy-image-unsupported-extension "Menyalin gambar tidak didukung untuk file {1}"
|
||||
:asset/create-local-copy-warning "Membuat aset lokal dari aset eksternal. Anotasi PDF memerlukan aset lokal agar berfungsi dengan baik."
|
||||
:asset/create-title "Buat aset"
|
||||
:asset/delete "Hapus gambar"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Pilih File Aset"
|
||||
:asset/select-from-disk "Pilih dari disk"
|
||||
:asset/selected-directories "Direktori yang dipilih:"
|
||||
:asset/show-in-folder "Tampilkan gambar di folder"
|
||||
:asset/show-file-in-folder "Tampilkan file di folder"
|
||||
:asset/size-too-large "Berkas terlalu besar"
|
||||
:asset/syncing "Menyinkronkan"
|
||||
:asset/title-label "Judul aset:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Impossibile incorporare il genitore come propria proprietà"
|
||||
:asset/confirm-delete-image "Sei sicuro di voler eliminare questa immagine?"
|
||||
:asset/copy "Copia immagine"
|
||||
:asset/copy-image-unsupported-extension "La copia dell'immagine non è supportata per i file {1}"
|
||||
:asset/create-local-copy-warning "Creazione di una risorsa locale da una esterna. Le annotazioni PDF richiedono una risorsa locale per funzionare correttamente."
|
||||
:asset/create-title "Crea risorsa"
|
||||
:asset/delete "Elimina immagine"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Seleziona file risorsa"
|
||||
:asset/select-from-disk "Seleziona dal disco"
|
||||
:asset/selected-directories "Cartelle selezionate:"
|
||||
:asset/show-in-folder "Mostra nella cartella"
|
||||
:asset/show-file-in-folder "Mostra file nella cartella"
|
||||
:asset/size-too-large "La risorsa è troppo grande"
|
||||
:asset/syncing "Sincronizzazione in corso"
|
||||
:asset/title-label "Titolo risorsa:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "自身のプロパティとして親を埋め込むことはできません"
|
||||
:asset/confirm-delete-image "この画像を削除してもよろしいですか?"
|
||||
:asset/copy "アセットをコピー"
|
||||
:asset/copy-image-unsupported-extension "{1} ファイルは画像のコピーに対応していません"
|
||||
:asset/create-local-copy-warning "外部アセットからローカルアセットを作成します。PDFの注釈機能にはローカルアセットが必要です。"
|
||||
:asset/create-title "アセットを作成"
|
||||
:asset/delete "画像を削除"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "アセットファイルを選択"
|
||||
:asset/select-from-disk "ディスクから選択"
|
||||
:asset/selected-directories "選択されたディレクトリ:"
|
||||
:asset/show-in-folder "画像のフォルダを開く"
|
||||
:asset/show-file-in-folder "ファイルをフォルダーに表示"
|
||||
:asset/size-too-large "アセットのサイズが大きすぎます"
|
||||
:asset/syncing "同期中"
|
||||
:asset/title-label "アセットのタイトル:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "자신의 속성으로 부모를 임베드할 수 없습니다"
|
||||
:asset/confirm-delete-image "이 이미지를 삭제하시겠습니까?"
|
||||
:asset/copy "에셋 복사"
|
||||
:asset/copy-image-unsupported-extension "{1} 파일은 이미지 복사를 지원하지 않습니다"
|
||||
:asset/create-local-copy-warning "외부 자산에서 로컬 자산을 생성합니다. PDF 주석이 제대로 작동하려면 로컬 자산이 필요합니다."
|
||||
:asset/create-title "자산 만들기"
|
||||
:asset/delete "이미지 삭제"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "자산 파일 선택"
|
||||
:asset/select-from-disk "디스크에서 선택"
|
||||
:asset/selected-directories "선택된 디렉터리:"
|
||||
:asset/show-in-folder "이미지 폴더에서 열기"
|
||||
:asset/show-file-in-folder "파일을 폴더에서 보기"
|
||||
:asset/size-too-large "에셋 크기가 너무 큽니다"
|
||||
:asset/syncing "동기화 중"
|
||||
:asset/title-label "자산 제목:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Overordnet element kan ikke bygges inn som egen egenskap"
|
||||
:asset/confirm-delete-image "Er du sikker på at du vil slette dette bildet?"
|
||||
:asset/copy "Kopier"
|
||||
:asset/copy-image-unsupported-extension "Kopiering av bilder støttes ikke for {1}-filer"
|
||||
:asset/create-local-copy-warning "Oppretter en lokal kopi fra et eksternt vedlegg. PDF-merknader krever et lokalt vedlegg for å fungere riktig."
|
||||
:asset/create-title "Opprett vedlegg"
|
||||
:asset/delete "Slett"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Velg vedleggsfil"
|
||||
:asset/select-from-disk "Velg fra disk"
|
||||
:asset/selected-directories "Valgte mapper:"
|
||||
:asset/show-in-folder "Vis i mappe"
|
||||
:asset/show-file-in-folder "Vis fil i mappe"
|
||||
:asset/size-too-large "Filen er for stor"
|
||||
:asset/syncing "Synkroniserer"
|
||||
:asset/title-label "Vedleggstittel:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Bovenliggend element kan niet als eigen eigenschap worden ingesloten"
|
||||
:asset/confirm-delete-image "Weet u zeker dat u deze afbeelding wilt verwijderen?"
|
||||
:asset/copy "Kopiëren"
|
||||
:asset/copy-image-unsupported-extension "Afbeelding kopiëren wordt niet ondersteund voor {1}-bestanden"
|
||||
:asset/create-local-copy-warning "Er wordt een lokale bijlage aangemaakt van een externe bron. PDF-annotaties vereisen een lokale bijlage om correct te werken."
|
||||
:asset/create-title "Bijlage aanmaken"
|
||||
:asset/delete "Verwijderen"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Bijlagebestand selecteren"
|
||||
:asset/select-from-disk "Selecteren van schijf"
|
||||
:asset/selected-directories "Geselecteerde mappen:"
|
||||
:asset/show-in-folder "In map tonen"
|
||||
:asset/show-file-in-folder "Bestand in map tonen"
|
||||
:asset/size-too-large "Bestand is te groot"
|
||||
:asset/syncing "Synchroniseren"
|
||||
:asset/title-label "Bijlagetitel:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Nie można osadzić rodzica jako własnej właściwości"
|
||||
:asset/confirm-delete-image "Czy na pewno chcesz usunąć ten obraz?"
|
||||
:asset/copy "Kopiuj obrazek"
|
||||
:asset/copy-image-unsupported-extension "Kopiowanie obrazu nie jest obsługiwane dla plików {1}"
|
||||
:asset/create-local-copy-warning "Tworzenie lokalnego zasobu z zewnętrznego. Adnotacje PDF wymagają lokalnego zasobu, aby działały poprawnie."
|
||||
:asset/create-title "Utwórz zasób"
|
||||
:asset/delete "Usuń obrazek"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Wybierz plik zasobu"
|
||||
:asset/select-from-disk "Wybierz z dysku"
|
||||
:asset/selected-directories "Wybrane katalogi:"
|
||||
:asset/show-in-folder "Pokaż obrazek w folderze"
|
||||
:asset/show-file-in-folder "Pokaż plik w folderze"
|
||||
:asset/size-too-large "Zasób jest zbyt duży"
|
||||
:asset/syncing "Synchronizacja"
|
||||
:asset/title-label "Tytuł zasobu:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Não é possível incorporar o pai como sua própria propriedade"
|
||||
:asset/confirm-delete-image "Tem certeza de que deseja excluir esta imagem?"
|
||||
:asset/copy "Copiar imagem"
|
||||
:asset/copy-image-unsupported-extension "Copiar imagem não é compatível com arquivos {1}"
|
||||
:asset/create-local-copy-warning "Criando um arquivo local a partir de um externo. Anotações em PDF requerem um arquivo local para funcionar corretamente."
|
||||
:asset/create-title "Criar arquivo"
|
||||
:asset/delete "Excluir imagem"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Selecionar arquivo"
|
||||
:asset/select-from-disk "Selecionar do disco"
|
||||
:asset/selected-directories "Diretórios selecionados:"
|
||||
:asset/show-in-folder "Mostrar imagem na pasta"
|
||||
:asset/show-file-in-folder "Mostrar arquivo na pasta"
|
||||
:asset/size-too-large "O recurso é muito grande"
|
||||
:asset/syncing "Sincronizando"
|
||||
:asset/title-label "Título do arquivo:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Não é possível incorporar o pai como sua própria propriedade"
|
||||
:asset/confirm-delete-image "Tem a certeza de que quer apagar esta imagem?"
|
||||
:asset/copy "Copiar imagem"
|
||||
:asset/copy-image-unsupported-extension "Copiar imagem não é suportado para ficheiros {1}"
|
||||
:asset/create-local-copy-warning "A criar um ficheiro local a partir de um externo. As anotações PDF requerem um ficheiro local para funcionar corretamente."
|
||||
:asset/create-title "Criar ficheiro"
|
||||
:asset/delete "Eliminar imagem"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Selecionar ficheiro"
|
||||
:asset/select-from-disk "Selecionar do disco"
|
||||
:asset/selected-directories "Diretórios selecionados:"
|
||||
:asset/show-in-folder "Mostrar imagem na pasta"
|
||||
:asset/show-file-in-folder "Mostrar ficheiro na pasta"
|
||||
:asset/size-too-large "O recurso é muito grande"
|
||||
:asset/syncing "Sincronização em curso"
|
||||
:asset/title-label "Título do ficheiro:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Невозможно встроить родителя как собственное свойство"
|
||||
:asset/confirm-delete-image "Вы уверены, что хотите удалить это изображение?"
|
||||
:asset/copy "Копировать изображение"
|
||||
:asset/copy-image-unsupported-extension "Копирование изображения не поддерживается для файлов {1}"
|
||||
:asset/create-local-copy-warning "Создание локальной копии из внешнего ресурса. Для корректной работы аннотаций PDF необходим локальный файл."
|
||||
:asset/create-title "Создать ресурс"
|
||||
:asset/delete "Удалить изображение"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Выбрать файл"
|
||||
:asset/select-from-disk "Выбрать с диска"
|
||||
:asset/selected-directories "Выбранные каталоги:"
|
||||
:asset/show-in-folder "Показать изображение в папке"
|
||||
:asset/show-file-in-folder "Показать файл в папке"
|
||||
:asset/size-too-large "Ресурс слишком большой"
|
||||
:asset/syncing "Синхронизация"
|
||||
:asset/title-label "Название ресурса:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Nemožno vložit rodiče jako vlastní vlastnosť"
|
||||
:asset/confirm-delete-image "Naozaj chcete odstrániť tento obrázok?"
|
||||
:asset/copy "Kopírovať obrázok"
|
||||
:asset/copy-image-unsupported-extension "Kopírovanie obrázka nie je podporované pre súbory {1}"
|
||||
:asset/create-local-copy-warning "Vytvára sa lokálna kópia externého súboru. Anotácie PDF vyžadujú lokálny súbor na správne fungovanie."
|
||||
:asset/create-title "Vytvoriť súbor"
|
||||
:asset/delete "Odstrániť obrázok"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Vybrať súbor"
|
||||
:asset/select-from-disk "Vybrať z disku"
|
||||
:asset/selected-directories "Vybrané priečinky:"
|
||||
:asset/show-in-folder "Zobraziť obrázok v adresári"
|
||||
:asset/show-file-in-folder "Zobraziť súbor v priečinku"
|
||||
:asset/size-too-large "Soubor je příliš velký"
|
||||
:asset/syncing "Synchronizácia"
|
||||
:asset/title-label "Názov súboru:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Üst öğe kendi özelliği olarak gömülemez"
|
||||
:asset/confirm-delete-image "Bu görseli silmek istediğinizden emin misiniz?"
|
||||
:asset/copy "Resmi kopyala"
|
||||
:asset/copy-image-unsupported-extension "Resim kopyalama {1} dosyaları için desteklenmiyor"
|
||||
:asset/create-local-copy-warning "Harici bir dosyadan yerel dosya oluşturuluyor. PDF açıklamaları düzgün çalışması için yerel dosya gerektirir."
|
||||
:asset/create-title "Dosya oluştur"
|
||||
:asset/delete "Resmi sil"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Dosya Seç"
|
||||
:asset/select-from-disk "Diskten seç"
|
||||
:asset/selected-directories "Seçilen dizinler:"
|
||||
:asset/show-in-folder "Resmi klasörde göster"
|
||||
:asset/show-file-in-folder "Dosyayı klasörde göster"
|
||||
:asset/size-too-large "Dosya çok büyük"
|
||||
:asset/syncing "Senkronize ediliyor"
|
||||
:asset/title-label "Dosya başlığı:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "Неможливо встроить родителя как собственное властивість"
|
||||
:asset/confirm-delete-image "Ви впевнені, що хочете видалити це зображення?"
|
||||
:asset/copy "Копіювати зображення"
|
||||
:asset/copy-image-unsupported-extension "Копіювання зображення не підтримується для файлів {1}"
|
||||
:asset/create-local-copy-warning "Створення локального ресурсу із зовнішнього. Анотації PDF потребують локального ресурсу для коректної роботи."
|
||||
:asset/create-title "Створити ресурс"
|
||||
:asset/delete "Видалити зображення"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "Обрати файл ресурсу"
|
||||
:asset/select-from-disk "Обрати з диска"
|
||||
:asset/selected-directories "Обрані каталоги:"
|
||||
:asset/show-in-folder "Показати зображення у папці"
|
||||
:asset/show-file-in-folder "Показати файл у папці"
|
||||
:asset/size-too-large "Ресурс слишком большой"
|
||||
:asset/syncing "Синхронізація"
|
||||
:asset/title-label "Назва ресурсу:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "不能把父块嵌入为它自己的属性"
|
||||
:asset/confirm-delete-image "确定要删除这张图片吗?"
|
||||
:asset/copy "复制图片"
|
||||
:asset/copy-image-unsupported-extension "不支持复制 {1} 文件中的图片"
|
||||
:asset/create-local-copy-warning "正在从外部资源创建本地附件。PDF 批注功能需要本地附件才能正常使用。"
|
||||
:asset/create-title "创建附件"
|
||||
:asset/delete "删除图片"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "选择附件文件"
|
||||
:asset/select-from-disk "从磁盘选择"
|
||||
:asset/selected-directories "已选目录:"
|
||||
:asset/show-in-folder "在文件夹中显示图片"
|
||||
:asset/show-file-in-folder "在文件夹中显示文件"
|
||||
:asset/size-too-large "资源大小不能超过 100M"
|
||||
:asset/syncing "同步中"
|
||||
:asset/title-label "附件标题:"
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
:asset/cannot-embed-parent-as-own-property "不能把父區塊嵌入成它自己的屬性"
|
||||
:asset/confirm-delete-image "你確定要刪除這張圖片嗎?"
|
||||
:asset/copy "複製圖片"
|
||||
:asset/copy-image-unsupported-extension "不支援複製 {1} 檔案中的圖片"
|
||||
:asset/create-local-copy-warning "正在從外部來源建立本機素材。PDF 註解需要本機素材才能正常運作。"
|
||||
:asset/create-title "建立素材"
|
||||
:asset/delete "刪除圖片"
|
||||
@@ -64,7 +65,7 @@
|
||||
:asset/select-file "選擇素材檔案"
|
||||
:asset/select-from-disk "從磁碟選擇"
|
||||
:asset/selected-directories "已選擇的目錄:"
|
||||
:asset/show-in-folder "於資料夾顯示圖片"
|
||||
:asset/show-file-in-folder "於資料夾顯示檔案"
|
||||
:asset/size-too-large "資源大小不能超過 100M"
|
||||
:asset/syncing "正在同步"
|
||||
:asset/title-label "素材標題:"
|
||||
|
||||
Reference in New Issue
Block a user