diff --git a/CHANGES.md b/CHANGES.md index 790bed6918..48f4a57f39 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,49 @@ # CHANGELOG +## 2.7.0 (Unreleased) + +### :rocket: Epics and highlights + +### :boom: Breaking changes & Deprecations + +### :heart: Community contributions (Thank you!) +- Design improvements to the Invitations page with an empty state [GitHub #2608](https://github.com/penpot/penpot/issues/2608) by [@iprithvitharun](https://github.com/iprithvitharun) + +### :sparkles: New features +- Update board presets with a newer devices [Taiga #10610](https://tree.taiga.io/project/penpot/us/10610) +- Propagate "sharing a prototype" to editors and viewers [Taiga #8853](https://tree.taiga.io/project/penpot/us/8853) +- Design improvements to the Invitations page with an empty state [Taiga #4554](https://tree.taiga.io/project/penpot/us/4554) +- Duplicate token sets [Taiga #10694](https://tree.taiga.io/project/penpot/issue/10694) +- Add set selection in create Token themes flow [Taiga #10746](https://tree.taiga.io/project/penpot/issue/10746) +- Display indicator on not active sets [Taiga #10668](https://tree.taiga.io/project/penpot/issue/10668) + +### :bug: Bugs fixed +- Fix problem in viewer with the back button [Taiga #10907](https://tree.taiga.io/project/penpot/issue/10907) +- Fix resize bar background on tokens panel [Taiga #10811](https://tree.taiga.io/project/penpot/issue/10811) +- Fix shortcut for history version panel [Taiga #11006](https://tree.taiga.io/project/penpot/issue/11006) +- Fix positioning of comment drafts when near the right / bottom edges of viewport [Taiga #10534](https://tree.taiga.io/project/penpot/issue/10534) +- Fix path having a wrong selrect [Taiga #10257](https://tree.taiga.io/project/penpot/issue/10257) +- Fix SVG `stroke-linecap` property when importing SVGs [Taiga #9489](https://tree.taiga.io/project/penpot/issue/9489) +- Fix position problems cutting-pasting a component [Taiga #10677](https://tree.taiga.io/project/penpot/issue/10677) +- Fix design tab has a horizontal scroll [Taiga #10660](https://tree.taiga.io/project/penpot/issue/10660) +- Fix long file names being clipped when longer than allowed length [Taiga #10662](https://tree.taiga.io/project/penpot/issue/10662) +- Fix problem with error detail in toast [Taiga #10519](https://tree.taiga.io/project/penpot/issue/10519) +- Fix view mode error when an external user tries to export something from a prototype using a shared link [Taiga #10251](https://tree.taiga.io/project/penpot/issue/10251) +- Fix merge path nodes with only one node selected [Taiga #9626](https://tree.taiga.io/project/penpot/issue/9626) +- Fix problem with import errors [Taiga #10040](https://tree.taiga.io/project/penpot/issue/10040) +- Fix color gradient on texts [Taiga Issue #7488](https://tree.taiga.io/project/penpot/issue/7488) +- Add support for self mentions [Taiga #10809](https://tree.taiga.io/project/penpot/issue/10809) +- Fix team info settings alignment [Taiga #10869](https://tree.taiga.io/project/penpot/issue/10869) +- Fix left sidebar horizontal scroll on nested layers [Taiga #10791](https://tree.taiga.io/project/penpot/issue/10791) +- Improve error message details importing tokens [Taiga Issue #10772](https://tree.taiga.io/project/penpot/issue/10772) +- Fix no selected set after Drag & Drop [Github #71](https://github.com/tokens-studio/penpot/issues/71) +- Styledictionary v5 Update [Github #6283](https://github.com/penpot/penpot/pull/6283) +- Fix Rename a set throws an internal error [Github #78](https://github.com/tokens-studio/penpot/issues/78) +- Fix Out of Sync Token Value & Color Picker [Github #102](https://github.com/tokens-studio/penpot/issues/102) +- Fix Color should preserve color space [Github #69](https://github.com/tokens-studio/penpot/issues/69) +- Fix cannot rename Design Token Sets when group of same name exists [Taiga Issue #10773](https://tree.taiga.io/project/penpot/issue/10773) +- Fix problem when duplicating grid layout [Github #6391](https://github.com/penpot/penpot/issues/6391) + ## 2.6.2 ### :bug: Bugs fixed diff --git a/README.md b/README.md index 77a6a70541..148e31e827 100644 --- a/README.md +++ b/README.md @@ -16,18 +16,18 @@

- Website • - Getting Started • - User Guide • - Tutorials & Info • + Website • + User Guide • + Learning CenterCommunity

- Youtube • - Peertube • - Linkedin • - Instagram • - Mastodon • + Youtube • + Peertube • + Linkedin • + Instagram • + Mastodon • + BlueskyX

@@ -40,12 +40,13 @@ Penpot is the first **open-source** design tool for design and code collaboration. Designers can create stunning designs, interactive prototypes, design systems at scale, while developers enjoy ready-to-use code and make their workflow easy and fast. And all of this with no handoff drama. -Penpot is available on browser and [self host](https://penpot.app/self-host). It’s web-based and works with open standards (SVG, CSS and HTML). And last but not least, it’s free! +Available on browser or self-hosted, Penpot works with open standards like SVG, CSS, HTML and JSON, and it’s free! -Penpot’s latest [huge release 2.0](https://penpot.app/dev-diaries), takes the platform to a whole new level. This update introduces the ground-breaking [CSS Grid Layout feature](https://penpot.app/penpot-2.0), a complete UI redesign, a new Components system, and much more. Plus, it's faster and more accessible. +The latest updates take Penpot even further. It’s the first design tool to integrate native [design tokens](https://penpot.dev/collaboration/design-tokens)—a single source of truth to improve efficiency and collaboration between product design and development. +With the [huge 2.0 release](https://penpot.app/dev-diaries), Penpot took the platform to a whole new level. This update introduces the ground-breaking [CSS Grid Layout feature](https://penpot.app/penpot-2.0), a complete UI redesign, a new Components system, and much more. +For organizations that need extra service for its teams, [get in touch](https://cal.com/team/penpot/talk-to-us) - -🎇 **Penpot Fest** is our design, code & Open Source event. Check out the highlights from [Penpot Fest 2023 edition](https://www.youtube.com/watch?v=sOpLZaK5mDc)! +🎇 Design, code, and Open Source meet at [Penpot Fest](https://penpot.app/penpotfest)! Be part of the 2025 edition in Madrid, Spain, on October 9-10. ## Table of contents ## @@ -61,7 +62,7 @@ Penpot’s latest [huge release 2.0](https://penpot.app/dev-diaries), takes the Penpot expresses designs as code. Designers can do their best work and see it will be beautifully implemented by developers in a two-way collaboration. ### Plugin system ### -[Penpot plugins](https://penpot.app/penpothub/plugins) let you expand the platform's capabilities, give you the flexibility to integrate it with other apps, and design custom solutions. +[Penpot plugins](https://penpot.app/penpothub/plugins) let you expand the platform's capabilities, give you the flexibility to integrate it with other apps, and design custom solutions. ### Designed for developers ### Penpot was built to serve both designers and developers and create a fluid design-code process. You have the choice to enjoy real-time collaboration or play "solo". @@ -78,6 +79,10 @@ Penpot offers integration into the development toolchain, thanks to its support ### What’s great for design ### With Penpot you can design libraries to share and reuse; turn design elements into components and tokens to allow reusability and scalability; and build realistic user flows and interactions. +### Design Tokens ### +With Penpot’s standardized [design tokens](https://penpot.dev/collaboration/design-tokens) format, you can easily reuse and sync tokens across different platforms, workflows, and disciplines. + +

@@ -125,13 +130,13 @@ You will find the following categories: ## Contributing ## -Any contribution will make a difference to improve Penpot. How can you get involved? +Any contribution will make a difference to improve Penpot. How can you get involved? -Choose your way: +Choose your way: - Create and [share Libraries & Templates](https://penpot.app/libraries-templates.html) that will be helpful for the community - Invite your [team to join](https://design.penpot.app/#/auth/register) -- Star this repo and follow us on Social Media: [Mastodon](https://fosstodon.org/@penpot/), [Youtube](https://www.youtube.com/c/Penpot), [Instagram](https://instagram.com/penpot.app), [Linkedin](https://www.linkedin.com/company/penpotdesign), [Peertube](https://peertube.kaleidos.net/a/penpot_app) and [X](https://twitter.com/penpotapp). +- Give this repo a star and follow us on Social Media: [Mastodon](https://fosstodon.org/@penpot/), [Youtube](https://www.youtube.com/c/Penpot), [Instagram](https://instagram.com/penpot.app), [Linkedin](https://www.linkedin.com/company/penpotdesign), [Peertube](https://peertube.kaleidos.net/a/penpot_app), [X](https://twitter.com/penpotapp) and [BlueSky](https://bsky.app/profile/penpot.app) - Participate in the [Community](https://community.penpot.app/) space by asking and answering questions; reacting to others’ articles; opening your own conversations and following along on decisions affecting the project. - Report bugs with our easy [guide for bugs hunting](https://help.penpot.app/contributing-guide/reporting-bugs/) or [GitHub issues](https://github.com/penpot/penpot/issues) - Become a [translator](https://help.penpot.app/contributing-guide/translations) diff --git a/backend/scripts/repl b/backend/scripts/repl index 558a68b955..04865d1004 100755 --- a/backend/scripts/repl +++ b/backend/scripts/repl @@ -31,7 +31,8 @@ export PENPOT_FLAGS="\ enable-tiered-file-data-storage \ enable-file-validation \ enable-file-schema-validation \ - enable-subscriptions-old"; + enable-subscriptons \ + enable-subscriptons-old"; # Default deletion delay for devenv export PENPOT_DELETION_DELAY="24h" @@ -71,15 +72,18 @@ export PENPOT_OBJECTS_STORAGE_S3_ENDPOINT=http://minio:9000 export PENPOT_OBJECTS_STORAGE_S3_BUCKET=penpot export PENPOT_OBJECTS_STORAGE_FS_DIRECTORY="assets" -export JAVA_OPTS="--enable-preview \ +export JAVA_OPTS="\ -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager \ -Djdk.attach.allowAttachSelf \ -Dlog4j2.configurationFile=log4j2-devenv-repl.xml \ -Djdk.tracePinnedThreads=full \ -XX:+EnableDynamicAgentLoading \ - -XX:-OmitStackTraceInFastThrow \ + -XX:-OmitStackTraceInFastThrow \ -XX:+UnlockDiagnosticVMOptions \ - -XX:+DebugNonSafepoints"; + -XX:+DebugNonSafepoints \ + --sun-misc-unsafe-memory-access=allow \ + --enable-preview \ + --enable-native-access=ALL-UNNAMED"; export OPTIONS="-A:jmx-remote -A:dev" diff --git a/backend/scripts/run.template.sh b/backend/scripts/run.template.sh index e1f7a727b4..46a4e45552 100644 --- a/backend/scripts/run.template.sh +++ b/backend/scripts/run.template.sh @@ -18,7 +18,7 @@ if [ -f ./environ ]; then source ./environ fi -export JVM_OPTS="-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -Dlog4j2.configurationFile=log4j2.xml -XX:-OmitStackTraceInFastThrow --enable-preview $JVM_OPTS" +export JVM_OPTS="-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager -Dlog4j2.configurationFile=log4j2.xml -XX:-OmitStackTraceInFastThrow --enable-native-access=ALL-UNNAMED --enable-preview $JVM_OPTS" ENTRYPOINT=${1:-app.main}; diff --git a/backend/scripts/start-dev b/backend/scripts/start-dev index dae3af23a7..5f446ef817 100755 --- a/backend/scripts/start-dev +++ b/backend/scripts/start-dev @@ -24,18 +24,8 @@ export PENPOT_FLAGS="\ enable-tiered-file-data-storage \ enable-file-validation \ enable-file-schema-validation \ - enable-subscriptions-old"; - -export OPTIONS=" - -A:jmx-remote -A:dev \ - -J-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager \ - -J-Djdk.attach.allowAttachSelf \ - -J-Dpolyglot.engine.WarnInterpreterOnly=false \ - -J-Dlog4j2.configurationFile=log4j2-devenv.xml \ - -J-XX:+EnableDynamicAgentLoading \ - -J-XX:-OmitStackTraceInFastThrow \ - -J-XX:+UnlockDiagnosticVMOptions \ - -J-XX:+DebugNonSafepoints" + enable-subscriptons \ + enable-subscriptons-old "; # Default deletion delay for devenv export PENPOT_DELETION_DELAY="24h" @@ -66,6 +56,20 @@ export PENPOT_OBJECTS_STORAGE_S3_BUCKET=penpot entrypoint=${1:-app.main}; -set -ex +export JAVA_OPTS="\ + -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager \ + -Djdk.attach.allowAttachSelf \ + -Dlog4j2.configurationFile=log4j2-devenv.xml \ + -Djdk.tracePinnedThreads=full \ + -XX:+EnableDynamicAgentLoading \ + -XX:-OmitStackTraceInFastThrow \ + -XX:+UnlockDiagnosticVMOptions \ + -XX:+DebugNonSafepoints \ + --sun-misc-unsafe-memory-access=allow \ + --enable-preview \ + --enable-native-access=ALL-UNNAMED"; -clojure $OPTIONS -A:dev -M -m $entrypoint; +export OPTIONS="-A:jmx-remote -A:dev" + +set -ex +clojure $OPTIONS -M -m $entrypoint; diff --git a/backend/src/app/binfile/cleaner.clj b/backend/src/app/binfile/cleaner.clj index 1f4d29ea1f..558cfa129e 100644 --- a/backend/src/app/binfile/cleaner.clj +++ b/backend/src/app/binfile/cleaner.clj @@ -11,6 +11,25 @@ [app.common.data :as d] [app.common.uuid :as uuid])) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; PRE DECODE +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(defn clean-shape-pre-decode + "Applies a pre-decode phase migration to the shape" + [shape] + (if (= "bool" (:type shape)) + (if-let [content (get shape :bool-content)] + (-> shape + (assoc :content content) + (dissoc :bool-content)) + shape) + shape)) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; POST DECODE +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + (defn- fix-shape-shadow-color "Some shapes can come with invalid `id` property on shadow colors caused by incorrect uuid parsing bug that should be already fixed; diff --git a/backend/src/app/binfile/v3.clj b/backend/src/app/binfile/v3.clj index 07ba4618dd..c2b46b4159 100644 --- a/backend/src/app/binfile/v3.clj +++ b/backend/src/app/binfile/v3.clj @@ -603,10 +603,20 @@ (reduce-kv (fn [objects id shape] (assoc objects id (bfl/clean-shape-post-decode shape))) objects + objects)))) + clean-component-pre-decode + (fn [component] + (d/update-when component :objects + (fn [objects] + (reduce-kv (fn [objects id shape] + (assoc objects id (bfl/clean-shape-pre-decode shape))) + objects objects))))] + (->> (keep (match-component-entry-fn file-id) entries) (reduce (fn [result {:keys [id entry]}] (let [object (->> (read-entry input entry) + (clean-component-pre-decode) (decode-component) (clean-component-post-decode) (validate-component))] @@ -641,10 +651,10 @@ (->> (keep (match-shape-entry-fn file-id page-id) entries) (reduce (fn [result {:keys [id entry]}] (let [object (->> (read-entry input entry) + (bfl/clean-shape-pre-decode) (decode-shape) (bfl/clean-shape-post-decode) (validate-shape))] - (if (= id (:id object)) (assoc result id object) result))) @@ -755,7 +765,6 @@ ;; only the applied (vary-meta dissoc ::fmg/migrated))] - (bfm/register-pending-migrations! cfg file) (bfc/save-file! cfg file ::db/return-keys false) diff --git a/backend/src/app/features/components_v2.clj b/backend/src/app/features/components_v2.clj index 025916bb6b..af106b1672 100644 --- a/backend/src/app/features/components_v2.clj +++ b/backend/src/app/features/components_v2.clj @@ -1462,8 +1462,6 @@ (:objects page) (:id page) file-id - true - nil cfsh/prepare-create-artboard-from-selection)] (shape-cb shape) diff --git a/backend/src/app/loggers/audit.clj b/backend/src/app/loggers/audit.clj index 88e506f225..20d300ea7f 100644 --- a/backend/src/app/loggers/audit.clj +++ b/backend/src/app/loggers/audit.clj @@ -108,6 +108,7 @@ [::ip-addr {:optional true} ::sm/text] [::props {:optional true} [:map-of :keyword :any]] [::context {:optional true} [:map-of :keyword :any]] + [::tracked-at {:optional true} ::sm/inst] [::webhooks/event? {:optional true} ::sm/boolean] [::webhooks/batch-timeout {:optional true} ::dt/duration] [::webhooks/batch-key {:optional true} @@ -118,12 +119,12 @@ (defn prepare-event [cfg mdata params result] - (let [resultm (meta result) - request (-> params meta ::http/request) - profile-id (or (::profile-id resultm) - (:profile-id result) - (::rpc/profile-id params) - uuid/zero) + (let [resultm (meta result) + request (-> params meta ::http/request) + profile-id (or (::profile-id resultm) + (:profile-id result) + (::rpc/profile-id params) + uuid/zero) session-id (get params ::rpc/external-session-id) event-origin (get params ::rpc/external-event-origin) @@ -135,14 +136,14 @@ (clean-props)) - token-id (::actoken/id request) - context (-> (::context resultm) - (assoc :external-session-id session-id) - (assoc :external-event-origin event-origin) - (assoc :access-token-id (some-> token-id str)) - (d/without-nils)) + token-id (::actoken/id request) + context (-> (::context resultm) + (assoc :external-session-id session-id) + (assoc :external-event-origin event-origin) + (assoc :access-token-id (some-> token-id str)) + (d/without-nils)) - ip-addr (inet/parse-request request)] + ip-addr (inet/parse-request request)] {::type (or (::type resultm) (::rpc/type cfg)) diff --git a/backend/src/app/loggers/webhooks.clj b/backend/src/app/loggers/webhooks.clj index 9d2892dd7d..1b8305504d 100644 --- a/backend/src/app/loggers/webhooks.clj +++ b/backend/src/app/loggers/webhooks.clj @@ -15,6 +15,7 @@ [app.config :as cf] [app.db :as db] [app.http.client :as http] + [app.loggers.audit :as audit] [app.util.time :as dt] [app.worker :as wrk] [clojure.data.json :as json] @@ -67,18 +68,27 @@ (defmethod ig/init-key ::process-event-handler [_ cfg] (fn [{:keys [props] :as task}] - (l/dbg :hint "process webhook event" :name (:name props)) - (when-let [items (lookup-webhooks cfg props)] - (l/trc :hint "webhooks found for event" :total (count items)) - (db/tx-run! cfg (fn [cfg] - (doseq [item items] - (wrk/submit! (-> cfg - (assoc ::wrk/task :run-webhook) - (assoc ::wrk/queue :webhooks) - (assoc ::wrk/max-retries 3) - (assoc ::wrk/params {:event props - :config item}))))))))) + (let [items (lookup-webhooks cfg props) + event {::audit/profile-id (:profile-id props) + ::audit/name "webhook" + ::audit/type "trigger" + ::audit/props {:name (get props :name) + :event-id (get props :id) + :total-affected (count items)}}] + + (audit/insert! cfg event) + + (when items + (l/trc :hint "webhooks found for event" :total (count items)) + (db/tx-run! cfg (fn [cfg] + (doseq [item items] + (wrk/submit! (-> cfg + (assoc ::wrk/task :run-webhook) + (assoc ::wrk/queue :webhooks) + (assoc ::wrk/max-retries 3) + (assoc ::wrk/params {:event props + :config item})))))))))) ;; --- RUN (declare interpret-exception) diff --git a/backend/src/app/rpc/commands/files.clj b/backend/src/app/rpc/commands/files.clj index 117a432ab8..bdb2fcbc59 100644 --- a/backend/src/app/rpc/commands/files.clj +++ b/backend/src/app/rpc/commands/files.clj @@ -208,7 +208,7 @@ [:project-id {:optional true} ::sm/uuid]]) (defn- migrate-file - [{:keys [::db/conn] :as cfg} {:keys [id] :as file}] + [{:keys [::db/conn] :as cfg} {:keys [id] :as file} {:keys [read-only?]}] (binding [pmap/*load-fn* (partial feat.fdata/load-pointer cfg id) pmap/*tracked* (pmap/create-tracked)] (let [;; For avoid unnecesary overhead of creating multiple pointers and @@ -219,43 +219,45 @@ file (-> file (update :data feat.fdata/process-pointers deref) (update :data feat.fdata/process-objects (partial into {})) - (fmg/migrate-file)) + (fmg/migrate-file))] - ;; When file is migrated, we break the rule of no perform - ;; mutations on get operations and update the file with all - ;; migrations applied - ;; - ;; WARN: he following code will not work on read-only mode, - ;; it is a known issue; we keep is not implemented until we - ;; really need this. - file (if (contains? (:features file) "fdata/objects-map") - (feat.fdata/enable-objects-map file) - file) - file (if (contains? (:features file) "fdata/pointer-map") - (feat.fdata/enable-pointer-map file) - file)] + (if (or read-only? (db/read-only? conn)) + file + (let [;; When file is migrated, we break the rule of no perform + ;; mutations on get operations and update the file with all + ;; migrations applied + file (if (contains? (:features file) "fdata/objects-map") + (feat.fdata/enable-objects-map file) + file) + file (if (contains? (:features file) "fdata/pointer-map") + (feat.fdata/enable-pointer-map file) + file)] - (db/update! conn :file - {:data (blob/encode (:data file)) - :version (:version file) - :features (db/create-array conn "text" (:features file))} - {:id id}) + (db/update! conn :file + {:data (blob/encode (:data file)) + :version (:version file) + :features (db/create-array conn "text" (:features file))} + {:id id} + {::db/return-keys false}) - (when (contains? (:features file) "fdata/pointer-map") - (feat.fdata/persist-pointers! cfg id)) + (when (contains? (:features file) "fdata/pointer-map") + (feat.fdata/persist-pointers! cfg id)) - (feat.fmigr/upsert-migrations! conn file) - (feat.fmigr/resolve-applied-migrations cfg file)))) + (feat.fmigr/upsert-migrations! conn file) + (feat.fmigr/resolve-applied-migrations cfg file)))))) (defn get-file [{:keys [::db/conn ::wrk/executor] :as cfg} id & {:keys [project-id migrate? include-deleted? - lock-for-update?] + lock-for-update? + preload-pointers?] :or {include-deleted? false lock-for-update? false - migrate? true}}] + migrate? true + preload-pointers? false} + :as options}] (assert (db/connection? conn) "expected cfg with valid connection") @@ -273,10 +275,16 @@ ;; because it has heavy and synchronous operations for ;; decoding file body that are not very friendly with virtual ;; threads. - file (px/invoke! executor #(decode-row file))] + file (px/invoke! executor #(decode-row file)) + + file (if (and migrate? (fmg/need-migration? file)) + (migrate-file cfg file options) + file)] + + (if preload-pointers? + (binding [pmap/*load-fn* (partial feat.fdata/load-pointer cfg id)] + (update file :data feat.fdata/process-pointers deref)) - (if (and migrate? (fmg/need-migration? file)) - (migrate-file cfg file) file))) (defn get-minimal-file @@ -474,7 +482,7 @@ (update page :objects update-vals #(dissoc % :thumbnail))) (defn get-page - [{:keys [::db/conn] :as cfg} {:keys [profile-id file-id page-id object-id] :as params}] + [{:keys [::db/conn] :as cfg} {:keys [profile-id file-id page-id object-id share-id] :as params}] (when (and (uuid? object-id) (not (uuid? page-id))) @@ -482,22 +490,30 @@ :code :params-validation :hint "page-id is required when object-id is provided")) - (let [team (teams/get-team conn - :profile-id profile-id - :file-id file-id) + (let [perms (get-permissions conn profile-id file-id share-id) - file (get-file cfg file-id) + file (get-file cfg file-id :read-only? true) - _ (-> (cfeat/get-team-enabled-features cf/flags team) - (cfeat/check-client-features! (:features params)) - (cfeat/check-file-features! (:features file))) + proj (db/get conn :project {:id (:project-id file)}) - page (binding [pmap/*load-fn* (partial feat.fdata/load-pointer cfg file-id)] - (let [page-id (or page-id (-> file :data :pages first)) - page (dm/get-in file [:data :pages-index page-id])] - (if (pmap/pointer-map? page) - (deref page) - page)))] + team (-> (db/get conn :team {:id (:team-id proj)}) + (teams/decode-row)) + + _ (-> (cfeat/get-team-enabled-features cf/flags team) + (cfeat/check-client-features! (:features params)) + (cfeat/check-file-features! (:features file))) + + page (binding [pmap/*load-fn* (partial feat.fdata/load-pointer cfg file-id)] + (let [page-id (or page-id (-> file :data :pages first)) + page (dm/get-in file [:data :pages-index page-id])] + (if (pmap/pointer-map? page) + (deref page) + page)))] + + (when-not perms + (ex/raise :type :not-found + :code :object-not-found + :hint "object not found")) (cond-> (prune-thumbnails page) (some? object-id) @@ -733,7 +749,9 @@ :project-id project-id :file-id id) - file (get-file cfg id :project-id project-id)] + file (get-file cfg id + :project-id project-id + :read-only? true)] (-> (cfeat/get-team-enabled-features cf/flags team) (cfeat/check-client-features! (:features params)) diff --git a/backend/src/app/rpc/commands/files_thumbnails.clj b/backend/src/app/rpc/commands/files_thumbnails.clj index 2455807dd8..9d64ec504d 100644 --- a/backend/src/app/rpc/commands/files_thumbnails.clj +++ b/backend/src/app/rpc/commands/files_thumbnails.clj @@ -10,7 +10,6 @@ [app.common.data.macros :as dm] [app.common.features :as cfeat] [app.common.files.helpers :as cfh] - [app.common.files.migrations :as fmg] [app.common.geom.shapes :as gsh] [app.common.schema :as sm] [app.common.thumbnails :as thc] @@ -18,7 +17,6 @@ [app.config :as cf] [app.db :as db] [app.db.sql :as-alias sql] - [app.features.fdata :as feat.fdata] [app.loggers.audit :as-alias audit] [app.loggers.webhooks :as-alias webhooks] [app.media :as media] @@ -200,14 +198,13 @@ (db/run! cfg (fn [{:keys [::db/conn] :as cfg}] (files/check-read-permissions! conn profile-id file-id) - (let [team (teams/get-team conn - :profile-id profile-id - :file-id file-id) + (let [team (teams/get-team conn + :profile-id profile-id + :file-id file-id) - file (binding [pmap/*load-fn* (partial feat.fdata/load-pointer cfg file-id)] - (-> (files/get-file cfg file-id :migrate? false) - (update :data feat.fdata/process-pointers deref) - (fmg/migrate-file)))] + file (files/get-file cfg file-id + :preload-pointers? true + :read-only? true)] (-> (cfeat/get-team-enabled-features cf/flags team) (cfeat/check-file-features! (:features file))) diff --git a/backend/src/app/srepl/fixes.clj b/backend/src/app/srepl/fixes.clj index 117030397e..18d849603b 100644 --- a/backend/src/app/srepl/fixes.clj +++ b/backend/src/app/srepl/fixes.clj @@ -179,7 +179,7 @@ component-child (first component-children)] (if (or (nil? child) (nil? component-child)) container - (let [container (if (and (not (ctk/is-main-of? component-child child true)) + (let [container (if (and (not (ctk/is-main-of? component-child child)) (nil? (ctk/get-swap-slot child)) (ctk/instance-head? child)) (let [slot (guess-swap-slot component-child component-container)] diff --git a/common/src/app/common/data/macros.cljc b/common/src/app/common/data/macros.cljc index f339a73444..e0096b21cc 100644 --- a/common/src/app/common/data/macros.cljc +++ b/common/src/app/common/data/macros.cljc @@ -6,7 +6,7 @@ (ns app.common.data.macros "Data retrieval & manipulation specific macros." - (:refer-clojure :exclude [get-in select-keys str with-open min max]) + (:refer-clojure :exclude [get-in select-keys str with-open max]) #?(:cljs (:require-macros [app.common.data.macros])) (:require #?(:clj [clojure.core :as c] @@ -144,3 +144,8 @@ (str "expr assert: " (pr-str expr)))] (when *assert* `(runtime-assert ~hint (fn [] ~expr)))))) + +(defn truncate + "Truncates a string to a certain length" + [s max-length] + (subs s 0 (min max-length (count s)))) diff --git a/common/src/app/common/features.cljc b/common/src/app/common/features.cljc index a56829ef33..8f53a9257e 100644 --- a/common/src/app/common/features.cljc +++ b/common/src/app/common/features.cljc @@ -103,9 +103,7 @@ "Translate a flag to a feature name" [flag] (case flag - :feature-components-v2 "components/v2" :feature-styles-v2 "styles/v2" - :feature-grid-layout "layout/grid" :feature-fdata-objects-map "fdata/objects-map" :feature-fdata-pointer-map "fdata/pointer-map" :feature-plugins "plugins/runtime" @@ -216,6 +214,12 @@ (check-supported-features! file-features) + ;; Components v1 is deprecated + (when-not (contains? file-features "components/v2") + (ex/raise :type :restriction + :code :file-in-components-v1 + :hint "components v1 is deprecated")) + (let [not-supported (-> file-features (set/difference enabled-features) (set/difference backend-only-features) diff --git a/common/src/app/common/files/builder.cljc b/common/src/app/common/files/builder.cljc index 5d93c515f8..d320e8bc43 100644 --- a/common/src/app/common/files/builder.cljc +++ b/common/src/app/common/files/builder.cljc @@ -11,7 +11,6 @@ [app.common.exceptions :as ex] [app.common.files.changes :as ch] [app.common.geom.point :as gpt] - [app.common.geom.rect :as grc] [app.common.geom.shapes :as gsh] [app.common.pprint :as pp] [app.common.schema :as sm] @@ -38,20 +37,12 @@ fail-on-spec?] :or {add-container? false fail-on-spec? false}}] - (let [components-v2 (dm/get-in file [:data :options :components-v2]) - component-id (:current-component-id file) - change (cond-> change - (and add-container? (some? component-id) (not components-v2)) - (-> (assoc :component-id component-id) - (cond-> (some? (:current-frame-id file)) - (assoc :frame-id (:current-frame-id file)))) - - (and add-container? (or (nil? component-id) components-v2)) + (let [change (cond-> change + add-container? (assoc :page-id (:current-page-id file) :frame-id (:current-frame-id file))) - valid? (or (and components-v2 - (nil? (:component-id change)) + valid? (or (and (nil? (:component-id change)) (nil? (:page-id change))) (ch/valid-change? change))] @@ -66,11 +57,11 @@ (cond-> file (and valid? (or (not add-container?) (some? (:component-id change)) (some? (:page-id change)))) - (-> (update :changes conjv change) ;; In components-v2 we do not add shapes - (update :data ch/process-changes [change] false)) ;; inside a component + (-> (update :changes conjv change) + (update :data ch/process-changes [change] false)) (not valid?) - (update :errors conjv change)))));) + (update :errors conjv change))))) (defn- lookup-objects ([file] @@ -185,12 +176,10 @@ (update :parent-stack conjv (:id obj))))) (defn close-artboard [file] - (let [components-v2 (dm/get-in file [:data :options :components-v2]) - parent-id (-> file :parent-stack peek) + (let [parent-id (-> file :parent-stack peek) parent (lookup-shape file parent-id) current-frame-id (or (:frame-id parent) - (when (or (nil? (:current-component-id file)) components-v2) - root-id))] + root-id)] (-> file (assoc :current-frame-id current-frame-id) (update :parent-stack pop)))) @@ -283,14 +272,14 @@ :else (let [objects (lookup-objects file) - bool-content (gsh/calc-bool-content bool objects) - bool' (gsh/update-bool-selrect bool children objects)] + content (gsh/calc-bool-content bool objects) + bool' (gsh/update-bool-selrect bool children objects)] (commit-change file {:type :mod-obj :id bool-id :operations - [{:type :set :attr :bool-content :val bool-content :ignore-touched true} + [{:type :set :attr :content :val content :ignore-touched true} {:type :set :attr :selrect :val (:selrect bool') :ignore-touched true} {:type :set :attr :points :val (:points bool') :ignore-touched true} {:type :set :attr :x :val (-> bool' :selrect :x) :ignore-touched true} @@ -514,58 +503,29 @@ (defn start-component ([file data] - (let [components-v2 (dm/get-in file [:data :options :components-v2]) - root-type (if components-v2 :frame :group)] - (start-component file data root-type))) + (start-component file data :frame)) ([file data root-type] - ;; FIXME: data probably can be a shape instance, then we can use gsh/shape->rect - (let [components-v2 (dm/get-in file [:data :options :components-v2]) - selrect (or (grc/make-rect (:x data) (:y data) (:width data) (:height data)) - grc/empty-rect) - name (:name data) + (let [name (:name data) path (:path data) main-instance-id (:main-instance-id data) main-instance-page (:main-instance-page data) - ;; In components v1 we must create the root shape and set it inside - ;; the :objects attribute of the component. When in components-v2, - ;; this will be ignored as the root shape has already been created - ;; in its page, by the normal page import. - attrs (-> data - (assoc :type root-type) - (assoc :x (:x selrect)) - (assoc :y (:y selrect)) - (assoc :width (:width selrect)) - (assoc :height (:height selrect)) - (assoc :selrect selrect) - (dissoc :path) - (dissoc :main-instance-id) - (dissoc :main-instance-page) - (dissoc :main-instance-x) - (dissoc :main-instance-y)) - - obj (-> (cts/setup-shape attrs) - (check-name file root-type) - ;; Components need to have nil values for frame and parent - (assoc :frame-id nil) - (assoc :parent-id nil))] + obj-id (or (:id data) (uuid/next))] (-> file (commit-change - (cond-> {:type :add-component - :id (:id obj) - :name name - :path path - :main-instance-id main-instance-id - :main-instance-page main-instance-page} - (not components-v2) - (assoc :shapes [obj]))) + {:type :add-component + :id obj-id + :name name + :path path + :main-instance-id main-instance-id + :main-instance-page main-instance-page}) - (assoc :last-id (:id obj)) - (assoc :parent-stack [(:id obj)]) - (assoc :current-component-id (:id obj)) - (assoc :current-frame-id (if (= (:type obj) :frame) (:id obj) uuid/zero)))))) + (assoc :last-id obj-id) + (assoc :parent-stack [obj-id]) + (assoc :current-component-id obj-id) + (assoc :current-frame-id (if (= root-type :frame) obj-id uuid/zero)))))) (defn start-deleted-component [file data] @@ -600,8 +560,7 @@ file (cond - ;; In components-v2 components haven't any shape inside them. - (and component-data (:main-instance-id component-data)) + component-data (update file :data (fn [data] (ctkl/update-component data component-id dissoc :objects))) @@ -677,17 +636,12 @@ page (ctpl/get-page (:data file) page-id) component (ctkl/get-component (:data file) component-id) - components-v2 (dm/get-in file [:options :components-v2]) - [shape shapes] (ctn/make-component-instance page component (:id file) (gpt/point x - y) - components-v2 - #_{:main-instance true - :force-id main-instance-id})] + y))] (as-> file $ (reduce #(commit-change %1 diff --git a/common/src/app/common/files/changes.cljc b/common/src/app/common/files/changes.cljc index 78845e8f4f..023491a9ca 100644 --- a/common/src/app/common/files/changes.cljc +++ b/common/src/app/common/files/changes.cljc @@ -26,11 +26,10 @@ [app.common.types.pages-list :as ctpl] [app.common.types.shape :as cts] [app.common.types.shape-tree :as ctst] - [app.common.types.token :as cto] - [app.common.types.token-theme :as ctot] [app.common.types.tokens-lib :as ctob] [app.common.types.typographies-list :as ctyl] [app.common.types.typography :as ctt] + [app.common.types.variant :as ctv] [app.common.uuid :as uuid] [clojure.set :as set])) @@ -336,13 +335,17 @@ [:type [:= :mod-component]] [:id ::sm/uuid] [:shapes {:optional true} [:vector {:gen/max 3} :any]] - [:name {:optional true} :string]]] + [:name {:optional true} :string] + [:variant-id {:optional true} ::sm/uuid] + [:variant-properties {:optional true} [:vector ::ctv/variant-property]]]] [:del-component [:map {:title "DelComponentChange"} [:type [:= :del-component]] [:id ::sm/uuid] - [:main-instance {:optional true} :any] + ;; when it is an undo of a cut-paste, we need to undo the movement + ;; of the shapes so we need to move them delta + [:delta {:optional true} ::gpt/point] [:skip-undelete? {:optional true} :boolean]]] [:restore-component @@ -403,7 +406,7 @@ [:type [:= :set-token-theme]] [:theme-name :string] [:group :string] - [:theme [:maybe ::ctot/token-theme]]]] + [:theme [:maybe ctob/schema:token-theme-attrs]]]] [:set-tokens-lib [:map {:title "SetTokensLib"} @@ -415,14 +418,14 @@ [:type [:= :set-token-set]] [:set-name :string] [:group? :boolean] - [:token-set [:maybe ::ctot/token-set]]]] + [:token-set [:maybe ctob/schema:token-set-attrs]]]] [:set-token [:map {:title "SetTokenChange"} [:type [:= :set-token]] [:set-name :string] [:token-name :string] - [:token [:maybe ::cto/token]]]]]]) + [:token [:maybe ctob/schema:token-attrs]]]]]]) (def schema:changes [:sequential {:gen/max 5 :gen/min 1} schema:change]) @@ -956,8 +959,8 @@ (ctkl/mod-component data params)) (defmethod process-change :del-component - [data {:keys [id skip-undelete? main-instance]}] - (ctf/delete-component data id skip-undelete? main-instance)) + [data {:keys [id skip-undelete? delta]}] + (ctf/delete-component data id skip-undelete? delta)) (defmethod process-change :restore-component [data {:keys [id page-id]}] diff --git a/common/src/app/common/files/changes_builder.cljc b/common/src/app/common/files/changes_builder.cljc index aa360d2926..692bde840c 100644 --- a/common/src/app/common/files/changes_builder.cljc +++ b/common/src/app/common/files/changes_builder.cljc @@ -921,11 +921,11 @@ (apply-changes-local)))) (defn add-component - ([changes id path name new-shapes updated-shapes main-instance-id main-instance-page] - (add-component changes id path name new-shapes updated-shapes main-instance-id main-instance-page nil nil nil)) - ([changes id path name new-shapes updated-shapes main-instance-id main-instance-page annotation] - (add-component changes id path name new-shapes updated-shapes main-instance-id main-instance-page annotation nil nil)) - ([changes id path name new-shapes updated-shapes main-instance-id main-instance-page annotation variant-id variant-properties & {:keys [apply-changes-local-library?]}] + ([changes id path name updated-shapes main-instance-id main-instance-page] + (add-component changes id path name updated-shapes main-instance-id main-instance-page nil nil nil)) + ([changes id path name updated-shapes main-instance-id main-instance-page annotation] + (add-component changes id path name updated-shapes main-instance-id main-instance-page annotation nil nil)) + ([changes id path name updated-shapes main-instance-id main-instance-page annotation variant-id variant-properties & {:keys [apply-changes-local-library?]}] (assert-page-id! changes) (assert-objects! changes) (let [page-id (::page-id (meta changes)) @@ -964,11 +964,11 @@ :name name :main-instance-id main-instance-id :main-instance-page main-instance-page - :annotation annotation - :variant-id variant-id - :variant-properties variant-properties} - (some? new-shapes) ;; this will be null in components-v2 - (assoc :shapes (vec new-shapes)))) + :annotation annotation} + (some? variant-id) + (assoc :variant-id variant-id) + (seq variant-properties) + (assoc :variant-properties variant-properties))) (into (map mk-change) updated-shapes)))) (update :undo-changes (fn [undo-changes] @@ -991,27 +991,39 @@ new-component (update-fn prev-component)] (if prev-component (-> changes - (update :redo-changes conj {:type :mod-component - :id id - :name (:name new-component) - :path (:path new-component) - :main-instance-id (:main-instance-id new-component) - :main-instance-page (:main-instance-page new-component) - :annotation (:annotation new-component) - :variant-id (:variant-id new-component) - :variant-properties (:variant-properties new-component) - :objects (:objects new-component) ;; this won't exist in components-v2 (except for deleted components) - :modified-at (:modified-at new-component)}) - (update :undo-changes conj {:type :mod-component - :id id - :name (:name prev-component) - :path (:path prev-component) - :main-instance-id (:main-instance-id prev-component) - :main-instance-page (:main-instance-page prev-component) - :annotation (:annotation prev-component) - :variant-id (:variant-id prev-component) - :variant-properties (:variant-properties prev-component) - :objects (:objects prev-component)}) + (update :redo-changes conj (cond-> {:type :mod-component + :id id + :name (:name new-component) + :path (:path new-component) + :main-instance-id (:main-instance-id new-component) + :main-instance-page (:main-instance-page new-component) + :annotation (:annotation new-component) + :objects (:objects new-component) ;; for deleted components + :modified-at (:modified-at new-component)} + (some? (:variant-id new-component)) + (assoc :variant-id (:variant-id new-component)) + (nil? (:variant-id new-component)) + (dissoc :variant-id) + (seq (:variant-properties new-component)) + (assoc :variant-properties (:variant-properties new-component)) + (not (seq (:variant-properties new-component))) + (dissoc :variant-properties))) + (update :undo-changes conj (cond-> {:type :mod-component + :id id + :name (:name prev-component) + :path (:path prev-component) + :main-instance-id (:main-instance-id prev-component) + :main-instance-page (:main-instance-page prev-component) + :annotation (:annotation prev-component) + :objects (:objects prev-component)} + (some? (:variant-id prev-component)) + (assoc :variant-id (:variant-id prev-component)) + (nil? (:variant-id prev-component)) + (dissoc :variant-id) + (seq (:variant-properties prev-component)) + (assoc :variant-properties (:variant-properties prev-component)) + (not (seq (:variant-properties prev-component))) + (dissoc :variant-properties))) (cond-> apply-changes-local-library? (apply-changes-local {:apply-to-library? true}))) changes))) @@ -1027,7 +1039,7 @@ :page-id page-id}))) (defn restore-component - [changes id page-id main-instance] + [changes id page-id delta] (assert-library! changes) (-> changes (update :redo-changes conj {:type :restore-component @@ -1035,7 +1047,34 @@ :page-id page-id}) (update :undo-changes conj {:type :del-component :id id - :main-instance main-instance}))) + :delta delta}))) + +(defn reorder-children + [changes id children] + (assert-page-id! changes) + (assert-objects! changes) + + (let [page-id (::page-id (meta changes)) + objects (lookup-objects changes) + shape (get objects id) + old-children (:shapes shape) + + redo-change + {:type :reorder-children + :parent-id (:id shape) + :page-id page-id + :shapes children} + + undo-change + {:type :reorder-children + :parent-id (:id shape) + :page-id page-id + :shapes old-children}] + + (-> changes + (update :redo-changes conj redo-change) + (update :undo-changes conj undo-change) + (apply-changes-local)))) (defn reorder-grid-children [changes ids] @@ -1083,3 +1122,11 @@ (defn get-objects [changes] (dm/get-in (::file-data (meta changes)) [:pages-index uuid/zero :objects])) + +(defn get-page + [changes] + (::page (meta changes))) + +(defn get-page-id + [changes] + (::page-id (meta changes))) diff --git a/common/src/app/common/files/helpers.cljc b/common/src/app/common/files/helpers.cljc index 3795812c34..bb0fb744f7 100644 --- a/common/src/app/common/files/helpers.cljc +++ b/common/src/app/common/files/helpers.cljc @@ -427,11 +427,6 @@ (map #(str/concat base-name (suffix-fn %)) (iterate inc 1)))) -(defn ^:private get-suffix - "Default suffix impelemtation" - [copy-count] - (str/concat " " copy-count)) - (defn generate-unique-name "Generates a unique name by selecting the first available name from a generated sequence. The sequence consists of `base-name` and its variants, avoiding conflicts with `existing-names`. @@ -445,8 +440,7 @@ Returns: - A unique name not present in `existing-names`." - [base-name existing-names & {:keys [suffix-fn immediate-suffix?] - :or {suffix-fn get-suffix}}] + [base-name existing-names & {:keys [suffix-fn immediate-suffix? suffix]}] (dm/assert! "expected a set of strings" (coll? existing-names)) @@ -454,9 +448,21 @@ (dm/assert! "expected a string for `basename`." (string? base-name)) - (let [existing-name-set (cond-> (set existing-names) + (let [suffix-fn (if suffix-fn + suffix-fn + (if suffix + (fn [copy-count] + (str/concat "-" + suffix + (when (> copy-count 1) + (str "-" copy-count)))) + (fn [copy-count] + (str/concat " " copy-count)))) + + existing-name-set (cond-> (set existing-names) immediate-suffix? (conj base-name)) names (name-seq base-name suffix-fn)] + (->> names (remove #(contains? existing-name-set %)) first))) diff --git a/common/src/app/common/files/migrations.cljc b/common/src/app/common/files/migrations.cljc index d307756f05..7bd2342ae7 100644 --- a/common/src/app/common/files/migrations.cljc +++ b/common/src/app/common/files/migrations.cljc @@ -1264,6 +1264,26 @@ (update :pages-index d/update-vals update-container) (d/update-when :components d/update-vals update-container)))) +(defmethod migrate-data "0002-normalize-bool-content" + [data _] + (letfn [(update-object [object] + ;; NOTE: we still preserve the previous value for possible + ;; rollback, we still need to perform an other migration + ;; for properly delete the bool-content prop from shapes + ;; once the know the migration was OK + (if (cfh/bool-shape? object) + (if-let [content (:bool-content object)] + (assoc object :content content) + object) + (dissoc object :bool-content :bool-type))) + + (update-container [container] + (d/update-when container :objects update-vals update-object))] + + (-> data + (update :pages-index update-vals update-container) + (update :components update-vals update-container)))) + (defmethod migrate-data "0003-fix-root-shape" [data _] (letfn [(update-object [shape] @@ -1341,5 +1361,6 @@ "legacy-66" "legacy-67" "0001-remove-tokens-from-groups" + "0002-normalize-bool-content" "0002-clean-shape-interactions" "0003-fix-root-shape"])) diff --git a/common/src/app/common/files/repair.cljc b/common/src/app/common/files/repair.cljc index 66fd58c713..bf51851003 100644 --- a/common/src/app/common/files/repair.cljc +++ b/common/src/app/common/files/repair.cljc @@ -572,6 +572,51 @@ (pcb/with-file-data file-data) (pcb/update-shapes [(:id shape)] repair-shape)))) +(defmethod repair-error :not-a-variant + [_ error file _] + (log/error :hint "Variant error code, we don't want to auto repair it for now" :code (:code error)) + file) + +(defmethod repair-error :invalid-variant-id + [_ error file _] + (log/error :hint "Variant error code, we don't want to auto repair it for now" :code (:code error)) + file) + +(defmethod repair-error :invalid-variant-properties + [_ error file _] + (log/error :hint "Variant error code, we don't want to auto repair it for now" :code (:code error)) + file) + +(defmethod repair-error :variant-not-main + [_ error file _] + (log/error :hint "Variant error code, we don't want to auto repair it for now" :code (:code error)) + file) + +(defmethod repair-error :parent-not-variant + [_ error file _] + (log/error :hint "Variant error code, we don't want to auto repair it for now" :code (:code error)) + file) + +(defmethod repair-error :variant-bad-name + [_ error file _] + (log/error :hint "Variant error code, we don't want to auto repair it for now" :code (:code error)) + file) + +(defmethod repair-error :variant-no-properties + [_ error file _] + (log/error :hint "Variant error code, we don't want to auto repair it for now" :code (:code error)) + file) + +(defmethod repair-error :variant-bad-variant-name + [_ error file _] + (log/error :hint "Variant error code, we don't want to auto repair it for now" :code (:code error)) + file) + +(defmethod repair-error :variant-component-bad-name + [_ error file _] + (log/error :hint "Variant error code, we don't want to auto repair it for now" :code (:code error)) + file) + (defmethod repair-error :default [_ error file _] (log/error :hint "Unknown error code, don't know how to repair" :code (:code error)) diff --git a/common/src/app/common/files/shapes_helpers.cljc b/common/src/app/common/files/shapes_helpers.cljc index 772b71e637..e4f265c4c9 100644 --- a/common/src/app/common/files/shapes_helpers.cljc +++ b/common/src/app/common/files/shapes_helpers.cljc @@ -62,6 +62,10 @@ changes id parent-id objects selected index frame-name without-fill? nil)) ([changes id parent-id objects selected index frame-name without-fill? target-cell-id] + (prepare-create-artboard-from-selection + changes id parent-id objects selected index frame-name without-fill? target-cell-id nil)) + + ([changes id parent-id objects selected index frame-name without-fill? target-cell-id delta] (when-let [selected-objs (->> selected (map (d/getf objects)) (not-empty))] @@ -99,10 +103,11 @@ :id)) target-cell-id) + attrs {:type :frame - :x (:x srect) - :y (:y srect) + :x (cond-> (:x srect) delta (+ (:x delta))) + :y (cond-> (:y srect) delta (+ (:y delta))) :width (:width srect) :height (:height srect)} diff --git a/frontend/src/app/main/ui/workspace/tokens/token.cljs b/common/src/app/common/files/tokens.cljc similarity index 90% rename from frontend/src/app/main/ui/workspace/tokens/token.cljs rename to common/src/app/common/files/tokens.cljc index 6056d0966b..3a0a632a7f 100644 --- a/frontend/src/app/main/ui/workspace/tokens/token.cljs +++ b/common/src/app/common/files/tokens.cljc @@ -1,8 +1,13 @@ -(ns app.main.ui.workspace.tokens.token +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.common.files.tokens (:require [app.common.data :as d] [app.common.data.macros :as dm] - [app.main.ui.workspace.tokens.tinycolor :as tinycolor] [clojure.set :as set] [cuerdas.core :as str])) @@ -128,18 +133,6 @@ (defn color-token? [token] (= (:type token) :color)) - ;; FIXME: this should be precalculated ? (defn is-reference? [token] (str/includes? (:value token) "{")) - -(defn color-bullet-color [token-color-value] - (when-let [tc (tinycolor/valid-color token-color-value)] - (if (tinycolor/alpha tc) - {:color (tinycolor/->hex-string tc) - :opacity (tinycolor/alpha tc)} - (tinycolor/->hex-string tc)))) - -(defn resolved-token-bullet-color [{:keys [resolved-value] :as token}] - (when (and resolved-value (color-token? token)) - (color-bullet-color resolved-value))) diff --git a/common/src/app/common/files/validate.cljc b/common/src/app/common/files/validate.cljc index 8c3746c310..2659f65336 100644 --- a/common/src/app/common/files/validate.cljc +++ b/common/src/app/common/files/validate.cljc @@ -10,12 +10,15 @@ [app.common.data.macros :as dm] [app.common.exceptions :as ex] [app.common.files.helpers :as cfh] + [app.common.files.variant :as cfv] [app.common.schema :as sm] [app.common.types.component :as ctk] + [app.common.types.components-list :as ctkl] [app.common.types.container :as ctn] [app.common.types.file :as ctf] [app.common.types.pages-list :as ctpl] [app.common.types.shape-tree :as ctst] + [app.common.types.variant :as ctv] [app.common.uuid :as uuid] [cuerdas.core :as str])) @@ -56,7 +59,17 @@ :instance-head-not-frame :misplaced-slot :missing-slot - :shape-ref-cycle}) + :shape-ref-cycle + :not-a-variant + :invalid-variant-id + :invalid-variant-properties + :variant-not-main + :parent-not-variant + :variant-bad-name + :variant-bad-variant-name + :variant-component-bad-name + :variant-no-properties + :variant-component-bad-id}) (def ^:private schema:error [:map {:title "ValidationError"} @@ -401,6 +414,68 @@ (check-empty-swap-slot shape file page) (run! #(check-shape % file page libraries :context :not-component) (:shapes shape))) +(defn- check-variant-container + "Shape is a variant container, so: + -all its children should be variants with variant-id equals to the shape-id + -all the components should have the same properties + " + [shape file page] + (let [shape-id (:id shape) + shapes (:shapes shape) + children (map #(ctst/get-shape page %) shapes) + prop-names (cfv/extract-properties-names (first children) (:data file))] + (doseq [child children] + (if (not (ctk/is-variant? child)) + (report-error :not-a-variant + (str/ffmt "Shape % should be a variant" (:id child)) + child file page) + (do + (when (not= (:variant-id child) shape-id) + (report-error :invalid-variant-id + (str/ffmt "Variant % has invalid variant-id %" (:id child) (:variant-id child)) + child file page)) + (when (not= prop-names (cfv/extract-properties-names child (:data file))) + (report-error :invalid-variant-properties + (str/ffmt "Variant % has invalid properties %" (:id child) (vec prop-names)) + child file page))))))) + +(defn- check-variant + "Shape is a variant, so + -it should be a main component + -its parent should be a variant-container + -its variant-name is derived from the properties + -its name should be tha same as its parent's + " + [shape file page] + (let [parent (ctst/get-shape page (:parent-id shape)) + component (ctkl/get-component (:data file) (:component-id shape) true) + name (ctv/properties-to-name (:variant-properties component))] + (when-not (ctk/main-instance? shape) + (report-error :variant-not-main + (str/ffmt "Variant % is not a main instance" (:id shape)) + shape file page)) + (when-not (ctk/is-variant-container? parent) + (report-error :parent-not-variant + (str/ffmt "Variant % has an invalid parent" (:id shape)) + shape file page)) + + (when-not (= name (:variant-name shape)) + (report-error :variant-bad-variant-name + (str/ffmt "Variant % has an invalid variant-name" (:id shape)) + shape file page)) + (when-not (= (:name parent) (:name shape)) + (report-error :variant-bad-name + (str/ffmt "Variant % has an invalid name" (:id shape)) + shape file page)) + (when-not (= (:name parent) (cfh/merge-path-item (:path component) (:name component))) + (report-error :variant-component-bad-name + (str/ffmt "Component % has an invalid name" (:id shape)) + shape file page)) + (when-not (= (:variant-id component) (:variant-id shape)) + (report-error :variant-component-bad-id + (str/ffmt "Variant % has adifferent variant-id than its component" (:id shape)) + shape file page)))) + (defn- check-shape "Validate referential integrity and semantic coherence of a shape and all its children. Report all errors found. @@ -421,6 +496,12 @@ (check-parent-children shape file page) (check-frame shape file page) + (when (ctk/is-variant-container? shape) + (check-variant-container shape file page)) + + (when (ctk/is-variant? shape) + (check-variant shape file page)) + (if (ctk/instance-head? shape) (if (not= :frame (:type shape)) (report-error :instance-head-not-frame @@ -496,6 +577,24 @@ "This deleted component has shapes with shape-ref pointing to self" component file nil :cycles-ids cycles-ids)))) +(defn- check-variant-component + "Component is a variant, so: + -Its main should be a variant + -It should have at least one variant property" + [component file] + (let [component-page (ctf/get-component-page (:data file) component) + main-component (if (:deleted component) + (dm/get-in component [:objects (:main-instance-id component)]) + (ctst/get-shape component-page (:main-instance-id component)))] + (when-not (ctk/is-variant? main-component) + (report-error :not-a-variant + (str/ffmt "Shape % should be a variant" (:id main-component)) + main-component file component-page)) + (when (< (count (:variant-properties component)) 1) + (report-error :variant-no-properties + (str/ffmt "Component variant % should have properties" (:id main-component)) + main-component file nil)))) + (defn- check-component "Validate semantic coherence of a component. Report all errors found." [component file] @@ -505,7 +604,10 @@ component file nil)) (when (:deleted component) (check-component-duplicate-swap-slot component file) - (check-ref-cycles component file))) + (check-ref-cycles component file)) + + (when (ctk/is-variant? component) + (check-variant-component component file))) (defn- get-orphan-shapes [{:keys [objects] :as page}] diff --git a/common/src/app/common/files/variant.cljc b/common/src/app/common/files/variant.cljc new file mode 100644 index 0000000000..e901fd19ef --- /dev/null +++ b/common/src/app/common/files/variant.cljc @@ -0,0 +1,84 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC +(ns app.common.files.variant + (:require + [app.common.data.macros :as dm] + [app.common.types.component :as ctc] + [app.common.types.components-list :as ctcl] + [app.common.types.variant :as ctv] + [cuerdas.core :as str])) + + +(defn find-variant-components + "Find a list of the components thet belongs to this variant-id" + [data objects variant-id] + ;; We can't simply filter components, because we need to maintain the order + (->> (dm/get-in objects [variant-id :shapes]) + (map #(dm/get-in objects [% :component-id])) + (map #(ctcl/get-component data % true)) + reverse)) + +(defn- dashes-to-end + [property-values] + (let [dashes (if (some #(= % "--") property-values) ["--"] [])] + (concat (remove #(= % "--") property-values) dashes))) + + +(defn extract-properties-names + [shape data] + (->> shape + (#(ctcl/get-component data (:component-id %) true)) + :variant-properties + (map :name))) + + +(defn extract-properties-values + [data objects variant-id] + (->> (find-variant-components data objects variant-id) + (mapcat :variant-properties) + (group-by :name) + (map (fn [[k v]] + {:name k + :value (->> v + (map #(if (str/empty? (:value %)) "--" (:value %))) + distinct + dashes-to-end)})))) + +(defn get-variant-mains + [component data] + (assert (ctv/valid-variant-component? component) "expected valid component variant") + (when-let [variant-id (:variant-id component)] + (let [page-id (:main-instance-page component) + objects (-> (dm/get-in data [:pages-index page-id]) + (get :objects))] + (dm/get-in objects [variant-id :shapes])))) + + +(defn is-secondary-variant? + [component data] + (let [shapes (get-variant-mains component data)] + (and (seq shapes) + (not= (:main-instance-id component) (last shapes))))) + +(defn get-primary-variant + [data component] + (let [page-id (:main-instance-page component) + objects (-> (dm/get-in data [:pages-index page-id]) + (get :objects)) + variant-id (:variant-id component)] + (->> (dm/get-in objects [variant-id :shapes]) + peek + (get objects)))) + +(defn get-primary-component + [data component-id] + (when-let [component (ctcl/get-component data component-id)] + (if (ctc/is-variant? component) + (->> component + (get-primary-variant data) + :component-id + (ctcl/get-component data)) + component))) diff --git a/common/src/app/common/flags.cljc b/common/src/app/common/flags.cljc index dbc39e5041..371d889230 100644 --- a/common/src/app/common/flags.cljc +++ b/common/src/app/common/flags.cljc @@ -79,7 +79,7 @@ :file-schema-validation ;; Reports the schema validation errors internally. :soft-file-schema-validation - ;; Activates the referential integrity validation during update file; related to components-v2. + ;; Activates the referential integrity validation during update file. :file-validation ;; Reports the referential integrity validation errors internally. :soft-file-validation @@ -125,6 +125,7 @@ :export-file-v3 :render-wasm-dpr :hide-release-modal + :subscriptions :subscriptions-old}) (def all-flags diff --git a/common/src/app/common/geom/shapes/grid_layout/layout_data.cljc b/common/src/app/common/geom/shapes/grid_layout/layout_data.cljc index d994cae10c..424dcbb34f 100644 --- a/common/src/app/common/geom/shapes/grid_layout/layout_data.cljc +++ b/common/src/app/common/geom/shapes/grid_layout/layout_data.cljc @@ -39,7 +39,7 @@ ;; ;; 5. If any track still has an infinite growth limit set its growth limit to its base size. -;; - Distribute extra space accross spaned tracks +;; - Distribute extra space accross spaned tracks ;; - Maximize tracks ;; ;; - Expand flexible tracks @@ -198,7 +198,7 @@ track-list)) -(defn add-auto-size +(defn stretch-tracks [track-list add-size] (->> track-list (mapv (fn [{:keys [type size max-size] :as track}] @@ -357,7 +357,8 @@ to-idx (+ (dec (get cell prop)) (get cell prop-span)) indexed-tracks (subvec (d/enumerate track-list) from-idx to-idx) - to-allocate (size-to-allocate type parent (get children-map shape-id) cell bounds objects) + to-allocate + (size-to-allocate type parent (get children-map shape-id) cell bounds objects) ;; Remove the size and the tracks that are not allocated [to-allocate total-frs indexed-tracks] @@ -493,11 +494,11 @@ column-tracks (cond-> column-tracks (= :stretch (:layout-justify-content parent)) - (add-auto-size column-add-auto)) + (stretch-tracks column-add-auto)) row-tracks (cond-> row-tracks (= :stretch (:layout-align-content parent)) - (add-auto-size row-add-auto)) + (stretch-tracks row-add-auto)) column-total-size (tracks-total-size column-tracks) row-total-size (tracks-total-size row-tracks) diff --git a/common/src/app/common/geom/shapes/path.cljc b/common/src/app/common/geom/shapes/path.cljc index c9863d9f3d..a7e56f3d2a 100644 --- a/common/src/app/common/geom/shapes/path.cljc +++ b/common/src/app/common/geom/shapes/path.cljc @@ -347,7 +347,11 @@ move-p nil content (seq content)] (if content - (let [command (first content) + (let [last-p (last content) + content (if (= :move-to (:command last-p)) + (butlast content) + content) + command (first content) to-p (command->point command) [from-p move-p command-pts] diff --git a/common/src/app/common/geom/shapes/transforms.cljc b/common/src/app/common/geom/shapes/transforms.cljc index af52ac238e..50a41e06f3 100644 --- a/common/src/app/common/geom/shapes/transforms.cljc +++ b/common/src/app/common/geom/shapes/transforms.cljc @@ -95,8 +95,8 @@ (d/update-when :x d/safe+ dx) (d/update-when :y d/safe+ dy) (d/update-when :position-data move-position-data mvec) - (cond-> (= :bool type) (update :bool-content gpa/move-content mvec)) - (cond-> (= :path type) (update :content gpa/move-content mvec))))) + (cond-> (or (= :bool type) (= :path type)) + (update :content gpa/move-content mvec))))) ;; --- Absolute Movement @@ -317,13 +317,10 @@ points (gco/transform-points (dm/get-prop shape :points) transform-mtx) selrect (gco/transform-selrect (dm/get-prop shape :selrect) transform-mtx) - shape (if (= type :bool) - (update shape :bool-content gpa/transform-content transform-mtx) - shape) shape (if (= type :text) (update shape :position-data transform-position-data transform-mtx) shape) - shape (if (= type :path) + shape (if (or (= type :path) (= type :bool)) (update shape :content gpa/transform-content transform-mtx) (assoc shape :x (dm/get-prop selrect :x) @@ -355,11 +352,8 @@ rotation (mod (+ (d/nilv (:rotation shape) 0) (d/nilv (dm/get-in shape [:modifiers :rotation]) 0)) 360) - shape (if (= type :bool) - (update shape :bool-content gpa/transform-content transform-mtx) - shape) - shape (if (= type :path) + shape (if (or (= type :path) (= type :bool)) (update shape :content gpa/transform-content transform-mtx) (assoc shape :x (dm/get-prop selrect :x) @@ -454,9 +448,14 @@ "Calculates the selrect+points for the boolean shape" [shape children objects] - (let [bool-content (gshb/calc-bool-content shape objects) - shape (assoc shape :bool-content bool-content) - [points selrect] (gpa/content->points+selrect shape bool-content)] + (let [content + (gshb/calc-bool-content shape objects) + + shape + (assoc shape :content content) + + [points selrect] + (gpa/content->points+selrect shape content)] (if (and (some? selrect) (d/not-empty? points)) (-> shape diff --git a/common/src/app/common/logic/libraries.cljc b/common/src/app/common/logic/libraries.cljc index 9413e97964..631db173a1 100644 --- a/common/src/app/common/logic/libraries.cljc +++ b/common/src/app/common/logic/libraries.cljc @@ -15,6 +15,7 @@ [app.common.geom.shapes :as gsh] [app.common.logging :as log] [app.common.logic.shapes :as cls] + [app.common.logic.variant-properties :as clvp] [app.common.spec :as us] [app.common.text :as txt] [app.common.types.color :as ctc] @@ -29,6 +30,7 @@ [app.common.types.shape.layout :as ctl] [app.common.types.token :as cto] [app.common.types.typography :as cty] + [app.common.types.variant :as ctv] [app.common.uuid :as uuid] [clojure.set :as set] [clojure.spec.alpha :as s])) @@ -105,113 +107,99 @@ (defn- duplicate-component "Clone the root shape of the component and all children. Generate new ids from all of them." - [component new-component-id library-data force-id] - (let [components-v2 (dm/get-in library-data [:options :components-v2])] - (if components-v2 - (let [main-instance-page (ctf/get-component-page library-data component) - main-instance-shape (ctf/get-component-root library-data component) - delta (gpt/point (+ (:width main-instance-shape) 50) 0) + [component new-component-id library-data force-id delta variant-id] + (let [main-instance-page (ctf/get-component-page library-data component) + main-instance-shape (ctf/get-component-root library-data component) + delta (or delta (gpt/point (+ (:width main-instance-shape) 50) 0)) - ids-map (volatile! {}) - inverted-ids-map (volatile! {}) - nested-main-heads (volatile! #{}) + ids-map (volatile! {}) + inverted-ids-map (volatile! {}) + nested-main-heads (volatile! #{}) - update-original-shape - (fn [original-shape new-shape] + update-original-shape + (fn [original-shape new-shape] ; Save some ids for later - (vswap! ids-map assoc (:id original-shape) (:id new-shape)) - (vswap! inverted-ids-map assoc (:id new-shape) (:id original-shape)) - (when (and (ctk/main-instance? original-shape) - (not= (:component-id original-shape) (:id component))) - (vswap! nested-main-heads conj (:id original-shape))) - original-shape) + (vswap! ids-map assoc (:id original-shape) (:id new-shape)) + (vswap! inverted-ids-map assoc (:id new-shape) (:id original-shape)) + (when (and (ctk/main-instance? original-shape) + (not= (:component-id original-shape) (:id component))) + (vswap! nested-main-heads conj (:id original-shape))) + original-shape) - update-new-shape - (fn [new-shape _] - (cond-> new-shape - ; Link the new main to the new component - (= (:component-id new-shape) (:id component)) - (assoc :component-id new-component-id) + update-new-shape + (fn [new-shape _] + (cond-> new-shape + ; Link the new main to the new component + (= (:component-id new-shape) (:id component)) + (assoc :component-id new-component-id) - :always - (gsh/move delta))) + ; If it is the instance root, add it the variant-id + (and (ctk/instance-root? new-shape) (some? variant-id)) + (assoc :variant-id variant-id) - [new-instance-shape new-instance-shapes _] - (ctst/clone-shape main-instance-shape - (:parent-id main-instance-shape) - (:objects main-instance-page) - :update-new-shape update-new-shape - :update-original-shape update-original-shape - :force-id force-id) + :always + (gsh/move delta))) - remap-frame - (fn [shape] + [new-instance-shape new-instance-shapes _] + (ctst/clone-shape main-instance-shape + (:parent-id main-instance-shape) + (:objects main-instance-page) + :update-new-shape update-new-shape + :update-original-shape update-original-shape + :force-id force-id) + remap-frame + (fn [shape] ; Remap all frame-ids internal to the component to the new shapes - (update shape :frame-id - #(get @ids-map % (:frame-id shape)))) + (update shape :frame-id + #(get @ids-map % (:frame-id shape)))) - convert-nested-main - (fn [shape] + convert-nested-main + (fn [shape] ; If there is some nested main instance, convert it into a copy of ; main nested in the original component. - (let [origin-shape-id (get @inverted-ids-map (:id shape)) - objects (:objects main-instance-page) - parent-ids (cfh/get-parent-ids-seq-with-self objects origin-shape-id)] - (cond-> shape - (@nested-main-heads origin-shape-id) - (dissoc :main-instance) + (let [origin-shape-id (get @inverted-ids-map (:id shape)) + objects (:objects main-instance-page) + parent-ids (cfh/get-parent-ids-seq-with-self objects origin-shape-id)] + (cond-> shape + (@nested-main-heads origin-shape-id) + (dissoc :main-instance) - (some @nested-main-heads parent-ids) - (assoc :shape-ref origin-shape-id)))) + (some @nested-main-heads parent-ids) + (assoc :shape-ref origin-shape-id)))) - xf-shape (comp (map remap-frame) - (map convert-nested-main)) + xf-shape (comp (map remap-frame) + (map convert-nested-main)) - new-instance-shapes (into [] xf-shape new-instance-shapes)] + new-instance-shapes (into [] xf-shape new-instance-shapes)] - [nil nil new-instance-shape new-instance-shapes]) - - (let [component-root (d/seek #(nil? (:parent-id %)) (vals (:objects component))) - - [new-component-shape new-component-shapes _] - (ctst/clone-shape component-root - nil - (get component :objects))] - - [new-component-shape new-component-shapes nil nil])))) + [new-instance-shape new-instance-shapes])) (defn generate-duplicate-component "Create a new component copied from the one with the given id." - [changes library component-id new-component-id components-v2 & {:keys [new-shape-id apply-changes-local-library?]}] + [changes library component-id new-component-id & {:keys [new-shape-id apply-changes-local-library? delta new-variant-id page-id]}] (let [component (ctkl/get-component (:data library) component-id) new-name (:name component) - main-instance-page (when components-v2 - (ctf/get-component-page (:data library) component)) + main-instance-page (ctf/get-component-page (:data library) component) + ;; Since variants, we can duplicate a component into another page + target-page-id (or page-id (:id main-instance-page)) - new-component-id (when components-v2 - new-component-id) - - [new-component-shape new-component-shapes ; <- null in components-v2 - new-main-instance-shape new-main-instance-shapes] - (duplicate-component component new-component-id (:data library) new-shape-id)] + [new-main-instance-shape new-main-instance-shapes] + (duplicate-component component new-component-id (:data library) new-shape-id delta new-variant-id)] [new-main-instance-shape (-> changes - (pcb/with-page main-instance-page) + (pcb/with-page-id target-page-id) (pcb/with-objects (:objects main-instance-page)) (pcb/add-objects new-main-instance-shapes {:ignore-touched true}) - (pcb/add-component (if components-v2 - new-component-id - (:id new-component-shape)) + (pcb/add-component new-component-id (:path component) new-name - new-component-shapes [] (:id new-main-instance-shape) - (:id main-instance-page) + target-page-id (:annotation component) - (:variant-id component) + (or new-variant-id (:variant-id component)) (:variant-properties component) {:apply-changes-local-library? apply-changes-local-library?}) ;; Update grid layout if the new main instance is inside @@ -228,23 +216,34 @@ "Generate changes to create a new instance from a component." ([changes objects file-id component-id position page libraries] (generate-instantiate-component changes objects file-id component-id position page libraries nil nil nil {})) - - ([changes objects file-id component-id position page libraries old-id parent-id frame-id + ([changes objects file-id component-id position page libraries old-id parent-id frame-id params] + (generate-instantiate-component changes objects file-id component-id position page libraries old-id parent-id frame-id {} params)) + ([changes objects file-id component-id position page libraries old-id parent-id frame-id ids-map {:keys [force-frame?] :or {force-frame? false}}] - (let [component (ctf/get-component libraries file-id component-id) - parent (when parent-id (get objects parent-id)) - library (get libraries file-id) - components-v2 (dm/get-in library [:data :options :components-v2]) + (let [component (ctf/get-component libraries file-id component-id) + library (get libraries file-id) + parent (when parent-id (get objects parent-id)) + + ;; When we are intanciating a variant, it can't be on a variant-container + parent (when parent + (if (and (ctk/is-variant? component) + (ctk/is-variant-container? parent)) + (get objects (:parent-id parent)) + parent)) + parent-id (d/nilv (:id parent) parent-id) + frame-id (d/nilv (:frame-id parent) frame-id) [new-shape new-shapes] (ctn/make-component-instance page component (:data library) position - components-v2 (cond-> {} + (contains? ids-map old-id) + (assoc :force-id (get ids-map old-id)) + force-frame? (assoc :force-frame-id frame-id))) @@ -266,8 +265,11 @@ (cond-> (pcb/add-object changes first-shape {:ignore-touched true}) (some? old-id) (pcb/amend-last-change #(assoc % :old-id old-id))) + duplicated-parent? + (->> ids-map vals (some #(= % (:parent-id first-shape)))) + changes - (if (ctl/grid-layout? objects (:parent-id first-shape)) + (if (and (ctl/grid-layout? objects (:parent-id first-shape)) (not duplicated-parent?)) (let [target-cell (-> position meta :cell) [row column] @@ -394,17 +396,28 @@ (when (some #(= (:id current-page) %) (:pages library-data)) ;; If the page doesn't belong to the library, it's not valid current-page) (ctpl/get-last-page library-data))] - (prepare-restore-component changes library-data component-id page (gpt/point 0 0) nil nil nil))) + (prepare-restore-component changes library-data component-id page nil nil nil nil))) - ([changes library-data component-id page delta old-id parent-id frame-id] - (let [component (ctkl/get-deleted-component library-data component-id) - parent (get-in page [:objects parent-id]) + ([changes library-data component-id page position old-id parent-id frame-id] + (let [library-data (or (pcb/get-library-data changes) library-data) + component (ctkl/get-deleted-component library-data component-id) + objects (or (pcb/get-objects changes) (:objects page)) + parent (get objects parent-id) main-inst (get-in component [:objects (:main-instance-id component)]) inside-component? (some? (ctn/get-instance-root (:objects page) parent)) shapes (cfh/get-children-with-self (:objects component) (:main-instance-id component)) - shapes (map #(gsh/move % delta) shapes) - first-shape (cond-> (first shapes) + is-variant? (ctk/is-variant? component) + + orig-pos (gpt/point (:x main-inst) (:y main-inst)) + delta (if position + (gpt/subtract position orig-pos) + (gpt/point 0 0)) + minusdelta (gpt/point (- (:x delta)) (- (:y delta))) + + moved-shapes (map #(gsh/move % delta) shapes) + + first-shape (cond-> (first moved-shapes) (not (nil? parent-id)) (assoc :parent-id parent-id) (not (nil? frame-id)) @@ -426,9 +439,16 @@ (some? old-id) (pcb/amend-last-change #(assoc % :old-id old-id))) ; on copy/paste old id is used later to reorder the paster layers changes (reduce #(pcb/add-object %1 %2 {:ignore-touched true}) changes - (rest shapes))] - {:changes (pcb/restore-component changes component-id (:id page) main-inst) - :shape (first shapes)}))) + (rest moved-shapes)) + changes (cond-> changes + ;; Remove variant info when restoring into a parent that is not a variant-container + (and is-variant? parent (not (ctk/is-variant-container? parent))) + (clvp/generate-make-shapes-no-variant [first-shape]) + ;; Add variant info and rename when restoring into a variant-container + (ctk/is-variant-container? parent) + (clvp/generate-make-shapes-variant [first-shape] parent))] + {:changes (pcb/restore-component changes component-id (:id page) minusdelta) + :shape (first moved-shapes)}))) ;; ---- General library synchronization functions ---- @@ -451,8 +471,7 @@ :file (pretty-file file-id libraries current-file-id) :library (pretty-file library-id libraries current-file-id)) - (let [file (get-in libraries [file-id :data]) - components-v2 (get-in file [:options :components-v2])] + (let [file (get-in libraries [file-id :data])] (loop [containers (ctf/object-containers-seq file) changes changes] (if-let [container (first containers)] @@ -465,7 +484,6 @@ asset-id library-id container - components-v2 libraries current-file-id)))) changes)))) @@ -490,8 +508,7 @@ :file (pretty-file file-id libraries current-file-id) :library (pretty-file library-id libraries current-file-id)) - (let [file (get-in libraries [file-id :data]) - components-v2 (get-in file [:options :components-v2])] + (let [file (get-in libraries [file-id :data])] (loop [local-components (ctkl/components-seq file) changes changes] (if-let [local-component (first local-components)] @@ -503,7 +520,6 @@ asset-id library-id (cfh/make-container local-component :component) - components-v2 libraries current-file-id))) changes)))) @@ -511,7 +527,7 @@ (defn- generate-sync-container "Generate changes to synchronize all shapes in a particular container (a page or a component) that use assets of the given type in the given library." - [changes asset-type asset-id library-id container components-v2 libraries current-file-id] + [changes asset-type asset-id library-id container libraries current-file-id] (if (cfh/page? container) (container-log :debug (:id container) :msg "Sync page in local file" :page-id (:id container)) @@ -530,7 +546,6 @@ library-id container shape - components-v2 libraries current-file-id)) changes)))) @@ -560,13 +575,13 @@ (defmulti generate-sync-shape "Generate changes to synchronize one shape from all assets of the given type that is using, in the given library." - (fn [asset-type _changes _library-id _container _shape _components-v2 _libraries _current-file-id] asset-type)) + (fn [asset-type _changes _library-id _container _shape _libraries _current-file-id] asset-type)) (defmethod generate-sync-shape :components - [_ changes _library-id container shape components-v2 libraries current-file-id] + [_ changes _library-id container shape libraries current-file-id] (let [shape-id (:id shape) file (get current-file-id libraries)] - (generate-sync-shape-direct changes file libraries container shape-id false components-v2))) + (generate-sync-shape-direct changes file libraries container shape-id false))) (defmethod generate-sync-shape :colors [_ changes library-id _ shape _ libraries _] @@ -742,7 +757,7 @@ (defn generate-sync-shape-direct "Generate changes to synchronize one shape that is the root of a component instance, and all its children, from the given component." - [changes file libraries container shape-id reset? components-v2] + [changes file libraries container shape-id reset?] (shape-log :debug shape-id container :msg "Sync shape direct" :shape-inst (str shape-id) :reset? reset?) (let [shape-inst (ctn/get-shape container shape-id) @@ -753,12 +768,12 @@ (let [redirect-shaperef (partial redirect-shaperef container libraries) shape-main (when component - (if (and reset? components-v2) + (if reset? ;; the reset is against the ref-shape, not against the original shape of the component (ctf/find-ref-shape file container libraries shape-inst) (ctf/get-ref-shape library component shape-inst))) - shape-inst (if (and reset? components-v2) + shape-inst (if reset? (redirect-shaperef shape-inst shape-main) shape-inst) @@ -780,13 +795,10 @@ root-main reset? initial-root? - redirect-shaperef - components-v2) + redirect-shaperef) ;; If the component is not found, because the master component has been - ;; deleted or the library unlinked, do nothing in v2 or detach in v1. - (if components-v2 - changes - (generate-detach-instance changes libraries container shape-id)))) + ;; deleted or the library unlinked, do nothing. + changes)) changes))) (defn- find-main-container @@ -807,7 +819,7 @@ nil)))))) (defn- generate-sync-shape-direct-recursive - [changes container shape-inst component library file libraries shape-main root-inst root-main reset? initial-root? redirect-shaperef components-v2] + [changes container shape-inst component library file libraries shape-main root-inst root-main reset? initial-root? redirect-shaperef] (shape-log :debug (:id shape-inst) container :msg "Sync shape direct recursive" :shape-inst (str (:name shape-inst) " " (pretty-uuid (:id shape-inst))) @@ -815,9 +827,7 @@ (if (nil? shape-main) ;; This should not occur, but protect against it in any case - (if components-v2 - changes - (generate-detach-instance changes container {(:id library) library} (:id shape-inst))) + changes (let [omit-touched? (not reset?) clear-remote-synced? (and initial-root? reset?) set-remote-synced? (and (not initial-root?) reset?) @@ -856,7 +866,7 @@ children-inst (vec (ctn/get-direct-children container shape-inst)) children-main (vec (ctn/get-direct-children component-container shape-main)) - children-inst (if (and reset? components-v2) + children-inst (if reset? (map #(redirect-shaperef %) children-inst) children-inst) only-inst (fn [changes child-inst] @@ -888,8 +898,7 @@ root-inst root-main omit-touched? - set-remote-synced? - components-v2) + set-remote-synced?) changes)) both (fn [changes child-inst child-main] @@ -909,8 +918,7 @@ root-main reset? initial-root? - redirect-shaperef - components-v2)) + redirect-shaperef)) swapped (fn [changes child-inst child-main] (shape-log :trace (:id child-inst) container @@ -948,8 +956,7 @@ swapped moved false - reset? - components-v2) + reset?) changes (cond-> changes @@ -965,41 +972,26 @@ (defn generate-rename-component "Generate the changes for rename the component with the given id, in the current file library." - [changes id new-name library-data components-v2] - (let [[path name] (cfh/parse-path-name new-name) - update-fn - (fn [component] - (cond-> component - :always - (assoc :path path - :name name) - - (not components-v2) - (update :objects - ;; Give the same name to the root shape - #(assoc-in % [id :name] name))))] + [changes id new-name library-data] + (let [[path name] (cfh/parse-path-name new-name)] (-> changes (pcb/with-library-data library-data) - (pcb/update-component id update-fn)))) + (pcb/update-component id #(assoc % :path path :name name))))) (defn generate-sync-shape-inverse "Generate changes to update the component a shape is linked to, from the values in the shape and all its children." - [changes file libraries container shape-id components-v2] + [changes file libraries container shape-id] (shape-log :debug shape-id container :msg "Sync shape inverse" :shape (str shape-id)) (let [redirect-shaperef (partial redirect-shaperef container libraries) shape-inst (ctn/get-shape container shape-id) library (dm/get-in libraries [(:component-file shape-inst) :data]) component (ctkl/get-component library (:component-id shape-inst)) - shape-main (when component - (if components-v2 - (ctf/find-remote-shape container libraries shape-inst) - (ctf/get-ref-shape library component shape-inst))) + shape-main (when component + (ctf/find-remote-shape container libraries shape-inst)) - shape-inst (if components-v2 - (redirect-shaperef shape-inst shape-main) - shape-inst) + shape-inst (redirect-shaperef shape-inst shape-main) initial-root? (:component-root shape-inst) @@ -1008,7 +1000,7 @@ changes (cond-> changes (and component (contains? (:touched shape-inst) :name-group)) - (generate-rename-component (:component-id shape-inst) (:name shape-inst) library components-v2))] + (generate-rename-component (:component-id shape-inst) (:name shape-inst) library))] (if component (generate-sync-shape-inverse-recursive changes @@ -1022,12 +1014,11 @@ root-inst root-main initial-root? - redirect-shaperef - components-v2) + redirect-shaperef) changes))) (defn- generate-sync-shape-inverse-recursive - [changes container shape-inst component library file libraries shape-main root-inst root-main initial-root? redirect-shaperef components-v2] + [changes container shape-inst component library file libraries shape-main root-inst root-main initial-root? redirect-shaperef] (shape-log :trace (:id shape-inst) container :msg "Sync shape inverse recursive" :shape (str (:name shape-inst)) @@ -1084,9 +1075,7 @@ children-main (mapv #(ctn/get-shape component-container %) (:shapes shape-main)) - children-inst (if components-v2 - (map #(redirect-shaperef %) children-inst) - children-inst) + children-inst (map #(redirect-shaperef %) children-inst) only-inst (fn [changes child-inst] (add-shape-to-main changes @@ -1097,8 +1086,7 @@ component-container container root-inst - root-main - components-v2)) + root-main)) only-main (fn [changes child-main] (remove-shape changes @@ -1118,8 +1106,7 @@ root-inst root-main initial-root? - redirect-shaperef - components-v2)) + redirect-shaperef)) swapped (fn [changes child-inst child-main] (shape-log :trace (:id child-inst) container @@ -1153,8 +1140,7 @@ swapped moved true - true - components-v2) + true) ;; The inverse sync may be made on a component that is inside a ;; remote library. We need to separate changes that are from @@ -1172,7 +1158,7 @@ ;; ---- Operation generation helpers ---- (defn- compare-children - [changes shape-inst children-inst children-main container-inst container-main file libraries only-inst-cb only-main-cb both-cb swapped-cb moved-cb inverse? reset? components-v2] + [changes shape-inst children-inst children-main container-inst container-main file libraries only-inst-cb only-main-cb both-cb swapped-cb moved-cb inverse? reset?] (shape-log :trace (:id shape-inst) container-inst :msg "Compare children") (loop [children-inst (seq (or children-inst [])) children-main (seq (or children-main [])) @@ -1193,18 +1179,18 @@ (reduce only-inst-cb changes children-inst) :else - (if (or (ctk/is-main-of? child-main child-inst components-v2) + (if (or (ctk/is-main-of? child-main child-inst) (and (ctf/match-swap-slot? child-main child-inst container-inst container-main file libraries) (not reset?))) (recur (next children-inst) (next children-main) - (if (ctk/is-main-of? child-main child-inst components-v2) + (if (ctk/is-main-of? child-main child-inst) (both-cb changes child-inst child-main) (swapped-cb changes child-inst child-main))) - (let [child-inst' (d/seek #(or (ctk/is-main-of? child-main % components-v2) + (let [child-inst' (d/seek #(or (ctk/is-main-of? child-main %) (and (ctf/match-swap-slot? child-main % container-inst container-main file libraries) (not reset?))) children-inst) - child-main' (d/seek #(or (ctk/is-main-of? % child-inst components-v2) + child-main' (d/seek #(or (ctk/is-main-of? % child-inst) (and (ctf/match-swap-slot? % child-inst container-inst container-main file libraries) (not reset?))) children-main)] (cond @@ -1220,7 +1206,7 @@ :else (if inverse? - (let [is-main? (ctk/is-main-of? child-inst child-main' components-v2)] + (let [is-main? (ctk/is-main-of? child-inst child-main')] (recur (next children-inst) (remove #(= (:id %) (:id child-main')) children-main) (cond-> changes @@ -1230,7 +1216,7 @@ (swapped-cb child-inst child-main') :always (moved-cb child-inst child-main')))) - (let [is-main? (ctk/is-main-of? child-inst' child-main components-v2)] + (let [is-main? (ctk/is-main-of? child-inst' child-main)] (recur (remove #(= (:id %) (:id child-inst')) children-inst) (next children-main) (cond-> changes @@ -1242,14 +1228,14 @@ (moved-cb child-inst' child-main)))))))))))) (defn- add-shape-to-instance - [changes component-shape index component-page container root-instance root-main omit-touched? set-remote-synced? components-v2] + [changes component-shape index component-page container root-instance root-main omit-touched? set-remote-synced?] (shape-log :info (:id component-shape) component-page :msg (str "ADD [P " (pretty-uuid (:id container)) "] " (:name component-shape) " " (pretty-uuid (:id component-shape)))) (let [component-parent-shape (ctn/get-shape component-page (:parent-id component-shape)) - parent-shape (d/seek #(ctk/is-main-of? component-parent-shape % components-v2) + parent-shape (d/seek #(ctk/is-main-of? component-parent-shape %) (cfh/get-children-with-self (:objects container) (:id root-instance))) all-parents (into [(:id parent-shape)] @@ -1318,14 +1304,14 @@ changes'))) (defn- add-shape-to-main - [changes shape index component component-container page root-instance root-main components-v2] + [changes shape index component component-container page root-instance root-main] (shape-log :info (:id shape) page :msg (str "ADD [C " (pretty-uuid (:id component-container)) "] " (:name shape) " " (pretty-uuid (:id shape)))) (let [parent-shape (ctn/get-shape page (:parent-id shape)) - component-parent-shape (d/seek #(ctk/is-main-of? % parent-shape components-v2) + component-parent-shape (d/seek #(ctk/is-main-of? % parent-shape) (cfh/get-children-with-self (:objects component-container) (:id root-main))) all-parents (into [(:id component-parent-shape)] @@ -1910,30 +1896,33 @@ (assoc change :component-id (:id container)))) (defn generate-add-component-changes - [changes root objects file-id page-id components-v2] + [changes root objects file-id page-id variant-props] (let [name (:name root) + variant-id (when (ctk/is-variant? root) (:parent-id root)) + props (when (ctk/is-variant? root) (get variant-props (:component-id root))) + [path name] (cfh/parse-path-name name) - [root-shape new-shapes updated-shapes] - (if-not components-v2 - (ctn/make-component-shape root objects file-id components-v2) - (ctn/convert-shape-in-component root objects file-id)) + [root-shape updated-shapes] + (ctn/convert-shape-in-component root objects file-id) - changes (-> changes - (pcb/add-component (:id root-shape) - path - name - new-shapes - updated-shapes - (:id root) - page-id))] + changes (-> changes + (pcb/add-component (:id root-shape) + path + name + updated-shapes + (:id root) + page-id + nil + variant-id + props))] [root-shape changes])) (defn generate-add-component - "If there is exactly one id, and it's a frame (or a group in v1), and not already a component, - use it as root. Otherwise, create a frame (v2) or group (v1) that contains all ids. Then, make a + "If there is exactly one id, and it's a frame, and not already a component, + use it as root. Otherwise, create a frame that contains all ids. Then, make a component with it, and link all shapes to their corresponding one in the component." - [changes shapes objects page-id file-id components-v2 prepare-create-group prepare-create-board] + [changes shapes objects page-id file-id prepare-create-board] (let [changes (pcb/with-page-id changes page-id) shapes-count (count shapes) @@ -1945,9 +1934,7 @@ [root changes old-root-ids] (if (and (= shapes-count 1) - (or (and (cfh/group-shape? first-shape) - (not components-v2)) - (cfh/frame-shape? first-shape)) + (cfh/frame-shape? first-shape) (not (ctk/instance-head? first-shape))) [first-shape (-> changes @@ -1962,21 +1949,14 @@ shape-ids (into (d/ordered-set) (map :id) shapes) [root changes] - (if-not components-v2 - (prepare-create-group changes ; These functions needs to be passed as argument - objects ; to avoid a circular dependence - page-id - shapes - root-name - (not (ctk/instance-head? first-shape))) - (prepare-create-board changes - (uuid/next) - (:parent-id first-shape) - objects - shape-ids - nil - root-name - true))] + (prepare-create-board changes + (uuid/next) + (:parent-id first-shape) + objects + shape-ids + nil + root-name + true)] [root changes shape-ids])) @@ -1990,7 +1970,7 @@ objects' (assoc objects (:id root) root) - [root-shape changes] (generate-add-component-changes changes root objects' file-id page-id components-v2) + [root-shape changes] (generate-add-component-changes changes root objects' file-id page-id nil) changes (pcb/update-shapes changes old-root-ids @@ -2004,17 +1984,26 @@ [changes library-data component-id library-id current-page objects] (let [{:keys [changes shape]} (prepare-restore-component changes library-data component-id current-page) parent-id (:parent-id shape) - objects (cond-> (assoc objects (:id shape) shape) - (not (nil? parent-id)) - (update-in [parent-id :shapes] - #(conj % (:id shape)))) + + insert-before? + (and (ctl/flex-layout? objects parent-id) + (not (ctl/reverse? objects parent-id))) + + objects + (-> objects + (assoc (:id shape) shape) + (cond-> (and (some? parent-id) insert-before?) + (update-in [parent-id :shapes] #(d/concat-vec [(:id shape)] %))) + (cond-> (and (some? parent-id) (not insert-before?)) + (update-in [parent-id :shapes] conj (:id shape)))) ;; Adds a resize-parents operation so the groups are updated. We add all the new objects new-objects-ids (->> changes :redo-changes (filter #(= (:type %) :add-obj)) (mapv :id)) changes (-> changes (pcb/with-objects objects) - (pcb/resize-parents new-objects-ids))] - + (pcb/resize-parents new-objects-ids) + ;; Fix the order of the children inside the parent + (pcb/reorder-children parent-id (get-in objects [parent-id :shapes])))] (assoc changes :file-id library-id))) (defn generate-detach-component @@ -2076,8 +2065,7 @@ [changes objects shape file page libraries id-new-component index target-cell keep-props-values] (let [[all-parents changes] (-> changes - (cls/generate-delete-shapes file page objects (d/ordered-set (:id shape)) {:components-v2 true - :component-swap true})) + (cls/generate-delete-shapes file page objects (d/ordered-set (:id shape)) {:component-swap true})) [new-shape changes] (-> changes (generate-new-shape-for-swap shape file page libraries id-new-component index target-cell keep-props-values))] @@ -2108,7 +2096,7 @@ (generate-sync-file file-id :typographies asset-id library-id libraries current-file-id)))) (defn generate-sync-head - [changes file-full libraries container id components-v2 reset?] + [changes file-full libraries container id reset?] (let [shape-inst (ctn/get-shape container id) objects (:objects container) parent (get objects (:parent-id shape-inst)) @@ -2117,11 +2105,11 @@ (-> changes (pcb/with-container container) (pcb/with-objects (:objects container)) - (generate-sync-shape-direct file-full libraries container (:id head) reset? components-v2))] + (generate-sync-shape-direct file-full libraries container (:id head) reset?))] changes)) (defn generate-reset-component - [changes file-full libraries container id components-v2] + [changes file-full libraries container id] (let [objects (:objects container) swap-slot (-> (ctn/get-shape container id) (ctk/get-swap-slot)) @@ -2129,11 +2117,11 @@ (-> changes (pcb/with-container container) (pcb/with-objects objects) - (generate-sync-shape-direct file-full libraries container id true components-v2))] + (generate-sync-shape-direct file-full libraries container id true))] (cond-> changes (some? swap-slot) - (generate-sync-head file-full libraries container id components-v2 true)))) + (generate-sync-head file-full libraries container id true)))) (defn generate-duplicate-flows [changes shapes page ids-map] @@ -2187,52 +2175,90 @@ (pcb/with-page changes page) frames))) -(defn generate-duplicate-component-change - [changes objects page component-root parent-id frame-id delta libraries library-data] - (let [component-id (:component-id component-root) - file-id (:component-file component-root) - main-component (ctf/get-component libraries file-id component-id) - moved-component (gsh/move component-root delta) - pos (gpt/point (:x moved-component) (:y moved-component)) - origin-frame (get-in page [:objects frame-id]) - delta (cond-> delta - (some? origin-frame) - (gpt/subtract (-> origin-frame :selrect gpt/point))) +(defn- duplicate-variant + [changes library component base-pos parent-id page-id] + (let [component-page (ctpl/get-page (:data library) (:main-instance-page component)) + component-shape (dm/get-in component-page [:objects (:main-instance-id component)]) + orig-pos (gpt/point (:x component-shape) (:y component-shape)) + delta (gpt/subtract base-pos orig-pos) + new-component-id (uuid/next) + [shape changes] (generate-duplicate-component changes + library + (:id component) + new-component-id + {:apply-changes-local-library? true + :delta delta + :new-variant-id parent-id + :page-id page-id})] + [shape + (-> changes + (pcb/change-parent parent-id [shape]))])) + + +(defn generate-duplicate-component-change + [changes objects page main parent-id frame-id delta libraries library-data ids-map] + (let [main-id (:id main) + component-id (:component-id main) + file-id (:component-file main) + component (ctf/get-component libraries file-id component-id) + pos (as-> (gsh/move main delta) $ + (gpt/point (:x $) (:y $))) + + ;; When we duplicate a variant alone, we will instanciate it + ;; When we duplicate a variant along with its variant-container, we will duplicate it + in-variant-container? (contains? ids-map (:variant-id main)) - instantiate-component - #(generate-instantiate-component changes - objects - file-id - (:component-id component-root) - pos - page - libraries - (:id component-root) - parent-id - frame-id - {}) restore-component - #(let [restore (prepare-restore-component changes library-data (:component-id component-root) page delta (:id component-root) parent-id frame-id)] - [(:shape restore) (:changes restore)]) + #(let [{:keys [shape changes]} + (prepare-restore-component changes + library-data + component-id + page + pos + main-id + parent-id + frame-id)] + [shape changes]) [_shape changes] - (if (nil? main-component) + (if (nil? component) (restore-component) - (instantiate-component))] + (if (and (ctk/is-variant? main) in-variant-container?) + (duplicate-variant changes + (get libraries file-id) + component + pos + parent-id + (:id page)) + + (generate-instantiate-component changes + objects + file-id + component-id + pos + page + libraries + main-id + parent-id + frame-id + ids-map + {})))] changes)) (defn generate-duplicate-shape-change - ([changes objects page unames update-unames! ids-map obj delta level-delta libraries library-data file-id] - (generate-duplicate-shape-change changes objects page unames update-unames! ids-map obj delta level-delta libraries library-data file-id (:frame-id obj) (:parent-id obj) false false true)) + ([changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id] + (generate-duplicate-shape-change changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id (:frame-id obj) (:parent-id obj) false false true nil)) + ([changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id variant-props] + (generate-duplicate-shape-change changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id (:frame-id obj) (:parent-id obj) false false true variant-props)) - ([changes objects page unames update-unames! ids-map obj delta level-delta libraries library-data file-id frame-id parent-id duplicating-component? child? remove-swap-slot?] + ([changes objects page unames update-unames! ids ids-map obj delta level-delta libraries library-data file-id frame-id parent-id duplicating-component? child? remove-swap-slot? variant-props] (cond (nil? obj) changes (ctf/is-main-of-known-component? obj libraries) - (generate-duplicate-component-change changes objects page obj parent-id frame-id delta libraries library-data) + (generate-duplicate-component-change changes objects page obj parent-id frame-id delta libraries library-data ids-map) :else (let [frame? (cfh/frame-shape? obj) @@ -2262,8 +2288,7 @@ regenerate-component (fn [changes shape] - (let [components-v2 (dm/get-in library-data [:options :components-v2]) - [_ changes] (generate-add-component-changes changes shape objects file-id (:id page) components-v2)] + (let [[_ changes] (generate-add-component-changes changes shape objects file-id (:id page) variant-props)] changes)) new-obj @@ -2302,7 +2327,14 @@ (d/update-when :interactions #(ctsi/remap-interactions % ids-map objects)) (cond-> (ctl/grid-layout? obj) - (ctl/remap-grid-cells ids-map))) + (ctl/remap-grid-cells ids-map)) + + (cond-> (ctk/is-variant-container? parent) + (assoc :variant-id parent-id)) + + (cond-> (and (ctk/is-variant? obj) (not (ctk/is-variant-container? parent))) + (-> (assoc :name (ctv/variant-name-to-name obj)) + (dissoc :variant-id)))) new-obj (cond-> new-obj (not duplicating-component?) @@ -2334,6 +2366,7 @@ page unames update-unames! + ids ids-map child delta @@ -2349,21 +2382,22 @@ ;; only remove swap slot of children when the current shape ;; is not a subinstance head nor a instance root (not subinstance-head?) - (not instance-root?)))) + (not instance-root?)) + variant-props)) changes (map (d/getf objects) (:shapes obj))))))) (defn generate-duplicate-changes "Prepare objects to duplicate: generate new id, give them unique names, move to the desired position, and recalculate parents and frames as needed." - [changes all-objects page ids delta libraries library-data file-id] + [changes all-objects page ids delta libraries library-data file-id & {:keys [variant-props]}] (let [shapes (map (d/getf all-objects) ids) unames (volatile! (cfh/get-used-names (:objects page))) update-unames! (fn [new-name] (vswap! unames conj new-name)) all-ids (reduce #(into %1 (cons %2 (cfh/get-children-ids all-objects %2))) (d/ordered-set) ids) - ;; We need ids-map for remapping the grid layout. But when duplicating the guides - ;; we calculate a new one because the components will have created new shapes. + ;; We need ids-map for remapping the grid layout. But when duplicating the guides + ;; we calculate a new one because the components will have created new shapes. ids-map (into {} (map #(vector % (uuid/next))) all-ids) changes (-> changes @@ -2376,13 +2410,15 @@ page unames update-unames! + ids ids-map %2 delta nil libraries library-data - file-id) + file-id + variant-props) changes)) ;; We need to check the changes to get the ids-map diff --git a/common/src/app/common/logic/shapes.cljc b/common/src/app/common/logic/shapes.cljc index fa2ba8e5e7..ca64e55f3d 100644 --- a/common/src/app/common/logic/shapes.cljc +++ b/common/src/app/common/logic/shapes.cljc @@ -10,14 +10,14 @@ [app.common.files.changes-builder :as pcb] [app.common.files.helpers :as cfh] [app.common.geom.shapes :as gsh] - [app.common.logic.variants :as clv] + [app.common.logic.variant-properties :as clvp] [app.common.types.component :as ctk] [app.common.types.container :as ctn] + [app.common.types.pages-list :as ctpl] [app.common.types.shape.interactions :as ctsi] [app.common.types.shape.layout :as ctl] [app.common.types.token :as cto] - [app.common.uuid :as uuid] - [cuerdas.core :as str])) + [app.common.uuid :as uuid])) (defn- generate-unapply-tokens "When updating attributes that have a token applied, we must unapply it, because the value @@ -81,163 +81,167 @@ (pcb/update-shapes ids update-fn {:attrs #{:blocked :hidden}})))) (defn generate-delete-shapes - [changes file page objects ids {:keys [components-v2 ignore-touched component-swap]}] - (let [ids (cfh/clean-loops objects ids) + ([changes file page objects ids options] + (generate-delete-shapes (-> changes + (pcb/with-page page) + (pcb/with-objects objects) + (pcb/with-library-data file)) + ids + options)) + ([changes ids {:keys [ignore-touched component-swap]}] + (let [objects (pcb/get-objects changes) + data (pcb/get-library-data changes) + page-id (pcb/get-page-id changes) + page (or (pcb/get-page changes) + (ctpl/get-page data page-id)) - in-component-copy? - (fn [shape-id] + ids (cfh/clean-loops objects ids) + in-component-copy? + (fn [shape-id] ;; Look for shapes that are inside a component copy, but are ;; not the root. In this case, they must not be deleted, ;; but hidden (to be able to recover them more easily). ;; Unless we are doing a component swap, in which case we want ;; to delete the old shape - (let [shape (get objects shape-id)] - (and (ctn/has-any-copy-parent? objects shape) - (not component-swap)))) + (let [shape (get objects shape-id)] + (and (ctn/has-any-copy-parent? objects shape) + (not component-swap)))) - [ids-to-delete ids-to-hide] - (if components-v2 - (loop [ids-seq (seq ids) - ids-to-delete [] - ids-to-hide []] - (let [id (first ids-seq)] - (if (nil? id) - [ids-to-delete ids-to-hide] - (if (in-component-copy? id) - (recur (rest ids-seq) - ids-to-delete - (conj ids-to-hide id)) - (recur (rest ids-seq) - (conj ids-to-delete id) - ids-to-hide))))) - [ids []]) + [ids-to-delete ids-to-hide] + (loop [ids-seq (seq ids) + ids-to-delete [] + ids-to-hide []] + (let [id (first ids-seq)] + (if (nil? id) + [ids-to-delete ids-to-hide] + (if (in-component-copy? id) + (recur (rest ids-seq) + ids-to-delete + (conj ids-to-hide id)) + (recur (rest ids-seq) + (conj ids-to-delete id) + ids-to-hide))))) - changes (-> changes - (pcb/with-page page) - (pcb/with-objects objects) - (pcb/with-library-data file)) + lookup (d/getf objects) - lookup (d/getf objects) - - groups-to-unmask - (reduce (fn [group-ids id] + groups-to-unmask + (reduce (fn [group-ids id] ;; When the shape to delete is the mask of a masked group, ;; the mask condition must be removed, and it must be ;; converted to a normal group. - (let [obj (lookup id) - parent (lookup (:parent-id obj))] - (if (and (:masked-group parent) - (= id (first (:shapes parent)))) - (conj group-ids (:id parent)) - group-ids))) - #{} - ids-to-delete) + (let [obj (lookup id) + parent (lookup (:parent-id obj))] + (if (and (:masked-group parent) + (= id (first (:shapes parent)))) + (conj group-ids (:id parent)) + group-ids))) + #{} + ids-to-delete) - interacting-shapes - (filter (fn [shape] + interacting-shapes + (filter (fn [shape] ;; If any of the deleted shapes is the destination of ;; some interaction, this must be deleted, too. - (let [interactions (:interactions shape)] - (some #(and (ctsi/has-destination %) - (contains? ids-to-delete (:destination %))) - interactions))) - (vals objects)) + (let [interactions (:interactions shape)] + (some #(and (ctsi/has-destination %) + (contains? ids-to-delete (:destination %))) + interactions))) + (vals objects)) - changes - (reduce (fn [changes {:keys [id] :as flow}] - (if (contains? ids-to-delete (:starting-frame flow)) - (pcb/set-flow changes id nil) - changes)) - changes - (:flows page)) + changes + (reduce (fn [changes {:keys [id] :as flow}] + (if (contains? ids-to-delete (:starting-frame flow)) + (pcb/set-flow changes id nil) + changes)) + changes + (:flows page)) - all-parents - (reduce (fn [res id] + all-parents + (reduce (fn [res id] ;; All parents of any deleted shape must be resized. - (into res (cfh/get-parent-ids objects id))) - (d/ordered-set) - (concat ids-to-delete ids-to-hide)) + (into res (cfh/get-parent-ids objects id))) + (d/ordered-set) + (concat ids-to-delete ids-to-hide)) - all-children - (->> ids-to-delete ;; Children of deleted shapes must be also deleted. - (reduce (fn [res id] - (into res (cfh/get-children-ids objects id))) - []) - (reverse) - (into (d/ordered-set))) + all-children + (->> ids-to-delete ;; Children of deleted shapes must be also deleted. + (reduce (fn [res id] + (into res (cfh/get-children-ids objects id))) + []) + (reverse) + (into (d/ordered-set))) - find-all-empty-parents - (fn recursive-find-empty-parents [empty-parents] - (let [all-ids (into empty-parents ids-to-delete) - contains? (partial contains? all-ids) - xform (comp (map lookup) - (filter #(or (cfh/group-shape? %) (cfh/bool-shape? %))) - (remove #(->> (:shapes %) (remove contains?) seq)) - (map :id)) - parents (into #{} xform all-parents)] - (if (= empty-parents parents) - empty-parents - (recursive-find-empty-parents parents)))) + find-all-empty-parents + (fn recursive-find-empty-parents [empty-parents] + (let [all-ids (into empty-parents ids-to-delete) + contains? (partial contains? all-ids) + xform (comp (map lookup) + (filter #(or (cfh/group-shape? %) (cfh/bool-shape? %) (ctk/is-variant-container? %))) + (remove #(->> (:shapes %) (remove contains?) seq)) + (map :id)) + parents (into #{} xform all-parents)] + (if (= empty-parents parents) + empty-parents + (recursive-find-empty-parents parents)))) - empty-parents + empty-parents ;; Any parent whose children are all deleted, must be deleted too. ;; Unless we are during a component swap: in this case we are replacing a shape by ;; other one, so must not delete empty parents. - (if-not component-swap - (into (d/ordered-set) (find-all-empty-parents #{})) - #{}) + (if-not component-swap + (into (d/ordered-set) (find-all-empty-parents #{})) + #{}) - components-to-delete - (if components-v2 - (reduce (fn [components id] - (let [shape (get objects id)] - (if (and (= (:component-file shape) (:id file)) ;; Main instances should exist only in local file - (:main-instance shape)) ;; but check anyway - (conj components (:component-id shape)) - components))) - [] - (into ids-to-delete all-children)) - []) + components-to-delete + (reduce (fn [components id] + (let [shape (get objects id)] + (if (and (= (:component-file shape) (:id data)) ;; Main instances should exist only in local file + (:main-instance shape)) ;; but check anyway + (conj components (:component-id shape)) + components))) + [] + (into ids-to-delete all-children)) - ids-set (set ids-to-delete) - guides-to-delete - (->> (:guides page) - (vals) - (filter #(contains? ids-set (:frame-id %))) - (map :id)) + ids-set (set ids-to-delete) - changes (reduce (fn [changes guide-id] - (pcb/set-flow changes guide-id nil)) - changes - guides-to-delete) + guides-to-delete + (->> (:guides page) + (vals) + (filter #(contains? ids-set (:frame-id %))) + (map :id)) - changes (reduce (fn [changes component-id] + changes (reduce (fn [changes guide-id] + (pcb/set-flow changes guide-id nil)) + changes + guides-to-delete) + + changes (reduce (fn [changes component-id] ;; It's important to delete the component before the main instance, because we ;; need to store the instance position if we want to restore it later. - (pcb/delete-component changes component-id (:id page))) - changes - components-to-delete) + (pcb/delete-component changes component-id (:id page))) + changes + components-to-delete) - changes (-> changes - (generate-update-shape-flags ids-to-hide objects {:hidden true}) - (pcb/remove-objects all-children {:ignore-touched true}) - (pcb/remove-objects ids-to-delete {:ignore-touched ignore-touched}) - (pcb/remove-objects empty-parents) - (pcb/resize-parents all-parents) - (pcb/update-shapes groups-to-unmask - (fn [shape] - (assoc shape :masked-group false))) - (pcb/update-shapes (map :id interacting-shapes) - (fn [shape] - (d/update-when shape :interactions - (fn [interactions] - (into [] - (remove #(and (ctsi/has-destination %) - (contains? ids-to-delete (:destination %)))) - interactions))))))] - [all-parents changes])) + changes (-> changes + (generate-update-shape-flags ids-to-hide objects {:hidden true}) + (pcb/remove-objects all-children {:ignore-touched true}) + (pcb/remove-objects ids-to-delete {:ignore-touched ignore-touched}) + (pcb/remove-objects empty-parents) + (pcb/resize-parents all-parents) + (pcb/update-shapes groups-to-unmask + (fn [shape] + (assoc shape :masked-group false))) + (pcb/update-shapes (map :id interacting-shapes) + (fn [shape] + (d/update-when shape :interactions + (fn [interactions] + (into [] + (remove #(and (ctsi/has-destination %) + (contains? ids-to-delete (:destination %)))) + interactions))))))] + [all-parents changes]))) (defn generate-relocate @@ -255,7 +259,7 @@ child-heads-ids (map :id child-heads) - variant-heads (filter ctk/is-variant? child-heads) + variant-shapes (filter ctk/is-variant? shapes) component-main-parent (ctn/find-component-main objects parent false) @@ -339,7 +343,19 @@ (map :id))) index-cell-data (when to-index (ctl/get-cell-by-index parent to-index)) - cell (or cell (and index-cell-data [(:row index-cell-data) (:column index-cell-data)]))] + cell (or cell (and index-cell-data [(:row index-cell-data) (:column index-cell-data)])) + + + ;; Parents that are a variant-container that becomes empty + empty-variant-cont (reduce + (fn [to-delete parent-id] + (let [parent (get objects parent-id)] + (if (and (ctk/is-variant-container? parent) + (empty? (remove (set ids) (:shapes parent)))) + (conj to-delete (:id parent)) + to-delete))) + #{} + (remove #(= % parent-id) all-parents))] (-> changes ;; Remove layout-item properties when moving a shape outside a layout @@ -368,82 +384,11 @@ ;; Remove variant info and rename when moving outside a variant-container (cond-> (not (ctk/is-variant-container? parent)) - ((fn [changes] - (reduce - (fn [changes shape] - (let [new-name (str/replace (:variant-name shape) #", " " / ") - [cpath cname] (cfh/parse-path-name new-name)] - (-> changes - (pcb/update-component (:component-id shape) - #(-> (dissoc % :variant-id :variant-properties) - (assoc :name cname - :path cpath)) - {:apply-changes-local-library? true}) - (pcb/update-shapes [(:id shape)] - #(-> (dissoc % :variant-id :variant-name) - (assoc :name new-name)))))) - changes - variant-heads)))) + (clvp/generate-make-shapes-no-variant variant-shapes)) ;; Add variant info and rename when moving into a different variant-container (cond-> (ctk/is-variant-container? parent) - ((fn [changes] - (let [get-base-name #(if (some? (:variant-name %)) - (str/replace (:variant-name %) #", " " / ") - (:name %)) - - calc-num-props #(-> % - get-base-name - cfh/split-path - count) - - max-path-items (apply max (map calc-num-props child-heads)) - - first-comp-id (->> parent - :shapes - first - (get objects) - :component-id) - - data (pcb/get-library-data changes) - variant-properties (get-in data [:components first-comp-id :variant-properties]) - num-props (count variant-properties) - num-new-props (if (< max-path-items num-props) - 0 - (- max-path-items num-props)) - - changes (nth - (iterate #(clv/generate-add-new-property % (:id parent)) changes) - num-new-props)] - (reduce - (fn [changes shape] - (if (= (:id parent) (:variant-id shape)) - changes ;; do nothing if we aren't changing the parent - (let [base-name (get-base-name shape) - - ;; we need to get the updated library data to have access to the current properties - data (pcb/get-library-data changes) - - props (clv/path-to-properties - base-name - (get-in data [:components first-comp-id :variant-properties])) - - variant-name (clv/properties-to-name props) - [cpath cname] (cfh/parse-path-name (:name parent))] - - (-> (pcb/update-component changes - (:component-id shape) - #(assoc % :variant-id (:id parent) - :variant-properties props - :name cname - :path cpath) - {:apply-changes-local-library? true}) - (pcb/update-shapes [(:id shape)] - #(assoc % :variant-id (:id parent) - :variant-name variant-name - :name (:name parent))))))) - changes - child-heads))))) + (clvp/generate-make-shapes-variant child-heads parent)) ;; Move the shapes (pcb/change-parent parent-id @@ -518,7 +463,11 @@ (pcb/update-shapes ids #(assoc % :blocked true))) ;; Resize parent containers that need to - (pcb/resize-parents parents)))) + (pcb/resize-parents parents) + + ;; Remove parents when are a variant-container that becomes empty + (cond-> (seq empty-variant-cont) + (#(second (generate-delete-shapes % empty-variant-cont {}))))))) (defn change-show-in-viewer [shape hide?] diff --git a/common/src/app/common/logic/variant_properties.cljc b/common/src/app/common/logic/variant_properties.cljc new file mode 100644 index 0000000000..e39e7d223f --- /dev/null +++ b/common/src/app/common/logic/variant_properties.cljc @@ -0,0 +1,198 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC +(ns app.common.logic.variant-properties + (:require + [app.common.data :as d] + [app.common.files.changes-builder :as pcb] + [app.common.files.helpers :as cfh] + [app.common.files.variant :as cfv] + [app.common.types.component :as ctk] + [app.common.types.components-list :as ctcl] + [app.common.types.variant :as ctv] + [cuerdas.core :as str])) + +(defn generate-update-property-name + [changes variant-id pos new-name] + (let [data (pcb/get-library-data changes) + objects (pcb/get-objects changes) + related-components (cfv/find-variant-components data objects variant-id)] + (reduce (fn [changes component] + (pcb/update-component + changes (:id component) + #(assoc-in % [:variant-properties pos :name] new-name) + {:apply-changes-local-library? true})) + changes + related-components))) + + +(defn generate-remove-property + [changes variant-id pos] + (let [data (pcb/get-library-data changes) + objects (pcb/get-objects changes) + related-components (cfv/find-variant-components data objects variant-id)] + (reduce (fn [changes component] + (let [props (:variant-properties component) + props (d/remove-at-index props pos) + main-id (:main-instance-id component) + name (ctv/properties-to-name props)] + (-> changes + (pcb/update-component (:id component) #(assoc % :variant-properties props) + {:apply-changes-local-library? true}) + (pcb/update-shapes [main-id] #(assoc % :variant-name name))))) + changes + related-components))) + + +(defn generate-update-property-value + [changes component-id pos value] + (let [data (pcb/get-library-data changes) + component (ctcl/get-component data component-id true) + main-id (:main-instance-id component) + name (-> (:variant-properties component) + (update pos assoc :value value) + ctv/properties-to-name)] + (-> changes + (pcb/update-component component-id #(assoc-in % [:variant-properties pos :value] value) + {:apply-changes-local-library? true}) + (pcb/update-shapes [main-id] #(assoc % :variant-name name))))) + + +(defn generate-add-new-property + [changes variant-id & {:keys [fill-values? property-name]}] + (let [data (pcb/get-library-data changes) + objects (pcb/get-objects changes) + related-components (cfv/find-variant-components data objects variant-id) + + props (-> related-components last :variant-properties) + next-prop-num (ctv/next-property-number props) + property-name (or property-name (str ctv/property-prefix next-prop-num)) + + [_ changes] + (reduce (fn [[num changes] component] + (let [main-id (:main-instance-id component) + + update-props #(-> (d/nilv % []) + (conj {:name property-name + :value (if fill-values? (str ctv/value-prefix num) "")})) + + update-name #(if fill-values? + (if (str/empty? %) + (str ctv/value-prefix num) + (str % ", " ctv/value-prefix num)) + %)] + [(inc num) + (-> changes + (pcb/update-component (:id component) + #(update % :variant-properties update-props) + {:apply-changes-local-library? true}) + (pcb/update-shapes [main-id] #(update % :variant-name update-name)))])) + [1 changes] + related-components)] + changes)) + +(defn- generate-make-shape-no-variant + [changes shape] + (let [new-name (ctv/variant-name-to-name shape) + [cpath cname] (cfh/parse-path-name new-name)] + (-> changes + (pcb/update-component (:component-id shape) + #(-> (dissoc % :variant-id :variant-properties) + (assoc :name cname + :path cpath)) + {:apply-changes-local-library? true}) + (pcb/update-shapes [(:id shape)] + #(-> (dissoc % :variant-id :variant-name) + (assoc :name new-name)))))) + +(defn generate-make-shapes-no-variant + [changes shapes] + (reduce generate-make-shape-no-variant changes shapes)) + + +(defn- generate-new-properties-from-variant + [shape min-props data container-name base-properties] + (let [component (ctcl/get-component data (:component-id shape) true) + add-name? (not= (:name component) container-name) + props (ctv/merge-properties base-properties + (:variant-properties component)) + new-props (- min-props + (+ (count props) + (if add-name? 1 0))) + props (ctv/add-new-props props (repeat new-props ""))] + + (if add-name? + (ctv/add-new-prop props (:name component)) + props))) + +(defn- generate-new-properties-from-non-variant + [shape min-props container-name base-properties] + (let [;; Remove container name from shape name if present + shape-name (ctv/remove-prefix (:name shape) container-name)] + (ctv/path-to-properties shape-name base-properties min-props))) + + +(defn generate-make-shapes-variant + [changes shapes variant-container] + (let [data (pcb/get-library-data changes) + objects (pcb/get-objects changes) + variant-id (:id variant-container) + + ;; If we are cut-pasting a variant-container, this will be null + ;; because it hasn't any shapes yet + first-comp-id (->> variant-container + :shapes + first + (get objects) + :component-id) + + base-props (->> (get-in data [:components first-comp-id :variant-properties]) + (map #(assoc % :value ""))) + num-base-props (count base-props) + + [cpath cname] (cfh/parse-path-name (:name variant-container)) + container-name (:name variant-container) + + generate-new-properties + (fn [shape min-props] + (if (ctk/is-variant? shape) + (generate-new-properties-from-variant shape min-props data container-name base-props) + (generate-new-properties-from-non-variant shape min-props container-name base-props))) + + total-props (reduce (fn [m shape] + (max m (count (generate-new-properties shape num-base-props)))) + 0 + shapes) + + num-new-props (if (or (zero? num-base-props) + (< total-props num-base-props)) + 0 + (- total-props num-base-props)) + + changes (nth + (iterate #(generate-add-new-property % variant-id) changes) + num-new-props) + + changes (pcb/update-shapes changes (map :id shapes) + #(assoc % :variant-id variant-id + :name (:name variant-container)))] + (reduce + (fn [changes shape] + (if (or (zero? num-base-props) + (= variant-id (:variant-id shape))) + changes ;; do nothing more if we aren't changing the parent or there are no base props + (let [props (generate-new-properties shape total-props) + variant-name (ctv/properties-to-name props)] + (-> (pcb/update-component changes + (:component-id shape) + #(assoc % :variant-id variant-id + :variant-properties props + :name cname + :path cpath) + {:apply-changes-local-library? true}) + (pcb/update-shapes [(:id shape)] + #(assoc % :variant-name variant-name)))))) + changes + shapes))) \ No newline at end of file diff --git a/common/src/app/common/logic/variants.cljc b/common/src/app/common/logic/variants.cljc index c624c757bc..73573d48d3 100644 --- a/common/src/app/common/logic/variants.cljc +++ b/common/src/app/common/logic/variants.cljc @@ -1,160 +1,30 @@ -;; This Source Code Form is subject to the terms of the Mozilla Public -;; License, v. 2.0. If a copy of the MPL was not distributed with this -;; file, You can obtain one at http://mozilla.org/MPL/2.0/. -;; -;; Copyright (c) KALEIDOS INC (ns app.common.logic.variants (:require - [app.common.data :as d] - [app.common.data.macros :as dm] [app.common.files.changes-builder :as pcb] - [app.common.files.helpers :as cfh] - [app.common.types.components-list :as ctcl] - [cuerdas.core :as str])) + [app.common.files.variant :as cfv] + [app.common.logic.libraries :as cll] + [app.common.logic.variant-properties :as clvp] + [app.common.types.variant :as ctv])) +(defn generate-add-new-variant + [changes shape variant-id new-component-id new-shape-id prop-num] + (let [data (pcb/get-library-data changes) + objects (pcb/get-objects changes) + component-id (:component-id shape) + value (str ctv/value-prefix + (-> (cfv/extract-properties-values data objects variant-id) + last + :value + count + inc)) -(def property-prefix "Property") -(def property-regex (re-pattern (str property-prefix "(\\d+)"))) -(def value-prefix "Value") - -(defn find-related-components - "Find a list of the components thet belongs to this variant-id" - [data objects variant-id] - (->> (dm/get-in objects [variant-id :shapes]) - (map #(dm/get-in objects [% :component-id])) - (map #(ctcl/get-component data % true)) - reverse)) - - -(defn properties-to-name - "Transform the properties into a name, with the values separated by comma" - [properties] - (->> properties - (map :value) - (remove str/empty?) - (str/join ", "))) - - -(defn next-property-number - "Returns the next property number, to avoid duplicates on the property names" - [properties] - (let [numbers (keep - #(some->> (:name %) (re-find property-regex) second d/parse-integer) - properties) - max-num (if (seq numbers) - (apply max numbers) - 0)] - (inc (max max-num (count properties))))) - - -(defn path-to-properties - "From a list of properties and a name with path, assign each token of the - path as value of a different property" - [path properties] - (let [next-prop-num (next-property-number properties) - cpath (cfh/split-path path) - assigned (mapv #(assoc % :value (nth cpath %2 "")) properties (range)) - remaining (drop (count properties) cpath) - new-properties (map-indexed (fn [i v] {:name (str property-prefix (+ next-prop-num i)) - :value v}) remaining)] - (into assigned new-properties))) - -(defn- dashes-to-end - [property-values] - (let [dashes (if (some #(= % "--") property-values) ["--"] [])] - (concat (remove #(= % "--") property-values) dashes))) - - -(defn extract-properties-values - [data objects variant-id] - (->> (find-related-components data objects variant-id) - (mapcat :variant-properties) - (group-by :name) - (map (fn [[k v]] - {:name k - :value (->> v - (map #(if (str/empty? (:value %)) "--" (:value %))) - distinct - dashes-to-end)})))) - - -(defn generate-update-property-name - [changes variant-id pos new-name] - (let [data (pcb/get-library-data changes) - objects (pcb/get-objects changes) - related-components (find-related-components data objects variant-id)] - (reduce (fn [changes component] - (pcb/update-component - changes (:id component) - #(assoc-in % [:variant-properties pos :name] new-name) - {:apply-changes-local-library? true})) - changes - related-components))) - - -(defn generate-remove-property - [changes variant-id pos] - (let [data (pcb/get-library-data changes) - objects (pcb/get-objects changes) - related-components (find-related-components data objects variant-id)] - (reduce (fn [changes component] - (let [props (:variant-properties component) - props (d/remove-at-index props pos) - main-id (:main-instance-id component) - name (properties-to-name props)] - (-> changes - (pcb/update-component (:id component) #(assoc % :variant-properties props) - {:apply-changes-local-library? true}) - (pcb/update-shapes [main-id] #(assoc % :variant-name name))))) - changes - related-components))) - - -(defn generate-update-property-value - [changes component-id pos value] - (let [data (pcb/get-library-data changes) - component (ctcl/get-component data component-id true) - main-id (:main-instance-id component) - name (-> (:variant-properties component) - (update pos assoc :value value) - properties-to-name)] + [new-shape changes] (-> changes + (cll/generate-duplicate-component + {:data data} + component-id + new-component-id + {:new-shape-id new-shape-id :apply-changes-local-library? true}))] (-> changes - (pcb/update-component component-id #(assoc-in % [:variant-properties pos :value] value) - {:apply-changes-local-library? true}) - (pcb/update-shapes [main-id] #(assoc % :variant-name name))))) - - -(defn generate-add-new-property - [changes variant-id & {:keys [fill-values?]}] - (let [data (pcb/get-library-data changes) - objects (pcb/get-objects changes) - related-components (find-related-components data objects variant-id) - - props (-> related-components first :variant-properties) - next-prop-num (next-property-number props) - property-name (str property-prefix next-prop-num) - - [_ changes] - (reduce (fn [[num changes] component] - (let [main-id (:main-instance-id component) - - update-props #(-> (d/nilv % []) - (conj {:name property-name - :value (if fill-values? (str value-prefix num) "")})) - - update-name #(if fill-values? - (if (str/empty? %) - (str value-prefix num) - (str % ", " value-prefix num)) - %)] - [(inc num) - (-> changes - (pcb/update-component (:id component) - #(update % :variant-properties update-props) - {:apply-changes-local-library? true}) - (pcb/update-shapes [main-id] #(update % :variant-name update-name)))])) - [1 changes] - related-components)] - changes)) - + (clvp/generate-update-property-value new-component-id prop-num value) + (pcb/change-parent (:parent-id shape) [new-shape] 0)))) diff --git a/common/src/app/common/schema.cljc b/common/src/app/common/schema.cljc index 64eaa1f9b9..8f68ea051a 100644 --- a/common/src/app/common/schema.cljc +++ b/common/src/app/common/schema.cljc @@ -113,6 +113,10 @@ [schema] (mu/optional-keys schema default-options)) +(defn required-keys + [schema] + (mu/required-keys schema default-options)) + (defn transformer [& transformers] (apply mt/transformer transformers)) @@ -145,11 +149,30 @@ ;; :else ;; o)) +(defn -transform-map-keys + ([f] + (let [xform (map (fn [[k v]] [(f k) v]))] + #(cond->> % (map? %) (into (empty %) xform)))) + ([ks f] + (let [xform (map (fn [[k v]] [(cond-> k (contains? ks k) f) v]))] + #(cond->> % (map? %) (into (empty %) xform))))) + (defn json-transformer [] - (mt/transformer - (mt/json-transformer) - (mt/collection-transformer))) + (let [map-of-key-decoders (mt/-string-decoders)] + (mt/transformer + {:name :json + :decoders (-> (mt/-json-decoders) + (assoc :map-of {:compile (fn [schema _] + (let [key-schema (some-> schema (m/children) (first))] + (or (some-> key-schema (m/type) map-of-key-decoders + (mt/-interceptor schema {}) (m/-intercepting) + (m/-comp m/-keyword->string) + (mt/-transform-if-valid key-schema) + (-transform-map-keys)) + (-transform-map-keys m/-keyword->string))))})) + :encoders (mt/-json-encoders)} + (mt/collection-transformer)))) (defn string-transformer [] @@ -874,7 +897,7 @@ {:title "inst" :description "Satisfies Inst protocol" :error/message "should be an instant" - :gen/gen (->> (sg/small-int) + :gen/gen (->> (sg/small-int :min 0 :max 100000) (sg/fmap (fn [v] (tm/parse-instant v)))) :decode/string tm/parse-instant diff --git a/common/src/app/common/svg/path.cljc b/common/src/app/common/svg/path.cljc index ac89be9d06..5951002a18 100644 --- a/common/src/app/common/svg/path.cljc +++ b/common/src/app/common/svg/path.cljc @@ -40,76 +40,3 @@ (map (fn [segment] (.toPersistentMap ^js segment))) (parser/parse path-str))))) - -#?(:cljs - (defn content->buffer - "Converts the path content into binary format." - [content] - (let [total (count content) - ssize 28 - buffer (new js/ArrayBuffer (* total ssize)) - dview (new js/DataView buffer)] - (loop [index 0] - (when (< index total) - (let [segment (nth content index) - offset (* index ssize)] - (case (:command segment) - :move-to - (let [{:keys [x y]} (:params segment)] - (.setInt16 dview (+ offset 0) 1) - (.setFloat32 dview (+ offset 20) x) - (.setFloat32 dview (+ offset 24) y)) - :line-to - (let [{:keys [x y]} (:params segment)] - (.setInt16 dview (+ offset 0) 2) - (.setFloat32 dview (+ offset 20) x) - (.setFloat32 dview (+ offset 24) y)) - :curve-to - (let [{:keys [c1x c1y c2x c2y x y]} (:params segment)] - (.setInt16 dview (+ offset 0) 3) - (.setFloat32 dview (+ offset 4) c1x) - (.setFloat32 dview (+ offset 8) c1y) - (.setFloat32 dview (+ offset 12) c2x) - (.setFloat32 dview (+ offset 16) c2y) - (.setFloat32 dview (+ offset 20) x) - (.setFloat32 dview (+ offset 24) y)) - - :close-path - (.setInt16 dview (+ offset 0) 4)) - (recur (inc index))))) - buffer))) - -#?(:cljs - (defn buffer->content - "Converts the a buffer to a path content vector" - [buffer] - (assert (instance? js/ArrayBuffer buffer) "expected ArrayBuffer instance") - (let [ssize 28 - total (/ (.-byteLength buffer) ssize) - dview (new js/DataView buffer)] - (loop [index 0 - result []] - (if (< index total) - (let [offset (* index ssize) - type (.getInt16 dview (+ offset 0)) - command (case type - 1 :move-to - 2 :line-to - 3 :curve-to - 4 :close-path) - params (case type - 1 {:x (.getFloat32 dview (+ offset 20)) - :y (.getFloat32 dview (+ offset 24))} - 2 {:x (.getFloat32 dview (+ offset 20)) - :y (.getFloat32 dview (+ offset 24))} - 3 {:c1x (.getFloat32 dview (+ offset 4)) - :c1y (.getFloat32 dview (+ offset 8)) - :c2x (.getFloat32 dview (+ offset 12)) - :c2y (.getFloat32 dview (+ offset 16)) - :x (.getFloat32 dview (+ offset 20)) - :y (.getFloat32 dview (+ offset 24))} - 4 {})] - (recur (inc index) - (conj result {:command command - :params params}))) - result))))) diff --git a/common/src/app/common/svg/path/bool.cljc b/common/src/app/common/svg/path/bool.cljc index 11fe314a83..40bb9cc825 100644 --- a/common/src/app/common/svg/path/bool.cljc +++ b/common/src/app/common/svg/path/bool.cljc @@ -10,6 +10,7 @@ [app.common.geom.point :as gpt] [app.common.geom.rect :as grc] [app.common.geom.shapes.path :as gsp] + [app.common.math :as mth] [app.common.svg.path.command :as upc] [app.common.svg.path.subpath :as ups])) @@ -233,6 +234,45 @@ (gsp/command->point current) (conj result (dissoc current :prev))))))) +(defn remove-duplicated-segments + "Remove from the content segments" + [content] + (letfn [;; This is a comparator for float points with a precission + ;; used to remove already existing segments + (comparator [[fx1 fy1 tx1 ty1 :as v1] [fx2 fy2 tx2 ty2 :as v2]] + (if (and (mth/close? tx1 tx2) + (mth/close? ty1 ty2) + (mth/close? fx1 fx2) + (mth/close? fy1 fy2)) + 0 ;; equal + (compare v1 v2)))] + + (loop [current (first content) + content (rest content) + segments (sorted-set-by comparator) + result []] + + (if (nil? current) + result + + (let [fx (-> current :prev :x) + fy (-> current :prev :y) + tx (-> current :params :x) + ty (-> current :params :y) + + result + (cond-> result + (and (not (contains? segments [fx fy tx ty])) + (not (contains? segments [tx ty fx fy]))) + (conj current)) + + segments (conj segments [fx fy tx ty])] + + (recur (first content) + (rest content) + segments + result)))))) + (defn create-union [content-a content-a-split content-b content-b-split sr-a sr-b] ;; Pick all segments in content-a that are not inside content-b ;; Pick all segments in content-b that are not inside content-a @@ -312,15 +352,17 @@ content-a-split (->> content-a-split add-previous (filter is-segment?)) content-b-split (->> content-b-split add-previous (filter is-segment?)) - bool-content + content (case bool-type :union (create-union content-a content-a-split content-b content-b-split sr-a sr-b) :difference (create-difference content-a content-a-split content-b content-b-split sr-a sr-b) :intersection (create-intersection content-a content-a-split content-b content-b-split sr-a sr-b) :exclude (create-exclusion content-a-split content-b-split))] - (->> (fix-move-to bool-content) - (ups/close-subpaths)))) + (-> content + remove-duplicated-segments + fix-move-to + ups/close-subpaths))) (defn content-bool [bool-type contents] @@ -331,4 +373,3 @@ (reduce (partial content-bool-pair bool-type)) (into [])) [])) - diff --git a/common/src/app/common/svg/path/subpath.cljc b/common/src/app/common/svg/path/subpath.cljc index 2000debb39..d5117f5f84 100644 --- a/common/src/app/common/svg/path/subpath.cljc +++ b/common/src/app/common/svg/path/subpath.cljc @@ -126,7 +126,7 @@ (pt= (:from subpath) (:to subpath))) (defn close-subpaths - "Searches a path for possible supaths that can create closed loops and merge them" + "Searches a path for possible subpaths that can create closed loops and merge them" [content] (let [subpaths (get-subpaths content) closed-subpaths diff --git a/common/src/app/common/svg/shapes_builder.cljc b/common/src/app/common/svg/shapes_builder.cljc index 97d738a3bf..90e0889512 100644 --- a/common/src/app/common/svg/shapes_builder.cljc +++ b/common/src/app/common/svg/shapes_builder.cljc @@ -435,16 +435,12 @@ attrs (-> attrs - (cond-> linecap - (dissoc :strokeLinecap)) (cond-> (some? color) (dissoc :stroke :strokeWidth :strokeOpacity)) (update :style (fn [style] (-> style - (cond-> linecap - (dissoc :strokeLinecap)) (cond-> (some? color) (dissoc :stroke :strokeWidth :strokeOpacity))))) (d/without-nils))] @@ -461,12 +457,14 @@ (and (some? linecap) (cfh/path-shape? shape) (or (= linecap :round) (= linecap :square))) + (assoc :stroke-cap-start linecap - :stroke-cap-end linecap) + :stroke-cap-end linecap + :stroke-linecap linecap) (d/any-key? (dm/get-in shape [:strokes 0]) :strokeColor :strokeOpacity :strokeWidth - :strokeCapStart :strokeCapEnd) + :strokeLinecap :strokeCapStart :strokeCapEnd) (assoc-in [:strokes 0 :stroke-style] :svg)))) (defn setup-opacity [shape] diff --git a/common/src/app/common/test_helpers/components.cljc b/common/src/app/common/test_helpers/components.cljc index 666406d52b..687be91871 100644 --- a/common/src/app/common/test_helpers/components.cljc +++ b/common/src/app/common/test_helpers/components.cljc @@ -31,7 +31,7 @@ "Need that root is already a frame" (cfh/frame-shape? root)) - (let [[_new-root _new-shapes updated-shapes] + (let [[_new-root updated-shapes] (ctn/convert-shape-in-component root (:objects page) (:id file)) updated-root (first updated-shapes) ; Can't use new-root because it has a new id @@ -54,8 +54,7 @@ :name name :path path :main-instance-id (:id updated-root) - :main-instance-page (:id page) - :shapes updated-shapes)))))))) + :main-instance-page (:id page))))))))) (defn update-component [file component-label & {:keys [] :as params}] @@ -98,7 +97,6 @@ component (:data library) (gpt/point 100 100) - true {:force-id (thi/new-id! copy-root-label) :force-frame-id frame-id}) diff --git a/common/src/app/common/test_helpers/compositions.cljc b/common/src/app/common/test_helpers/compositions.cljc index 82ebf5c58c..2d890844a7 100644 --- a/common/src/app/common/test_helpers/compositions.cljc +++ b/common/src/app/common/test_helpers/compositions.cljc @@ -85,7 +85,7 @@ & {:keys [component-params root-params child-params]}] ;; Generated shape tree: ;; {:root-label} [:name Frame1] # [Component :component-label] - ;; :child-label [:name Rect1] + ;; :child-label [:name Rect1] (-> file (add-frame-with-child root-label child-label :frame-params root-params :child-params child-params) (thc/make-component component-label root-label component-params))) @@ -95,7 +95,7 @@ & {:keys [component-params main-root-params main-child-params copy-root-params]}] ;; Generated shape tree: ;; {:main-root-label} [:name Frame1] # [Component :component-label] - ;; :main-child-label [:name Rect1] + ;; :main-child-label [:name Rect1] ;; ;; :copy-root-label [:name Frame1] #--> [Component :component-label] :main-root-label ;; [:name Rect1] ---> :main-child-label @@ -113,9 +113,9 @@ & {:keys [component-params root-params child-params-list]}] ;; Generated shape tree: ;; {:root-label} [:name Frame1] # [Component :component-label] - ;; :child1-label [:name Rect1] - ;; :child2-label [:name Rect2] - ;; :child3-label [:name Rect3] + ;; :child1-label [:name Rect1] + ;; :child2-label [:name Rect2] + ;; :child3-label [:name Rect3] (as-> file $ (add-frame $ root-label root-params) (reduce (fn [file [index [label params]]] @@ -134,9 +134,9 @@ & {:keys [component-params main-root-params main-child-params-list copy-root-params]}] ;; Generated shape tree: ;; {:root-label} [:name Frame1] # [Component :component-label] - ;; :child1-label [:name Rect1] - ;; :child2-label [:name Rect2] - ;; :child3-label [:name Rect3] + ;; :child1-label [:name Rect1] + ;; :child2-label [:name Rect2] + ;; :child3-label [:name Rect3] ;; ;; :copy-root-label [:name Frame1] #--> [Component :component-label] :root-label ;; [:name Rect1] ---> :child1-label @@ -156,7 +156,7 @@ & {:keys [component1-params root1-params main1-child-params component2-params main2-root-params nested-head-params]}] ;; Generated shape tree: ;; {:main1-root-label} [:name Frame1] # [Component :component1-label] - ;; :main1-child-label [:name Rect1] + ;; :main1-child-label [:name Rect1] ;; ;; {:main2-root-label} [:name Frame2] # [Component :component2-label] ;; :nested-head-label [:name Frame1] @--> [Component :component1-label] :main1-root-label @@ -183,7 +183,7 @@ & {:keys [component1-params root1-params main1-child-params component2-params main2-root-params nested-head-params copy2-root-params]}] ;; Generated shape tree: ;; {:main1-root-label} [:name Frame1] # [Component :component1-label] - ;; :main1-child-label [:name Rect1] + ;; :main1-child-label [:name Rect1] ;; ;; {:main2-root-label} [:name Frame2] # [Component :component2-label] ;; :nested-head-label [:name Frame1] @--> [Component :component1-label] :main1-root-label @@ -336,8 +336,7 @@ file {file-id file} (ctn/make-container container :page) - (:id shape) - true)) + (:id shape))) file' (thf/apply-changes file changes)] (if propagate-fn (propagate-fn file') @@ -361,7 +360,7 @@ (:objects page) #{(-> (ths/get-shape file shape-tag :page-label page-label) :id)} - {:components-v2 true}) + {}) file' (thf/apply-changes file changes)] (if propagate-fn (propagate-fn file') @@ -380,7 +379,7 @@ (gpt/point 0 0) ;; delta {(:id file) file} ;; libraries (:data file) ;; library-data - (:id file)) ;; file-id + (:id file)) ;; file-id (cll/generate-duplicate-changes-update-indices (:objects page) ;; objects #{(:id shape)})) file' (thf/apply-changes file changes)] diff --git a/common/src/app/common/test_helpers/variants.cljc b/common/src/app/common/test_helpers/variants.cljc index 804dd3c7e7..e9a76d0628 100644 --- a/common/src/app/common/test_helpers/variants.cljc +++ b/common/src/app/common/test_helpers/variants.cljc @@ -22,4 +22,18 @@ (thc/make-component component1-label root1-label) (thc/update-component component1-label {:variant-id variant-id :variant-properties [{:name "Property1" :value "Value1"}]}) (thc/make-component component2-label root2-label) - (thc/update-component component2-label {:variant-id variant-id :variant-properties [{:name "Property1" :value "Value1"}]})))) + (thc/update-component component2-label {:variant-id variant-id :variant-properties [{:name "Property1" :value "Value2"}]})))) + +(defn add-variant-two-properties + [file variant-label component1-label root1-label component2-label root2-label + & {:keys []}] + (let [file (ths/add-sample-shape file variant-label :type :frame :is-variant-container true) + variant-id (thi/id variant-label)] + + (-> file + (ths/add-sample-shape root2-label :type :frame :parent-label variant-label :variant-id variant-id :variant-name "p1v2, p2v2") + (ths/add-sample-shape root1-label :type :frame :parent-label variant-label :variant-id variant-id :variant-name "p1v1, p2v1") + (thc/make-component component1-label root1-label) + (thc/update-component component1-label {:variant-id variant-id :variant-properties [{:name "Property1" :value "p1v1"} {:name "Property2" :value "p2v1"}]}) + (thc/make-component component2-label root2-label) + (thc/update-component component2-label {:variant-id variant-id :variant-properties [{:name "Property1" :value "p1v2"} {:name "Property2" :value "p2v2"}]})))) diff --git a/common/src/app/common/types/component.cljc b/common/src/app/common/types/component.cljc index 14844153e9..09aa6b6f17 100644 --- a/common/src/app/common/types/component.cljc +++ b/common/src/app/common/types/component.cljc @@ -10,6 +10,7 @@ [app.common.schema :as sm] [app.common.types.page :as ctp] [app.common.types.plugins :as ctpg] + [app.common.types.variant :as ctv] [cuerdas.core :as str])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -17,15 +18,17 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (def schema:component - [:map - [:id ::sm/uuid] - [:name :string] - [:path {:optional true} [:maybe :string]] - [:modified-at {:optional true} ::sm/inst] - [:objects {:gen/max 10 :optional true} ::ctp/objects] - [:main-instance-id ::sm/uuid] - [:main-instance-page ::sm/uuid] - [:plugin-data {:optional true} ::ctpg/plugin-data]]) + [:merge + [:map + [:id ::sm/uuid] + [:name :string] + [:path {:optional true} [:maybe :string]] + [:modified-at {:optional true} ::sm/inst] + [:objects {:gen/max 10 :optional true} ::ctp/objects] + [:main-instance-id ::sm/uuid] + [:main-instance-page ::sm/uuid] + [:plugin-data {:optional true} ::ctpg/plugin-data]] + ::ctv/variant-component]) (sm/register! ::component schema:component) @@ -90,8 +93,8 @@ :constraints-h :constraints-group :constraints-v :constraints-group :fixed-scroll :constraints-group - :bool-type :bool-group - :bool-content :bool-group + :bool-type :content-group + :bool-content :content-group :exports :exports-group :grids :grids-group @@ -179,10 +182,8 @@ (= (:component-file shape) file-id))) (defn is-main-of? - [shape-main shape-inst components-v2] - (or (= (:shape-ref shape-inst) (:id shape-main)) - (and (= (:shape-ref shape-inst) (:shape-ref shape-main)) - (not components-v2)))) + [shape-main shape-inst] + (= (:shape-ref shape-inst) (:id shape-main))) (defn main-instance? "Check if this shape is the root of the main instance of some @@ -333,8 +334,6 @@ (let [parent (get objects (:parent-id shape))] ;; We don't want to change the structure of component copies (and (not (in-component-copy-not-head? shape)) - ;; We don't want to duplicate variants - (not (is-variant? shape)) ;; Non instance, non copy. We allow (or (not (instance-head? shape)) (not (in-component-copy? parent)))))) diff --git a/common/src/app/common/types/components_list.cljc b/common/src/app/common/types/components_list.cljc index 1139a6a66b..fd75341681 100644 --- a/common/src/app/common/types/components_list.cljc +++ b/common/src/app/common/types/components_list.cljc @@ -34,20 +34,12 @@ (assoc component :modified-at (dt/now))) (defn add-component - [fdata {:keys [id name path main-instance-id main-instance-page shapes annotation variant-id variant-properties]}] - (let [components-v2 (dm/get-in fdata [:options :components-v2]) - fdata (update fdata :components assoc id (touch {:id id :name name :path path}))] - (if components-v2 - (cond-> (update-in fdata [:components id] assoc :main-instance-id main-instance-id :main-instance-page main-instance-page) - annotation (update-in [:components id] assoc :annotation annotation) - variant-id (update-in [:components id] assoc :variant-id variant-id) - variant-properties (update-in [:components id] assoc :variant-properties variant-properties)) - - (let [wrap-object-fn cfeat/*wrap-with-objects-map-fn*] - (assoc-in fdata [:components id :objects] - (->> shapes - (d/index-by :id) - (wrap-object-fn))))))) + [fdata {:keys [id name path main-instance-id main-instance-page annotation variant-id variant-properties]}] + (let [fdata (update fdata :components assoc id (touch {:id id :name name :path path}))] + (cond-> (update-in fdata [:components id] assoc :main-instance-id main-instance-id :main-instance-page main-instance-page) + annotation (update-in [:components id] assoc :annotation annotation) + variant-id (update-in [:components id] assoc :variant-id variant-id) + variant-properties (update-in [:components id] assoc :variant-properties variant-properties)))) (defn mod-component [file-data {:keys [id name path main-instance-id main-instance-page objects annotation variant-id variant-properties modified-at]}] @@ -119,7 +111,6 @@ [file-data component-id f & args] (d/update-in-when file-data [:components component-id] #(-> (apply f % args) (touch)))) - (defn set-component-modified [file-data component-id] (update-component file-data component-id identity)) diff --git a/common/src/app/common/types/container.cljc b/common/src/app/common/types/container.cljc index 6b714fb465..bfb6d09e2e 100644 --- a/common/src/app/common/types/container.cljc +++ b/common/src/app/common/types/container.cljc @@ -267,67 +267,8 @@ new-children (->> (cfh/get-children objects (:id root)) (map #(dissoc % :component-root)))] [(assoc new-root :id new-id) - nil (into [new-root] new-children)])) -(defn make-component-shape ;; Only used for components v1 - "Clone the shape and all children. Generate new ids and detach - from parent and frame. Update the original shapes to have links - to the new ones." - [shape objects file-id components-v2] - (assert (nil? (:component-id shape))) - (assert (nil? (:component-file shape))) - (assert (nil? (:shape-ref shape))) - (let [frame-ids-map (volatile! {}) - - ;; Ensure that the component root is not an instance - update-new-shape (fn [new-shape original-shape] - (when (= (:type original-shape) :frame) - (vswap! frame-ids-map assoc (:id original-shape) (:id new-shape))) - - (cond-> new-shape - true - (dissoc :component-root) - - (nil? (:parent-id new-shape)) - (dissoc :component-id - :component-file - :shape-ref))) - - ;; Make the original shape an instance of the new component. - ;; If one of the original shape children already was a component - ;; instance, maintain this instanceness untouched. - update-original-shape (fn [original-shape new-shape] - (cond-> original-shape - (nil? (:shape-ref original-shape)) - (-> (assoc :shape-ref (:id new-shape)) - (dissoc :touched)) - - (nil? (:parent-id new-shape)) - (assoc :component-id (:id new-shape) - :component-file file-id - :component-root true) - - (and (nil? (:parent-id new-shape)) components-v2) - (assoc :main-instance true) - - (some? (:parent-id new-shape)) - (dissoc :component-root))) - - [new-root-shape new-shapes updated-shapes] - (ctst/clone-shape shape - nil - objects - :update-new-shape update-new-shape - :update-original-shape update-original-shape) - - ;; If frame-id points to a shape inside the component, remap it to the - ;; corresponding new frame shape. If not, set it to nil. - remap-frame-id (fn [shape] - (update shape :frame-id #(get @frame-ids-map % nil)))] - - [new-root-shape (map remap-frame-id new-shapes) updated-shapes])) - (defn remove-swap-keep-attrs "Remove flex children properties except the fit-content for flex layouts. These are properties that we don't have to propagate to copies but will be respected when swapping components" @@ -352,20 +293,18 @@ WARNING: This process does not remap media references (on fills, strokes, ...); that is delegated to an async process on the backend side that checks unreferenced shapes and automatically creates correct references." - ([page component library-data position components-v2] - (make-component-instance page component library-data position components-v2 {})) - ([page component library-data position components-v2 + ([page component library-data position] + (make-component-instance page component library-data position {})) + ([page component library-data position {:keys [main-instance? force-id force-frame-id keep-ids?] :or {main-instance? false force-id nil force-frame-id nil keep-ids? false}}] - (let [component-page (when components-v2 - (ctpl/get-page library-data (:main-instance-page component))) + (let [component-page (ctpl/get-page library-data (:main-instance-page component)) + + component-shape (-> (get-shape component-page (:main-instance-id component)) + (assoc :parent-id nil) ;; On v2 we force parent-id to nil in order to behave like v1 + (assoc :frame-id uuid/zero) + (remove-swap-keep-attrs)) - component-shape (if components-v2 - (-> (get-shape component-page (:main-instance-id component)) - (assoc :parent-id nil) ;; On v2 we force parent-id to nil in order to behave like v1 - (assoc :frame-id uuid/zero) - (remove-swap-keep-attrs)) - (get-shape component (:id component))) orig-pos (gpt/point (:x component-shape) (:y component-shape)) delta (gpt/subtract position orig-pos) @@ -395,8 +334,7 @@ update-new-shape (fn [new-shape original-shape] (let [new-name (:name new-shape) - root? (or (ctk/instance-root? original-shape) ; If shape is inside a component (not components-v2) - (nil? (:parent-id original-shape)))] ; we detect it by having no parent) + root? (ctk/instance-root? original-shape)] (when root? (vswap! unames conj new-name)) @@ -417,10 +355,8 @@ main-instance? (dissoc :shape-ref) - (and (not main-instance?) - (or components-v2 ; In v1, shape-ref points to the remote instance - (nil? (:shape-ref original-shape)))) ; in v2, shape-ref points to the near instance - (assoc :shape-ref (:id original-shape)) + (not main-instance?) + (assoc :shape-ref (:id original-shape)) ; shape-ref points to the near instance (nil? (:parent-id original-shape)) (assoc :component-id (:id component) @@ -428,14 +364,14 @@ :component-root true :name new-name) - (or (some? (:parent-id original-shape)) ; On v2 we have removed the parent-id for component roots (see above) + (or (some? (:parent-id original-shape)) ; On v2 we have removed the parent-id for component roots (some? component-frame)) (dissoc :component-root)))) [new-shape new-shapes _] (ctst/clone-shape component-shape frame-id - (if components-v2 (:objects component-page) (:objects component)) + (:objects component-page) :update-new-shape update-new-shape :force-id force-id :keep-ids? keep-ids? @@ -545,21 +481,39 @@ no-changes? (and (every? #(= parent-id (:parent-id %)) children) (not pasting?)) + + ;; When pasting frames, children have the frames and their children + ;; We need to check only the top shapes + children-ids (set (map :id children)) + top-children (remove #(contains? children-ids (:parent-id %)) children) + + ;; Are all the top-children a main-instance of a component? all-main? - (every? ctk/main-instance? children) + (every? ctk/main-instance? top-children) any-main-descendant (some (fn [shape] (some ctk/main-instance? (cfh/get-children-with-self objects (:id shape)))) - children)] + children) + ;; Are all the top-children a main-instance of a cutted component? + all-comp-cut? + (when all-main? + (->> top-children + (map #(ctkl/get-component (dm/get-in libraries [(:component-file %) :data]) + (:component-id %) + true)) + (every? :deleted)))] (if (or no-changes? (and (not (invalid-structure-for-component? objects parent children pasting? libraries)) - ;; If we are moving into a variant-container, all the items should be main - (or all-main? (not (ctk/is-variant-container? parent))) ;; If we are moving into a main component, no descendant can be main - (or (nil? any-main-descendant) (not (ctk/main-instance? parent))))) + (or (nil? any-main-descendant) (not (ctk/main-instance? parent))) + ;; If we are moving into a variant-container, all the items should be main + ;; so if we are pasting, only allow main instances that are cut-and-pasted + (or (not (ctk/is-variant-container? parent)) + (and (not pasting?) all-main?) + all-comp-cut?))) [parent-id (get-frame parent-id)] (recur (:parent-id parent) objects children pasting? libraries)))))) @@ -602,8 +556,7 @@ ;; TODO: the check of :width and :height probably may be ;; removed after the check added in - ;; data/workspace/modifiers/check-delta function. Better check - ;; it and test toroughly when activating components-v2 mode. + ;; data/workspace/modifiers/check-delta function. in-copy? (ctk/in-component-copy? shape) diff --git a/common/src/app/common/types/file.cljc b/common/src/app/common/types/file.cljc index c6f029ac57..dbe637f457 100644 --- a/common/src/app/common/types/file.cljc +++ b/common/src/app/common/types/file.cljc @@ -130,7 +130,7 @@ (some? page-id) (ctpl/add-page page) - (contains? cfeat/*current* "components/v2") + :always (assoc-in [:options :components-v2] true))))) (defn make-file @@ -221,48 +221,45 @@ (ctpl/get-page file-data (:main-instance-page component))) (defn get-component-container - "Retrieve the container that holds the component shapes (the page in components-v2 - or the component itself in v1 or deleted component)." + "Retrieve the container that holds the component shapes (the page + or the component itself on deleted component)." [file-data component] - (let [components-v2 (dm/get-in file-data [:options :components-v2])] - (if (and components-v2 (not (:deleted component))) - (let [component-page (get-component-page file-data component)] - (cfh/make-container component-page :page)) - (cfh/make-container component :component)))) + (if (not (:deleted component)) + (let [component-page (get-component-page file-data component)] + (cfh/make-container component-page :page)) + (cfh/make-container component :component))) (defn get-component-root "Retrieve the root shape of the component." [file-data component] - (let [components-v2 (dm/get-in file-data [:options :components-v2])] - (if (and components-v2 (not (:deleted component))) - (-> file-data - (get-component-page component) - (ctn/get-shape (:main-instance-id component))) - (ctk/get-component-root component)))) + (if (not (:deleted component)) + (-> file-data + (get-component-page component) + (ctn/get-shape (:main-instance-id component))) + (ctk/get-component-root component))) (defn get-component-shape "Retrieve one shape in the component by id. If with-context? is true, add the file and container where the shape resides in its metadata." [file-data component shape-id & {:keys [with-context?] :or {with-context? false}}] - (let [components-v2 (dm/get-in file-data [:options :components-v2])] - (if (and components-v2 (not (:deleted component))) - (let [component-page (get-component-page file-data component)] - (when component-page - (let [child (cfh/get-child (:objects component-page) - (:main-instance-id component) - shape-id)] - (cond-> child - (and child with-context?) - (with-meta {:file {:id (:id file-data) - :data file-data} - :container (ctn/make-container component-page :page)}))))) + (if (not (:deleted component)) + (let [component-page (get-component-page file-data component)] + (when component-page + (let [child (cfh/get-child (:objects component-page) + (:main-instance-id component) + shape-id)] + (cond-> child + (and child with-context?) + (with-meta {:file {:id (:id file-data) + :data file-data} + :container (ctn/make-container component-page :page)}))))) - (let [shape (dm/get-in component [:objects shape-id])] - (cond-> shape - (and shape with-context?) - (with-meta {:file {:id (:id file-data) - :data file-data} - :container (ctn/make-container component :component)})))))) + (let [shape (dm/get-in component [:objects shape-id])] + (cond-> shape + (and shape with-context?) + (with-meta {:file {:id (:id file-data) + :data file-data} + :container (ctn/make-container component :component)}))))) (defn get-ref-shape "Retrieve the shape in the component that is referenced by the instance shape." @@ -384,12 +381,11 @@ (defn get-component-shapes "Retrieve all shapes of the component" [file-data component] - (let [components-v2 (dm/get-in file-data [:options :components-v2])] - (if (and components-v2 - (not (:deleted component))) ;; the deleted components have its children in the :objects property - (let [instance-page (get-component-page file-data component)] - (cfh/get-children-with-self (:objects instance-page) (:main-instance-id component))) - (vals (:objects component))))) + + (if (not (:deleted component)) ;; the deleted components have its children in the :objects property + (let [instance-page (get-component-page file-data component)] + (cfh/get-children-with-self (:objects instance-page) (:main-instance-id component))) + (vals (:objects component)))) ;; Return true if the object is a component that exists on the file or its libraries (even a deleted one) (defn is-main-of-known-component? @@ -403,44 +399,52 @@ (defn load-component-objects "Add an :objects property to the component, with only the shapes that belong to it" - [file-data component] - (let [components-v2 (dm/get-in file-data [:options :components-v2])] - (if (and components-v2 component (empty? (:objects component))) ;; This operation may be called twice, e.g. in an idempotent change - (let [component-page (get-component-page file-data component) - page-objects (:objects component-page) - objects (->> (cons (:main-instance-id component) - (cfh/get-children-ids page-objects (:main-instance-id component))) - (map #(get page-objects %)) - (d/index-by :id))] - (assoc component :objects objects)) - component))) + ([file-data component] + (load-component-objects file-data component (gpt/point 0 0))) + ([file-data component delta] + (if (and component (empty? (:objects component))) ;; This operation may be called twice, e.g. in an idempotent change + (let [component-page (get-component-page file-data component) + page-objects (:objects component-page) + objects (->> (cons (:main-instance-id component) + (cfh/get-children-ids page-objects (:main-instance-id component))) + (map #(get page-objects %)) + ;; when it is an undo of a cut-paste, we need to undo the movement + ;; of the shapes so we need to move them delta + (map #(gsh/move % delta)) + (d/index-by :id))] + (assoc component :objects objects)) + component))) (defn delete-component "Mark a component as deleted and store the main instance shapes iside it, to be able to be recovered later." - [file-data component-id skip-undelete? main-instance] - (let [components-v2 (dm/get-in file-data [:options :components-v2])] - (if (or (not components-v2) skip-undelete?) + [file-data component-id skip-undelete? delta] + (let [delta (or delta (gpt/point 0 0))] + (if skip-undelete? (ctkl/delete-component file-data component-id) - (let [set-main-instance ;; If there is a saved main-instance, restore it. This happens on the restore-component action - #(if main-instance - (assoc-in % [:objects (:main-instance-id %)] main-instance) - %)] - (-> file-data - (ctkl/update-component component-id (partial load-component-objects file-data)) - (ctkl/update-component component-id set-main-instance) - (ctkl/mark-component-deleted component-id)))))) + (-> file-data + (ctkl/update-component component-id #(load-component-objects file-data % delta)) + (ctkl/mark-component-deleted component-id))))) (defn restore-component "Recover a deleted component and all its shapes and put all this again in place." [file-data component-id page-id] - (let [components-v2 (dm/get-in file-data [:options :components-v2]) - update-page? (and components-v2 (not (nil? page-id)))] - (-> file-data - (ctkl/update-component component-id #(dissoc % :objects)) - (ctkl/mark-component-undeleted component-id) - (cond-> update-page? - (ctkl/update-component component-id #(assoc % :main-instance-page page-id)))))) + (let [update-page? (not (nil? page-id)) + component (ctkl/get-component file-data component-id true) + main-instance-page (or page-id (:main-instance-page component)) + main-instance (dm/get-in file-data [:pages-index main-instance-page + :objects (:main-instance-id component)])] + (cond-> file-data + :always + (-> + (ctkl/update-component component-id #(dissoc % :objects)) + (ctkl/mark-component-undeleted component-id)) + + update-page? + (ctkl/update-component component-id #(assoc % :main-instance-page page-id)) + + (ctk/is-variant? component) + (ctkl/update-component component-id #(assoc % :variant-id (:variant-id main-instance)))))) (defn purge-component "Remove permanently a component." @@ -557,7 +561,6 @@ component library-data position - (dm/get-in file-data [:options :components-v2]) {:main-instance? true :keep-ids? true}) @@ -589,8 +592,7 @@ :name (:name component) :path (:path component) :main-instance-id (:id main-instance-shape) - :main-instance-page page-id - :shapes (get-component-shapes library-data component)})) + :main-instance-page page-id})) ; Change all existing instances to point to the local file remap-instances diff --git a/common/src/app/common/types/shape.cljc b/common/src/app/common/types/shape.cljc index fc70ff61e1..b7d50a1c16 100644 --- a/common/src/app/common/types/shape.cljc +++ b/common/src/app/common/types/shape.cljc @@ -32,6 +32,7 @@ [app.common.types.shape.shadow :as ctss] [app.common.types.shape.text :as ctsx] [app.common.types.token :as cto] + [app.common.types.variant :as ctv] [app.common.uuid :as uuid] [clojure.set :as set])) @@ -233,7 +234,7 @@ [:map {:title "BoolAttrs"} [:shapes [:vector {:gen/max 10 :gen/min 1} ::sm/uuid]] [:bool-type [::sm/one-of bool-types]] - [:bool-content ::ctsp/content]]) + [:content ::ctsp/content]]) (def ^:private schema:rect-attrs [:map {:title "RectAttrs"}]) @@ -317,7 +318,9 @@ schema:frame-attrs schema:shape-attrs schema:shape-geom-attrs - schema:shape-base-attrs]] + schema:shape-base-attrs + ::ctv/variant-shape + ::ctv/variant-container]] [:bool [:merge {:title "BoolShape"} diff --git a/common/src/app/common/types/shape/path.cljc b/common/src/app/common/types/shape/path.cljc index 1fd33bd45c..8e102c7e0f 100644 --- a/common/src/app/common/types/shape/path.cljc +++ b/common/src/app/common/types/shape/path.cljc @@ -6,7 +6,16 @@ (ns app.common.types.shape.path (:require - [app.common.schema :as sm])) + [app.common.schema :as sm]) + (:import + #?(:cljs [goog.string StringBuffer] + :clj [java.nio ByteBuffer]))) + +#?(:clj (set! *warn-on-reflection* true)) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; SCHEMA: PLAIN FORMAT +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (def schema:line-to-segment [:map @@ -52,5 +61,371 @@ (def schema:path-content [:vector schema:path-segment]) +(def check-path-content + (sm/check-fn schema:path-content)) + (sm/register! ::segment schema:path-segment) (sm/register! ::content schema:path-content) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; TYPE: PATH-DATA +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(def ^:const SEGMENT-BYTE-SIZE 28) + +(defprotocol IPathData + (-write-to [_ buffer offset] "write the content to the specified buffer")) + +(defrecord PathSegment [command params]) + +(defn- get-path-string + "Format the path data structure to string" + [buffer size] + (let [builder #?(:clj (java.lang.StringBuilder. (int (* size 4))) + :cljs (StringBuffer.))] + (loop [index 0] + (when (< index size) + (let [offset (* index SEGMENT-BYTE-SIZE) + type #?(:clj (.getShort ^ByteBuffer buffer offset) + :cljs (.getInt16 buffer offset))] + (case (long type) + 1 (let [x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 20)) + :cljs (.getFloat32 buffer (+ offset 20))) + y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 24)) + :cljs (.getFloat32 buffer (+ offset 24)))] + (doto builder + (.append "M") + (.append x) + (.append ",") + (.append y))) + 2 (let [x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 20)) + :cljs (.getFloat32 buffer (+ offset 20))) + y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 24)) + :cljs (.getFloat32 buffer (+ offset 24)))] + (doto builder + (.append "L") + (.append x) + (.append ",") + (.append y))) + + 3 (let [c1x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 4)) + :cljs (.getFloat32 buffer (+ offset 4))) + c1y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 8)) + :cljs (.getFloat32 buffer (+ offset 8))) + c2x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 12)) + :cljs (.getFloat32 buffer (+ offset 12))) + c2y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 16)) + :cljs (.getFloat32 buffer (+ offset 16))) + x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 20)) + :cljs (.getFloat32 buffer (+ offset 20))) + y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 24)) + :cljs (.getFloat32 buffer (+ offset 24)))] + (doto builder + (.append "C") + (.append c1x) + (.append ",") + (.append c1y) + (.append ",") + (.append c2x) + (.append ",") + (.append c2y) + (.append ",") + (.append x) + (.append ",") + (.append y))) + 4 (doto builder + (.append "Z"))) + (recur (inc index))))) + + (.toString builder))) + +(defn- read-segment + [buffer index] + (let [offset (* index SEGMENT-BYTE-SIZE) + type #?(:clj (.getShort ^ByteBuffer buffer offset) + :cljs (.getInt16 buffer offset))] + (case (long type) + 1 (let [x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 20)) + :cljs (.getFloat32 buffer (+ offset 20))) + y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 24)) + :cljs (.getFloat32 buffer (+ offset 24)))] + (->PathSegment :move-to {:x x :y y})) + + 2 (let [x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 20)) + :cljs (.getFloat32 buffer (+ offset 20))) + y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 24)) + :cljs (.getFloat32 buffer (+ offset 24)))] + (->PathSegment :line-to {:x x :y y})) + + 3 (let [c1x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 4)) + :cljs (.getFloat32 buffer (+ offset 4))) + c1y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 8)) + :cljs (.getFloat32 buffer (+ offset 8))) + c2x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 12)) + :cljs (.getFloat32 buffer (+ offset 12))) + c2y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 16)) + :cljs (.getFloat32 buffer (+ offset 16))) + x #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 20)) + :cljs (.getFloat32 buffer (+ offset 20))) + y #?(:clj (.getFloat ^ByteBuffer buffer (+ offset 24)) + :cljs (.getFloat32 buffer (+ offset 24)))] + + (->PathSegment :curve-to {:x x :y y :c1x c1x :c1y c1y :c2x c2x :c2y c2y})) + + 4 (->PathSegment :close-path {})))) + +(defn- in-range? + [size i] + (and (< i size) (>= i 0))) + +#?(:clj + (deftype PathData [size buffer] + Object + (toString [_] + (get-path-string buffer size)) + + clojure.lang.Sequential + clojure.lang.IPersistentCollection + + (empty [_] + (throw (ex-info "not implemented" {}))) + (equiv [_ other] + (if (instance? PathData other) + (.equals ^ByteBuffer buffer (.-buffer ^PathData other)) + false)) + + (seq [this] + (when (pos? size) + (->> (range size) + (map (fn [i] (nth this i)))))) + + (cons [_ _val] + (throw (ex-info "not implemented" {}))) + + clojure.lang.IReduceInit + (reduce [_ f start] + (loop [index 0 + result start] + (if (< index size) + (let [result (f result (read-segment buffer index))] + (if (reduced? result) + @result + (recur (inc index) result))) + result))) + + clojure.lang.Indexed + (nth [_ i] + (if (in-range? size i) + (read-segment buffer i) + nil)) + + (nth [_ i default] + (if (in-range? size i) + (read-segment buffer i) + default)) + + clojure.lang.Counted + (count [_] size)) + + :cljs + (deftype PathData [size buffer dview] + Object + (toString [_] + (get-path-string dview size)) + + IPathData + (-write-to [_ into-buffer offset] + (assert (instance? js/ArrayBuffer into-buffer) "expected an instance of Uint32Array") + (let [size (.-byteLength buffer) + mem (js/Uint32Array. into-buffer offset size)] + (.set mem (js/Uint32Array. buffer)))) + + cljs.core/ISequential + cljs.core/IEquiv + (-equiv [_ other] + (if (instance? PathData other) + (let [obuffer (.-buffer other) + osize (.-byteLength obuffer) + csize (.-byteLength buffer)] + (if (= osize csize) + (let [cb (js/Uint32Array. buffer) + ob (js/Uint32Array. obuffer)] + (loop [i 0] + (if (< i osize) + (if (= (aget ob i) + (aget cb i)) + (recur (inc i)) + false) + true))) + false)) + false)) + + cljs.core/IReduce + (-reduce [_ f] + (loop [index 1 + result (if (pos? size) + (read-segment dview 0) + nil)] + (if (< index size) + (let [result (f result (read-segment dview index))] + (if (reduced? result) + @result + (recur (inc index) result))) + result))) + + (-reduce [_ f start] + (loop [index 0 + result start] + (if (< index size) + (let [result (f result (read-segment dview index))] + (if (reduced? result) + @result + (recur (inc index) result))) + result))) + + cljs.core/IHash + (-hash [_] + (throw (ex-info "not-implemented" {}))) + + cljs.core/ICounted + (-count [_] size) + + cljs.core/IIndexed + (-nth [_ i] + (if (in-range? size i) + (read-segment dview i) + nil)) + + (-nth [_ i default] + (if (in-range? i size) + (read-segment dview i) + default)) + + cljs.core/ISeqable + (-seq [this] + (when (pos? size) + (->> (range size) + (map (fn [i] (cljs.core/-nth this i)))))))) + +(defn- from-bytes + [buffer] + #?(:clj + (cond + (instance? ByteBuffer buffer) + (let [size (.capacity ^ByteBuffer buffer) + count (long (/ size SEGMENT-BYTE-SIZE))] + (PathData. count buffer)) + + (bytes? buffer) + (let [size (alength ^bytes buffer) + count (long (/ size SEGMENT-BYTE-SIZE))] + (PathData. count + (ByteBuffer/wrap buffer))) + + :else + (throw (java.lang.IllegalArgumentException. "invalid data provided"))) + + :cljs + (cond + (instance? js/ArrayBuffer buffer) + (let [size (.-byteLength buffer) + count (long (/ size SEGMENT-BYTE-SIZE))] + (PathData. count + buffer + (js/DataView. buffer))) + + (instance? js/DataView buffer) + (let [dview buffer + buffer (.-buffer dview) + size (.-byteLength buffer) + count (long (/ size SEGMENT-BYTE-SIZE))] + (PathData. count buffer dview)) + + :else + (throw (js/Error. "invalid data provided"))))) + +;; FIXME: consider implementing with reduce +;; FIXME: consider ensure fixed precision for avoid doing it on formatting + +(defn- from-plain + "Create a PathData instance from plain data structures" + [content] + (assert (check-path-content content)) + + (let [content (vec content) + total (count content) + #?@(:cljs [buffer (new js/ArrayBuffer (* total SEGMENT-BYTE-SIZE)) + dview (new js/DataView buffer)] + :clj [buffer (ByteBuffer/allocate (* total SEGMENT-BYTE-SIZE))])] + (loop [index 0] + (when (< index total) + (let [segment (nth content index) + offset (* index SEGMENT-BYTE-SIZE)] + (case (get segment :command) + :move-to + (let [params (get segment :params) + x (float (get params :x)) + y (float (get params :y))] + #?(:clj (.putShort buffer (int offset) (short 1)) + :cljs (.setInt16 dview offset 1)) + #?(:clj (.putFloat buffer (+ offset 20) x) + :cljs (.setFloat32 dview (+ offset 20) x)) + #?(:clj (.putFloat buffer (+ offset 24) y) + :cljs (.setFloat32 dview (+ offset 24) y))) + + :line-to + (let [params (get segment :params) + x (float (get params :x)) + y (float (get params :y))] + #?(:clj (.putShort buffer (int offset) (short 2)) + :cljs (.setInt16 dview offset 2)) + #?(:clj (.putFloat buffer (+ offset 20) x) + :cljs (.setFloat32 dview (+ offset 20) x)) + #?(:clj (.putFloat buffer (+ offset 24) y) + :cljs (.setFloat32 dview (+ offset 24) y))) + + :curve-to + (let [params (get segment :params) + x (float (get params :x)) + y (float (get params :y)) + c1x (float (get params :c1x x)) + c1y (float (get params :c1y y)) + c2x (float (get params :c2x x)) + c2y (float (get params :c2y y))] + + #?(:clj (.putShort buffer (int offset) (short 3)) + :cljs (.setInt16 dview offset 3)) + #?(:clj (.putFloat buffer (+ offset 4) c1x) + :cljs (.setFloat32 dview (+ offset 4) c1x)) + #?(:clj (.putFloat buffer (+ offset 8) c1y) + :cljs (.setFloat32 dview (+ offset 8) c1y)) + #?(:clj (.putFloat buffer (+ offset 12) c2x) + :cljs (.setFloat32 dview (+ offset 12) c2x)) + #?(:clj (.putFloat buffer (+ offset 16) c2y) + :cljs (.setFloat32 dview (+ offset 16) c2y)) + #?(:clj (.putFloat buffer (+ offset 20) x) + :cljs (.setFloat32 dview (+ offset 20) x)) + #?(:clj (.putFloat buffer (+ offset 24) y) + :cljs (.setFloat32 dview (+ offset 24) y))) + + :close-path + #?(:clj (.putShort buffer (int offset) (short 4)) + :cljs (.setInt16 dview offset 4))) + (recur (inc index))))) + + #?(:cljs (from-bytes dview) + :clj (from-bytes buffer)))) + +(defn path-data + "Create an instance of PathData, returns itself if it is already + PathData instance" + [data] + (cond + (instance? PathData data) + data + + (sequential? data) + (from-plain data) + + :else + (from-bytes data))) diff --git a/common/src/app/common/types/token.cljc b/common/src/app/common/types/token.cljc index f269e2cca8..e406027d3c 100644 --- a/common/src/app/common/types/token.cljc +++ b/common/src/app/common/types/token.cljc @@ -66,16 +66,6 @@ [n] (string? n)) -;; TODO Move this to tokens-lib -(sm/register! - ^{::sm/type ::token} - [:map {:title "Token"} - [:name token-name-ref] - [:type [::sm/one-of token-types]] - [:value :any] - [:description {:optional true} [:maybe :string]] - [:modified-at {:optional true} ::sm/inst]]) - (sm/register! ^{::sm/type ::color} [:map diff --git a/common/src/app/common/types/token_theme.cljc b/common/src/app/common/types/token_theme.cljc deleted file mode 100644 index 5177fb1c33..0000000000 --- a/common/src/app/common/types/token_theme.cljc +++ /dev/null @@ -1,28 +0,0 @@ -;; This Source Code Form is subject to the terms of the Mozilla Public -;; License, v. 2.0. If a copy of the MPL was not distributed with this -;; file, You can obtain one at http://mozilla.org/MPL/2.0/. -;; -;; Copyright (c) KALEIDOS INC - -(ns app.common.types.token-theme - (:require - [app.common.schema :as sm])) - -(sm/register! - ^{::sm/type ::token-theme} - [:map {:title "TokenTheme"} - [:name :string] - [:group :string] - [:description [:maybe :string]] - [:is-source :boolean] - [:id :string] - [:modified-at {:optional true} ::sm/inst] - [:sets :any]]) - -(sm/register! - ^{::sm/type ::token-set} - [:map {:title "TokenSet"} - [:name :string] - [:description {:optional true} [:maybe :string]] - [:modified-at {:optional true} ::sm/inst] - [:tokens {:optional true} :any]]) diff --git a/common/src/app/common/types/tokens_lib.cljc b/common/src/app/common/types/tokens_lib.cljc index 06b190340e..ffed9c3949 100644 --- a/common/src/app/common/types/tokens_lib.cljc +++ b/common/src/app/common/types/tokens_lib.cljc @@ -9,7 +9,9 @@ #?(:clj [app.common.fressian :as fres]) [app.common.data :as d] [app.common.data.macros :as dm] + [app.common.files.helpers :as cfh] [app.common.schema :as sm] + [app.common.schema.generators :as sg] [app.common.time :as dt] [app.common.transit :as t] [app.common.types.token :as cto] @@ -117,12 +119,15 @@ [:name cto/token-name-ref] [:type [::sm/one-of cto/token-types]] [:value :any] - [:description [:maybe :string]] - [:modified-at ::sm/inst]]) + [:description {:optional true} :string] + [:modified-at {:optional true} ::sm/inst]]) + +(declare make-token) (def schema:token - [:and - schema:token-attrs + [:and {:gen/gen (->> (sg/generator schema:token-attrs) + (sg/fmap #(make-token %)))} + (sm/required-keys schema:token-attrs) [:fn token?]]) (def check-token @@ -321,6 +326,7 @@ (assoc-in [:ids temp-id] token)))) {:tokens-tree {} :ids {}} tokens)) + (defprotocol ITokenSet (update-name [_ set-name] "change a token set name while keeping the path") (add-token [_ token] "add a token at the end of the list") @@ -380,15 +386,32 @@ (def schema:token-set-attrs [:map {:title "TokenSet"} [:name :string] - [:description [:maybe :string]] - [:modified-at ::sm/inst] - [:tokens [:and - [:map-of {:gen/max 5} :string schema:token] - [:fn d/ordered-map?]]]]) + [:description {:optional true} :string] + [:modified-at {:optional true} ::sm/inst] + [:tokens {:optional true + :gen/gen (->> (sg/generator [:map-of ::sm/text schema:token]) + (sg/fmap #(into (d/ordered-map) %)))} + [:and + [:map-of {:gen/max 5 + :decode/json (fn [v] + (cond + (d/ordered-map? v) + v + + (map? v) + (into (d/ordered-map) v) + + :else + v))} + :string schema:token] + [:fn d/ordered-map?]]]]) + +(declare make-token-set) (def schema:token-set - [:and - schema:token-set-attrs + [:and {:gen/gen (->> (sg/generator schema:token-set-attrs) + (sg/fmap #(make-token-set %)))} + (sm/required-keys schema:token-set-attrs) [:fn token-set?]]) (sm/register! ::token-set schema:token-set) @@ -552,16 +575,16 @@ (def schema:token-theme-attrs [:map {:title "TokenTheme"} [:name :string] - [:group :string] - [:description [:maybe :string]] - [:is-source [:maybe :boolean]] - [:id :string] - [:modified-at ::sm/inst] - [:sets [:set {:gen/max 5} :string]]]) + [:group {:optional true} :string] + [:description {:optional true} :string] + [:is-source {:optional true} :boolean] + [:id {:optional true} :string] + [:modified-at {:optional true} ::sm/inst] + [:sets {:optional true} [:set {:gen/max 5} :string]]]) (def schema:token-theme [:and - schema:token-theme-attrs + (sm/required-keys schema:token-theme-attrs) [:fn token-theme?]]) (sm/register! ::token-theme schema:token-theme) @@ -803,7 +826,7 @@ (map-indexed (fn [index item] (assoc item :index index)))))) -(defn- flatten-nested-tokens-json +(defn flatten-nested-tokens-json "Recursively flatten the dtcg token structure, joining keys with '.'." [tokens token-path] (reduce-kv @@ -830,7 +853,7 @@ (declare make-tokens-lib) -(defn- legacy-nodes->dtcg-nodes [sets-data] +(defn legacy-nodes->dtcg-nodes [sets-data] (walk/postwalk (fn [node] (cond-> node @@ -866,8 +889,6 @@ Will return a value that matches this schema: (get-active-themes-set-tokens [_] "set of set names that are active in the the active themes") (encode-dtcg [_] "Encodes library to a dtcg compatible json string") (decode-dtcg-json [_ parsed-json] "Decodes parsed json containing tokens and converts to library") - (decode-single-set-json [_ set-name tokens] "Decodes parsed json containing single token set and converts to library") - (decode-single-set-legacy-json [_ set-name tokens] "Decodes parsed legacy json containing single token set and converts to library") (decode-legacy-json [_ parsed-json] "Decodes parsed legacy json containing tokens and converts to library") (get-all-tokens [_] "all tokens in the lib") (validate [_])) @@ -922,6 +943,7 @@ Will return a value that matches this schema: this))) + (delete-set [_ set-name] (let [prefixed-path (set-name->prefixed-full-path set-name)] (TokensLib. (d/dissoc-in sets prefixed-path) @@ -1311,17 +1333,6 @@ Will return a value that matches this schema: (assoc-in ["$metadata" "activeThemes"] active-themes-clear) (assoc-in ["$metadata" "activeSets"] active-sets)))) - (decode-single-set-json [this set-name tokens] - (assert (map? tokens) "expected a map data structure for `data`") - - (add-set this (make-token-set :name (normalize-set-name set-name) - :tokens (flatten-nested-tokens-json tokens "")))) - - - (decode-single-set-legacy-json [this set-name tokens] - (assert (map? tokens) "expected a map data structure for `data`") - (decode-single-set-json this set-name (legacy-nodes->dtcg-nodes tokens))) - (decode-dtcg-json [_ data] (assert (map? data) "expected a map data structure for `data`") @@ -1481,6 +1492,14 @@ Will return a value that matches this schema: {:encode/json encode-dtcg :decode/json decode-dtcg}}) +(defn duplicate-set [set-name lib & {:keys [suffix]}] + (let [sets (get-sets lib) + unames (map :name sets) + copy-name (cfh/generate-unique-name set-name unames :suffix suffix)] + (some-> (get-set lib set-name) + (assoc :name copy-name) + (assoc :modified-at (dt/now))))) + (sm/register! type:tokens-lib) ;; === Serialization handlers for RPC API (transit) and database (fressian) diff --git a/common/src/app/common/types/variant.cljc b/common/src/app/common/types/variant.cljc new file mode 100644 index 0000000000..3fe90b92e7 --- /dev/null +++ b/common/src/app/common/types/variant.cljc @@ -0,0 +1,281 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.common.types.variant + (:require + [app.common.data :as d] + [app.common.files.helpers :as cfh] + [app.common.math :as math] + [app.common.schema :as sm] + [cuerdas.core :as str])) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; SCHEMA +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(def schema:variant-property + [:map + [:name :string] + [:value :string]]) + +(def schema:variant-component + ;; A component that is part of a variant set. + [:map + [:variant-id {:optional true} ::sm/uuid] + [:variant-properties {:optional true} [:vector schema:variant-property]]]) + +(def schema:variant-shape + ;; The root shape of the main instance of a variant component. + [:map + [:variant-id {:optional true} ::sm/uuid] + [:variant-name {:optional true} :string]]) + +(def schema:variant-container + ;; is a board that contains all variant components of a variant set, + ;; for grouping them visually in the workspace. + [:map + [:is-variant-container {:optional true} :boolean]]) + +(sm/register! ::variant-property schema:variant-property) +(sm/register! ::variant-component schema:variant-component) +(sm/register! ::variant-shape schema:variant-shape) +(sm/register! ::variant-container schema:variant-container) + +(def valid-variant-component? + (sm/check-fn schema:variant-component)) + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(def property-prefix "Property") +(def property-regex (re-pattern (str property-prefix "(\\d+)"))) +(def value-prefix "Value ") + + +(defn properties-to-name + "Transform the properties into a name, with the values separated by comma" + [properties] + (->> properties + (map :value) + (remove str/empty?) + (str/join ", "))) + + +(defn next-property-number + "Returns the next property number, to avoid duplicates on the property names" + [properties] + (let [numbers (keep + #(some->> (:name %) (re-find property-regex) second d/parse-integer) + properties) + max-num (if (seq numbers) + (apply max numbers) + 0)] + (inc (max max-num (count properties))))) + +(defn add-new-prop + "Adds a new property with generated name and provided value to the existing props list." + [props value] + (conj props {:name (str property-prefix (next-property-number props)) + :value value})) + +(defn add-new-props + "Adds new properties with generated names and provided values to the existing props list." + [props values] + (let [next-prop-num (next-property-number props) + xf (map-indexed (fn [i v] + {:name (str property-prefix (+ next-prop-num i)) + :value v}))] + (into props xf values))) + +(defn path-to-properties + "From a list of properties and a name with path, assign each token of the + path as value of a different property" + ([path properties] + (path-to-properties path properties 0)) + ([path properties min-props] + (let [cpath (cfh/split-path path) + total-props (max (count cpath) min-props) + assigned (mapv #(assoc % :value (nth cpath %2 "")) properties (range)) + ;; Add empty strings to the end of cpath to reach the minimum number of properties + cpath (take total-props (concat cpath (repeat ""))) + remaining (drop (count properties) cpath)] + (add-new-props assigned remaining)))) + + +(defn properties-map-to-string + "Transforms a map of properties to a string of properties omitting the empty ones" + [properties] + (->> properties + (keep (fn [{:keys [name value]}] + (when (not (str/blank? value)) + (str name "=" value)))) + (str/join ", "))) + + +(defn properties-string-to-map + "Transforms a string of properties to a map of properties" + [s] + (->> (str/split s ",") + (mapv #(str/split % "=")) + (mapv (fn [[k v]] + {:name (str/trim k) + :value (str/trim v)})))) + + +(defn valid-properties-string? + "Checks if a string of properties has a processable format or not" + [s] + (let [pattern #"^([a-zA-Z0-9\s]+=[a-zA-Z0-9\s]+)(,\s*[a-zA-Z0-9\s]+=[a-zA-Z0-9\s]+)*$"] + (not (nil? (re-matches pattern s))))) + + +(defn find-properties-to-remove + "Compares two property maps to find which properties should be removed" + [prev-props upd-props] + (let [upd-names (set (map :name upd-props))] + (filterv #(not (contains? upd-names (:name %))) prev-props))) + + +(defn find-properties-to-update + "Compares two property maps to find which properties should be updated" + [prev-props upd-props] + (filterv #(some (fn [prop] (and (= (:name %) (:name prop)) + (not= (:value %) (:value prop)))) prev-props) upd-props)) + + +(defn find-properties-to-add + "Compares two property maps to find which properties should be added" + [prev-props upd-props] + (let [prev-names (set (map :name prev-props))] + (filterv #(not (contains? prev-names (:name %))) upd-props))) + + +(defn find-index-for-property-name + "Finds the index of a name in a property map" + [props name] + (some (fn [[idx prop]] + (when (= (:name prop) name) + idx)) + (map-indexed vector props))) + +(defn remove-prefix + "Removes the given prefix (with or without a trailing ' / ') from the beginning of the name" + [name prefix] + (let [long-name (str prefix " / ")] + (cond + (str/starts-with? name long-name) + (subs name (count long-name)) + + (str/starts-with? name prefix) + (subs name (count prefix)) + + :else + name))) + +(def ^:private xf:map-name + (map :name)) + +(defn- matching-indices + [props1 props2] + (let [names-in-p2 (into #{} xf:map-name props2) + xform (comp + (map-indexed (fn [index {:keys [name]}] + (when (contains? names-in-p2 name) + index))) + (filter some?))] + (into #{} xform props1))) + +(defn- find-index-by-name + "Returns the index of the first item in props with the given name, or nil if not found." + [name props] + (some (fn [[idx item]] + (when (= (:name item) name) + idx)) + (map-indexed vector props))) + +(defn- next-valid-position + "Returns the first non-negative integer not present in the used-pos set." + [used-pos] + (loop [p 0] + (if (contains? used-pos p) + (recur (inc p)) + p))) + +(defn- find-position + "Returns the index of the property with the given name in `props`, + or the next available index not in `used-pos` if not found." + [name props used-pos] + (or (find-index-by-name name props) + (next-valid-position used-pos))) + +(defn merge-properties + "Merges props2 into props1 with the following rules: + - For each property p2 in props2: + - Skip it if its value is empty. + - If props1 contains a property with the same name, update its value with that of p2. + - Otherwise, assign p2's value to the first unused property in props1. A property is considered used if: + - Its name exists in both props1 and props2, or + - Its value has already been updated during the merge. + - If no unused properties are available in props1, append a new property with a default name and p2's value." + [props1 props2] + (let [props2 (remove #(str/empty? (:value %)) props2)] + (-> (reduce + (fn [{:keys [props used-pos]} prop] + (let [pos (find-position (:name prop) props used-pos) + used-pos (conj used-pos pos)] + (if (< pos (count props)) + {:props (assoc-in (vec props) [pos :value] (:value prop)) :used-pos used-pos} + {:props (add-new-prop props (:value prop)) :used-pos used-pos}))) + {:props (vec props1) :used-pos (matching-indices props1 props2)} + props2) + :props))) + +(defn compare-properties + "Compares vectors of properties keeping the value if it is the same for all + or setting a custom value where their values do not coincide" + ([props-list] + (compare-properties props-list nil)) + + ([props-list distinct-mark] + (let [grouped (group-by :name (apply concat props-list)) + check-values (fn [values] + (let [vals (map :value values)] + (if (apply = vals) + (first vals) + distinct-mark)))] + (mapv (fn [[name values]] + {:name name :value (check-values values)}) + grouped)))) + +(defn same-variant? + "Determines if all elements belong to the same variant" + [components] + (let [variant-ids (distinct (map :variant-id components)) + not-blank? (complement str/blank?)] + (and + (= 1 (count variant-ids)) + (not-blank? (first variant-ids))))) + +(defn distance + "Computes a weighted distance between two property lists `props1` and `props2`. + Latter properties weight less that previous ones" + [props1 props2] + (let [total-num-props (count props1) + xform (map-indexed + (fn [idx [p1 p2]] + (if (not= p1 p2) + (math/pow 2 (- total-num-props idx)) + 0)))] + (transduce + xform + + + (map vector props1 props2)))) + +(defn variant-name-to-name + "Transforms a variant-name (its properties values) into a standard name: + the real name of the shape joined by the properties values separated by '/'" + [variant] + (cfh/merge-path-item (:name variant) (str/replace (:variant-name variant) #", " " / "))) diff --git a/frontend/test/frontend_tests/tokens/token_test.cljs b/common/test/common_tests/files/tokens_test.cljc similarity index 65% rename from frontend/test/frontend_tests/tokens/token_test.cljs rename to common/test/common_tests/files/tokens_test.cljc index 0124d58404..a16b625c88 100644 --- a/frontend/test/frontend_tests/tokens/token_test.cljs +++ b/common/test/common_tests/files/tokens_test.cljc @@ -4,36 +4,36 @@ ;; ;; Copyright (c) KALEIDOS INC -(ns frontend-tests.tokens.token-test +(ns common-tests.files.tokens-test (:require - [app.main.ui.workspace.tokens.token :as wtt] - [cljs.test :as t :include-macros true])) + [app.common.files.tokens :as cft] + [clojure.test :as t])) (t/deftest test-parse-token-value (t/testing "parses double from a token value" - (t/is (= {:value 100.1 :unit nil} (wtt/parse-token-value "100.1"))) - (t/is (= {:value -9 :unit nil} (wtt/parse-token-value "-9")))) + (t/is (= {:value 100.1 :unit nil} (cft/parse-token-value "100.1"))) + (t/is (= {:value -9.0 :unit nil} (cft/parse-token-value "-9")))) (t/testing "trims white-space" - (t/is (= {:value -1.3 :unit nil} (wtt/parse-token-value " -1.3 ")))) + (t/is (= {:value -1.3 :unit nil} (cft/parse-token-value " -1.3 ")))) (t/testing "parses unit: px" - (t/is (= {:value 70.3 :unit "px"} (wtt/parse-token-value " 70.3px ")))) + (t/is (= {:value 70.3 :unit "px"} (cft/parse-token-value " 70.3px ")))) (t/testing "parses unit: %" - (t/is (= {:value -10 :unit "%"} (wtt/parse-token-value "-10%")))) + (t/is (= {:value -10.0 :unit "%"} (cft/parse-token-value "-10%")))) (t/testing "parses unit: px") (t/testing "returns nil for any invalid characters" - (t/is (nil? (wtt/parse-token-value " -1.3a ")))) + (t/is (nil? (cft/parse-token-value " -1.3a ")))) (t/testing "doesnt accept invalid double" - (t/is (nil? (wtt/parse-token-value ".3"))))) + (t/is (nil? (cft/parse-token-value ".3"))))) (t/deftest token-applied-test (t/testing "matches passed token with `:token-attributes`" - (t/is (true? (wtt/token-applied? {:name "a"} {:applied-tokens {:x "a"}} #{:x})))) + (t/is (true? (cft/token-applied? {:name "a"} {:applied-tokens {:x "a"}} #{:x})))) (t/testing "doesn't match empty token" - (t/is (nil? (wtt/token-applied? {} {:applied-tokens {:x "a"}} #{:x})))) + (t/is (nil? (cft/token-applied? {} {:applied-tokens {:x "a"}} #{:x})))) (t/testing "does't match passed token `:id`" - (t/is (nil? (wtt/token-applied? {:name "b"} {:applied-tokens {:x "a"}} #{:x})))) + (t/is (nil? (cft/token-applied? {:name "b"} {:applied-tokens {:x "a"}} #{:x})))) (t/testing "doesn't match passed `:token-attributes`" - (t/is (nil? (wtt/token-applied? {:name "a"} {:applied-tokens {:x "a"}} #{:y}))))) + (t/is (nil? (cft/token-applied? {:name "a"} {:applied-tokens {:x "a"}} #{:y}))))) (t/deftest shapes-ids-by-applied-attributes (t/testing "Returns set of matched attributes that fit the applied token" @@ -54,7 +54,7 @@ shape-applied-x-y shape-applied-all shape-applied-none] - expected (wtt/shapes-ids-by-applied-attributes {:name "1"} shapes attributes)] + expected (cft/shapes-ids-by-applied-attributes {:name "1"} shapes attributes)] (t/is (= (:x expected) (shape-ids shape-applied-x shape-applied-x-y shape-applied-all))) @@ -62,34 +62,34 @@ shape-applied-x-y shape-applied-all))) (t/is (= (:z expected) (shape-ids shape-applied-all))) - (t/is (true? (wtt/shapes-applied-all? expected (shape-ids shape-applied-all) attributes))) - (t/is (false? (wtt/shapes-applied-all? expected (apply shape-ids shapes) attributes))) + (t/is (true? (cft/shapes-applied-all? expected (shape-ids shape-applied-all) attributes))) + (t/is (false? (cft/shapes-applied-all? expected (apply shape-ids shapes) attributes))) (shape-ids shape-applied-x shape-applied-x-y shape-applied-all)))) (t/deftest tokens-applied-test (t/testing "is true when single shape matches the token and attributes" - (t/is (true? (wtt/shapes-token-applied? {:name "a"} [{:applied-tokens {:x "a"}} + (t/is (true? (cft/shapes-token-applied? {:name "a"} [{:applied-tokens {:x "a"}} {:applied-tokens {:x "b"}}] #{:x})))) (t/testing "is false when no shape matches the token or attributes" - (t/is (nil? (wtt/shapes-token-applied? {:name "a"} [{:applied-tokens {:x "b"}} + (t/is (nil? (cft/shapes-token-applied? {:name "a"} [{:applied-tokens {:x "b"}} {:applied-tokens {:x "b"}}] #{:x}))) - (t/is (nil? (wtt/shapes-token-applied? {:name "a"} [{:applied-tokens {:x "a"}} + (t/is (nil? (cft/shapes-token-applied? {:name "a"} [{:applied-tokens {:x "a"}} {:applied-tokens {:x "a"}}] #{:y}))))) (t/deftest name->path-test - (t/is (= ["foo" "bar" "baz"] (wtt/token-name->path "foo.bar.baz"))) - (t/is (= ["foo" "bar" "baz"] (wtt/token-name->path "foo..bar.baz"))) - (t/is (= ["foo" "bar" "baz"] (wtt/token-name->path "foo..bar.baz....")))) + (t/is (= ["foo" "bar" "baz"] (cft/token-name->path "foo.bar.baz"))) + (t/is (= ["foo" "bar" "baz"] (cft/token-name->path "foo..bar.baz"))) + (t/is (= ["foo" "bar" "baz"] (cft/token-name->path "foo..bar.baz....")))) (t/deftest token-name-path-exists?-test - (t/is (true? (wtt/token-name-path-exists? "border-radius" {"border-radius" {"sm" {:name "sm"}}}))) - (t/is (true? (wtt/token-name-path-exists? "border-radius" {"border-radius" {:name "sm"}}))) - (t/is (true? (wtt/token-name-path-exists? "border-radius.sm" {"border-radius" {:name "sm"}}))) - (t/is (true? (wtt/token-name-path-exists? "border-radius.sm.x" {"border-radius" {:name "sm"}}))) - (t/is (false? (wtt/token-name-path-exists? "other" {"border-radius" {:name "sm"}}))) - (t/is (false? (wtt/token-name-path-exists? "dark.border-radius.md" {"dark" {"border-radius" {"sm" {:name "sm"}}}})))) + (t/is (true? (cft/token-name-path-exists? "border-radius" {"border-radius" {"sm" {:name "sm"}}}))) + (t/is (true? (cft/token-name-path-exists? "border-radius" {"border-radius" {:name "sm"}}))) + (t/is (true? (cft/token-name-path-exists? "border-radius.sm" {"border-radius" {:name "sm"}}))) + (t/is (true? (cft/token-name-path-exists? "border-radius.sm.x" {"border-radius" {:name "sm"}}))) + (t/is (false? (cft/token-name-path-exists? "other" {"border-radius" {:name "sm"}}))) + (t/is (false? (cft/token-name-path-exists? "dark.border-radius.md" {"dark" {"border-radius" {"sm" {:name "sm"}}}})))) diff --git a/common/test/common_tests/logic/comp_creation_test.cljc b/common/test/common_tests/logic/comp_creation_test.cljc index f06ca3a938..462734d6ee 100644 --- a/common/test/common_tests/logic/comp_creation_test.cljc +++ b/common/test/common_tests/logic/comp_creation_test.cljc @@ -40,8 +40,6 @@ (:objects page) (:id page) (:id file) - true - nil nil) file' (thf/apply-changes file changes) @@ -74,8 +72,6 @@ (:objects page) (:id page) (:id file) - true - nil cfsh/prepare-create-artboard-from-selection) file' (thf/apply-changes file changes) @@ -111,8 +107,6 @@ (:objects page) (:id page) (:id file) - true - nil cfsh/prepare-create-artboard-from-selection) file' (thf/apply-changes file changes) @@ -151,8 +145,6 @@ (:objects page) (:id page) (:id file) - true - nil cfsh/prepare-create-artboard-from-selection) file' (thf/apply-changes file changes) @@ -191,8 +183,6 @@ (:objects page) (:id page) (:id file) - true - nil nil) file' (thf/apply-changes file changes) @@ -232,8 +222,6 @@ (:objects page) (:id page) (:id file) - true - nil cfsh/prepare-create-artboard-from-selection) file' (thf/apply-changes file changes) @@ -265,8 +253,7 @@ changes (cll/generate-rename-component (pcb/empty-changes) (:id component) "Test component after" - (:data file) - true) + (:data file)) file' (thf/apply-changes file changes) @@ -445,8 +432,8 @@ (t/is (some? copy1-child')) (t/is (ctk/instance-root? copy1-root')) (t/is (ctk/instance-of? copy1-root' (:id file') (:id component'))) - (t/is (ctk/is-main-of? main1-root' copy1-root' true)) - (t/is (ctk/is-main-of? main1-child' copy1-child' true)) + (t/is (ctk/is-main-of? main1-root' copy1-root')) + (t/is (ctk/is-main-of? main1-child' copy1-child')) (t/is (ctst/parent-of? copy1-root' copy1-child')))) (t/deftest test-instantiate-component-from-lib @@ -489,8 +476,8 @@ (t/is (some? copy1-child')) (t/is (ctk/instance-root? copy1-root')) (t/is (ctk/instance-of? copy1-root' (:id library) (:id component'))) - (t/is (ctk/is-main-of? main1-root' copy1-root' true)) - (t/is (ctk/is-main-of? main1-child' copy1-child' true)) + (t/is (ctk/is-main-of? main1-root' copy1-root')) + (t/is (ctk/is-main-of? main1-child' copy1-child')) (t/is (ctst/parent-of? copy1-root' copy1-child')))) (t/deftest test-instantiate-nested-component @@ -533,8 +520,8 @@ (t/is (some? copy1-child')) (t/is (ctk/instance-root? copy1-root')) (t/is (ctk/instance-of? copy1-root' (:id file') (:id component'))) - (t/is (ctk/is-main-of? main1-root' copy1-root' true)) - (t/is (ctk/is-main-of? main1-child' copy1-child' true)) + (t/is (ctk/is-main-of? main1-root' copy1-root')) + (t/is (ctk/is-main-of? main1-child' copy1-child')) (t/is (ctst/parent-of? copy1-root' copy1-child')))) (t/deftest test-instantiate-nested-component-from-lib @@ -580,8 +567,8 @@ (t/is (some? copy1-child')) (t/is (ctk/instance-root? copy1-root')) (t/is (ctk/instance-of? copy1-root' (:id library) (:id component'))) - (t/is (ctk/is-main-of? main1-root' copy1-root' true)) - (t/is (ctk/is-main-of? main1-child' copy1-child' true)) + (t/is (ctk/is-main-of? main1-root' copy1-root')) + (t/is (ctk/is-main-of? main1-child' copy1-child')) (t/is (ctst/parent-of? copy1-root' copy1-child')))) (t/deftest test-detach-copy diff --git a/common/test/common_tests/logic/comp_reset_test.cljc b/common/test/common_tests/logic/comp_reset_test.cljc index 04abcbeeb4..23894cc398 100644 --- a/common/test/common_tests/logic/comp_reset_test.cljc +++ b/common/test/common_tests/logic/comp_reset_test.cljc @@ -47,8 +47,7 @@ file-mdf {(:id file-mdf) file-mdf} page-mdf - (:id copy-root) - true) + (:id copy-root)) file' (thf/apply-changes file changes) @@ -99,8 +98,7 @@ {(:id file-mdf) file-mdf (:id library) library} page-mdf - (:id copy-root) - true) + (:id copy-root)) file' (thf/apply-changes file changes) @@ -151,8 +149,7 @@ file-mdf {(:id file-mdf) file-mdf} page-mdf - (:id copy-root) - true) + (:id copy-root)) file' (thf/apply-changes file changes) @@ -198,8 +195,7 @@ file-mdf {(:id file-mdf) file-mdf} page-mdf - (:id copy-root) - true) + (:id copy-root)) file' (thf/apply-changes file changes) @@ -246,8 +242,7 @@ file-mdf {(:id file-mdf) file-mdf} page-mdf - (:id copy-root) - true) + (:id copy-root)) file' (thf/apply-changes file changes) @@ -291,8 +286,7 @@ file-mdf {(:id file-mdf) file-mdf} page-mdf - (:id copy2-root) - true) + (:id copy2-root)) file' (thf/apply-changes file changes) @@ -338,8 +332,7 @@ file-mdf {(:id file-mdf) file-mdf} page-mdf - (:id copy2-root) - true) + (:id copy2-root)) file' (thf/apply-changes file changes) diff --git a/common/test/common_tests/logic/comp_sync_test.cljc b/common/test/common_tests/logic/comp_sync_test.cljc index e5e5d42652..a52ea3d373 100644 --- a/common/test/common_tests/logic/comp_sync_test.cljc +++ b/common/test/common_tests/logic/comp_sync_test.cljc @@ -227,7 +227,7 @@ (t/is (= (:touched copy-root') nil)) (t/is (= (:touched copy-new-child') nil)) (t/is (ctst/parent-of? copy-root' copy-new-child')) - (t/is (ctk/is-main-of? main-free-shape' copy-new-child' true)))) + (t/is (ctk/is-main-of? main-free-shape' copy-new-child')))) (t/deftest test-sync-when-deleting-shape (let [;; ==== Setup diff --git a/common/test/common_tests/logic/token_test.cljc b/common/test/common_tests/logic/token_test.cljc index 93548f39a1..a68a96b2a2 100644 --- a/common/test/common_tests/logic/token_test.cljc +++ b/common/test/common_tests/logic/token_test.cljc @@ -1,3 +1,9 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + (ns common-tests.logic.token-test (:require [app.common.files.changes-builder :as pcb] diff --git a/common/test/common_tests/logic/variants_test.cljc b/common/test/common_tests/logic/variants_test.cljc index e37229d263..98d40253be 100644 --- a/common/test/common_tests/logic/variants_test.cljc +++ b/common/test/common_tests/logic/variants_test.cljc @@ -7,7 +7,10 @@ (ns common-tests.logic.variants-test (:require [app.common.files.changes-builder :as pcb] - [app.common.logic.variants :as clv] + [app.common.geom.point :as gpt] + [app.common.logic.libraries :as cll] + [app.common.logic.shapes :as cls] + [app.common.logic.variant-properties :as clvp] [app.common.test-helpers.components :as thc] [app.common.test-helpers.files :as thf] [app.common.test-helpers.ids-map :as thi] @@ -20,7 +23,7 @@ (t/deftest test-update-property-name (let [;; ==== Setup file (-> (thf/sample-file :file1) - (thv/add-variant :v01 :c01 :m01 :c02 :m02)) + (thv/add-variant-two-properties :v01 :c01 :m01 :c02 :m02)) v-id (-> (ths/get-shape file :v01) :id) page (thf/current-page file) @@ -29,8 +32,8 @@ (pcb/with-page-id (:id page)) (pcb/with-library-data (:data file)) (pcb/with-objects (:objects page)) - (clv/generate-update-property-name v-id 0 "NewName1") - (clv/generate-update-property-name v-id 1 "NewName2")) + (clvp/generate-update-property-name v-id 0 "NewName1") + (clvp/generate-update-property-name v-id 1 "NewName2")) file' (thf/apply-changes file changes) @@ -65,7 +68,7 @@ (pcb/with-page-id (:id page)) (pcb/with-library-data (:data file)) (pcb/with-objects (:objects page)) - (clv/generate-add-new-property v-id)) + (clvp/generate-add-new-property v-id)) file' (thf/apply-changes file changes) @@ -101,7 +104,7 @@ (pcb/with-page-id (:id page)) (pcb/with-library-data (:data file)) (pcb/with-objects (:objects page)) - (clv/generate-add-new-property v-id {:fill-values? true})) + (clvp/generate-add-new-property v-id {:fill-values? true})) file' (thf/apply-changes file changes) @@ -117,7 +120,7 @@ (t/is (= (count (:variant-properties comp01')) 2)) (t/is (= (count (:variant-properties comp02)) 1)) (t/is (= (count (:variant-properties comp02')) 2)) - (t/is (= (-> comp01' :variant-properties last :value) "Value1")))) + (t/is (= (-> comp01' :variant-properties last :value) "Value 1")))) @@ -132,7 +135,7 @@ (pcb/with-page-id (:id page)) (pcb/with-library-data (:data file)) (pcb/with-objects (:objects page)) - (clv/generate-add-new-property v-id)) + (clvp/generate-add-new-property v-id)) file (thf/apply-changes file changes) @@ -147,7 +150,7 @@ (pcb/with-page-id (:id page)) (pcb/with-library-data (:data file)) (pcb/with-objects (:objects page)) - (clv/generate-remove-property v-id 0)) + (clvp/generate-remove-property v-id 0)) file' (thf/apply-changes file changes) @@ -180,8 +183,8 @@ (pcb/with-page-id (:id page)) (pcb/with-library-data (:data file)) (pcb/with-objects (:objects page)) - (clv/generate-update-property-value (:id comp01) 0 "NewValue1") - (clv/generate-update-property-value (:id comp02) 0 "NewValue2")) + (clvp/generate-update-property-value (:id comp01) 0 "NewValue1") + (clvp/generate-update-property-value (:id comp02) 0 "NewValue2")) file' (thf/apply-changes file changes) @@ -192,3 +195,73 @@ ;; ==== Check (t/is (= (-> comp01' :variant-properties first :value) "NewValue1")) (t/is (= (-> comp02' :variant-properties first :value) "NewValue2")))) + + +(t/deftest test-duplicate-variant-container + (let [;; ==== Setup + file (-> (thf/sample-file :file1) + (thv/add-variant :v01 :c01 :m01 :c02 :m02)) + data (:data file) + page (thf/current-page file) + objects (:objects page) + + variant-container (ths/get-shape file :v01) + + + + + ;; ==== Action + changes (-> (pcb/empty-changes nil) + (pcb/with-page-id (:id page)) + (pcb/with-library-data (:data file)) + (pcb/with-objects (:objects page)) + (cll/generate-duplicate-changes objects ;; objects + page ;; page + #{(:id variant-container)} ;; ids + (gpt/point 0 0) ;; delta + {(:id file) file} ;; libraries + (:data file) ;; library-data + (:id file))) ;; file-id + + ;; ==== Get + file' (thf/apply-changes file changes) + data' (:data file') + page' (thf/current-page file') + objects' (:objects page')] + + ;; ==== Check + (thf/validate-file! file') + (t/is (= (count (:components data)) 2)) + (t/is (= (count (:components data')) 4)) + (t/is (= (count objects) 4)) + (t/is (= (count objects') 7)))) + + +(t/deftest test-delete-variant + ;; When a variant container becomes empty, it id automatically deleted + (let [;; ==== Setup + file (-> (thf/sample-file :file1) + (thv/add-variant-two-properties :v01 :c01 :m01 :c02 :m02)) + container (ths/get-shape file :v01) + m01-id (-> (ths/get-shape file :m01) :id) + m02-id (-> (ths/get-shape file :m02) :id) + + page (thf/current-page file) + + ;; ==== Action + changes (-> (pcb/empty-changes nil) + (pcb/with-page-id (:id page)) + (pcb/with-library-data (:data file)) + (pcb/with-objects (:objects page)) + (#(second (cls/generate-delete-shapes % #{m01-id m02-id} {})))) + + file' (thf/apply-changes file changes) + + ;; ==== Get + container' (ths/get-shape file' :v01)] + + ;; ==== Check + ;; The variant containew was not nil before the deletion + (t/is (not (nil? container))) + ;; The variant containew is nil after the deletion + (t/is (nil? container')))) diff --git a/common/test/common_tests/runner.cljc b/common/test/common_tests/runner.cljc index 06a3fc58d7..c7e502bd51 100644 --- a/common/test/common_tests/runner.cljc +++ b/common/test/common_tests/runner.cljc @@ -41,6 +41,7 @@ [common-tests.types.modifiers-test] [common-tests.types.shape-decode-encode-test] [common-tests.types.shape-interactions-test] + [common-tests.types.shape-path-data-test] [common-tests.types.tokens-lib-test] [common-tests.uuid-test])) @@ -90,4 +91,5 @@ 'common-tests.types.tokens-lib-test 'common-tests.types.components-test 'common-tests.types.absorb-assets-test + 'common-tests.types.shape-path-data-test 'common-tests.uuid-test)) diff --git a/common/test/common_tests/svg_path_test.cljc b/common/test/common_tests/svg_path_test.cljc index c9e9adcc89..7a826db6ac 100644 --- a/common/test/common_tests/svg_path_test.cljc +++ b/common/test/common_tests/svg_path_test.cljc @@ -547,4 +547,3 @@ ;; FOR POSSIBLE FUTURE TEST CASES ;; (str "M259.958 89.134c-6.88-.354-10.484-1.241-12.44-3.064-1.871-1.743-6.937-3.098-15.793-4.226-7.171-.913-17.179-2.279-22.24-3.034-5.06-.755-15.252-2.016-22.648-2.8-18.685-1.985-35.63-4.223-38.572-5.096-3.655-1.084-3.016-3.548.708-2.726 1.751.387 13.376 1.701 25.833 2.922 12.456 1.22 29.018 3.114 36.803 4.208 29.94 4.206 29.433 4.204 34.267.136 3.787-3.186 5.669-3.669 14.303-3.669 14.338 0 17.18 1.681 12.182 7.205-2.053 2.268-1.994 2.719.707 5.42 3.828 3.827 3.74 5.846-.238 5.5-1.752-.153-7.544-.502-12.872-.776zm7.563-3.194c0-.778-1.751-1.352-3.892-1.274l-3.893.141 3.539 1.133c1.946.624 3.698 1.197 3.893 1.275.194.077.354-.496.354-1.275zm-15.899-8.493c1.43-2.29 1.414-2.83-.084-2.83-2.05 0-5.25 2.76-5.25 4.529 0 2.226 3.599 1.08 5.334-1.699zm8.114 0c2.486-2.746 2.473-2.83-.438-2.83-1.65 0-3.683 1.273-4.516 2.83-1.175 2.196-1.077 2.831.438 2.831 1.075 0 3.107-1.274 4.516-2.83zm7.814.674c2.858-3.444.476-4.085-3.033-.816-2.451 2.284-2.677 2.973-.975 2.973 1.22 0 3.023-.97 4.008-2.157zm-49.571-4.509c-1.168-.43-3.294-1.802-4.725-3.051-2.112-1.843-9.304-2.595-38.219-3.994-46.474-2.25-63-4.077-60.27-6.665.324-.308 9.507.261 20.406 1.264 10.9 1.003 31.16 2.258 45.024 2.789l25.207.964 4.625-3.527c4.313-3.29 5.41-3.474 16.24-2.732 6.389.438 11.981 1.388 12.428 2.111.447.723-.517 2.73-2.141 4.46l-2.954 3.144c1.607 1.697 3.308 3.289 5.049 4.845 3.248 2.189-5.438 1.289-8.678 1.284-5.428-.061-10.825-.463-11.992-.892zm12.74-3.242c-1.123-.694-2.36-.943-2.75-.554-.389.39.21 1.275 1.334 1.97 1.122.693 2.36.942 2.749.553.389-.39-.21-1.275-1.334-1.97zm-5.663 0a1.42 1.42 0 00-1.415-1.416 1.42 1.42 0 00-1.416 1.416 1.42 1.42 0 001.416 1.415 1.42 1.42 0 001.415-1.415zm-8.464-6.404c.984-1.187 1.35-2.598.813-3.135-1.181-1.18-5.408 1.297-6.184 3.624-.806 2.42 3.265 2.048 5.37-.49zm6.863.258c.867-1.045 1.163-2.313.658-2.819-1.063-1.062-4.719 1.631-4.719 3.476 0 1.864 2.274 1.496 4.061-.657zm8.792-.36c1.637-1.972 1.448-2.197-1.486-1.77-1.848.27-3.622 1.287-3.943 2.26-.838 2.547 3.212 2.181 5.429-.49zm32.443-4.11c-6.156-2.228-67.1-6.138-119.124-7.642-39.208-1.134-72.072-.928-94.618.593-6.617.446-19.681 1.16-29.03 1.587-15.798.72-17.183.573-19.588-2.085-4.498-4.97-2.544-7.857 6.39-9.44 4.394-.778 9.164-2.436 10.6-3.685 5.44-4.729 20.332-14.06 31.14-19.509C65.717 11.88 78.955 7.79 103.837 3.08 121.686-.3 125.552-.642 129.318.82c2.44.948 12.4 1.948 22.132 2.221 15.37.432 20.004 1.18 35.294 5.698 22.36 6.606 39.732 15.1 56.55 27.653 7.307 5.452 14.086 9.913 15.066 9.913.98 0 2.148.956 2.596 2.124.55 1.432 2.798 2.123 6.914 2.123 6.213 0 12.4 3.046 12.38 6.096-.012 1.75-6.502 5.353-9.118 5.063-.818-.09-3.717-.972-6.442-1.958zm-16.986-7.436c0-1.575-33.326-18.118-43.173-21.43-23.008-7.739-54.084-12.922-77.136-12.866-16.863.041-37.877 3.628-52.465 8.956-18.062 6.596-26.563 10.384-29.181 13.002-1.205 1.205-5.306 3.769-9.112 5.698-7.754 3.929-8.841 5.482-3.029 4.325 13.494-2.685 66.794-3.773 110.913-2.264 38.005 1.3 96.812 4.435 102.122 5.443.584.111 1.061-.277 1.061-.864zm-236.39-3.18c0-.78-1.592-1.416-3.539-1.416-1.946 0-3.538.637-3.538 1.415 0 .779 1.592 1.416 3.538 1.416 1.947 0 3.54-.637 3.54-1.416zm7.078-1.416c0-.779-.956-1.416-2.124-1.416-1.167 0-2.123.637-2.123 1.416 0 .778.956 1.415 2.123 1.415 1.168 0 2.124-.637 2.124-1.415zm11.734-4.437c3.278-1.661 6.278-3.483 6.667-4.048 1.366-1.98 20.645-11.231 32.557-15.622 11.862-4.372 36.546-9.865 44.327-9.865 3.485 0 3.867-.404 3.012-3.185-.538-1.752-1.177-3.41-1.42-3.685-.907-1.026-36.72 7.16-45.065 10.302-17.226 6.484-47.566 24.27-47.566 27.886 0 1.786.845 1.585 7.488-1.783zm206.254-5.577c-12.298-10.518-53.842-27.166-70.896-28.41-5.526-.404-6.3-.097-6.695 2.655-.33 2.307.402 3.275 2.831 3.742 32.436 6.237 52.205 12.315 66.975 20.594 11.904 6.673 14.477 7.141 7.785 1.419zM150.1 11.04c-1.949-3.64-7.568-4.078-6.886-.538.256 1.329 2.054 2.817 3.997 3.309 4.498 1.137 4.816.832 2.888-2.771zm6.756.94c-.248-1.752-1.026-3.185-1.727-3.185-.7 0-1.493 1.433-1.76 3.185-.328 2.152.232 3.185 1.727 3.185 1.485 0 2.064-1.047 1.76-3.185zm-30.178-2.458c0-2.303-.908-3.694-2.627-4.025-3.6-.694-5.23 1.301-4.22 5.166 1.216 4.647 6.847 3.709 6.847-1.14zm12.544 2.104c-.448-1.168-1.224-2.132-1.725-2.142-.5-.013-2.343-.404-4.095-.873-2.569-.689-3.185-.274-3.185 2.142 0 2.476.854 2.996 4.91 2.996 3.783 0 4.723-.487 4.095-2.123z") - diff --git a/common/test/common_tests/types/absorb_assets_test.cljc b/common/test/common_tests/types/absorb_assets_test.cljc index 790d029b0b..382b3a681f 100644 --- a/common/test/common_tests/types/absorb_assets_test.cljc +++ b/common/test/common_tests/types/absorb_assets_test.cljc @@ -54,7 +54,7 @@ (t/is (= (count components') 1)) (t/is (ctk/instance-of? copy-root' (:id file') (:id component'))) - (t/is (ctk/is-main-of? main-root' copy-root' true)) + (t/is (ctk/is-main-of? main-root' copy-root')) (t/is (ctk/main-instance-of? (:id main-root') (:id (second pages')) component')))) (t/deftest absorb-colors diff --git a/common/test/common_tests/types/data/legacy-single-set.json b/common/test/common_tests/types/data/legacy-single-set.json deleted file mode 100644 index e69153a763..0000000000 --- a/common/test/common_tests/types/data/legacy-single-set.json +++ /dev/null @@ -1,6 +0,0 @@ -{"color": - {"red": - {"100": - {"value":"red", - "type":"color", - "description":""}}}} diff --git a/common/test/common_tests/types/data/single-set.json b/common/test/common_tests/types/data/single-set.json deleted file mode 100644 index d558781ae0..0000000000 --- a/common/test/common_tests/types/data/single-set.json +++ /dev/null @@ -1,6 +0,0 @@ -{"color": - {"red": - {"100": - {"$value":"red", - "$type":"color", - "$description":""}}}} diff --git a/common/test/common_tests/types/shape_path_data_test.cljc b/common/test/common_tests/types/shape_path_data_test.cljc new file mode 100644 index 0000000000..79430e883f --- /dev/null +++ b/common/test/common_tests/types/shape_path_data_test.cljc @@ -0,0 +1,59 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns common-tests.types.shape-path-data-test + (:require + [app.common.data :as d] + [app.common.math :as mth] + [app.common.pprint :as pp] + [app.common.types.shape.path :as path] + [clojure.test :as t])) + +(def sample-content + [{:command :move-to, :params {:x 480.0, :y 839.0}} + {:command :line-to, :params {:x 439.0, :y 802.0}} + {:command :curve-to, :params {:c1x 368.0, :c1y 737.0, :c2x 310.0, :c2y 681.0, :x 264.0, :y 634.0}} + {:command :close-path :params {}}]) + +(def sample-bytes + [0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 -16 0 0 68 81 -64 0 + 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 -37 -128 0 68 72 -128 0 + 0 3 0 0 67 -72 0 0 68 56 64 0 67 -101 0 0 68 42 64 0 67 -124 0 0 68 30 -128 0 + 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]) + +;; This means it implements IReduceInit/IReduce protocols +(t/deftest path-data-to-vector + (let [pdata (path/path-data sample-content) + result (vec pdata)] + (t/is (= 4 (count result))) + (t/is (= (get-in sample-content [0 :command]) + (get-in result [0 :command]))) + (t/is (= (get-in sample-content [1 :command]) + (get-in result [1 :command]))) + (t/is (= (get-in sample-content [2 :command]) + (get-in result [2 :command]))) + (t/is (= (get-in sample-content [3 :command]) + (get-in result [3 :command]))) + + (t/is (= (get-in sample-content [0 :params]) + (get-in result [0 :params]))) + (t/is (= (get-in sample-content [1 :params]) + (get-in result [1 :params]))) + (t/is (= (get-in sample-content [2 :params]) + (get-in result [2 :params]))) + (t/is (= (get-in sample-content [3 :params]) + (get-in result [3 :params]))))) + +(t/deftest path-data-plain-to-binary + (let [pdata (path/path-data sample-content)] + (t/is (= sample-bytes + (vec + #?(:cljs (js/Int8Array. (.-buffer pdata)) + :clj (.array (.-buffer pdata)))))) + (t/is (= (->> sample-content + (mapv path/map->PathSegment)) + (vec pdata))))) + diff --git a/common/test/common_tests/types/tokens_lib_test.cljc b/common/test/common_tests/types/tokens_lib_test.cljc index 0a41f37e5c..ab660fcba9 100644 --- a/common/test/common_tests/types/tokens_lib_test.cljc +++ b/common/test/common_tests/types/tokens_lib_test.cljc @@ -120,7 +120,6 @@ (t/is (= ["Foo/Foo" "Foo/Baz" "Foo/Bar"] (move ["Foo"] ["Foo" "Foo"] ["Foo" "Baz"] false))) (t/is (= ["Foo/Baz" "Foo/Bar" "Foo/Foo"] (move ["Foo"] ["Foo" "Foo"] nil false)))))) - (t/deftest move-token-set-nested-2 (let [tokens-lib (-> (ctob/make-tokens-lib) (ctob/add-set (ctob/make-token-set :name "a/b")) @@ -220,7 +219,6 @@ (t/is (thrown-with-msg? #?(:cljs js/Error :clj Exception) #"expected valid params for token-theme" (ctob/make-token-theme params))))) - (t/deftest make-tokens-lib (let [tokens-lib (ctob/make-tokens-lib)] (t/is (= (ctob/set-count tokens-lib) 0)))) @@ -315,6 +313,58 @@ (t/is (= (:sets token-theme') #{})) (t/is (nil? token-set')))) +(t/deftest duplicate-token-set + (let [tokens-lib (-> (ctob/make-tokens-lib) + (ctob/add-set (ctob/make-token-set :name "test-token-set" + :tokens {"test-token" + (ctob/make-token :name "test-token" + :type :boolean + :value true)}))) + token-set-copy (ctob/duplicate-set "test-token-set" tokens-lib {:suffix "copy"}) + token (get-in token-set-copy [:tokens "test-token"])] + + (t/is (some? token-set-copy)) + (t/is (= (:name token-set-copy) "test-token-set-copy")) + (t/is (= (count (:tokens token-set-copy)) 1)) + (t/is (= (:name token) "test-token")))) + +(t/deftest duplicate-token-set-twice + (let [tokens-lib (-> (ctob/make-tokens-lib) + (ctob/add-set (ctob/make-token-set :name "test-token-set" + :tokens {"test-token" + (ctob/make-token :name "test-token" + :type :boolean + :value true)}))) + + tokens-lib (ctob/add-set tokens-lib (ctob/duplicate-set "test-token-set" tokens-lib {:suffix "copy"})) + + token-set-copy (ctob/duplicate-set "test-token-set" tokens-lib {:suffix "copy"}) + token (get-in token-set-copy [:tokens "test-token"])] + + (t/is (some? token-set-copy)) + (t/is (= (:name token-set-copy) "test-token-set-copy-2")) + (t/is (= (count (:tokens token-set-copy)) 1)) + (t/is (= (:name token) "test-token")))) + +(t/deftest duplicate-empty-token-set + (let [tokens-lib (-> (ctob/make-tokens-lib) + (ctob/add-set (ctob/make-token-set :name "test-token-set"))) + + token-set-copy (ctob/duplicate-set "test-token-set" tokens-lib {:suffix "copy"}) + tokens (get token-set-copy :tokens)] + + (t/is (some? token-set-copy)) + (t/is (= (:name token-set-copy) "test-token-set-copy")) + (t/is (= (count (:tokens token-set-copy)) 0)) + (t/is (= (count tokens) 0)))) + +(t/deftest duplicate-not-existing-token-set + (let [tokens-lib (ctob/make-tokens-lib) + + token-set-copy (ctob/duplicate-set "test-token-set" tokens-lib {:suffix "copy"})] + + (t/is (nil? token-set-copy)))) + (t/deftest active-themes-set-names (let [tokens-lib (-> (ctob/make-tokens-lib) (ctob/add-set (ctob/make-token-set :name "test-token-set"))) @@ -918,7 +968,6 @@ (t/is (dt/is-after? (:modified-at token-set') (:modified-at token-set))) (t/is (dt/is-after? (:modified-at token') (:modified-at token))))) - (t/deftest update-token-in-sets-rename (let [tokens-lib (-> (ctob/make-tokens-lib) (ctob/add-set (ctob/make-token-set :name "test-token-set")) @@ -1371,30 +1420,6 @@ (t/testing "invalid tokens got discarded" (t/is (nil? (get-set-token "typography" "H1.Bold"))))))) -#?(:clj - (t/deftest single-set-legacy-json-decoding - (let [json (-> (slurp "test/common_tests/types/data/legacy-single-set.json") - (tr/decode-str)) - lib (ctob/decode-single-set-legacy-json (ctob/ensure-tokens-lib nil) "single_set" json) - get-set-token (fn [set-name token-name] - (some-> (ctob/get-set lib set-name) - (ctob/get-token token-name)))] - (t/is (= '("single_set") (ctob/get-ordered-set-names lib))) - (t/testing "token added" - (t/is (some? (get-set-token "single_set" "color.red.100"))))))) - -#?(:clj - (t/deftest single-set-dtcg-json-decoding - (let [json (-> (slurp "test/common_tests/types/data/single-set.json") - (tr/decode-str)) - lib (ctob/decode-single-set-json (ctob/ensure-tokens-lib nil) "single_set" json) - get-set-token (fn [set-name token-name] - (some-> (ctob/get-set lib set-name) - (ctob/get-token token-name)))] - (t/is (= '("single_set") (ctob/get-ordered-set-names lib))) - (t/testing "token added" - (t/is (some? (get-set-token "single_set" "color.red.100"))))))) - #?(:clj (t/deftest dtcg-encoding-decoding-json (let [json (-> (slurp "test/common_tests/types/data/tokens-multi-set-example.json") diff --git a/common/test/common_tests/types/variant_test.cljc b/common/test/common_tests/types/variant_test.cljc new file mode 100644 index 0000000000..258b41e8a8 --- /dev/null +++ b/common/test/common_tests/types/variant_test.cljc @@ -0,0 +1,112 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns common-tests.types.variant-test + (:require + [app.common.types.variant :as ctv] + [clojure.test :as t])) + + +(t/deftest variant-distance01 + ;;c1: primary, default, rounded, blue, dark + ;;c2: primary, hover, squared, blue, dark + ;;c3: primary, default, squared, blue, light + + ;; I have a copy of c1, and I change from rounded to squared + ;; c2: 1 difference in pos 2 + ;; c3: 1 differences in pos 5 + ;; The min distance should be c3 + + (let [target [{:name "type" :value "primary"} + {:name "status" :value "default"} + {:name "borders" :value "squared"} + {:name "color" :value "blue"} + {:name "theme" :value "dark"}] + props2 [{:name "type" :value "primary"} + {:name "status" :value "hover"} + {:name "borders" :value "rounded"} + {:name "color" :value "blue"} + {:name "theme" :value "dark"}] + props3 [{:name "type" :value "primary"} + {:name "status" :value "default"} + {:name "borders" :value "rounded"} + {:name "color" :value "blue"} + {:name "theme" :value "light"}] + dist2 (ctv/distance target props2) + dist3 (ctv/distance target props3)] + (t/is (< dist3 dist2)))) + + +(t/deftest variant-distance02 + ;;c1: primary, default, rounded, blue, dark + ;;c2: primary, hover, squared, red, dark + ;;c3: secondary, hover, rounded, blue, dark + + ;; I have a copy of c1, and I change from default to hover + ;; c2: 2 differences in pos 3 and 4 + ;; c3: 1 differences in pos 1 + ;; The min distance should be c2 + + (let [target [{:name "type" :value "primary"} + {:name "status" :value "hover"} + {:name "borders" :value "rounded"} + {:name "color" :value "blue"} + {:name "theme" :value "dark"}] + props2 [{:name "type" :value "primary"} + {:name "status" :value "hover"} + {:name "borders" :value "squared"} + {:name "color" :value "red"} + {:name "theme" :value "dark"}] + props3 [{:name "type" :value "secondary"} + {:name "status" :value "hover"} + {:name "borders" :value "rounded"} + {:name "color" :value "blue"} + {:name "theme" :value "dark"}] + dist2 (ctv/distance target props2) + dist3 (ctv/distance target props3)] + (t/is (< dist2 dist3)))) + +(t/deftest variant-distance03 + ;;c1: primary, default, rounded, blue, dark + ;;c2: secondary, default, rounded, blue, light + ;;c3: secondary, hover, squared, blue, dark + ;;c4: secondary, hover, rounded, blue, dark + + ;; I have a copy of c1, and I change from primary to secondary + ;; c2: 1 difference in pos 4 + ;; c3: 2 differences in pos 1 and 2 + ;; c4: 1 difference in pos 1 + ;; The distances should be c2 < c4 < c3 + + (let [target [{:name "type" :value "secondary"} + {:name "status" :value "default"} + {:name "borders" :value "rounded"} + {:name "color" :value "blue"} + {:name "theme" :value "dark"}] + props2 [{:name "type" :value "secondary"} + {:name "status" :value "default"} + {:name "borders" :value "rounded"} + {:name "color" :value "blue"} + {:name "theme" :value "light"}] + props3 [{:name "type" :value "secondary"} + {:name "status" :value "hover"} + {:name "borders" :value "squared"} + {:name "color" :value "blue"} + {:name "theme" :value "dark"}] + props4 [{:name "type" :value "secondary"} + {:name "status" :value "hover"} + {:name "borders" :value "rounded"} + {:name "color" :value "blue"} + {:name "theme" :value "dark"}] + dist2 (ctv/distance target props2) + dist3 (ctv/distance target props3) + dist4 (ctv/distance target props4)] + (t/is (< dist2 dist4)) + (t/is (< dist4 dist3)))) + + + + diff --git a/common/test/common_tests/variant_test.cljc b/common/test/common_tests/variant_test.cljc new file mode 100644 index 0000000000..78ac25d097 --- /dev/null +++ b/common/test/common_tests/variant_test.cljc @@ -0,0 +1,108 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns common-tests.variant-test + (:require + [app.common.types.variant :as ctv] + [clojure.test :as t])) + +(t/deftest convert-between-variant-properties-maps-and-strings + (let [map-with-two-props [{:name "border" :value "yes"} {:name "color" :value "gray"}] + map-with-two-props-one-blank [{:name "border" :value "no"} {:name "color" :value ""}] + map-with-one-prop [{:name "border" :value "no"}] + map-with-spaces [{:name "border 1" :value "of course"} {:name "color 2" :value "dark gray"}] + + string-valid-with-two-props "border=yes, color=gray" + string-valid-with-one-prop "border=no" + string-valid-with-spaces "border 1=of course, color 2=dark gray" + string-invalid "border=yes, color="] + + (t/testing "convert map to string" + (t/is (= (ctv/properties-map-to-string map-with-two-props) string-valid-with-two-props)) + (t/is (= (ctv/properties-map-to-string map-with-two-props-one-blank) string-valid-with-one-prop)) + (t/is (= (ctv/properties-map-to-string map-with-spaces) string-valid-with-spaces))) + + (t/testing "convert string to map" + (t/is (= (ctv/properties-string-to-map string-valid-with-two-props) map-with-two-props)) + (t/is (= (ctv/properties-string-to-map string-valid-with-one-prop) map-with-one-prop)) + (t/is (= (ctv/properties-string-to-map string-valid-with-spaces) map-with-spaces))) + + (t/testing "check if a string is valid" + (t/is (= (ctv/valid-properties-string? string-valid-with-two-props) true)) + (t/is (= (ctv/valid-properties-string? string-valid-with-one-prop) true)) + (t/is (= (ctv/valid-properties-string? string-valid-with-spaces) true)) + (t/is (= (ctv/valid-properties-string? string-invalid) false))))) + + +(t/deftest find-properties + (let [prev-props [{:name "border" :value "yes"} {:name "color" :value "gray"}] + upd-props-1 [{:name "border" :value "yes"}] + upd-props-2 [{:name "border" :value "yes"} {:name "color" :value "blue"}] + upd-props-3 [{:name "border" :value "yes"} {:name "color" :value "gray"} {:name "shadow" :value "large"}] + upd-props-4 [{:name "color" :value "yellow"} {:name "shadow" :value "large"}]] + + (t/testing "a property to remove" + (t/is (= (ctv/find-properties-to-remove prev-props upd-props-1) + [{:name "color" :value "gray"}])) + (t/is (= (ctv/find-properties-to-update prev-props upd-props-1) + [])) + (t/is (= (ctv/find-properties-to-add prev-props upd-props-1) + []))) + + (t/testing "a property to update" + (t/is (= (ctv/find-properties-to-remove prev-props upd-props-2) + [])) + (t/is (= (ctv/find-properties-to-update prev-props upd-props-2) + [{:name "color" :value "blue"}])) + (t/is (= (ctv/find-properties-to-add prev-props upd-props-2) + []))) + + (t/testing "a property to add" + (t/is (= (ctv/find-properties-to-remove prev-props upd-props-3) + [])) + (t/is (= (ctv/find-properties-to-update prev-props upd-props-3) + [])) + (t/is (= (ctv/find-properties-to-add prev-props upd-props-3) + [{:name "shadow" :value "large"}]))) + + (t/testing "properties to remove, update & add" + (t/is (= (ctv/find-properties-to-remove prev-props upd-props-4) + [{:name "border" :value "yes"}])) + (t/is (= (ctv/find-properties-to-update prev-props upd-props-4) + [{:name "color" :value "yellow"}])) + (t/is (= (ctv/find-properties-to-add prev-props upd-props-4) + [{:name "shadow" :value "large"}]))) + + (t/testing "find property index" + (t/is (= (ctv/find-index-for-property-name prev-props "border") 0)) + (t/is (= (ctv/find-index-for-property-name prev-props "color") 1))))) + + +(t/deftest compare-properties + (let [props-1 [{:name "border" :value "yes"} {:name "color" :value "gray"}] + props-2 [{:name "border" :value "yes"} {:name "color" :value "red"}] + props-3 [{:name "border" :value "no"} {:name "color" :value "gray"}]] + + (t/testing "compare properties" + (t/is (= (ctv/compare-properties [props-1 props-2]) + [{:name "border" :value "yes"} {:name "color" :value nil}])) + (t/is (= (ctv/compare-properties [props-1 props-2 props-3]) + [{:name "border" :value nil} {:name "color" :value nil}])) + (t/is (= (ctv/compare-properties [props-1 props-2 props-3] "&") + [{:name "border" :value "&"} {:name "color" :value "&"}]))))) + + +(t/deftest check-belong-same-variant + (let [components-1 [{:variant-id "a variant"} {:variant-id "a variant"}] + components-2 [{:variant-id "a variant"} {:variant-id "another variant"}] + components-3 [{:variant-id "a variant"} {}] + components-4 [{} {}]] + + (t/testing "check-belong-same-variant" + (t/is (= (ctv/same-variant? components-1) true)) + (t/is (= (ctv/same-variant? components-2) false)) + (t/is (= (ctv/same-variant? components-3) false)) + (t/is (= (ctv/same-variant? components-4) false))))) diff --git a/docker/devenv/Dockerfile b/docker/devenv/Dockerfile index 29b6e7c544..d9105fbe49 100644 --- a/docker/devenv/Dockerfile +++ b/docker/devenv/Dockerfile @@ -1,15 +1,16 @@ -FROM debian:bookworm +FROM ubuntu:24.04 LABEL maintainer="Penpot " ARG DEBIAN_FRONTEND=noninteractive -ENV NODE_VERSION=v22.13.1 \ +ENV NODE_VERSION=v22.14.0 \ CLOJURE_VERSION=1.12.0.1501 \ CLJKONDO_VERSION=2025.01.16 \ BABASHKA_VERSION=1.12.196 \ CLJFMT_VERSION=0.13.0 \ RUSTUP_VERSION=1.27.1 \ RUST_VERSION=1.85.0 \ + EMSCRIPTEN_VERSION=4.0.6 \ LANG=en_US.UTF-8 \ LC_ALL=en_US.UTF-8 @@ -45,7 +46,7 @@ RUN set -ex; \ rm -rf /var/lib/apt/lists/*; RUN set -ex; \ - useradd -m -g users -s /bin/bash penpot; \ + usermod -l penpot -d /home/penpot -G users -s /bin/bash ubuntu; \ passwd penpot -d; \ echo "penpot ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers @@ -63,8 +64,6 @@ RUN set -ex; \ woff-tools \ woff2 \ fontforge \ - gconf-service \ - libasound2 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcairo2 \ @@ -73,7 +72,6 @@ RUN set -ex; \ libexpat1 \ libfontconfig1 \ libgcc1 \ - libgconf-2-4 \ libgdk-pixbuf2.0-0 \ libglib2.0-0 \ libgtk-3-0 \ @@ -95,7 +93,6 @@ RUN set -ex; \ libxss1 \ libxtst6 \ fonts-liberation \ - libappindicator1 \ libnss3 \ libgbm1 \ xvfb \ @@ -107,12 +104,12 @@ RUN set -eux; \ ARCH="$(dpkg --print-architecture)"; \ case "${ARCH}" in \ aarch64|arm64) \ - ESUM='fb43ae1202402842559cb6223886ec1663b90ffbec48479abbcb92c92c9012eb'; \ - BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23.0.2%2B7/OpenJDK23U-jdk_aarch64_linux_hotspot_23.0.2_7.tar.gz'; \ + ESUM='18071047526ab4b53131f9bb323e8703485ae37fcb2f2c5ef0f1b7bab66d1b94'; \ + BINARY_URL='https://github.com/adoptium/temurin24-binaries/releases/download/jdk-24%2B36/OpenJDK24U-jdk_aarch64_linux_hotspot_24_36.tar.gz'; \ ;; \ amd64|x86_64) \ - ESUM='870ac8c05c6fe563e7a3878a47d0234b83c050e83651d2c47e8b822ec74512dd'; \ - BINARY_URL='https://github.com/adoptium/temurin23-binaries/releases/download/jdk-23.0.2%2B7/OpenJDK23U-jdk_x64_linux_hotspot_23.0.2_7.tar.gz'; \ + ESUM='c340dee97b6aa215d248bc196dcac5b56e7be9b5c5d45e691344d40d5d0b171d'; \ + BINARY_URL='https://github.com/adoptium/temurin24-binaries/releases/download/jdk-24%2B36/OpenJDK24U-jdk_x64_linux_hotspot_24_36.tar.gz'; \ ;; \ *) \ echo "Unsupported arch: ${ARCH}"; \ @@ -137,7 +134,7 @@ RUN set -ex; \ RUN set -ex; \ install -d /usr/share/postgresql-common/pgdg; \ curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc; \ - echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" >> /etc/apt/sources.list.d/postgresql.list; \ + echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt noble-pgdg main" >> /etc/apt/sources.list.d/postgresql.list; \ apt-get -qq update; \ apt-get -qqy install postgresql-client-16; \ rm -rf /var/lib/apt/lists/*; @@ -273,8 +270,8 @@ WORKDIR /usr/local RUN set -eux; \ git clone https://github.com/emscripten-core/emsdk.git; \ cd emsdk; \ - ./emsdk install latest; \ - ./emsdk activate latest; \ + ./emsdk install $EMSCRIPTEN_VERSION; \ + ./emsdk activate $EMSCRIPTEN_VERSION; \ rustup target add wasm32-unknown-emscripten; WORKDIR /home diff --git a/docker/devenv/docker-compose.yaml b/docker/devenv/docker-compose.yaml index ff2e8dcf61..796618e9c2 100644 --- a/docker/devenv/docker-compose.yaml +++ b/docker/devenv/docker-compose.yaml @@ -68,7 +68,7 @@ services: - PENPOT_LDAP_ATTRS_PHOTO=jpegPhoto minio: - image: "minio/minio:RELEASE.2023-11-11T08-14-41Z" + image: "minio/minio:RELEASE.2025-04-03T14-56-28Z" command: minio server /mnt/data --console-address ":9001" volumes: @@ -83,7 +83,7 @@ services: - 9001:9001 postgres: - image: postgres:16 + image: postgres:16.8 command: postgres -c config_file=/etc/postgresql.conf restart: always stop_signal: SIGINT diff --git a/exporter/package.json b/exporter/package.json index 7ab00e7701..0361d3b1e5 100644 --- a/exporter/package.json +++ b/exporter/package.json @@ -18,7 +18,7 @@ "luxon": "^3.5.0", "playwright": "^1.50.0", "raw-body": "^3.0.0", - "svgo": "penpot/svgo#v3", + "svgo": "penpot/svgo#v3.1", "xml-js": "^1.6.11", "xregexp": "^5.1.1" }, diff --git a/exporter/yarn.lock b/exporter/yarn.lock index 2364d4cea6..3c86f61390 100644 --- a/exporter/yarn.lock +++ b/exporter/yarn.lock @@ -620,13 +620,13 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^3.0.0": - version: 3.0.0 - resolution: "css-tree@npm:3.0.0" +"css-tree@npm:^3.1.0": + version: 3.1.0 + resolution: "css-tree@npm:3.1.0" dependencies: - mdn-data: "npm:2.10.0" + mdn-data: "npm:2.12.2" source-map-js: "npm:^1.0.1" - checksum: 10c0/43d44fdf7004ae91d73d486f17894fef77efa33747a6752b9241cf0f5fb47fabc16ec34a96a993651d9014dfdeee803d7c5fcd3548214252ee19f4e5c98999b2 + checksum: 10c0/b5715852c2f397c715ca00d56ec53fc83ea596295ae112eb1ba6a1bda3b31086380e596b1d8c4b980fe6da09e7d0fc99c64d5bb7313030dd0fba9c1415f30979 languageName: node linkType: hard @@ -898,7 +898,7 @@ __metadata: raw-body: "npm:^3.0.0" shadow-cljs: "npm:2.28.20" source-map-support: "npm:^0.5.21" - svgo: "penpot/svgo#v3" + svgo: "penpot/svgo#v3.1" xml-js: "npm:^1.6.11" xregexp: "npm:^5.1.1" languageName: unknown @@ -1383,10 +1383,10 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.10.0": - version: 2.10.0 - resolution: "mdn-data@npm:2.10.0" - checksum: 10c0/f6f1a6a6eb092bab250d06f6f6c7cb1733a77a17e7119aac829ad67d4322bbf6a30df3c6d88686e71942e66bd49274b2ddfede22a1d3df0d6c49a56fbd09eb7c +"mdn-data@npm:2.12.2": + version: 2.12.2 + resolution: "mdn-data@npm:2.12.2" + checksum: 10c0/b22443b71d70f72ccc3c6ba1608035431a8fc18c3c8fc53523f06d20e05c2ac10f9b53092759a2ca85cf02f0d37036f310b581ce03e7b99ac74d388ef8152ade languageName: node linkType: hard @@ -2286,16 +2286,16 @@ __metadata: languageName: node linkType: hard -"svgo@penpot/svgo#v3": +"svgo@penpot/svgo#v3.1": version: 4.0.0 - resolution: "svgo@https://github.com/penpot/svgo.git#commit=71c0db44c3c2665f2ffc0c4c5383acaebd5c524f" + resolution: "svgo@https://github.com/penpot/svgo.git#commit=a46262c12c0d967708395972c374eb2adead4180" dependencies: "@trysound/sax": "npm:0.2.0" css-select: "npm:^5.1.0" - css-tree: "npm:^3.0.0" + css-tree: "npm:^3.1.0" csso: "npm:^5.0.5" lodash: "npm:^4.17.21" - checksum: 10c0/642c583372a610e484382cbf8a8fe28256dd354598d2e65ade2a3a63bf841b4d3dab4106f929f183ae3610007db2fc1413e82acc23793fe1a2e882bc923acc72 + checksum: 10c0/87a51a0cd1168a31c07ddfa9ffa544d0cad1412b3549dc20146143a179c66e36420a88ae40221cdb23146775876d684b47972663b08b3f62335eb4f98773677e languageName: node linkType: hard diff --git a/frontend/deps.edn b/frontend/deps.edn index f0855a69cd..24ea5efa50 100644 --- a/frontend/deps.edn +++ b/frontend/deps.edn @@ -49,6 +49,6 @@ cider/cider-nrepl {:mvn/version "0.48.0"}}} :shadow-cljs - {:main-opts ["-m" "shadow.cljs.devtools.cli"]} - + {:main-opts ["-m" "shadow.cljs.devtools.cli"] + :jvm-opts ["--sun-misc-unsafe-memory-access=allow" "-Dpenpot.wasm.profile-marks=true"]} }} diff --git a/frontend/package.json b/frontend/package.json index ba740928eb..983eb966ca 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -103,9 +103,9 @@ "@penpot/draft-js": "portal:./vendor/draft-js", "@penpot/hljs": "portal:./vendor/hljs", "@penpot/mousetrap": "portal:./vendor/mousetrap", - "@penpot/svgo": "penpot/svgo#c6fba7a4dcfbc27b643e7fc0c94fc98cf680b77b", + "@penpot/svgo": "penpot/svgo#v3.1", "@penpot/text-editor": "portal:./text-editor", - "@tokens-studio/sd-transforms": "^0.16.1", + "@tokens-studio/sd-transforms": "1.2.11", "compression": "^1.7.5", "date-fns": "^4.1.0", "eventsource-parser": "^3.0.0", @@ -124,7 +124,7 @@ "rxjs": "8.0.0-alpha.14", "sax": "^1.4.1", "source-map-support": "^0.5.21", - "style-dictionary": "4.0.0-prerelease.36", + "style-dictionary": "5.0.0-rc.1", "tdigest": "^0.1.2", "tinycolor2": "^1.6.0", "ua-parser-js": "2.0.0", diff --git a/frontend/playwright/data/get-teams-render-wasm.json b/frontend/playwright/data/get-teams-render-wasm.json new file mode 100644 index 0000000000..589e3d160a --- /dev/null +++ b/frontend/playwright/data/get-teams-render-wasm.json @@ -0,0 +1,26 @@ +[ + { + "~:features": { + "~#set": [ + "render-wasm", + "layout/grid", + "styles/v2", + "fdata/pointer-map", + "fdata/objects-map", + "components/v2", + "fdata/shape-data-type" + ] + }, + "~:permissions": { + "~:type": "~:membership", + "~:is-owner": true, + "~:is-admin": true, + "~:can-edit": true + }, + "~:name": "Default", + "~:modified-at": "~m1713533116375", + "~:id": "~uc7ce0794-0992-8105-8004-38e630f7920a", + "~:created-at": "~m1713533116375", + "~:is-default": true + } +] diff --git a/frontend/playwright/data/get-teams-variants.json b/frontend/playwright/data/get-teams-variants.json new file mode 100644 index 0000000000..50b323d047 --- /dev/null +++ b/frontend/playwright/data/get-teams-variants.json @@ -0,0 +1,26 @@ +[ + { + "~:features": { + "~#set": [ + "variants/v1", + "layout/grid", + "styles/v2", + "fdata/pointer-map", + "fdata/objects-map", + "components/v2", + "fdata/shape-data-type" + ] + }, + "~:permissions": { + "~:type": "~:membership", + "~:is-owner": true, + "~:is-admin": true, + "~:can-edit": true + }, + "~:name": "Default", + "~:modified-at": "~m1713533116375", + "~:id": "~uc7ce0794-0992-8105-8004-38e630f7920a", + "~:created-at": "~m1713533116375", + "~:is-default": true + } +] \ No newline at end of file diff --git a/frontend/playwright/data/workspace/get-file-tokens.json b/frontend/playwright/data/workspace/get-file-tokens.json index 84143b7a4e..d10f306b4c 100644 --- a/frontend/playwright/data/workspace/get-file-tokens.json +++ b/frontend/playwright/data/workspace/get-file-tokens.json @@ -53,7 +53,7 @@ { "~#penpot/token-set": { "~:name": "core", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498283", "~:tokens": { "~#ordered-map": [ @@ -64,7 +64,7 @@ "~:name": "colors.red.600", "~:type": "~:color", "~:value": "#e53e3e", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -76,7 +76,7 @@ "~:name": "colors.white", "~:type": "~:color", "~:value": "#ffffff", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -88,7 +88,7 @@ "~:name": "colors.pink.400", "~:type": "~:color", "~:value": "#f687b3", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -100,7 +100,7 @@ "~:name": "colors.blue.300", "~:type": "~:color", "~:value": "#90cdf4", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -112,7 +112,7 @@ "~:name": "colors.red.700", "~:type": "~:color", "~:value": "#c53030", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -124,7 +124,7 @@ "~:name": "colors.pink.800", "~:type": "~:color", "~:value": "#97266d", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -136,7 +136,7 @@ "~:name": "colors.green.100", "~:type": "~:color", "~:value": "#f0fff4", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -148,7 +148,7 @@ "~:name": "colors.blue.100", "~:type": "~:color", "~:value": "#ebf8ff", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -160,7 +160,7 @@ "~:name": "colors.green.800", "~:type": "~:color", "~:value": "#276749", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498280" } } @@ -172,7 +172,7 @@ "~:name": "colors.indigo.500", "~:type": "~:color", "~:value": "#667eea", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -184,7 +184,7 @@ "~:name": "dimension.sm", "~:type": "~:dimensions", "~:value": "{dimension.xs} * {dimension.scale}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498276" } } @@ -196,7 +196,7 @@ "~:name": "colors.purple.900", "~:type": "~:color", "~:value": "#44337a", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -208,7 +208,7 @@ "~:name": "colors.orange.200", "~:type": "~:color", "~:value": "#feebc8", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -220,7 +220,7 @@ "~:name": "colors.teal.700", "~:type": "~:color", "~:value": "#2c7a7b", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -232,7 +232,7 @@ "~:name": "colors.green.300", "~:type": "~:color", "~:value": "#9ae6b4", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -244,7 +244,7 @@ "~:name": "colors.pink.600", "~:type": "~:color", "~:value": "#d53f8c", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -256,7 +256,7 @@ "~:name": "colors.yellow.200", "~:type": "~:color", "~:value": "#fefcbf", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -268,7 +268,7 @@ "~:name": "colors.yellow.800", "~:type": "~:color", "~:value": "#975a16", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -280,7 +280,7 @@ "~:name": "colors.teal.200", "~:type": "~:color", "~:value": "#b2f5ea", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -292,7 +292,7 @@ "~:name": "colors.teal.500", "~:type": "~:color", "~:value": "#38b2ac", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -304,7 +304,7 @@ "~:name": "colors.blue.200", "~:type": "~:color", "~:value": "#bee3f8", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -316,7 +316,7 @@ "~:name": "colors.green.600", "~:type": "~:color", "~:value": "#38a169", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -328,7 +328,7 @@ "~:name": "colors.indigo.400", "~:type": "~:color", "~:value": "#7f9cf5", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -340,7 +340,7 @@ "~:name": "colors.purple.600", "~:type": "~:color", "~:value": "#805ad5", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -352,7 +352,7 @@ "~:name": "colors.purple.400", "~:type": "~:color", "~:value": "#b794f4", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -364,7 +364,7 @@ "~:name": "colors.indigo.900", "~:type": "~:color", "~:value": "#3c366b", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -376,7 +376,7 @@ "~:name": "spacing.lg", "~:type": "~:spacing", "~:value": "{dimension.lg}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -388,7 +388,7 @@ "~:name": "colors.purple.300", "~:type": "~:color", "~:value": "#d6bcfa", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -400,7 +400,7 @@ "~:name": "colors.yellow.500", "~:type": "~:color", "~:value": "#ecc94b", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -412,7 +412,7 @@ "~:name": "opacity.md", "~:type": "~:opacity", "~:value": "50%", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498283" } } @@ -424,7 +424,7 @@ "~:name": "colors.purple.800", "~:type": "~:color", "~:value": "#553c9a", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -436,7 +436,7 @@ "~:name": "colors.yellow.900", "~:type": "~:color", "~:value": "#744210", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -448,7 +448,7 @@ "~:name": "dimension.xl", "~:type": "~:dimensions", "~:value": "{dimension.lg} * {dimension.scale}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498276" } } @@ -460,7 +460,7 @@ "~:name": "colors.yellow.700", "~:type": "~:color", "~:value": "#b7791f", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -472,7 +472,7 @@ "~:name": "colors.green.900", "~:type": "~:color", "~:value": "#22543d", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498280" } } @@ -484,7 +484,7 @@ "~:name": "spacing.md", "~:type": "~:spacing", "~:value": "{dimension.md}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -496,7 +496,7 @@ "~:name": "colors.red.200", "~:type": "~:color", "~:value": "#fed7d7", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -508,7 +508,7 @@ "~:name": "colors.orange.600", "~:type": "~:color", "~:value": "#dd6b20", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -520,7 +520,7 @@ "~:name": "dimension.scale", "~:type": "~:dimensions", "~:value": "2", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498276" } } @@ -532,7 +532,7 @@ "~:name": "colors.red.800", "~:type": "~:color", "~:value": "#9b2c2c", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -544,7 +544,7 @@ "~:name": "colors.red.300", "~:type": "~:color", "~:value": "#feb2b2", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -556,7 +556,7 @@ "~:name": "dimension.md", "~:type": "~:dimensions", "~:value": "{dimension.sm} * {dimension.scale}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498276" } } @@ -568,7 +568,7 @@ "~:name": "colors.gray.600", "~:type": "~:color", "~:value": "#718096", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -580,7 +580,7 @@ "~:name": "colors.pink.100", "~:type": "~:color", "~:value": "#fff5f7", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -592,7 +592,7 @@ "~:name": "colors.yellow.300", "~:type": "~:color", "~:value": "#faf089", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -604,7 +604,7 @@ "~:name": "colors.orange.800", "~:type": "~:color", "~:value": "#9c4221", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -616,7 +616,7 @@ "~:name": "colors.indigo.700", "~:type": "~:color", "~:value": "#4c51bf", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -628,7 +628,7 @@ "~:name": "colors.yellow.400", "~:type": "~:color", "~:value": "#f6e05e", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -640,7 +640,7 @@ "~:name": "opacity.low", "~:type": "~:opacity", "~:value": "10%", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498283" } } @@ -652,7 +652,7 @@ "~:name": "colors.indigo.200", "~:type": "~:color", "~:value": "#c3dafe", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -664,7 +664,7 @@ "~:name": "colors.blue.900", "~:type": "~:color", "~:value": "#2a4365", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -676,7 +676,7 @@ "~:name": "colors.gray.500", "~:type": "~:color", "~:value": "#a0aec0", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -688,7 +688,7 @@ "~:name": "colors.red.400", "~:type": "~:color", "~:value": "#fc8181", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -700,7 +700,7 @@ "~:name": "colors.teal.800", "~:type": "~:color", "~:value": "#285e61", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -712,7 +712,7 @@ "~:name": "colors.gray.300", "~:type": "~:color", "~:value": "#e2e8f0", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -724,7 +724,7 @@ "~:name": "colors.teal.600", "~:type": "~:color", "~:value": "#319795", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -736,7 +736,7 @@ "~:name": "colors.red.500", "~:type": "~:color", "~:value": "#f56565", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -748,7 +748,7 @@ "~:name": "colors.teal.400", "~:type": "~:color", "~:value": "#4fd1c5", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -760,7 +760,7 @@ "~:name": "borderRadius.lg", "~:type": "~:border-radius", "~:value": "8", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -772,7 +772,7 @@ "~:name": "colors.gray.200", "~:type": "~:color", "~:value": "#edf2f7", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -784,7 +784,7 @@ "~:name": "colors.red.900", "~:type": "~:color", "~:value": "#742a2a", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -796,7 +796,7 @@ "~:name": "colors.gray.900", "~:type": "~:color", "~:value": "#1a202c", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -808,7 +808,7 @@ "~:name": "colors.pink.700", "~:type": "~:color", "~:value": "#b83280", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -820,7 +820,7 @@ "~:name": "colors.green.200", "~:type": "~:color", "~:value": "#c6f6d5", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -832,7 +832,7 @@ "~:name": "colors.pink.500", "~:type": "~:color", "~:value": "#ed64a6", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -844,7 +844,7 @@ "~:name": "colors.yellow.600", "~:type": "~:color", "~:value": "#d69e2e", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -856,7 +856,7 @@ "~:name": "colors.orange.700", "~:type": "~:color", "~:value": "#c05621", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -868,7 +868,7 @@ "~:name": "colors.teal.100", "~:type": "~:color", "~:value": "#e6fffa", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498280" } } @@ -880,7 +880,7 @@ "~:name": "colors.gray.800", "~:type": "~:color", "~:value": "#2d3748", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -892,7 +892,7 @@ "~:name": "colors.orange.300", "~:type": "~:color", "~:value": "#fbd38d", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -904,7 +904,7 @@ "~:name": "colors.orange.100", "~:type": "~:color", "~:value": "#fffaf0", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -916,7 +916,7 @@ "~:name": "colors.purple.700", "~:type": "~:color", "~:value": "#6b46c1", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -928,7 +928,7 @@ "~:name": "dimension.lg", "~:type": "~:dimensions", "~:value": "{dimension.md} * {dimension.scale}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498276" } } @@ -940,7 +940,7 @@ "~:name": "colors.gray.400", "~:type": "~:color", "~:value": "#cbd5e0", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -952,7 +952,7 @@ "~:name": "colors.indigo.100", "~:type": "~:color", "~:value": "#ebf4ff", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -964,7 +964,7 @@ "~:name": "colors.green.500", "~:type": "~:color", "~:value": "#48bb78", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -976,7 +976,7 @@ "~:name": "colors.pink.300", "~:type": "~:color", "~:value": "#fbb6ce", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -988,7 +988,7 @@ "~:name": "colors.pink.900", "~:type": "~:color", "~:value": "#702459", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -1000,7 +1000,7 @@ "~:name": "colors.purple.200", "~:type": "~:color", "~:value": "#e9d8fd", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -1012,7 +1012,7 @@ "~:name": "colors.purple.500", "~:type": "~:color", "~:value": "#9f7aea", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -1024,7 +1024,7 @@ "~:name": "colors.green.700", "~:type": "~:color", "~:value": "#2f855a", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -1036,7 +1036,7 @@ "~:name": "colors.indigo.800", "~:type": "~:color", "~:value": "#434190", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -1048,7 +1048,7 @@ "~:name": "colors.blue.700", "~:type": "~:color", "~:value": "#2b6cb0", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -1060,7 +1060,7 @@ "~:name": "borderRadius.sm", "~:type": "~:border-radius", "~:value": "4", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -1072,7 +1072,7 @@ "~:name": "colors.black", "~:type": "~:color", "~:value": "#000000", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -1084,7 +1084,7 @@ "~:name": "opacity.high", "~:type": "~:opacity", "~:value": "90%", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498283" } } @@ -1096,7 +1096,7 @@ "~:name": "colors.blue.800", "~:type": "~:color", "~:value": "#2c5282", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -1108,7 +1108,7 @@ "~:name": "colors.orange.400", "~:type": "~:color", "~:value": "#f6ad55", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -1120,7 +1120,7 @@ "~:name": "colors.pink.200", "~:type": "~:color", "~:value": "#fed7e2", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -1132,7 +1132,7 @@ "~:name": "colors.gray.100", "~:type": "~:color", "~:value": "#f7fafc", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -1144,7 +1144,7 @@ "~:name": "spacing.xl", "~:type": "~:spacing", "~:value": "{dimension.xl}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -1156,7 +1156,7 @@ "~:name": "dimension.xs", "~:type": "~:dimensions", "~:value": "4", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498276" } } @@ -1168,7 +1168,7 @@ "~:name": "colors.teal.900", "~:type": "~:color", "~:value": "#234e52", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -1180,7 +1180,7 @@ "~:name": "colors.teal.300", "~:type": "~:color", "~:value": "#81e6d9", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -1192,7 +1192,7 @@ "~:name": "colors.blue.500", "~:type": "~:color", "~:value": "#4299e1", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -1204,7 +1204,7 @@ "~:name": "borderRadius.xl", "~:type": "~:border-radius", "~:value": "16", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -1216,7 +1216,7 @@ "~:name": "colors.green.400", "~:type": "~:color", "~:value": "#68d391", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -1228,7 +1228,7 @@ "~:name": "colors.indigo.300", "~:type": "~:color", "~:value": "#a3bffa", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -1240,7 +1240,7 @@ "~:name": "colors.red.100", "~:type": "~:color", "~:value": "#fff5f5", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -1252,7 +1252,7 @@ "~:name": "colors.orange.900", "~:type": "~:color", "~:value": "#7b341e", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -1264,7 +1264,7 @@ "~:name": "colors.purple.100", "~:type": "~:color", "~:value": "#faf5ff", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -1276,7 +1276,7 @@ "~:name": "spacing.xs", "~:type": "~:spacing", "~:value": "{dimension.xs}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498276" } } @@ -1288,7 +1288,7 @@ "~:name": "colors.indigo.600", "~:type": "~:color", "~:value": "#5a67d8", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498282" } } @@ -1300,7 +1300,7 @@ "~:name": "colors.gray.700", "~:type": "~:color", "~:value": "#4a5568", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -1312,7 +1312,7 @@ "~:name": "colors.blue.400", "~:type": "~:color", "~:value": "#63b3ed", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -1324,7 +1324,7 @@ "~:name": "spacing.sm", "~:type": "~:spacing", "~:value": "{dimension.sm}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498277" } } @@ -1336,7 +1336,7 @@ "~:name": "colors.orange.500", "~:type": "~:color", "~:value": "#ed8936", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498278" } } @@ -1348,7 +1348,7 @@ "~:name": "colors.yellow.100", "~:type": "~:color", "~:value": "#fffff0", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498279" } } @@ -1360,7 +1360,7 @@ "~:name": "colors.blue.600", "~:type": "~:color", "~:value": "#3182ce", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498281" } } @@ -1379,7 +1379,7 @@ { "~#penpot/token-set": { "~:name": "LightDark/light", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498290", "~:tokens": { "~#ordered-map": [ @@ -1390,7 +1390,7 @@ "~:name": "accent.default", "~:type": "~:color", "~:value": "{colors.indigo.400}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498290" } } @@ -1402,7 +1402,7 @@ "~:name": "bg.muted", "~:type": "~:color", "~:value": "{colors.gray.100}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498290" } } @@ -1414,7 +1414,7 @@ "~:name": "bg.subtle", "~:type": "~:color", "~:value": "{colors.gray.200}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498290" } } @@ -1426,7 +1426,7 @@ "~:name": "accent.bg", "~:type": "~:color", "~:value": "{colors.indigo.200}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498290" } } @@ -1438,7 +1438,7 @@ "~:name": "accent.onAccent", "~:type": "~:color", "~:value": "{colors.white}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498290" } } @@ -1450,7 +1450,7 @@ "~:name": "shadows.default", "~:type": "~:color", "~:value": "{colors.gray.900}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498290" } } @@ -1462,7 +1462,7 @@ "~:name": "fg.muted", "~:type": "~:color", "~:value": "{colors.gray.700}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498289" } } @@ -1474,7 +1474,7 @@ "~:name": "fg.default", "~:type": "~:color", "~:value": "{colors.black}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498289" } } @@ -1486,7 +1486,7 @@ "~:name": "fg.subtle", "~:type": "~:color", "~:value": "{colors.gray.500}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498290" } } @@ -1498,7 +1498,7 @@ "~:name": "bg.default", "~:type": "~:color", "~:value": "{colors.white}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498290" } } @@ -1514,7 +1514,7 @@ { "~#penpot/token-set": { "~:name": "LightDark/dark", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291", "~:tokens": { "~#ordered-map": [ @@ -1525,7 +1525,7 @@ "~:name": "accent.default", "~:type": "~:color", "~:value": "{colors.indigo.600}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1537,7 +1537,7 @@ "~:name": "bg.muted", "~:type": "~:color", "~:value": "{colors.gray.700}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1549,7 +1549,7 @@ "~:name": "bg.subtle", "~:type": "~:color", "~:value": "{colors.gray.600}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1561,7 +1561,7 @@ "~:name": "accent.bg", "~:type": "~:color", "~:value": "{colors.indigo.800}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1573,7 +1573,7 @@ "~:name": "accent.onAccent", "~:type": "~:color", "~:value": "{colors.white}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1585,7 +1585,7 @@ "~:name": "shadows.default", "~:type": "~:color", "~:value": "rgba({colors.black}, 0.3)", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1597,7 +1597,7 @@ "~:name": "fg.muted", "~:type": "~:color", "~:value": "{colors.gray.300}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1609,7 +1609,7 @@ "~:name": "fg.default", "~:type": "~:color", "~:value": "{colors.white}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1621,7 +1621,7 @@ "~:name": "fg.subtle", "~:type": "~:color", "~:value": "{colors.gray.500}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1633,7 +1633,7 @@ "~:name": "bg.default", "~:type": "~:color", "~:value": "{colors.gray.900}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498291" } } @@ -1651,7 +1651,7 @@ { "~#penpot/token-set": { "~:name": "theme", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498292", "~:tokens": { "~#ordered-map": [ @@ -1662,7 +1662,7 @@ "~:name": "button.primary.background", "~:type": "~:color", "~:value": "{accent.default}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498292" } } @@ -1674,7 +1674,7 @@ "~:name": "button.primary.text", "~:type": "~:color", "~:value": "{accent.onAccent}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498292" } } @@ -1686,7 +1686,7 @@ "~:name": "button.borderRadius", "~:type": "~:border-radius", "~:value": "{borderRadius.lg}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498292" } } @@ -1698,7 +1698,7 @@ "~:name": "card.borderRadius", "~:type": "~:border-radius", "~:value": "{borderRadius.lg}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498292" } } @@ -1710,7 +1710,7 @@ "~:name": "card.background", "~:type": "~:color", "~:value": "{bg.default}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498292" } } @@ -1722,7 +1722,7 @@ "~:name": "card.padding", "~:type": "~:dimensions", "~:value": "{dimension.md}", - "~:description": null, + "~:description": "", "~:modified-at": "~m1737542498292" } } @@ -1746,7 +1746,7 @@ "~#penpot/token-theme": { "~:name": "Light", "~:group": "Core", - "~:description": null, + "~:description": "", "~:is-source": false, "~:id": "core-light", "~:modified-at": "~m1737542746842", @@ -1762,7 +1762,7 @@ "~#penpot/token-theme": { "~:name": "Dark", "~:group": "Core", - "~:description": null, + "~:description": "", "~:is-source": false, "~:id": "core-dark", "~:modified-at": "~m1737542746842", @@ -1785,7 +1785,7 @@ "~#penpot/token-theme": { "~:name": "__PENPOT__HIDDEN__TOKEN__THEME__", "~:group": "", - "~:description": null, + "~:description": "", "~:is-source": false, "~:id": "hidden-theme", "~:modified-at": "~m1737542683555", diff --git a/frontend/playwright/data/workspace/get-team-variants.json b/frontend/playwright/data/workspace/get-team-variants.json new file mode 100644 index 0000000000..2ac6097bdc --- /dev/null +++ b/frontend/playwright/data/workspace/get-team-variants.json @@ -0,0 +1,24 @@ +{ + "~:features": { + "~#set": [ + "variants/v1", + "layout/grid", + "styles/v2", + "fdata/pointer-map", + "fdata/objects-map", + "components/v2", + "fdata/shape-data-type" + ] + }, + "~:permissions": { + "~:type": "~:membership", + "~:is-owner": true, + "~:is-admin": true, + "~:can-edit": true + }, + "~:name": "Default", + "~:modified-at": "~m1713533116375", + "~:id": "~uc7ce0794-0992-8105-8004-38e630f40f6d", + "~:created-at": "~m1713533116375", + "~:is-default": true +} \ No newline at end of file diff --git a/frontend/playwright/ui/pages/WorkspacePage.js b/frontend/playwright/ui/pages/WorkspacePage.js index 3fc9b42db0..6e79fa686a 100644 --- a/frontend/playwright/ui/pages/WorkspacePage.js +++ b/frontend/playwright/ui/pages/WorkspacePage.js @@ -70,6 +70,7 @@ export class WorkspacePage extends BaseWebSocketPage { ); this.toolbarOptions = page.getByTestId("toolbar-options"); this.rectShapeButton = page.getByRole("button", { name: "Rectangle (R)" }); + this.ellipseShapeButton = page.getByRole("button", { name: "Ellipse (E)" }); this.moveButton = page.getByRole("button", { name: "Move (V)" }); this.boardButton = page.getByRole("button", { name: "Board (B)" }); this.toggleToolbarButton = page.getByRole("button", { @@ -198,6 +199,13 @@ export class WorkspacePage extends BaseWebSocketPage { await this.page.mouse.up(); } + async clickAt(x, y) { + await this.page.waitForTimeout(100); + await this.viewport.hover({ position: { x, y } }); + await this.page.mouse.down(); + await this.page.mouse.up(); + } + async panOnViewportAt(x, y, width, height) { await this.page.waitForTimeout(100); await this.viewport.hover({ position: { x, y } }); diff --git a/frontend/playwright/ui/specs/render-wasm.spec.js b/frontend/playwright/ui/specs/render-wasm.spec.js new file mode 100644 index 0000000000..abf8fae464 --- /dev/null +++ b/frontend/playwright/ui/specs/render-wasm.spec.js @@ -0,0 +1,23 @@ +import { test, expect } from "@playwright/test"; +import { WorkspacePage } from "../pages/WorkspacePage"; +import { BaseWebSocketPage } from "../pages/BaseWebSocketPage"; + +test.beforeEach(async ({ page }) => { + await WorkspacePage.init(page); + await BaseWebSocketPage.mockRPC( + page, + "get-teams", + "get-teams-render-wasm.json", + ); +}); + +test("BUG 10867 - Crash when loading comments", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await workspacePage.setupEmptyFile(); + await workspacePage.goToWorkspace(); + + await workspacePage.showComments(); + await expect( + workspacePage.rightSidebar.getByText("Show all comments"), + ).toBeVisible(); +}); diff --git a/frontend/playwright/ui/specs/tokens.spec.js b/frontend/playwright/ui/specs/tokens.spec.js index 73e8488316..e717b77e36 100644 --- a/frontend/playwright/ui/specs/tokens.spec.js +++ b/frontend/playwright/ui/specs/tokens.spec.js @@ -371,6 +371,59 @@ test.describe("Tokens: Tokens Tab", () => { await expect(tokensTabPanel.getByLabel("color.dark.primary")).toBeEnabled(); }); + test("User changes color token color while keeping custom color space", async ({ + page, + }) => { + const { workspacePage, tokensUpdateCreateModal, tokenThemesSetsSidebar } = + await setupEmptyTokensFile(page); + + const tokensTabPanel = page.getByRole("tabpanel", { name: "tokens" }); + await tokensTabPanel.getByTitle("Add token: Color").click(); + + await expect(tokensUpdateCreateModal).toBeVisible(); + const nameField = tokensUpdateCreateModal.getByLabel("Name"); + const valueField = tokensUpdateCreateModal.getByLabel("Value"); + + await valueField.click(); + await valueField.fill("hsv(1,1,1)"); + await expect( + tokensUpdateCreateModal.getByText("Resolved value: #ff0400"), + ).toBeVisible(); + + const colorBullet = tokensUpdateCreateModal.getByTestId( + "token-form-color-bullet", + ); + await colorBullet.click(); + + const valueSaturationSelector = tokensUpdateCreateModal.getByTestId( + "value-saturation-selector", + ); + await expect(valueSaturationSelector).toBeVisible(); + + // Check if color space doesnt get overwritten when changing color via the picker + // Not testing for exact value to avoid flakiness of px click + await valueSaturationSelector.click({ position: { x: 100, y: 100 } }); + await expect(valueField).not.toHaveValue("hsv(1,1,1)"); + await expect(valueField).toHaveValue(/^hsv.*$/); + + // Clearing the input field should pick hex + await valueField.fill(""); + await expect( + tokensUpdateCreateModal.getByText("Resolved value: -"), + ).toBeVisible(); + await valueSaturationSelector.click({ position: { x: 50, y: 50 } }); + await expect(valueField).toHaveValue(/^#[A-Fa-f\d]+$/); + + // Changing opacity for hex values converts to rgba + const sliderOpacity = tokensUpdateCreateModal.getByTestId("slider-opacity"); + await sliderOpacity.click({ position: { x: 50, y: 0 } }); + await expect(valueField).toHaveValue(/^rgba(.*)$/); + + // Changing color now will stay in rgba + await valueSaturationSelector.click({ position: { x: 0, y: 0 } }); + await expect(valueField).toHaveValue(/^rgba(.*)$/); + }); + test("User duplicate color token", async ({ page }) => { const { tokensSidebar, tokenContextMenuForToken } = await setupTokensFile(page); @@ -511,7 +564,9 @@ test.describe("Tokens: Sets Tab", () => { // Creates nesting by renaming set with double click await tokenThemesSetsSidebar .getByRole("button", { name: "light-renamed" }) - .dblclick(); + .click({ button: "right" }); + await expect(tokenContextMenuForSet).toBeVisible(); + await tokenContextMenuForSet.getByText("Rename").click(); await changeSetInput(tokenThemesSetsSidebar, "nested/light"); await assertSetsList(tokenThemesSetsSidebar, [ diff --git a/frontend/playwright/ui/specs/variants.spec.js b/frontend/playwright/ui/specs/variants.spec.js new file mode 100644 index 0000000000..9b042341b5 --- /dev/null +++ b/frontend/playwright/ui/specs/variants.spec.js @@ -0,0 +1,428 @@ +import { test, expect } from "@playwright/test"; +import { WorkspacePage } from "../pages/WorkspacePage"; +import { BaseWebSocketPage } from "../pages/BaseWebSocketPage"; + +test.beforeEach(async ({ page }) => { + await WorkspacePage.init(page); + await BaseWebSocketPage.mockRPC(page, "get-teams", "get-teams-variants.json"); +}); + +const setupVariantsFile = async (workspacePage) => { + await workspacePage.setupEmptyFile(); + await workspacePage.mockRPC( + "get-team?id=*", + "workspace/get-team-variants.json", + ); + + await workspacePage.setupEmptyFile(); + await workspacePage.mockRPC( + /get\-file\?/, + "workspace/get-file-not-empty.json", + ); + await workspacePage.mockRPC( + "update-file?id=*", + "workspace/update-file-create-rect.json", + ); + + await workspacePage.goToWorkspace({ + fileId: "6191cd35-bb1f-81f7-8004-7cc63d087374", + pageId: "6191cd35-bb1f-81f7-8004-7cc63d087375", + }); +}; + +const setupVariantsFileWithVariant = async (workspacePage) => { + await setupVariantsFile(workspacePage); + + await workspacePage.clickLeafLayer("Rectangle"); + await workspacePage.page.keyboard.press("Control+k"); + await workspacePage.page.keyboard.press("Control+k"); +}; + +const findVariant = async (workspacePage, num_variant) => { + const container = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("Rectangle") }) + .filter({ has: workspacePage.page.locator(".icon-component") }) + .nth(num_variant); + + const variant1 = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("Value 1") }) + .filter({ has: workspacePage.page.locator(".icon-variant") }) + .nth(num_variant); + + const variant2 = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("Value 2") }) + .filter({ has: workspacePage.page.locator(".icon-variant") }) + .nth(num_variant); + + return { + container: container, + variant1: variant1, + variant2: variant2, + }; +}; + +const validateVariant = async (variant) => { + //The variant container exists and is visible + await expect(variant.container).toBeVisible(); + + //The variants exists and are visible + await expect(variant.variant1).toBeVisible(); + await expect(variant.variant2).toBeVisible(); + + // variant1 and variant2 are items inside the childs of variant_container + const parent_id = "children-" + (await variant.container.getAttribute("id")); + await expect(variant.variant1.locator("xpath=..")).toHaveAttribute( + "data-testid", + parent_id, + ); + await expect(variant.variant2.locator("xpath=..")).toHaveAttribute( + "data-testid", + parent_id, + ); +}; + +test("User creates a variant", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + await workspacePage.clickLeafLayer("Rectangle"); + + const variant = await findVariant(workspacePage, 0); + // The variant is valid + await validateVariant(variant); + + // Extra validators + await variant.container.click(); + + const variants = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.locator(".icon-variant") }) + .all(); + + // There are exactly two variants + expect(variants.length).toBe(2); + + // The design tab shows the variant properties + await expect( + workspacePage.page.getByTitle("Property1: Value 1, Value 2"), + ).toBeVisible(); +}); + +test("User duplicates a variant container", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + // Select the variant container + await variant.container.click(); + + //Duplicate the variant container + await workspacePage.page.keyboard.press("Control+d"); + + const variant_original = await findVariant(workspacePage, 1); // On duplicate, the new item is the first + const variant_duplicate = await findVariant(workspacePage, 0); + + // Expand the layers + await variant_duplicate.container.getByRole("button").first().click(); + + // The variants are valid + await validateVariant(variant_original); + await validateVariant(variant_duplicate); +}); + +test("User copy paste a variant container", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + // Select the variant container + await variant.container.click(); + + //Copy the variant container + await workspacePage.page.keyboard.press("Control+c"); + + //Paste the variant container + await workspacePage.clickAt(500, 500); + await workspacePage.page.keyboard.press("Control+v"); + + const variant_original = await findVariant(workspacePage, 0); + const variant_duplicate = await findVariant(workspacePage, 1); + + // Expand the layers + await variant_duplicate.container.getByRole("button").first().click(); + + // The variants are valid + await validateVariant(variant_original); + await validateVariant(variant_duplicate); +}); + +test("User cut paste a variant container", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + // Select the variant container + await variant.container.click(); + + //Cut the variant container + await workspacePage.page.keyboard.press("Control+x"); + + //Paste the variant container + await workspacePage.clickAt(500, 500); + await workspacePage.page.keyboard.press("Control+v"); + + const variant_pasted = await findVariant(workspacePage, 0); + + // Expand the layers + await variant_pasted.container.getByRole("button").first().click(); + + // The variants are valid + await validateVariant(variant_pasted); +}); + +test("[Bugfixing] User cut paste a variant container into a board, and undo twice", async ({ + page, +}) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + //Create a board + await workspacePage.boardButton.click(); + await workspacePage.clickWithDragViewportAt(500, 500, 200, 200); + await workspacePage.clickAt(495, 495); + const board = await workspacePage.rootShape.locator("Board"); + + // Select the variant container + await variant.container.click(); + + //Cut the variant container + await workspacePage.page.keyboard.press("Control+x"); + + //Select the board + await workspacePage.clickLeafLayer("Board"); + + //Paste the variant container inside the board + await workspacePage.page.keyboard.press("Control+v"); + + //Undo twice + await workspacePage.page.keyboard.press("Control+z"); + await workspacePage.page.keyboard.press("Control+z"); + + const variant_after_undo = await findVariant(workspacePage, 0); + + // The variants are valid + await validateVariant(variant_after_undo); +}); + +test("User copy paste a variant", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + // Select the variant1 + await variant.variant1.click(); + + //Cut the variant + await workspacePage.page.keyboard.press("Control+c"); + + //Paste the variant + await workspacePage.clickAt(500, 500); + await workspacePage.page.keyboard.press("Control+v"); + + const copy = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("Rectangle") }) + .filter({ has: workspacePage.page.locator(".icon-component-copy") }); + + //The copy exists and is visible + await expect(copy).toBeVisible(); +}); + +test("User cut paste a variant outside the container", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + // Select the variant1 + await variant.variant1.click(); + + //Cut the variant + await workspacePage.page.keyboard.press("Control+x"); + + //Paste the variant + await workspacePage.clickAt(500, 500); + await workspacePage.page.keyboard.press("Control+v"); + + const component = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("Rectangle / Value 1") }) + .filter({ has: workspacePage.page.locator(".icon-component") }); + + //The component exists and is visible + await expect(component).toBeVisible(); +}); + +test("User drag and drop a variant outside the container", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + // Drag and drop the variant + await workspacePage.clickWithDragViewportAt(350, 400, 0, 200); + + const component = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("Rectangle / Value 1") }) + .filter({ has: workspacePage.page.locator(".icon-component") }); + + //The component exists and is visible + await expect(component).toBeVisible(); +}); + +test("User cut paste a component inside a variant", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + //Create a component + await workspacePage.ellipseShapeButton.click(); + await workspacePage.clickWithDragViewportAt(500, 500, 20, 20); + await workspacePage.clickLeafLayer("Ellipse"); + await workspacePage.page.keyboard.press("Control+k"); + + //Cut the component + await workspacePage.page.keyboard.press("Control+x"); + + //Paste the component inside the variant + await variant.container.click(); + await workspacePage.page.keyboard.press("Control+v"); + + const variant3 = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("Ellipse") }) + .filter({ has: workspacePage.page.locator(".icon-variant") }) + .first(); + + //The new variant exists and is visible + await expect(variant3).toBeVisible(); +}); + +test("User cut paste a component with path inside a variant", async ({ + page, +}) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + //Create a component + await workspacePage.ellipseShapeButton.click(); + await workspacePage.clickWithDragViewportAt(500, 500, 20, 20); + await workspacePage.clickLeafLayer("Ellipse"); + await workspacePage.page.keyboard.press("Control+k"); + + //Rename the component + await workspacePage.layers.getByText("Ellipse").dblclick(); + await workspacePage.page + .getByTestId("layer-item") + .getByRole("textbox") + .pressSequentially("button / hover"); + await workspacePage.page.keyboard.press("Enter"); + + //Cut the component + await workspacePage.page.keyboard.press("Control+x"); + + //Paste the component inside the variant + await variant.container.click(); + await workspacePage.page.keyboard.press("Control+v"); + + const variant3 = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("button, hover") }) + .filter({ has: workspacePage.page.locator(".icon-variant") }) + .first(); + + //The new variant exists and is visible + await expect(variant3).toBeVisible(); +}); + +test("User drag and drop a component with path inside a variant", async ({ + page, +}) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + const variant = await findVariant(workspacePage, 0); + + //Create a component + await workspacePage.ellipseShapeButton.click(); + await workspacePage.clickWithDragViewportAt(500, 500, 20, 20); + await workspacePage.clickLeafLayer("Ellipse"); + await workspacePage.page.keyboard.press("Control+k"); + + //Rename the component + await workspacePage.layers.getByText("Ellipse").dblclick(); + await workspacePage.page + .getByTestId("layer-item") + .getByRole("textbox") + .pressSequentially("button / hover"); + await workspacePage.page.keyboard.press("Enter"); + + //Drag and drop the component the component + await workspacePage.clickWithDragViewportAt(510, 510, 0, -200); + + const variant3 = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("button, hover") }) + .filter({ has: workspacePage.page.locator(".icon-variant") }) + .first(); + + //The new variant exists and is visible + await expect(variant3).toBeVisible(); +}); + +test("User cut paste a variant into another container", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await setupVariantsFileWithVariant(workspacePage); + + // Create anothe variant + await workspacePage.ellipseShapeButton.click(); + await workspacePage.clickWithDragViewportAt(500, 500, 20, 20); + await workspacePage.clickLeafLayer("Ellipse"); + await workspacePage.page.keyboard.press("Control+k"); + await workspacePage.page.keyboard.press("Control+k"); + + const variant_origin = await findVariant(workspacePage, 1); + const variant_target = await findVariant(workspacePage, 0); + + // Select the variant1 + await variant_origin.variant1.click(); + + //Cut the variant + await workspacePage.page.keyboard.press("Control+x"); + + //Paste the variant + await workspacePage.layers.getByText("Ellipse").first().click(); + await workspacePage.page.keyboard.press("Control+v"); + + const variant3 = await workspacePage.layers + .getByTestId("layer-row") + .filter({ has: workspacePage.page.getByText("Value 1, rectangle") }) + .filter({ has: workspacePage.page.locator(".icon-variant") }) + .first(); + + //The new variant exists and is visible + await expect(variant3).toBeVisible(); +}); diff --git a/frontend/playwright/ui/specs/versions.spec.js b/frontend/playwright/ui/specs/versions.spec.js index edd8fc9ea9..dd28a74c5e 100644 --- a/frontend/playwright/ui/specs/versions.spec.js +++ b/frontend/playwright/ui/specs/versions.spec.js @@ -4,11 +4,13 @@ import { presenceFixture } from "../../data/workspace/ws-notifications"; test.beforeEach(async ({ page }) => { await WorkspacePage.init(page); + const workspacePage = new WorkspacePage(page); + await workspacePage.setupEmptyFile(page); }); test("Save and restore version", async ({ page }) => { const workspacePage = new WorkspacePage(page); - await workspacePage.setupEmptyFile(page); + await workspacePage.mockRPC(/get\-file\?/, "workspace/versions-init.json"); await workspacePage.mockRPC( "get-file-fragment?file-id=*&fragment-id=406b7b01-d3e2-80e4-8005-3138b7cc5f0b", @@ -87,3 +89,20 @@ test("Save and restore version", async ({ page }) => { // check that the history panel is closed after restore await expect(page.getByRole("tab", { name: "design" })).toBeVisible(); }); + +test("BUG 11006 - Fix history panel shortcut", async ({ page }) => { + const workspacePage = new WorkspacePage(page); + await workspacePage.mockRPC(/get\-file\?/, "workspace/versions-init.json"); + await workspacePage.mockRPC( + "get-file-snapshots?file-id=*", + "workspace/versions-snapshot-1.json", + ); + + await workspacePage.goToWorkspace(); + + await page.keyboard.press("Control+Alt+h"); + + await expect( + workspacePage.rightSidebar.getByText("There are no versions yet"), + ).toBeVisible(); +}); diff --git a/frontend/resources/images/features/2.7-duplicate-set.gif b/frontend/resources/images/features/2.7-duplicate-set.gif new file mode 100644 index 0000000000..a8e2ff367a Binary files /dev/null and b/frontend/resources/images/features/2.7-duplicate-set.gif differ diff --git a/frontend/resources/images/features/2.7-invitations.gif b/frontend/resources/images/features/2.7-invitations.gif new file mode 100644 index 0000000000..ca601049be Binary files /dev/null and b/frontend/resources/images/features/2.7-invitations.gif differ diff --git a/frontend/resources/images/features/2.7-share.gif b/frontend/resources/images/features/2.7-share.gif new file mode 100644 index 0000000000..e983cbe4a4 Binary files /dev/null and b/frontend/resources/images/features/2.7-share.gif differ diff --git a/frontend/resources/images/features/2.7-slide-0.jpg b/frontend/resources/images/features/2.7-slide-0.jpg new file mode 100644 index 0000000000..1825c955ca Binary files /dev/null and b/frontend/resources/images/features/2.7-slide-0.jpg differ diff --git a/frontend/resources/images/icons/crown.svg b/frontend/resources/images/icons/crown.svg new file mode 100644 index 0000000000..086dc5fa20 --- /dev/null +++ b/frontend/resources/images/icons/crown.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/frontend/resources/images/icons/eye-off.svg b/frontend/resources/images/icons/eye-off.svg new file mode 100644 index 0000000000..00c1582b4d --- /dev/null +++ b/frontend/resources/images/icons/eye-off.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/frontend/src/app/main/constants.cljs b/frontend/src/app/main/constants.cljs index e9d3137c48..8ea2ea0cc2 100644 --- a/frontend/src/app/main/constants.cljs +++ b/frontend/src/app/main/constants.cljs @@ -25,6 +25,36 @@ (def size-presets [{:name "APPLE"} + {:name "iPhone 16" + :width 393 + :height 852} + {:name "iPhone 16 Pro" + :width 402 + :height 874} + {:name "iPhone 16 Pro Max" + :width 440 + :height 956} + {:name "iPhone 16 Plus" + :width 430 + :height 932} + {:name "14/15 Pro Max" + :width 430 + :height 932} + {:name "iPhone 15/15 Pro" + :width 393 + :height 852} + {:name "iPhone 13/14 " + :width 390 + :height 844} + {:name "iPhone 14 Plus" + :width 428 + :height 926} + {:name "iPhone 13 Mini" + :width 375 + :height 812} + {:name "iPhone SE" + :width 320 + :height 568} {:name "iPhone 12/12 Pro" :width 390 :height 844} @@ -40,47 +70,86 @@ {:name "iPhone XS Max/XR/11" :width 414 :height 896} - {:name "iPhone 6/7/8 Plus" - :width 414 - :height 736} - {:name "iPhone 6/7/8/SE2" - :width 375 - :height 667} - {:name "iPhone 5/SE" - :width 320 - :height 568} {:name "iPad" :width 768 :height 1024} + {:name "iPad Mini 8.3in" + :width 744 + :height 1133} {:name "iPad Pro 10.5in" :width 834 :height 1112} + {:name "iPad Pro 11in" + :width 834 + :height 1194} {:name "iPad Pro 12.9in" - :width 1024 + :width 1027 :height 1366} + {:name "Watch Series 10" + :width 416 + :height 496} + {:name "Watch 45mm" + :width 396 + :height 484} {:name "Watch 44mm" :width 368 :height 448} {:name "Watch 42mm" :width 312 :height 390} + {:name "Watch 41mm" + :width 352 + :height 430} {:name "Watch 40mm" :width 324 :height 394} {:name "Watch 38mm" :width 272 :height 340} + {:name "MacBook Air" + :width 1280 + :height 832} + {:name "MacBook Pro 14in" + :width 1512 + :height 982} + {:name "MacBook Pro 16in" + :width 1728 + :height 1117} {:name "ANDROID"} + {:name "Expanded" + :width 1280 + :height 800} + {:name "Compact" + :width 412 + :height 917} + {:name "Large" + :width 360 + :height 800} + {:name "Medium" + :width 700 + :height 840} + {:name "Small" + :width 360 + :height 640} {:name "Mobile" :width 360 :height 640} {:name "Tablet" :width 768 :height 1024} + {:name "Google Pixel 7 Pro" + :width 1440 + :height 3120} + {:name "Google Pixel 6a/6" + :width 1080 + :height 2400} {:name "Google Pixel 4a/5" :width 393 :height 851} + {:name "Samsung Galaxy S22" + :width 1080 + :height 2340} {:name "Samsung Galaxy S20+" :width 384 :height 854} @@ -95,11 +164,17 @@ {:name "Surface Pro 4/5/6/7" :width 1368 :height 912} + {:name "Surface Pro 8" + :width 140 + :height 960} {:name "ReMarkable"} {:name "Remarkable 2" - :width 840 - :height 1120} + :width 1404 + :height 1872} + {:name "Remarkable Pro" + :width 1620 + :height 2160} {:name "WEB"} {:name "Web 1280" @@ -115,6 +190,20 @@ :width 1920 :height 1080} + {:name "MIXED"} + {:name "Desktop/Wireframe" + :width 1440 + :height 1024} + {:name "TV" + :width 1280 + :height 720} + {:name "Slide 16:9" + :width 1920 + :height 1080} + {:name "Slide 4:3" + :width 1027 + :height 768} + {:name "PRINT (96dpi)"} {:name "A0" :width 3179 @@ -150,7 +239,7 @@ :height 320} {:name "Instagram post" :width 1080 - :height 1080} + :height 1350} {:name "Instagram story" :width 1080 :height 1920} @@ -170,15 +259,24 @@ :width 1584 :height 396} {:name "LinkedIn post" - :width 1200 - :height 627} - {:name "Twitter profile" + :width 520 + :height 320} + {:name "Bluesky profile" :width 400 :height 400} - {:name "Twitter header" + {:name "Bluesky cover" + :width 3000 + :height 1000} + {:name "Bluesky post" + :width 1080 + :height 1350} + {:name "X profile" + :width 400 + :height 400} + {:name "X header" :width 1500 :height 500} - {:name "Twitter post" + {:name "X post" :width 1024 :height 512} {:name "YouTube profile" @@ -187,6 +285,9 @@ {:name "YouTube banner" :width 2560 :height 1440} + {:name "YouTube cover" + :width 2048 + :height 1152} {:name "YouTube thumb" :width 1280 :height 720}]) diff --git a/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs b/frontend/src/app/main/data/style_dictionary.cljs similarity index 86% rename from frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs rename to frontend/src/app/main/data/style_dictionary.cljs index d04ed352e9..101c0fc854 100644 --- a/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs +++ b/frontend/src/app/main/data/style_dictionary.cljs @@ -1,16 +1,21 @@ -(ns app.main.ui.workspace.tokens.style-dictionary +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.main.data.style-dictionary (:require ["@tokens-studio/sd-transforms" :as sd-transforms] ["style-dictionary$default" :as sd] + [app.common.files.tokens :as cft] [app.common.logging :as l] [app.common.schema :as sm] [app.common.transit :as t] [app.common.types.tokens-lib :as ctob] - [app.main.ui.workspace.tokens.errors :as wte] - [app.main.ui.workspace.tokens.tinycolor :as tinycolor] - [app.main.ui.workspace.tokens.token :as wtt] - [app.main.ui.workspace.tokens.warnings :as wtw] - [app.util.i18n :refer [tr]] + [app.main.data.tinycolor :as tinycolor] + [app.main.data.workspace.tokens.errors :as wte] + [app.main.data.workspace.tokens.warnings :as wtw] [app.util.time :as dt] [beicon.v2.core :as rx] [cuerdas.core :as str] @@ -25,7 +30,7 @@ "Initiates the StyleDictionary instance. Setup transforms from tokens-studio used to parse and resolved token values." (do - (sd-transforms/registerTransforms sd) + (sd-transforms/register sd) (.registerFormat sd #js {:name "custom/json" :format (fn [^js res] (.-tokens (.-dictionary res)))}) @@ -55,7 +60,7 @@ "Parses `value` of a numeric `sd-token` into a map like `{:value 1 :unit \"px\"}`. If the `value` is not parseable and/or has missing references returns a map with `:errors`." [value] - (let [parsed-value (wtt/parse-token-value value) + (let [parsed-value (cft/parse-token-value value) out-of-bounds (or (>= (:value parsed-value) sm/max-safe-int) (<= (:value parsed-value) sm/min-safe-int))] (if (and parsed-value (not out-of-bounds)) @@ -73,7 +78,7 @@ If the `value` is parseable but is out of range returns a map with `warnings`." [value has-references?] - (let [parsed-value (wtt/parse-token-value value) + (let [parsed-value (cft/parse-token-value value) out-of-scope (not (<= 0 (:value parsed-value) 1)) references (seq (ctob/find-token-value-references value))] (cond @@ -99,7 +104,7 @@ If the `value` is parseable but is out of range returns a map with `warnings`." [value has-references?] - (let [parsed-value (wtt/parse-token-value value) + (let [parsed-value (cft/parse-token-value value) out-of-scope (< (:value parsed-value) 0) references (seq (ctob/find-token-value-references value))] (cond @@ -192,9 +197,11 @@ config) (build-dictionary [_] - (let [config' (clj->js config)] + (let [platform "json" + config' (clj->js config)] (-> (sd. config') - (.buildAllPlatforms "json") + (.buildAllPlatforms platform) + (p/then #(.getPlatformTokens ^js % platform)) (p/then #(.-allTokens ^js %)))))) (defn resolve-tokens-tree+ @@ -240,7 +247,21 @@ ;; === Import -(defn reference-errors +(defn- decode-single-set-json + "Decodes parsed json containing single token set and converts to library" + [this set-name tokens] + (assert (map? tokens) "expected a map data structure for `data`") + + (ctob/add-set this (ctob/make-token-set :name (ctob/normalize-set-name set-name) + :tokens (ctob/flatten-nested-tokens-json tokens "")))) + +(defn- decode-single-set-legacy-json + "Decodes parsed legacy json containing single token set and converts to library" + [this set-name tokens] + (assert (map? tokens) "expected a map data structure for `data`") + (decode-single-set-json this set-name (ctob/legacy-nodes->dtcg-nodes tokens))) + +(defn- reference-errors "Extracts reference errors from StyleDictionary." [err] (let [[header-1 header-2 & errors] (str/split err "\n")] @@ -249,6 +270,16 @@ (= header-2 "Reference Errors:")) errors))) +(defn name-error + "Extracts name error out of malli schema error during import." + [err] + (let [schema-error (some-> (ex-data err) + (get-in [:app.common.schema/explain :errors]) + (first)) + name-error? (= (:in schema-error) [:name])] + (when name-error? + (wte/error-ex-info :error.import/invalid-token-name (:value schema-error) err)))) + (defn process-json-stream ([data-stream] (process-json-stream nil data-stream)) @@ -267,11 +298,11 @@ (cond (and single-set? (= :json-format/legacy json-format)) - (ctob/decode-single-set-legacy-json (ctob/ensure-tokens-lib nil) file-name json-data) + (decode-single-set-legacy-json (ctob/ensure-tokens-lib nil) file-name json-data) (and single-set? (= :json-format/dtcg json-format)) - (ctob/decode-single-set-json (ctob/ensure-tokens-lib nil) file-name json-data) + (decode-single-set-json (ctob/ensure-tokens-lib nil) file-name json-data) (= :json-format/legacy json-format) (ctob/decode-legacy-json (ctob/ensure-tokens-lib nil) json-data) @@ -280,7 +311,9 @@ (ctob/decode-dtcg-json (ctob/ensure-tokens-lib nil) json-data)) (catch js/Error e - (throw (wte/error-ex-info :error.import/invalid-json-data json-data e))))))) + (let [err (or (name-error e) + (wte/error-ex-info :error.import/invalid-json-data json-data e))] + (throw err))))))) (rx/mapcat (fn [tokens-lib] (try (-> (ctob/get-all-tokens tokens-lib) @@ -295,17 +328,6 @@ (catch js/Error e (p/rejected (wte/error-ex-info :error.import/style-dictionary-unknown-error "" e)))))))))) -;; === Errors - -(defn humanize-errors [{:keys [errors] :as token}] - (->> (map (fn [err] - (case (:error/code err) - ;; TODO: This needs translations - :error.style-dictionary/missing-reference (tr "workspace.token.token-not-resolved" (:error/value err)) - nil)) - errors) - (str/join "\n"))) - ;; === Hooks (defonce !tokens-cache (atom nil)) diff --git a/frontend/src/app/main/ui/workspace/tokens/tinycolor.cljs b/frontend/src/app/main/data/tinycolor.cljs similarity index 66% rename from frontend/src/app/main/ui/workspace/tokens/tinycolor.cljs rename to frontend/src/app/main/data/tinycolor.cljs index 10c809e397..13fea42e00 100644 --- a/frontend/src/app/main/ui/workspace/tokens/tinycolor.cljs +++ b/frontend/src/app/main/data/tinycolor.cljs @@ -1,4 +1,10 @@ -(ns app.main.ui.workspace.tokens.tinycolor +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.main.data.tinycolor "Bindings for tinycolor2 which supports a wide range of css compatible colors. This library was chosen as it is already used by StyleDictionary, @@ -32,17 +38,24 @@ (let [tc (tinycolor color-str)] (str/starts-with? (.getFormat tc) "hex")))) -(defn ->string [^js tc] - (.toString tc)) +(defn ->string + "Stringify `tc` to `format`, uses `hex` as per default." + [^js tc format] + (let [format' (case format + ;; Tinycolor `.toString` doesnt support the `a` suffix it gives you via `.getFormat` + "rgba" "rgb" + "hsva" "hsv" + ;; Keep these formats + "rgb" "rgb" + "hsv" "hsv" + ;; Fall back to hex as the default + "hex")] + (.toString tc format'))) (defn ->hex-string [^js tc] (assert (tinycolor? tc)) (.toHexString tc)) -(defn ->rgba-string [^js tc] - (assert (tinycolor? tc)) - (.toRgbString tc)) - (defn color-format [^js tc] (assert (tinycolor? tc)) (.getFormat tc)) diff --git a/frontend/src/app/main/data/workspace.cljs b/frontend/src/app/main/data/workspace.cljs index 01dc099c8a..8817dafd93 100644 --- a/frontend/src/app/main/data/workspace.cljs +++ b/frontend/src/app/main/data/workspace.cljs @@ -13,6 +13,7 @@ [app.common.features :as cfeat] [app.common.files.changes-builder :as pcb] [app.common.files.helpers :as cfh] + [app.common.files.variant :as cfv] [app.common.geom.align :as gal] [app.common.geom.point :as gpt] [app.common.geom.proportions :as gpp] @@ -25,7 +26,7 @@ [app.common.schema :as sm] [app.common.text :as txt] [app.common.transit :as t] - [app.common.types.component :as ctk] + [app.common.types.component :as ctc] [app.common.types.components-list :as ctkl] [app.common.types.container :as ctn] [app.common.types.file :as ctf] @@ -75,6 +76,7 @@ [app.main.data.workspace.thumbnails :as dwth] [app.main.data.workspace.transforms :as dwt] [app.main.data.workspace.undo :as dwu] + [app.main.data.workspace.variants :as dwva] [app.main.data.workspace.viewport :as dwv] [app.main.data.workspace.zoom :as dwz] [app.main.errors] @@ -85,6 +87,7 @@ [app.main.streams :as ms] [app.main.worker :as uw] [app.render-wasm :as wasm] + [app.render-wasm.api :as api] [app.util.code-gen.style-css :as css] [app.util.dom :as dom] [app.util.globals :as ug] @@ -393,6 +396,13 @@ (rx/filter dch/commit?) (rx/map deref) (rx/mapcat (fn [{:keys [save-undo? undo-changes redo-changes undo-group tags stack-undo?]}] + (when render-wasm? + (let [added (->> redo-changes + (filter #(= (:type %) :add-obj)) + (map :obj))] + (doseq [shape added] + (api/process-object shape)))) + (if (and save-undo? (seq undo-changes)) (let [entry {:undo-changes undo-changes :redo-changes redo-changes @@ -571,7 +581,7 @@ name (cfh/generate-unique-name base-name unames :suffix-fn suffix-fn) objects (update-vals (:objects page) #(dissoc % :use-for-thumbnail)) - main-instances-ids (set (keep #(when (ctk/main-instance? (val %)) (key %)) objects)) + main-instances-ids (set (keep #(when (ctc/main-instance? (val %)) (key %)) objects)) ids-to-remove (set (apply concat (map #(cfh/get-children-ids objects %) main-instances-ids))) add-component-copy @@ -582,7 +592,6 @@ component fdata (gpt/point (:x shape) (:y shape)) - true {:keep-ids? true :force-frame-id (:frame-id shape)}) children (into {} (map (fn [shape] [(:id shape) shape]) new-shapes)) objs (assoc objs id new-shape)] @@ -698,7 +707,7 @@ (defn rename-file [id name] {:pre [(uuid? id) (string? name)]} - (let [name (str/prune name 200)] + (let [name (dm/truncate name 200)] (ptk/reify ::rename-file IDeref (-deref [_] @@ -788,27 +797,36 @@ ([] (end-rename-shape nil nil)) ([shape-id name] (ptk/reify ::end-rename-shape + ptk/UpdateEvent + (update [_ state] + ;; Remove rename state from workspace local state + (update state :workspace-local dissoc :shape-for-rename)) ptk/WatchEvent (watch [_ state _] (when-let [shape-id (d/nilv shape-id (dm/get-in state [:workspace-local :shape-for-rename]))] - (let [shape (dsh/lookup-shape state shape-id) - name (str/trim name) - clean-name (cfh/clean-path name) - valid? (and (not (str/ends-with? name "/")) - (string? clean-name) - (not (str/blank? clean-name)))] - (rx/concat - ;; Remove rename state from workspace local state - (rx/of #(update % :workspace-local dissoc :shape-for-rename)) + (let [shape (dsh/lookup-shape state shape-id) + name (str/trim name) + clean-name (cfh/clean-path name) + valid? (and (not (str/ends-with? name "/")) + (string? clean-name) + (not (str/blank? clean-name))) + component-id (:component-id shape) + undo-id (js/Symbol)] - ;; Rename the shape if string is not empty/blank - (when valid? - (rx/of (update-shape shape-id {:name clean-name}))) - ;; Update the component in case if shape is a main instance - (when (and valid? (:main-instance shape)) - (when-let [component-id (:component-id shape)] - (rx/of (dwl/rename-component component-id clean-name))))))))))) + (when valid? + (if (ctc/is-variant-container? shape) + ;; Rename the full variant when it is a variant container + (rx/of (dwva/rename-variant shape-id clean-name)) + (rx/of + (dwu/start-undo-transaction undo-id) + ;; Rename the shape if string is not empty/blank + (update-shape shape-id {:name clean-name}) + + ;; Update the component in case shape is a main instance + (when (and (some? component-id) (ctc/main-instance? shape)) + (dwl/rename-component component-id clean-name)) + (dwu/commit-undo-transaction undo-id)))))))))) ;; --- Update Selected Shapes attrs @@ -1200,22 +1218,26 @@ (ptk/reify ::show-component-in-assets ptk/WatchEvent (watch [_ state _] - (let [file-id (:current-file-id state) - fdata (dsh/lookup-file-data state file-id) - cpath (dm/get-in fdata [:components component-id :path]) - cpath (cfh/split-path cpath) - paths (map (fn [i] (cfh/join-path (take (inc i) cpath))) - (range (count cpath)))] + (let [file-id (:current-file-id state) + fdata (dsh/lookup-file-data state file-id) + component (cfv/get-primary-component fdata component-id) + cpath (:path component) + cpath (cfh/split-path cpath) + paths (map (fn [i] (cfh/join-path (take (inc i) cpath))) + (range (count cpath)))] (rx/concat (rx/from (map #(set-assets-group-open file-id :components % true) paths)) (rx/of (dcm/go-to-workspace :layout :assets) (set-assets-section-open file-id :library true) (set-assets-section-open file-id :components true) - (select-single-asset file-id component-id :components))))) + (select-single-asset file-id (:id component) :components))))) ptk/EffectEvent - (effect [_ _ _] - (let [wrapper-id (str "component-shape-id-" component-id)] + (effect [_ state _] + (let [file-id (:current-file-id state) + fdata (dsh/lookup-file-data state file-id) + component (cfv/get-primary-component fdata component-id) + wrapper-id (str "component-shape-id-" (:id component))] (tm/schedule-on-idle #(dom/scroll-into-view-if-needed! (dom/get-element wrapper-id))))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1352,15 +1374,31 @@ (assoc obj ::images images)))) (rx/of obj)))) + (collect-variants [state shape] + (let [page-id (:current-page-id state) + data (dsh/lookup-file-data state) + objects (-> (dsh/get-page data page-id) + (get :objects)) + + components (cfv/find-variant-components data objects (:id shape))] + (into {} (map (juxt :id :variant-properties) components)))) + + ;; Collects all the items together and split images into a ;; separated data structure for a more easy paste process. - (collect-data [result {:keys [id ::images] :as item}] + ;; Also collects the variant properties of the copied variants + (collect-data [state result {:keys [id ::images] :as item}] (cond-> result :always (update :objects assoc id (dissoc item ::images)) (some? images) - (update :images into images))) + (update :images into images) + + (ctc/is-variant-container? item) + (update :variant-properties merge (collect-variants state item)))) + + (maybe-translate [shape objects parent-frame-id] (if (= parent-frame-id uuid/zero) @@ -1382,7 +1420,7 @@ heads)))) (advance-copy [file libraries page objects shape] - (if (and (ctk/instance-head? shape) (not (ctk/main-instance? shape))) + (if (and (ctc/instance-head? shape) (not (ctc/main-instance? shape))) (let [level-delta (ctn/get-nesting-level-delta (:objects page) shape uuid/zero)] (if (pos? level-delta) (reduce (partial advance-shape file libraries page level-delta) @@ -1445,7 +1483,7 @@ (fn [resolve reject] (->> (rx/from shapes) (rx/merge-map (partial prepare-object objects frame-id)) - (rx/reduce collect-data initial) + (rx/reduce (partial collect-data state) initial) (rx/map (partial sort-selected state)) (rx/map (partial advance-copies state selected)) (rx/map #(t/encode-str % {:type :json-verbose})) @@ -1460,7 +1498,7 @@ ;; https://caniuse.com/?search=ClipboardItem (->> (rx/from shapes) (rx/merge-map (partial prepare-object objects frame-id)) - (rx/reduce collect-data initial) + (rx/reduce (partial collect-data state) initial) (rx/map (partial sort-selected state)) (rx/map (partial advance-copies state selected)) (rx/map #(t/encode-str % {:type :json-verbose})) @@ -2048,6 +2086,9 @@ objects (:objects pdata) + variant-props (:variant-properties pdata) + + position (deref ms/mouse-position) ;; Calculate position for the pasted elements @@ -2060,12 +2101,8 @@ libraries (dsh/lookup-libraries state) ldata (dsh/lookup-file-data state file-id) - ;; full-libs (assoc-in libraries [(:id ldata) :data] ldata) - - full-libs libraries - [parent-id - frame-id] (ctn/find-valid-parent-and-frame-ids candidate-parent-id page-objects (vals objects) true full-libs) + frame-id] (ctn/find-valid-parent-and-frame-ids candidate-parent-id page-objects (vals objects) true libraries) index (if (= candidate-parent-id parent-id) index @@ -2079,12 +2116,12 @@ all-objects (merge page-objects objects) - drop-cell (when (ctl/grid-layout? all-objects parent-id) (gslg/get-drop-cell frame-id all-objects position)) changes (-> (pcb/empty-changes it) - (cll/generate-duplicate-changes all-objects page selected delta libraries ldata file-id) + (cll/generate-duplicate-changes all-objects page selected delta + libraries ldata file-id {:variant-props variant-props}) (pcb/amend-changes (partial process-rchange media-idx)) (pcb/amend-changes (partial change-add-obj-index objects selected index))) @@ -2113,7 +2150,7 @@ undo-id (js/Symbol)] (rx/concat - (->> (filter ctk/instance-head? orig-shapes) + (->> (filter ctc/instance-head? orig-shapes) (map (fn [{:keys [component-file]}] (ptk/event ::ev/event {::ev/name "use-library-component" @@ -2428,7 +2465,7 @@ (let [objects (dsh/lookup-page-objects state) copies (->> objects vals - (filter #(and (ctk/instance-head? %) (not (ctk/main-instance? %))))) + (filter #(and (ctc/instance-head? %) (not (ctc/main-instance? %))))) copies-no-ref (filter #(not (:shape-ref %)) copies) find-childs-no-ref (fn [acc-map item] diff --git a/frontend/src/app/main/data/workspace/libraries.cljs b/frontend/src/app/main/data/workspace/libraries.cljs index 9c98fcd939..d433cc133b 100644 --- a/frontend/src/app/main/data/workspace/libraries.cljs +++ b/frontend/src/app/main/data/workspace/libraries.cljs @@ -42,7 +42,6 @@ [app.main.data.workspace.transforms :as dwtr] [app.main.data.workspace.undo :as dwu] [app.main.data.workspace.zoom :as dwz] - [app.main.features :as features] [app.main.features.pointer-map :as fpmap] [app.main.refs :as refs] [app.main.repo :as rp] @@ -395,9 +394,9 @@ (defn- add-component2 "This is the second step of the component creation." - ([selected components-v2] - (add-component2 nil selected components-v2)) - ([id-ref selected components-v2] + ([selected] + (add-component2 nil selected)) + ([id-ref selected] (ptk/reify ::add-component2 ev/Event (-data [_] @@ -413,8 +412,7 @@ parents (into #{} (map :parent-id) shapes)] (when-not (empty? shapes) (let [[root component-id changes] - (cll/generate-add-component (pcb/empty-changes it) shapes objects page-id file-id components-v2 - dwg/prepare-create-group + (cll/generate-add-component (pcb/empty-changes it) shapes objects page-id file-id cfsh/prepare-create-artboard-from-selection)] (when id-ref (reset! id-ref component-id)) @@ -439,12 +437,11 @@ selected (->> (d/nilv ids (dsh/lookup-selected state)) (cfh/clean-loops objects)) selected-objects (map #(get objects %) selected) - components-v2 (features/active-feature? state "components/v2") ;; We don't want to change the structure of component copies can-make-component (every? true? (map #(ctn/valid-shape-for-component? objects %) selected-objects))] (when can-make-component - (rx/of (add-component2 id-ref selected components-v2)))))))) + (rx/of (add-component2 id-ref selected)))))))) (defn add-multiple-components "Add several new components to current file library, from the currently selected shapes." @@ -452,15 +449,14 @@ (ptk/reify ::add-multiple-components ptk/WatchEvent (watch [_ state _] - (let [components-v2 (features/active-feature? state "components/v2") - objects (dsh/lookup-page-objects state) + (let [objects (dsh/lookup-page-objects state) selected (->> (dsh/lookup-selected state) (cfh/clean-loops objects)) selected-objects (map #(get objects %) selected) ;; We don't want to change the structure of component copies can-make-component (every? true? (map #(ctn/valid-shape-for-component? objects %) selected-objects)) added-components (map (fn [id] - (with-meta (add-component2 [id] components-v2) + (with-meta (add-component2 [id]) {:multiple true})) selected) undo-id (js/Symbol)] @@ -489,7 +485,7 @@ (rx/empty) (let [data (dsh/lookup-file-data state) changes (-> (pcb/empty-changes it) - (cll/generate-rename-component id new-name data true))] + (cll/generate-rename-component id new-name data))] (rx/of (dch/commit-changes changes)))))))) (defn rename-component-and-main-instance @@ -512,7 +508,6 @@ (rx/concat (rx/of (rename-component component-id clean-name)) - ;; NOTE: only when components-v2 is enabled (when (and shape-id page-id) (rx/of (dwsh/update-shapes [shape-id] #(assoc % :name clean-name) {:page-id page-id :stack-undo? true})))))))))) @@ -526,11 +521,10 @@ (watch [it state _] (let [libraries (dsh/lookup-libraries state) library (get libraries library-id) - components-v2 (features/active-feature? state "components/v2") [main-instance changes] (-> (pcb/empty-changes it nil) - (cll/generate-duplicate-component library component-id new-component-id components-v2))] + (cll/generate-duplicate-component library component-id new-component-id))] (rx/of (ptk/data-event :layout/update {:ids [(:id main-instance)]}) (dch/commit-changes changes))))))) @@ -560,8 +554,7 @@ [all-parents changes] (-> (pcb/empty-changes it page-id) ;; Deleting main root triggers component delete - (cls/generate-delete-shapes fdata page objects #{root-id} {:components-v2 true - :undo-group undo-group + (cls/generate-delete-shapes fdata page objects #{root-id} {:undo-group undo-group :undo-id undo-id}))] (rx/of (dwu/start-undo-transaction undo-id) @@ -588,11 +581,14 @@ changes (-> (pcb/empty-changes it) (cll/generate-restore-component ldata component-id library-id page objects)) + page-id + (->> changes :redo-changes (keep :page-id) first) + frames (->> changes :redo-changes (keep :frame-id))] (rx/of (dch/commit-changes changes) - (ptk/data-event :layout/update {:ids frames})))))) + (ptk/data-event :layout/update {:page-id page-id :ids frames})))))) (defn restore-components @@ -832,7 +828,7 @@ changes (-> (pcb/empty-changes it) - (cll/generate-reset-component file libraries container id true))] + (cll/generate-reset-component file libraries container id))] (log/debug :msg "RESET-COMPONENT finished" :js/rchanges (log-changes (:redo-changes changes) @@ -884,7 +880,7 @@ (-> (pcb/empty-changes it) (pcb/set-undo-group undo-group) (pcb/with-container container) - (cll/generate-sync-shape-inverse fdata libraries container id true)) + (cll/generate-sync-shape-inverse fdata libraries container id)) ldata (->> (:component-file shape) (dsh/lookup-file-data state)) @@ -1274,10 +1270,8 @@ [] (ptk/reify ::watch-component-changes ptk/WatchEvent - (watch [_ state stream] - (let [components-v2? (features/active-feature? state "components/v2") - - stopper-s + (watch [_ _ stream] + (let [stopper-s (->> stream (rx/filter #(or (= ::dw/finalize-page (ptk/type %)) (= ::watch-component-changes (ptk/type %))))) @@ -1340,7 +1334,7 @@ (rx/debounce 5000) (rx/tap #(log/trc :hint "buffer initialized")))] - (when (and components-v2? (contains? cf/flags :component-thumbnails)) + (when (contains? cf/flags :component-thumbnails) (->> (rx/merge changes-s diff --git a/frontend/src/app/main/data/workspace/media.cljs b/frontend/src/app/main/data/workspace/media.cljs index 3a6be86c25..a2a7968c09 100644 --- a/frontend/src/app/main/data/workspace/media.cljs +++ b/frontend/src/app/main/data/workspace/media.cljs @@ -24,7 +24,6 @@ [app.main.data.helpers :as dsh] [app.main.data.media :as dmm] [app.main.data.notifications :as ntf] - [app.main.data.workspace.libraries :as dwl] [app.main.data.workspace.shapes :as dwsh] [app.main.data.workspace.svg-upload :as svg] [app.main.repo :as rp] @@ -235,16 +234,6 @@ (rx/catch #(handle-media-error % on-error)) (rx/finalize #(st/emit! (ntf/hide :tag :media-loading)))))))) -;; Deprecated in components-v2 -(defn upload-media-asset - [params] - (let [params (assoc params - :force-media true - :local? false - :on-image #(st/emit! (dwl/add-media %)) - :on-svg #(st/emit! (dwl/add-media %)))] - (process-media-objects params))) - (defn upload-media-workspace [{:keys [position file-id] :as params}] (let [params (assoc params @@ -378,7 +367,7 @@ (defn- add-shapes-and-component [it file-data page name [shape children]] - (let [[component-shape component-shapes updated-shapes] + (let [[component-shape updated-shapes] (ctn/convert-shape-in-component shape children (:id file-data)) changes (-> (pcb/empty-changes it) @@ -389,7 +378,6 @@ (pcb/add-component (:id component-shape) "" name - component-shapes updated-shapes (:id shape) (:id page)))] diff --git a/frontend/src/app/main/data/workspace/modifiers.cljs b/frontend/src/app/main/data/workspace/modifiers.cljs index ace4d0fc4c..d8cc7cf220 100644 --- a/frontend/src/app/main/data/workspace/modifiers.cljs +++ b/frontend/src/app/main/data/workspace/modifiers.cljs @@ -30,6 +30,7 @@ [app.main.data.workspace.undo :as dwu] [app.main.features :as features] [app.render-wasm.api :as wasm.api] + [app.render-wasm.shape :as wasm.shape] [beicon.v2.core :as rx] [potok.v2.core :as ptk])) @@ -162,17 +163,46 @@ change-to-fixed? (assoc :grow-type :fixed)))) +(defn- set-wasm-props! + [objects prev-wasm-props wasm-props] + (let [;; Set old value for previous properties + clean-props + (->> prev-wasm-props + (map (fn [[id {:keys [property] :as change}]] + (let [shape (get objects id)] + [id (assoc change :value (get shape property))])))) + + wasm-props + (concat clean-props wasm-props) + + wasm-props + (-> (group-by first wasm-props) + (update-vals #(map second %)))] + + ;; Props are grouped by id and then assoc to the shape the new value + (doseq [[id properties] wasm-props] + (let [shape + (->> properties + (reduce + (fn [shape {:keys [property value]}] + (assoc shape property value)) + (get objects id)))] + + ;; With the new values to the shape change multi props + (wasm.shape/set-wasm-multi-attrs! shape (->> properties (map :property))))))) + (defn clear-local-transform [] (ptk/reify ::clear-local-transform ptk/EffectEvent (effect [_ state _] (when (features/active-feature? state "render-wasm/v1") - (wasm.api/set-modifiers nil))) + (wasm.api/clean-modifiers) + (set-wasm-props! (dsh/lookup-page-objects state) (:wasm-props state) []))) ptk/UpdateEvent (update [_ state] (-> state - (dissoc :workspace-modifiers) + (dissoc :workspace-modifiers :wasm-props :prev-wasm-props) (dissoc :app.main.data.workspace.transforms/current-move-selected))))) (defn create-modif-tree @@ -417,6 +447,57 @@ modifiers (calculate-modifiers state ignore-constraints ignore-snap-pixel modif-tree page-id params)] (assoc state :workspace-modifiers modifiers)))))) +(defn- parse-structure-modifiers + [modif-tree] + (into + [] + (mapcat + (fn [[parent-id data]] + (when (ctm/has-structure? (:modifiers data)) + (->> data + :modifiers + :structure-parent + (mapcat + (fn [modifier] + (case (:type modifier) + :remove-children + (->> (:value modifier) + (map (fn [child-id] + {:type :remove-children + :parent parent-id + :id child-id + :index 0}))) + + :add-children + (->> (:value modifier) + (map (fn [child-id] + {:type :add-children + :parent parent-id + :id child-id + :index (:index modifier)}))) + nil))))))) + modif-tree)) + +(defn- parse-geometry-modifiers + [modif-tree] + (into + [] + (keep + (fn [[id data]] + (when (ctm/has-geometry? (:modifiers data)) + {:id id + :transform (ctm/modifiers->transform (:modifiers data))}))) + modif-tree)) + +(defn- extract-property-changes + [modif-tree] + (->> modif-tree + (mapcat (fn [[id {:keys [modifiers]}]] + (->> (:structure-parent modifiers) + (map #(vector id %))))) + (filter (fn [[_ {:keys [type]}]] + (= type :change-property))))) + (defn set-wasm-modifiers ([modif-tree] (set-wasm-modifiers modif-tree false)) @@ -429,17 +510,31 @@ ([modif-tree _ignore-constraints _ignore-snap-pixel _params] (ptk/reify ::set-wasm-modifiers - ptk/EffectEvent - (effect [_ _ _] - (let [entries - (->> modif-tree - (mapv (fn [[id data]] - {:id id - :transform (ctm/modifiers->transform (:modifiers data))}))) + ptk/UpdateEvent + (update [_ state] + (let [property-changes + (extract-property-changes modif-tree)] - modifiers-new - (wasm.api/propagate-modifiers entries)] - (wasm.api/set-modifiers modifiers-new)))))) + (-> state + (assoc :prev-wasm-props (:wasm-props state)) + (assoc :wasm-props property-changes)))) + + ptk/EffectEvent + (effect [_ state _] + (wasm.api/clean-modifiers) + + (let [prev-wasm-props (:prev-wasm-props state) + wasm-props (:wasm-props state) + objects (dsh/lookup-page-objects state)] + + (set-wasm-props! objects prev-wasm-props wasm-props) + + (let [structure-entries (parse-structure-modifiers modif-tree)] + (wasm.api/set-structure-modifiers structure-entries) + (let [geometry-entries (parse-geometry-modifiers modif-tree) + modifiers-new + (wasm.api/propagate-modifiers geometry-entries)] + (wasm.api/set-modifiers modifiers-new)))))))) (defn set-selrect-transform [modifiers] @@ -654,4 +749,3 @@ (if undo-transation? (rx/of (dwu/commit-undo-transaction undo-id)) (rx/empty)))))))) - diff --git a/frontend/src/app/main/data/workspace/shape_layout.cljs b/frontend/src/app/main/data/workspace/shape_layout.cljs index ffabffbe8a..61b07c159a 100644 --- a/frontend/src/app/main/data/workspace/shape_layout.cljs +++ b/frontend/src/app/main/data/workspace/shape_layout.cljs @@ -97,15 +97,17 @@ ;; Never call this directly but through the data-event `:layout/update` ;; Otherwise a lot of cycle dependencies could be generated (defn- update-layout-positions - [{:keys [ids undo-group]}] + [{:keys [page-id ids undo-group]}] (ptk/reify ::update-layout-positions ptk/WatchEvent (watch [_ state _] - (let [objects (dsh/lookup-page-objects state) + (let [page-id (or page-id (:current-page-id state)) + objects (dsh/lookup-page-objects state page-id) ids (->> ids (filter #(contains? objects %)))] (if (d/not-empty? ids) (let [modif-tree (dwm/create-modif-tree ids (ctm/reflow-modifiers))] - (rx/of (dwm/apply-modifiers {:modifiers modif-tree + (rx/of (dwm/apply-modifiers {:page-id page-id + :modifiers modif-tree :stack-undo? true :undo-group undo-group}))) (rx/empty)))))) @@ -127,8 +129,9 @@ (rx/filter #(d/not-empty? %)) (rx/map (fn [data] - (let [ids (reduce #(into %1 (:ids %2)) #{} data)] - (update-layout-positions {:ids ids})))) + (let [page-id (->> data (keep :page-id) first) + ids (reduce #(into %1 (:ids %2)) #{} data)] + (update-layout-positions {:page-id page-id :ids ids})))) (rx/take-until stopper)))))) (defn finalize-shape-layout @@ -242,12 +245,13 @@ selected-shapes (map (d/getf objects) selected) single? (= (count selected-shapes) 1) is-frame? (= :frame (:type (first selected-shapes))) - is-variant-cont? (ctc/is-variant-container? (first selected-shapes)) + has-layout? (ctl/any-layout? (first selected-shapes)) + undo-id (js/Symbol)] (rx/of (dwu/start-undo-transaction undo-id) - (if (and single? is-frame? (not is-variant-cont?)) + (if (and single? is-frame? (not has-layout?)) (create-layout-from-id (first selected) type :from-frame? true) (create-layout-from-selection type)) (dwu/commit-undo-transaction undo-id)))))) diff --git a/frontend/src/app/main/data/workspace/shapes.cljs b/frontend/src/app/main/data/workspace/shapes.cljs index b65989e269..d9862564b3 100644 --- a/frontend/src/app/main/data/workspace/shapes.cljs +++ b/frontend/src/app/main/data/workspace/shapes.cljs @@ -24,7 +24,6 @@ [app.main.data.workspace.edition :as dwe] [app.main.data.workspace.selection :as dws] [app.main.data.workspace.undo :as dwu] - [app.main.features :as features] [beicon.v2.core :as rx] [potok.v2.core :as ptk])) @@ -171,12 +170,10 @@ page (dsh/get-page fdata page-id) objects (:objects page) - components-v2 (features/active-feature? state "components/v2") undo-id (or (:undo-id options) (js/Symbol)) [all-parents changes] (-> (pcb/empty-changes it (:id page)) (cls/generate-delete-shapes fdata page objects ids - {:components-v2 components-v2 - :ignore-touched (:component-swap options) + {:ignore-touched (:component-swap options) :undo-group (:undo-group options) :undo-id undo-id}))] @@ -237,6 +234,8 @@ ([id parent-id index] (create-artboard-from-selection id parent-id index nil)) ([id parent-id index name] + (create-artboard-from-selection id parent-id index name nil)) + ([id parent-id index name delta] (ptk/reify ::create-artboard-from-selection ptk/WatchEvent (watch [it state _] @@ -260,7 +259,9 @@ selected index name - false) + false + nil + delta) undo-id (js/Symbol)] diff --git a/frontend/src/app/main/data/workspace/shortcuts.cljs b/frontend/src/app/main/data/workspace/shortcuts.cljs index a54e14cf0b..e1535516bf 100644 --- a/frontend/src/app/main/data/workspace/shortcuts.cljs +++ b/frontend/src/app/main/data/workspace/shortcuts.cljs @@ -464,11 +464,11 @@ :subsections [:panels] :fn #(st/emit! (dcm/go-to-workspace :layout :assets))} - :toggle-history {:tooltip (ds/alt "H") - :command (ds/a-mod "h") + :toggle-history {:tooltip (ds/meta-alt "H") + :command (ds/ca-mod "h") :subsections [:panels] :fn #(emit-when-no-readonly - (dcm/go-to-workspace :layout :document-history))} + (dw/toggle-layout-flag :document-history))} :toggle-colorpalette {:tooltip (ds/alt "P") :command (ds/a-mod "p") diff --git a/frontend/src/app/main/data/workspace/thumbnails.cljs b/frontend/src/app/main/data/workspace/thumbnails.cljs index 467a999192..11d1503bdc 100644 --- a/frontend/src/app/main/data/workspace/thumbnails.cljs +++ b/frontend/src/app/main/data/workspace/thumbnails.cljs @@ -10,6 +10,7 @@ [app.common.files.helpers :as cfh] [app.common.logging :as l] [app.common.thumbnails :as thc] + [app.common.types.component :as ctc] [app.common.uuid :as uuid] [app.main.data.changes :as dch] [app.main.data.helpers :as dsh] @@ -184,11 +185,11 @@ (rx/filter (ptk/type? ::clear-thumbnail)) (rx/filter #(= (deref %) object-id)))))))))) -(defn- extract-root-frame-changes +(defn- extract-frame-changes "Process a changes set in a commit to extract the frames that are changing" [page-id [event [old-data new-data]]] - (let [changes (:changes event) + (let [changes (:changes event) lookup-data-objects (fn [data page-id] (dm/get-in data [:pages-index page-id :objects])) @@ -205,21 +206,28 @@ get-frame-ids (fn get-frame-ids [id] - (let [old-objects (lookup-data-objects old-data page-id) - new-objects (lookup-data-objects new-data page-id) + (let [old-objects (lookup-data-objects old-data page-id) + new-objects (lookup-data-objects new-data page-id) - new-shape (get new-objects id) - old-shape (get old-objects id) + new-shape (get new-objects id) + old-shape (get old-objects id) - old-frame-id (if (cfh/frame-shape? old-shape) id (:frame-id old-shape)) - new-frame-id (if (cfh/frame-shape? new-shape) id (:frame-id new-shape))] + old-frame-id (if (cfh/frame-shape? old-shape) id (:frame-id old-shape)) + new-frame-id (if (cfh/frame-shape? new-shape) id (:frame-id new-shape)) + + root-frame-old? (cfh/root-frame? old-objects old-frame-id) + root-frame-new? (cfh/root-frame? new-objects new-frame-id) + instance-root? (ctc/instance-root? new-shape)] (cond-> #{} - (cfh/root-frame? old-objects old-frame-id) - (conj old-frame-id) + root-frame-old? + (conj ["frame" old-frame-id]) - (cfh/root-frame? new-objects new-frame-id) - (conj new-frame-id) + root-frame-new? + (conj ["frame" new-frame-id]) + + instance-root? + (conj ["component" id]) (and (uuid? (:frame-id old-shape)) (not= uuid/zero (:frame-id old-shape))) @@ -266,7 +274,7 @@ (rx/map deref) (rx/observe-on :async) (rx/with-latest-from workspace-data-s) - (rx/merge-map (partial extract-root-frame-changes page-id)) + (rx/merge-map (partial extract-frame-changes page-id)) (rx/tap #(l/trc :hint "inconming change" :origin "all" :frame-id (dm/str %))) (rx/share)) @@ -281,15 +289,15 @@ ;; and interrupt any ongoing update-thumbnail process ;; related to current frame-id (->> all-commits-s - (rx/mapcat (fn [frame-id] - (rx/of (clear-thumbnail file-id page-id frame-id "frame") - (clear-thumbnail file-id page-id frame-id "component"))))) + (rx/mapcat (fn [[tag frame-id]] + (rx/of (clear-thumbnail file-id page-id frame-id tag))))) ;; Generate thumbnails in batches, once user becomes ;; inactive for some instant. (->> all-commits-s (rx/buffer-until notifier-s) (rx/mapcat #(into #{} %)) - (rx/map #(update-thumbnail file-id page-id % "frame" "watch-state-changes")))) + (rx/map (fn [[tag frame-id]] + (update-thumbnail file-id page-id frame-id tag "watch-state-changes"))))) (rx/take-until stopper-s)))))) diff --git a/frontend/src/app/main/ui/workspace/tokens/changes.cljs b/frontend/src/app/main/data/workspace/tokens/application.cljs similarity index 94% rename from frontend/src/app/main/ui/workspace/tokens/changes.cljs rename to frontend/src/app/main/data/workspace/tokens/application.cljs index 8bdc1a67f8..16f5ff28e6 100644 --- a/frontend/src/app/main/ui/workspace/tokens/changes.cljs +++ b/frontend/src/app/main/data/workspace/tokens/application.cljs @@ -4,16 +4,19 @@ ;; ;; Copyright (c) KALEIDOS INC -(ns app.main.ui.workspace.tokens.changes +(ns app.main.data.workspace.tokens.application (:require [app.common.data :as d] [app.common.data.macros :as dm] + [app.common.files.tokens :as cft] [app.common.types.shape.layout :as ctsl] [app.common.types.shape.radius :as ctsr] [app.common.types.token :as ctt] [app.common.types.tokens-lib :as ctob] [app.main.data.event :as ev] [app.main.data.helpers :as dsh] + [app.main.data.style-dictionary :as sd] + [app.main.data.tinycolor :as tinycolor] [app.main.data.workspace :as udw] [app.main.data.workspace.colors :as wdc] [app.main.data.workspace.shape-layout :as dwsl] @@ -21,16 +24,13 @@ [app.main.data.workspace.transforms :as dwt] [app.main.data.workspace.undo :as dwu] [app.main.store :as st] - [app.main.ui.workspace.tokens.style-dictionary :as sd] - [app.main.ui.workspace.tokens.tinycolor :as tinycolor] - [app.main.ui.workspace.tokens.token :as wtt] [beicon.v2.core :as rx] [clojure.set :as set] [potok.v2.core :as ptk])) (declare token-properties) -;; Token Updates --------------------------------------------------------------- +;; Events to apply / unapply tokens to shapes ------------------------------------------------------------ (defn apply-token "Apply `attributes` that match `token` for `shape-ids`. @@ -56,8 +56,8 @@ (keys)) []) - resolved-value (get-in resolved-tokens [(wtt/token-identifier token) :resolved-value]) - tokenized-attributes (wtt/attributes-map attributes token)] + resolved-value (get-in resolved-tokens [(cft/token-identifier token) :resolved-value]) + tokenized-attributes (cft/attributes-map attributes token)] (rx/of (st/emit! (ptk/event ::ev/event {::ev/name "apply-tokens"})) (dwu/start-undo-transaction undo-id) @@ -80,7 +80,7 @@ ptk/WatchEvent (watch [_ _ _] (rx/of - (let [remove-token #(when % (wtt/remove-attributes-for-token attributes token %))] + (let [remove-token #(when % (cft/remove-attributes-for-token attributes token %))] (dwsh/update-shapes shape-ids (fn [shape] @@ -95,7 +95,7 @@ (get token-properties (:type token)) unapply-tokens? - (wtt/shapes-token-applied? token shapes (or all-attributes attributes)) + (cft/shapes-token-applied? token shapes (or all-attributes attributes)) shape-ids (map :id shapes)] (if unapply-tokens? @@ -109,7 +109,9 @@ :shape-ids shape-ids :on-update-shape on-update-shape}))))))) -;; Shape Updates --------------------------------------------------------------- +;; Events to update the value of attributes with applied tokens --------------------------------------------------------- + +;; (note that dwsh/update-shapes function returns an event) (defn update-shape-radius-all ([value shape-ids attributes] (update-shape-radius-all value shape-ids attributes nil)) @@ -326,7 +328,7 @@ (dwsl/update-layout-child shape-ids props {:ignore-touched true :page-id page-id})))))))) -;; Token Types ----------------------------------------------------------------- +;; Map token types to different properties used along the cokde --------------------------------------------------------- ;; FIXME: the values should be lazy evaluated, probably a function, ;; becasue on future we will need to translate that labels and that diff --git a/frontend/src/app/main/data/workspace/tokens/color.cljs b/frontend/src/app/main/data/workspace/tokens/color.cljs new file mode 100644 index 0000000000..828a1ca4cd --- /dev/null +++ b/frontend/src/app/main/data/workspace/tokens/color.cljs @@ -0,0 +1,21 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.main.data.workspace.tokens.color + (:require + [app.common.files.tokens :as cft] + [app.main.data.tinycolor :as tinycolor])) + +(defn color-bullet-color [token-color-value] + (when-let [tc (tinycolor/valid-color token-color-value)] + (if (tinycolor/alpha tc) + {:color (tinycolor/->hex-string tc) + :opacity (tinycolor/alpha tc)} + (tinycolor/->hex-string tc)))) + +(defn resolved-token-bullet-color [{:keys [resolved-value] :as token}] + (when (and resolved-value (cft/color-token? token)) + (color-bullet-color resolved-value))) \ No newline at end of file diff --git a/frontend/src/app/main/ui/workspace/tokens/errors.cljs b/frontend/src/app/main/data/workspace/tokens/errors.cljs similarity index 78% rename from frontend/src/app/main/ui/workspace/tokens/errors.cljs rename to frontend/src/app/main/data/workspace/tokens/errors.cljs index 1d9213c4dc..025b7e7916 100644 --- a/frontend/src/app/main/ui/workspace/tokens/errors.cljs +++ b/frontend/src/app/main/data/workspace/tokens/errors.cljs @@ -1,4 +1,10 @@ -(ns app.main.ui.workspace.tokens.errors +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.main.data.workspace.tokens.errors (:require [app.util.i18n :refer [tr]] [cuerdas.core :as str])) @@ -12,9 +18,15 @@ {:error/code :error.import/invalid-json-data :error/fn #(tr "workspace.token.invalid-json")} + :error.import/invalid-token-name + {:error/code :error.import/invalid-json-data + :error/fn #(tr "workspace.token.invalid-json-token-name") + :error/detail #(tr "workspace.token.invalid-json-token-name-detail" %)} + :error.import/style-dictionary-reference-errors {:error/code :error.import/style-dictionary-reference-errors - :error/fn #(str (tr "workspace.token.import-error") "\n\n" (str/join "\n\n" %))} + :error/fn #(str (tr "workspace.token.import-error") "\n\n" (first %)) + :error/detail #(str/join "\n\n" (rest %))} :error.import/style-dictionary-unknown-error {:error/code :error.import/style-dictionary-reference-errors @@ -74,3 +86,11 @@ (:error/fn err) ((:error/fn err) (:error/value err)) (:error/message err) (:error/message err) :else err))))) + +(defn detail-errors [errors] + (->> errors + (map (fn [err] + (when (:error/detail err) + ((:error/detail err) (:error/value err))))) + (filter some?) + (seq))) diff --git a/frontend/src/app/main/data/tokens.cljs b/frontend/src/app/main/data/workspace/tokens/library_edit.cljs similarity index 92% rename from frontend/src/app/main/data/tokens.cljs rename to frontend/src/app/main/data/workspace/tokens/library_edit.cljs index 7c234838f3..cc3a345cf3 100644 --- a/frontend/src/app/main/data/tokens.cljs +++ b/frontend/src/app/main/data/workspace/tokens/library_edit.cljs @@ -4,7 +4,7 @@ ;; ;; Copyright (c) KALEIDOS INC -(ns app.main.data.tokens +(ns app.main.data.workspace.tokens.library-edit (:require [app.common.data.macros :as dm] [app.common.files.changes-builder :as pcb] @@ -18,10 +18,9 @@ [app.main.data.helpers :as dsh] [app.main.data.notifications :as ntf] [app.main.data.workspace.shapes :as dwsh] - [app.main.ui.workspace.tokens.update :as wtu] + [app.main.data.workspace.tokens.propagation :as dwtp] [app.util.i18n :refer [tr]] [beicon.v2.core :as rx] - [cuerdas.core :as str] [potok.v2.core :as ptk])) (declare set-selected-token-set-name) @@ -124,7 +123,7 @@ (pcb/update-active-token-themes active-token-themes' prev-active-token-themes))] (rx/of (dch/commit-changes changes) - (wtu/update-workspace-tokens)))))) + (dwtp/propagate-workspace-tokens)))))) (defn delete-token-theme [group theme-name] (ptk/reify ::delete-token-theme @@ -136,7 +135,7 @@ (pcb/set-token-theme group theme-name nil))] (rx/of (dch/commit-changes changes) - (wtu/update-workspace-tokens)))))) + (dwtp/propagate-workspace-tokens)))))) (defn create-token-set [set-name] @@ -192,6 +191,23 @@ (rx/of (set-selected-token-set-name name) (dch/commit-changes changes)))))))) +(defn duplicate-token-set + [id is-group] + (ptk/reify ::duplicate-token-set + ptk/WatchEvent + (watch [it state _] + (let [data (dsh/lookup-file-data state) + name (ctob/normalize-set-name id) + tokens-lib (get data :tokens-lib) + suffix (tr "workspace.token.duplicate-suffix")] + + (when-let [set (ctob/duplicate-set name tokens-lib {:suffix suffix})] + (let [changes (-> (pcb/empty-changes it) + (pcb/with-library-data data) + (pcb/set-token-set (:name set) is-group set))] + (rx/of (set-selected-token-set-name name) + (dch/commit-changes changes)))))))) + (defn toggle-token-set [name] (assert (string? name) "expected a string for `name`") @@ -205,7 +221,7 @@ (clt/generate-toggle-token-set tlib name))] (rx/of (dch/commit-changes changes) - (wtu/update-workspace-tokens)))))) + (dwtp/propagate-workspace-tokens)))))) (defn toggle-token-set-group [group-path] (ptk/reify ::toggle-token-set-group @@ -217,7 +233,7 @@ (clt/generate-toggle-token-set-group (get-tokens-lib state) group-path))] (rx/of (dch/commit-changes changes) - (wtu/update-workspace-tokens)))))) + (dwtp/propagate-workspace-tokens)))))) (defn import-tokens-lib [lib] (ptk/reify ::import-tokens-lib @@ -228,7 +244,7 @@ (pcb/with-library-data data) (pcb/set-tokens-lib lib))] (rx/of (dch/commit-changes changes) - (wtu/update-workspace-tokens)))))) + (dwtp/propagate-workspace-tokens)))))) (defn delete-token-set-path [group? path] @@ -240,7 +256,7 @@ (pcb/with-library-data data) (pcb/set-token-set (ctob/join-set-path path) group? nil))] (rx/of (dch/commit-changes changes) - (wtu/update-workspace-tokens)))))) + (dwtp/propagate-workspace-tokens)))))) (defn drop-error [{:keys [error to-path]}] (ptk/reify ::drop-error @@ -267,7 +283,7 @@ (when-let [changes (clt/generate-move-token-set-group (pcb/empty-changes it) (get-tokens-lib state) drop-opts)] (rx/of (dch/commit-changes changes) - (wtu/update-workspace-tokens))) + (dwtp/propagate-workspace-tokens))) (catch :default e (rx/of (drop-error (ex-data e)))))))) @@ -284,7 +300,7 @@ changes (-> (pcb/empty-changes it) (clt/generate-move-token-set tokens-lib params))] (rx/of (dch/commit-changes changes) - (wtu/update-workspace-tokens))) + (dwtp/propagate-workspace-tokens))) (catch :default cause (rx/of (drop-error (ex-data cause)))))))) @@ -385,17 +401,8 @@ (when-let [token (ctob/get-token token-set token-name)] (let [tokens (ctob/get-tokens token-set) unames (map :name tokens) - - suffix-fn - (fn [copy-count] - (let [suffix (tr "workspace.token.duplicate-suffix")] - (str/concat "-" - suffix - (when (> copy-count 1) - (str "-" copy-count))))) - - copy-name - (cfh/generate-unique-name token-name unames :suffix-fn suffix-fn)] + suffix (tr "workspace.token.duplicate-suffix") + copy-name (cfh/generate-unique-name token-name unames :suffix suffix)] (rx/of (create-token (assoc token :name copy-name))))))))) diff --git a/frontend/src/app/main/ui/workspace/tokens/update.cljs b/frontend/src/app/main/data/workspace/tokens/propagation.cljs similarity index 74% rename from frontend/src/app/main/ui/workspace/tokens/update.cljs rename to frontend/src/app/main/data/workspace/tokens/propagation.cljs index 9de0bd2335..7bef78254b 100644 --- a/frontend/src/app/main/ui/workspace/tokens/update.cljs +++ b/frontend/src/app/main/data/workspace/tokens/propagation.cljs @@ -4,18 +4,18 @@ ;; ;; Copyright (c) KALEIDOS INC -(ns app.main.ui.workspace.tokens.update +(ns app.main.data.workspace.tokens.propagation (:require [app.common.files.helpers :as cfh] [app.common.logging :as l] [app.common.types.token :as ctt] + [app.common.types.tokens-lib :as ctob] [app.main.data.helpers :as dsh] + [app.main.data.style-dictionary :as sd] [app.main.data.workspace.shapes :as dwsh] [app.main.data.workspace.thumbnails :as dwt] + [app.main.data.workspace.tokens.application :as dwta] [app.main.data.workspace.undo :as dwu] - [app.main.ui.workspace.tokens.changes :as wtch] - [app.main.ui.workspace.tokens.style-dictionary :as wtsd] - [app.main.ui.workspace.tokens.token-set :as wtts] [app.util.time :as dt] [beicon.v2.core :as rx] [clojure.data :as data] @@ -24,21 +24,21 @@ ;; Constants ------------------------------------------------------------------- -(def filter-existing-values? false) +(def ^:private filter-existing-values? false) -(def attributes->shape-update - {ctt/border-radius-keys wtch/update-shape-radius-for-corners - ctt/color-keys wtch/update-fill-stroke - ctt/stroke-width-keys wtch/update-stroke-width - ctt/sizing-keys wtch/update-shape-dimensions - ctt/opacity-keys wtch/update-opacity - #{:x :y} wtch/update-shape-position - #{:p1 :p2 :p3 :p4} wtch/update-layout-padding - #{:m1 :m2 :m3 :m4} wtch/update-layout-item-margin - #{:column-gap :row-gap} wtch/update-layout-spacing - #{:width :height} wtch/update-shape-dimensions - #{:layout-item-min-w :layout-item-min-h :layout-item-max-w :layout-item-max-h} wtch/update-layout-sizing-limits - ctt/rotation-keys wtch/update-rotation}) +(def ^:private attributes->shape-update + {ctt/border-radius-keys dwta/update-shape-radius-for-corners + ctt/color-keys dwta/update-fill-stroke + ctt/stroke-width-keys dwta/update-stroke-width + ctt/sizing-keys dwta/update-shape-dimensions + ctt/opacity-keys dwta/update-opacity + #{:x :y} dwta/update-shape-position + #{:p1 :p2 :p3 :p4} dwta/update-layout-padding + #{:m1 :m2 :m3 :m4} dwta/update-layout-item-margin + #{:column-gap :row-gap} dwta/update-layout-spacing + #{:width :height} dwta/update-shape-dimensions + #{:layout-item-min-w :layout-item-min-h :layout-item-max-w :layout-item-max-h} dwta/update-layout-sizing-limits + ctt/rotation-keys dwta/update-rotation}) (def attribute-actions-map (reduce @@ -48,6 +48,7 @@ ;; Helpers --------------------------------------------------------------------- +;; TODO: see if this can be replaced by more standard functions (defn deep-merge "Like d/deep-merge but unions set values." ([a b] @@ -60,7 +61,7 @@ ;; Data flows ------------------------------------------------------------------ -(defn invert-collect-key-vals +(defn- invert-collect-key-vals [xs resolved-tokens shape] (-> (reduce (fn [acc [k v]] @@ -74,7 +75,7 @@ (update acc resolved-value (fnil conj #{}) k)))) {} xs))) -(defn split-attribute-groups [attrs-values-map] +(defn- split-attribute-groups [attrs-values-map] (reduce (fn [acc [attrs v]] (cond @@ -91,7 +92,7 @@ attrs (assoc acc attrs v))) {} attrs-values-map)) -(defn shape-ids-by-values +(defn- shape-ids-by-values [attrs-values-map object-id] (->> (map (fn [[value attrs]] [attrs {value #{object-id}}]) attrs-values-map) (into {}))) @@ -121,7 +122,6 @@ [tokens frame-ids text-ids]))) -;; FIXME: revisit this (defn- actionize-shapes-update-info [page-id shapes-update-info] (mapcat (fn [[attrs update-infos]] (let [action (some attribute-actions-map attrs)] @@ -131,14 +131,15 @@ update-infos))) shapes-update-info)) -(defn update-tokens +(defn propagate-tokens + "Propagate tokens values to all shapes where they are applied" [state resolved-tokens] (let [file-id (get state :current-file-id) current-page-id (get state :current-page-id) fdata (dsh/lookup-file-data state file-id) tpoint (dt/tpoint-ms)] - (l/inf :status "START" :hint "update-tokens") + (l/inf :status "START" :hint "propagate-tokens") (->> (rx/concat (rx/of current-page-id) (->> (rx/from (:pages fdata)) @@ -155,7 +156,7 @@ (actionize-shapes-update-info page-id attrs)] (l/inf :status "PROGRESS" - :hint "update-tokens" + :hint "propagate-tokens" :page-id (str page-id) :elapsed (tpoint) ::l/sync? true) @@ -175,19 +176,21 @@ (rx/finalize (fn [_] (let [elapsed (tpoint)] - (l/inf :status "END" :hint "update-tokens" :elapsed elapsed))))))) + (l/inf :status "END" :hint "propagate-tokens" :elapsed elapsed))))))) -(defn update-workspace-tokens +(defn propagate-workspace-tokens [] - (ptk/reify ::update-workspace-tokens + (ptk/reify ::propagate-workspace-tokens ptk/WatchEvent (watch [_ state _] - (let [tokens (-> (wtts/get-active-theme-sets-tokens-names-map state) - (wtsd/resolve-tokens+))] - (->> (rx/from tokens) - (rx/mapcat (fn [sd-tokens] - (let [undo-id (js/Symbol)] - (rx/concat - (rx/of (dwu/start-undo-transaction undo-id :timeout false)) - (update-tokens state sd-tokens) - (rx/of (dwu/commit-undo-transaction undo-id))))))))))) + (when-let [tokens-lib (-> (dsh/lookup-file-data state) + (get :tokens-lib))] + (let [tokens (-> (ctob/get-active-themes-set-tokens tokens-lib) + (sd/resolve-tokens+))] + (->> (rx/from tokens) + (rx/mapcat (fn [sd-tokens] + (let [undo-id (js/Symbol)] + (rx/concat + (rx/of (dwu/start-undo-transaction undo-id :timeout false)) + (propagate-tokens state sd-tokens) + (rx/of (dwu/commit-undo-transaction undo-id)))))))))))) \ No newline at end of file diff --git a/frontend/src/app/main/data/workspace/tokens/selected_set.cljs b/frontend/src/app/main/data/workspace/tokens/selected_set.cljs index b8d02aa1bc..7969e3be10 100644 --- a/frontend/src/app/main/data/workspace/tokens/selected_set.cljs +++ b/frontend/src/app/main/data/workspace/tokens/selected_set.cljs @@ -11,7 +11,7 @@ [app.common.types.tokens-lib :as ctob] [app.main.data.helpers :as dsh])) -(defn get-selected-token-set-name [state] +(defn- get-selected-token-set-name [state] (or (get-in state [:workspace-tokens :selected-token-set-name]) (some-> (dsh/lookup-file-data state) (get :tokens-lib) diff --git a/frontend/src/app/main/ui/workspace/tokens/warnings.cljs b/frontend/src/app/main/data/workspace/tokens/warnings.cljs similarity index 82% rename from frontend/src/app/main/ui/workspace/tokens/warnings.cljs rename to frontend/src/app/main/data/workspace/tokens/warnings.cljs index b175d164aa..1849f824a2 100644 --- a/frontend/src/app/main/ui/workspace/tokens/warnings.cljs +++ b/frontend/src/app/main/data/workspace/tokens/warnings.cljs @@ -1,4 +1,10 @@ -(ns app.main.ui.workspace.tokens.warnings +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.main.data.workspace.tokens.warnings (:require [app.util.i18n :refer [tr]] [cuerdas.core :as str])) diff --git a/frontend/src/app/main/data/workspace/variants.cljs b/frontend/src/app/main/data/workspace/variants.cljs index 1c38fc82f0..1566ba4e3f 100644 --- a/frontend/src/app/main/data/workspace/variants.cljs +++ b/frontend/src/app/main/data/workspace/variants.cljs @@ -8,13 +8,16 @@ (:require [app.common.colors :as clr] [app.common.data :as d] - [app.common.data.macros :as dm] [app.common.files.changes-builder :as pcb] [app.common.files.helpers :as cfh] - [app.common.logic.libraries :as cll] + [app.common.files.variant :as cfv] + [app.common.geom.point :as gpt] + [app.common.logic.variant-properties :as clvp] [app.common.logic.variants :as clv] [app.common.types.component :as ctc] [app.common.types.components-list :as ctkl] + [app.common.types.shape.layout :as ctsl] + [app.common.types.variant :as ctv] [app.common.uuid :as uuid] [app.main.data.changes :as dch] [app.main.data.helpers :as dsh] @@ -23,23 +26,65 @@ [app.main.data.workspace.selection :as dws] [app.main.data.workspace.shape-layout :as dwsl] [app.main.data.workspace.shapes :as dwsh] + [app.main.data.workspace.transforms :as dwt] [app.main.data.workspace.undo :as dwu] [app.main.features :as features] [app.util.dom :as dom] [beicon.v2.core :as rx] [potok.v2.core :as ptk])) -(dm/export clv/find-related-components) +(defn update-properties-names-and-values + "Compares the previous properties with the updated ones and executes the correspondent action + for each one depending on if it needs to be removed, updated or added" + [component-id variant-id previous-properties updated-properties] + (ptk/reify ::update-properties-names-and-values + ptk/UpdateEvent + (update [_ state] + (update state :workspace-local dissoc :shape-for-rename)) -(defn is-secondary-variant? - [component data] - (if-let [variant-id (:variant-id component)] - (let [page-id (:main-instance-page component) - objects (-> (dsh/get-page data page-id) - (get :objects)) - shapes (dm/get-in objects [variant-id :shapes])] - (not= (:main-instance-id component) (last shapes))) - false)) + ptk/WatchEvent + (watch [it state _] + (let [page-id (:current-page-id state) + data (dsh/lookup-file-data state) + objects (-> (dsh/get-page data page-id) + (get :objects)) + + properties-to-remove (ctv/find-properties-to-remove previous-properties updated-properties) + properties-to-add (ctv/find-properties-to-add previous-properties updated-properties) + properties-to-update (ctv/find-properties-to-update previous-properties updated-properties) + + changes (-> (pcb/empty-changes it page-id) + (pcb/with-objects objects) + (pcb/with-library-data data)) + + changes (reduce + (fn [changes {:keys [name]}] + (-> changes + (clvp/generate-update-property-value component-id (ctv/find-index-for-property-name previous-properties name) ""))) + changes + properties-to-remove) + + changes (reduce + (fn [changes {:keys [name value]}] + (-> changes + (clvp/generate-update-property-value component-id (ctv/find-index-for-property-name previous-properties name) value))) + changes + properties-to-update) + + changes (reduce + (fn [changes [idx {:keys [name value]}]] + (-> changes + (clvp/generate-add-new-property variant-id {:property-name name}) + (clvp/generate-update-property-value component-id (+ idx (count previous-properties)) value))) + changes + (map-indexed vector properties-to-add)) + + undo-id (js/Symbol)] + + (rx/of + (dwu/start-undo-transaction undo-id) + (dch/commit-changes changes) + (dwu/commit-undo-transaction undo-id)))))) (defn update-property-name "Update the variant property name on the position pos @@ -56,7 +101,7 @@ changes (-> (pcb/empty-changes it page-id) (pcb/with-objects objects) (pcb/with-library-data data) - (clv/generate-update-property-name variant-id pos new-name)) + (clvp/generate-update-property-name variant-id pos new-name)) undo-id (js/Symbol)] (rx/of (dwu/start-undo-transaction undo-id) @@ -77,7 +122,7 @@ changes (-> (pcb/empty-changes it page-id) (pcb/with-library-data data) (pcb/with-objects objects) - (clv/generate-update-property-value component-id pos value)) + (clvp/generate-update-property-value component-id pos value)) undo-id (js/Symbol)] (rx/of (dwu/start-undo-transaction undo-id) @@ -100,7 +145,7 @@ changes (-> (pcb/empty-changes it page-id) (pcb/with-library-data data) (pcb/with-objects objects) - (clv/generate-remove-property variant-id pos)) + (clvp/generate-remove-property variant-id pos)) undo-id (js/Symbol)] (rx/of @@ -124,7 +169,7 @@ changes (-> (pcb/empty-changes it page-id) (pcb/with-library-data data) (pcb/with-objects objects) - (clv/generate-add-new-property variant-id options)) + (clvp/generate-add-new-property variant-id options)) undo-id (js/Symbol)] (rx/of @@ -132,7 +177,7 @@ (dch/commit-changes changes) (dwu/commit-undo-transaction undo-id)))))) -(defn set-variant-id +(defn- set-variant-id "Sets the variant-id on a component" [component-id variant-id] (ptk/reify ::set-variant-id @@ -149,7 +194,7 @@ (dch/commit-changes changes) (dwu/commit-undo-transaction undo-id)))))) -(defn focus-property +(defn- focus-property [shape-id prop-num] (ptk/reify ::focus-property ptk/EffectEvent @@ -157,6 +202,25 @@ (dom/focus! (dom/get-element (str "variant-prop-" shape-id prop-num)))))) +(defn- resposition-and-resize-variant + "Resize the variant container, and move the shape (that is a variant) to the right" + [shape-id] + (ptk/reify ::resposition-and-resize-variant + ptk/WatchEvent + (watch [_ state _] + (let [page-id (:current-page-id state) + objects (dsh/lookup-page-objects state page-id) + shape (get objects shape-id) + container (get objects (:parent-id shape)) + width (+ (:width container) (:width shape) 20) ;; 20 is the default gap for variants + x (- width (+ (:width shape) 30))] ;; 30 is the default margin for variants + (rx/of + (dwt/update-dimensions [(:parent-id shape)] :width width) + (dwt/update-position shape-id + {:x x} + {:absolute? false})))))) + + (defn add-new-variant "Create a new variant and add it to the variant-container" [shape-id] @@ -174,39 +238,28 @@ component-id (:component-id shape) component (ctkl/get-component data component-id) + container-id (:parent-id shape) + variant-container (get objects container-id) + has-layout? (ctsl/any-layout? variant-container) + new-component-id (uuid/next) new-shape-id (uuid/next) - value (str clv/value-prefix - (-> (clv/extract-properties-values data objects (:variant-id component)) - last - :value - count - inc)) - prop-num (dec (count (:variant-properties component))) - - [new-shape changes] (-> (pcb/empty-changes it page-id) + changes (-> (pcb/empty-changes it page-id) (pcb/with-library-data data) (pcb/with-objects objects) (pcb/with-page-id page-id) - (cll/generate-duplicate-component - {:data data} - component-id - new-component-id - true - {:new-shape-id new-shape-id :apply-changes-local-library? true})) - - changes (-> changes - (clv/generate-update-property-value new-component-id prop-num value) - (pcb/change-parent (:parent-id shape) [new-shape] 0)) + (clv/generate-add-new-variant shape (:variant-id component) new-component-id new-shape-id prop-num)) undo-id (js/Symbol)] (rx/concat (rx/of (dwu/start-undo-transaction undo-id) (dch/commit-changes changes) + (when-not has-layout? + (resposition-and-resize-variant new-shape-id)) (dwu/commit-undo-transaction undo-id) (ptk/data-event :layout/update {:ids [(:parent-id shape)]}) (dws/select-shape new-shape-id)) @@ -226,7 +279,7 @@ page-id (:current-page-id state) objects (dsh/lookup-page-objects state file-id page-id) main (get objects main-instance-id) - main-id (:id main) + parent (get objects (:parent-id main)) component-id (:component-id main) cpath (cfh/split-path (:name main)) name (first cpath) @@ -250,9 +303,17 @@ :stroke-color "#bb97d8" ;; todo use color var? :stroke-opacity 1 :stroke-width 2} + + ;; Move the position of the variant container so the main shape doesn't + ;; change its position + delta (if (ctsl/any-layout? parent) + (gpt/point 0 0) + (gpt/point -30 -30)) undo-id (js/Symbol)] + ;;TODO Refactor all called methods in order to be able to + ;;generate changes instead of call the events (rx/concat (rx/of (dwu/start-undo-transaction undo-id) @@ -261,11 +322,11 @@ (dwl/rename-component component-id name)) ;; Create variant container - (dwsh/create-artboard-from-selection variant-id) + (dwsh/create-artboard-from-selection variant-id nil nil nil delta) (cl/remove-all-fills variant-vec {:color clr/black :opacity 1}) (dwsl/create-layout-from-id variant-id :flex) (dwsh/update-shapes variant-vec #(merge % cont-props)) - (dwsh/update-shapes [main-id] #(merge % main-props)) + (dwsh/update-shapes [main-instance-id] #(merge % main-props)) (cl/add-stroke variant-vec stroke-props) (set-variant-id component-id variant-id)) @@ -283,9 +344,11 @@ (rx/of (add-new-variant main-instance-id) - (dwu/commit-undo-transaction undo-id))))))) + (dwu/commit-undo-transaction undo-id) + (ptk/data-event :layout/update {:ids [variant-id]}))))))) (defn add-component-or-variant + "Manage the shared shortcut, and do the pertinent action" [] (ptk/reify ::add-component-or-variant @@ -319,6 +382,7 @@ (rx/of (dwl/add-component))))))) (defn duplicate-or-add-variant + "Manage the shared shortcut, and do the pertinent action" [] (ptk/reify ::duplicate-or-add-variant ptk/WatchEvent @@ -336,3 +400,43 @@ (rx/from (map add-new-variant selected-ids)) (rx/of (dwu/commit-undo-transaction undo-id))) (rx/of (dws/duplicate-selected true))))))) + + +(defn rename-variant + "Rename the variant container and all components belonging to this variant" + [variant-id name] + (ptk/reify ::rename-variant + + ptk/WatchEvent + (watch [_ state _] + (let [page-id (:current-page-id state) + data (dsh/lookup-file-data state) + objects (-> (dsh/get-page data page-id) + (get :objects)) + variant-components (cfv/find-variant-components data objects variant-id) + clean-name (cfh/clean-path name) + undo-id (js/Symbol)] + + (rx/concat + (rx/of (dwu/start-undo-transaction undo-id) + (dwsh/update-shapes [variant-id] #(assoc % :name clean-name))) + (rx/from (map + #(dwl/rename-component-and-main-instance (:id %) clean-name) + variant-components)) + (rx/of (dwu/commit-undo-transaction undo-id))))))) + + +(defn rename-comp-or-variant-and-main + "If the component is in a variant, rename the variant. + If it is not, rename the component and its main" + [component-id name] + (ptk/reify ::rename-comp-or-variant-and-main + + ptk/WatchEvent + (watch [_ state _] + (let [data (dsh/lookup-file-data state) + component (ctkl/get-component data component-id)] + (if (ctc/is-variant? component) + (rx/of (rename-variant (:variant-id component) name)) + (rx/of (dwl/rename-component-and-main-instance component-id name))))))) + diff --git a/frontend/src/app/main/errors.cljs b/frontend/src/app/main/errors.cljs index 5ad3c84a22..d8c6b7db10 100644 --- a/frontend/src/app/main/errors.cljs +++ b/frontend/src/app/main/errors.cljs @@ -260,6 +260,14 @@ (let [message (tr "errors.feature-not-supported" (:feature error))] (st/emit! (modal/show {:type :alert :message message}))) + (= :file-in-components-v1 code) + (st/emit! (modal/show {:type :alert + :message (tr "errors.deprecated") + :link-message {:before (tr "errors.deprecated.contact.before") + :text (tr "errors.deprecated.contact.text") + :after (tr "errors.deprecated.contact.after") + :on-click #(st/emit! (rt/nav :settings-feedback))}})) + :else (print-cause! "Restriction Error" error))) diff --git a/frontend/src/app/main/fonts.clj b/frontend/src/app/main/fonts.clj index 43b9fb7916..80f4ca0a05 100644 --- a/frontend/src/app/main/fonts.clj +++ b/frontend/src/app/main/fonts.clj @@ -7,33 +7,38 @@ (ns app.main.fonts "A fonts loading macros." (:require + [app.common.uuid :as uuid] [clojure.data.json :as json] [clojure.java.io :as io] [cuerdas.core :as str])) (defn- parse-gfont-variant - [variant] + [variant files] (cond (= "regular" variant) - {:id "regular" :name "regular" :weight "400" :style "normal"} + {:id "regular" :name "regular" :weight "400" :style "normal" :ttf-url (get files "regular")} (= "italic" variant) - {:id "italic" :name "italic" :weight "400" :style "italic"} + {:id "italic" :name "italic" :weight "400" :style "italic" :ttf-url (get files "italic")} :else - (when-let [[a b c] (re-find #"^(\d+)(.*)$" variant)] - (if (str/empty? c) - {:id a :name b :weight b :style "normal"} - {:id a :name (str b " (" c ")") :weight b :style c})))) + (when-let [[id weight style] (re-find #"^(\d+)(.*)$" variant)] + {:id id + :name variant + :weight weight + :style (if (str/empty? style) "normal" style) + :ttf-url (get files id)}))) (defn- parse-gfont [font] (let [family (get font "family") - variants (get font "variants")] + variants (get font "variants") + files (get font "files")] {:id (str "gfont-" (str/slug family)) + :uuid (uuid/random) :family family :name family - :variants (into [] (comp (map parse-gfont-variant) + :variants (into [] (comp (map (fn [variant] (parse-gfont-variant variant files))) (filter identity)) variants)})) diff --git a/frontend/src/app/main/fonts.cljs b/frontend/src/app/main/fonts.cljs index 5b06f449b4..4ee3c80b39 100644 --- a/frontend/src/app/main/fonts.cljs +++ b/frontend/src/app/main/fonts.cljs @@ -33,16 +33,16 @@ :name "Source Sans Pro" :family "sourcesanspro" :variants - [{:id "200" :name "200" :weight "200" :style "normal" :suffix "extralight"} - {:id "200italic" :name "200 (italic)" :weight "200" :style "italic" :suffix "extralightitalic"} - {:id "300" :name "300" :weight "300" :style "normal" :suffix "light"} - {:id "300italic" :name "300 (italic)" :weight "300" :style "italic" :suffix "lightitalic"} - {:id "regular" :name "regular" :weight "400" :style "normal"} - {:id "italic" :name "italic" :weight "400" :style "italic"} - {:id "bold" :name "bold" :weight "bold" :style "normal"} - {:id "bolditalic" :name "bold (italic)" :weight "bold" :style "italic"} - {:id "black" :name "black" :weight "900" :style "normal"} - {:id "blackitalic" :name "black (italic)" :weight "900" :style "italic"}]}]) + [{:id "200" :name "200" :weight "200" :style "normal" :suffix "extralight" :ttf-url "sourcesanspro-extralight.ttf"} + {:id "200italic" :name "200 (italic)" :weight "200" :style "italic" :suffix "extralightitalic" :ttf-url "sourcesanspro-extralightitalic.ttf"} + {:id "300" :name "300" :weight "300" :style "normal" :suffix "light" :ttf-url "sourcesanspro-light.ttf"} + {:id "300italic" :name "300 (italic)" :weight "300" :style "italic" :suffix "lightitalic" :ttf-url "sourcesanspro-lightitalic.ttf"} + {:id "regular" :name "regular" :weight "400" :style "normal" :ttf-url "sourcesanspro-regular.ttf"} + {:id "italic" :name "italic" :weight "400" :style "italic" :ttf-url "sourcesanspro-italic.ttf"} + {:id "bold" :name "bold" :weight "bold" :style "normal" :ttf-url "sourcesanspro-bold.ttf"} + {:id "bolditalic" :name "bold (italic)" :weight "bold" :style "italic" :ttf-url "sourcesanspro-bolditalic.ttf"} + {:id "black" :name "black" :weight "900" :style "normal" :ttf-url "sourcesanspro-black.ttf"} + {:id "blackitalic" :name "black (italic)" :weight "900" :style "italic" :ttf-url "sourcesanspro-blackitalic.ttf"}]}]) (defonce fontsdb (l/atom {})) (defonce fonts (l/atom [])) diff --git a/frontend/src/app/main/ui.cljs b/frontend/src/app/main/ui.cljs index 143dec77a1..f43e86cbae 100644 --- a/frontend/src/app/main/ui.cljs +++ b/frontend/src/app/main/ui.cljs @@ -194,6 +194,7 @@ :settings-password :settings-options :settings-feedback + :settings-subscription :settings-access-tokens :settings-notifications) [:? [:& settings-page {:route route}]] diff --git a/frontend/src/app/main/ui/alert.cljs b/frontend/src/app/main/ui/alert.cljs index 821b97cee1..8dd9542493 100644 --- a/frontend/src/app/main/ui/alert.cljs +++ b/frontend/src/app/main/ui/alert.cljs @@ -9,6 +9,8 @@ (:require [app.main.data.modal :as modal] [app.main.store :as st] + [app.main.ui.components.link :as lk] + [app.main.ui.ds.notifications.context-notification :refer [context-notification*]] [app.main.ui.icons :as i] [app.util.dom :as dom] [app.util.i18n :as i18n :refer [tr]] @@ -21,6 +23,7 @@ ::mf/register-as :alert} [{:keys [message scd-message + link-message title on-accept hint @@ -59,10 +62,20 @@ [:div {:class (stl/css :modal-content)} (when (and (string? message) (not= message "")) [:h3 {:class (stl/css :modal-msg)} message]) + (when (seq link-message) + [:h3 {:class (stl/css :modal-msg)} + [:span (:before link-message)] + [:& lk/link {:action (:on-click link-message) + :class (stl/css :link)} + (:text link-message)] + [:span (:after link-message)]]) (when (and (string? scd-message) (not= scd-message "")) [:h3 {:class (stl/css :modal-scd-msg)} scd-message]) + (when (string? hint) - [:p {:class (stl/css :modal-hint)} hint])] + [:> context-notification* {:level :info + :appearance :ghost} + hint])] [:div {:class (stl/css :modal-footer)} [:div {:class (stl/css :action-buttons)} diff --git a/frontend/src/app/main/ui/alert.scss b/frontend/src/app/main/ui/alert.scss index 33e202118d..6955de2517 100644 --- a/frontend/src/app/main/ui/alert.scss +++ b/frontend/src/app/main/ui/alert.scss @@ -8,10 +8,12 @@ .modal-overlay { @extend .modal-overlay-base; + &.transparent { background-color: transparent; } } + .modal-container { @extend .modal-container-base; } @@ -34,10 +36,6 @@ margin-bottom: $s-24; } -.modal-hint { - @include bodyLargeTypography; -} - .action-buttons { @extend .modal-action-btns; } @@ -48,6 +46,7 @@ .accept-btn { @extend .modal-accept-btn; + &.danger { @extend .modal-danger-btn; } @@ -60,3 +59,15 @@ color: var(--modal-text-foreground-color); line-height: 1.5; } + +.link { + color: var(--color-accent-primary); +} + +.link::before { + content: " "; +} + +.link::after { + content: " "; +} diff --git a/frontend/src/app/main/ui/comments.cljs b/frontend/src/app/main/ui/comments.cljs index 1aa3c833e3..479c810cd4 100644 --- a/frontend/src/app/main/ui/comments.cljs +++ b/frontend/src/app/main/ui/comments.cljs @@ -450,7 +450,6 @@ (mf/defc mentions-panel* [] (let [mentions-s (mf/use-ctx mentions-context) - profile (mf/deref refs/profile) team (mf/deref refs/team) members (:members team) @@ -467,13 +466,11 @@ mentions-users (mf/with-memo [mention-filter members] (->> members - (filter (fn [{:keys [id fullname email]}] - (and - (not= id (:id profile)) - (or (not mention-filter) - (empty? mention-filter) - (str/includes? (str/lower fullname) (str/lower mention-filter)) - (str/includes? (str/lower email) (str/lower mention-filter)))))) + (filter (fn [{:keys [fullname email]}] + (or (not mention-filter) + (empty? mention-filter) + (str/includes? (str/lower fullname) (str/lower mention-filter)) + (str/includes? (str/lower email) (str/lower mention-filter))))) (take 4) (into []))) @@ -762,9 +759,29 @@ [:> comment-form-buttons* {:on-submit on-submit* :on-cancel on-cancel :is-disabled disabled?}]])) +(defn- offset-position [position viewport zoom bubble-margin] + (let [viewport (or viewport {:offset-x 0 :offset-y 0 :width 0 :height 0}) + base-x (+ (* (:x position) zoom) (:offset-x viewport)) + base-y (+ (* (:y position) zoom) (:offset-y viewport)) + + x (:x position) + y (:y position) + + w (:width viewport) + h (:height viewport) + + comment-width 284 ;; TODO: this is the width set via CSS in an outer container… + ;; We should probably do this in a different way. + + orientation-left? (>= (+ base-x comment-width (:x bubble-margin)) w) + orientation-top? (>= base-y (/ h 2)) + + h-dir (if orientation-left? :left :right) + v-dir (if orientation-top? :top :bottom)] + {:x x :y y :h-dir h-dir :v-dir v-dir})) (mf/defc comment-floating-thread-draft* - [{:keys [draft zoom on-cancel on-submit position-modifier]}] + [{:keys [draft zoom on-cancel on-submit position-modifier viewport]}] (let [profile (mf/deref refs/profile) mentions-s (mf/use-memo #(rx/subject)) @@ -773,9 +790,14 @@ (some? position-modifier) (gpt/transform position-modifier)) content (:content draft) + bubble-margin (gpt/point 0 0) - pos-x (* (:x position) zoom) - pos-y (* (:y position) zoom) + pos (offset-position position viewport zoom bubble-margin) + + margin-x (* (:x bubble-margin) (if (= (:h-dir pos) :left) -1 1)) + margin-y (* (:y bubble-margin) (if (= (:v-dir pos) :top) -1 1)) + pos-x (+ (* (:x pos) zoom) margin-x) + pos-y (- (* (:y pos) zoom) margin-y) disabled? (or (blank-content? content) (exceeds-length? content)) @@ -802,33 +824,39 @@ (on-submit draft)))] [:> (mf/provider mentions-context) {:value mentions-s} - [:div - {:class (stl/css :floating-preview-wrapper) - :data-testid "floating-thread-bubble" - :style {:top (str pos-y "px") - :left (str pos-x "px")} - :on-click dom/stop-propagation} - [:> comment-avatar* {:class (stl/css :avatar-lg) - :image (cfg/resolve-profile-photo-url profile)}]] - [:div {:class (stl/css :floating-thread-wrapper :cursor-auto) - :style {:top (str (- pos-y 24) "px") - :left (str (+ pos-x 28) "px")} - :on-click dom/stop-propagation} - [:div {:class (stl/css :form)} - [:> comment-input* - {:placeholder (tr "labels.write-new-comment") - :value (or content "") - :autofocus true - :on-esc on-esc - :on-change on-change - :on-ctrl-enter on-submit*}] - (when (exceeds-length? content) - [:div {:class (stl/css :error-text)} - (tr "errors.character-limit-exceeded")]) - [:> comment-form-buttons* {:on-submit on-submit* - :on-cancel on-esc - :is-disabled disabled?}]] - [:> mentions-panel*]]])) + [:div {:class (stl/css-case :floating-thread-draft-wrapper true + :left (= (:h-dir pos) :left) + :top (= (:v-dir pos) :top)) + :style {:top (str pos-y "px") + :left (str pos-x "px")}} + [:div + {:data-testid "floating-thread-bubble" + :style {:top (str pos-y "px") + :left (str pos-x "px")} + :on-click dom/stop-propagation} + [:> comment-avatar* {:class (stl/css :avatar-lg) + :image (cfg/resolve-profile-photo-url profile)}]] + [:div {:class (stl/css :floating-thread-draft-inner-wrapper + :cursor-auto) + :style {:top (str (- pos-y 24) "px") + :left (str (+ pos-x 28) "px")} + + :on-click dom/stop-propagation} + [:div {:class (stl/css :form)} + [:> comment-input* + {:placeholder (tr "labels.write-new-comment") + :value (or content "") + :autofocus true + :on-esc on-esc + :on-change on-change + :on-ctrl-enter on-submit*}] + (when (exceeds-length? content) + [:div {:class (stl/css :error-text)} + (tr "errors.character-limit-exceeded")]) + [:> comment-form-buttons* {:on-submit on-submit* + :on-cancel on-esc + :is-disabled disabled?}]] + [:> mentions-panel*]]]])) (mf/defc comment-floating-thread-header* {::mf/private true} @@ -980,26 +1008,7 @@ [thread-id] (l/derived (l/in [:comments thread-id]) st/state)) -(defn- offset-position [position viewport zoom bubble-margin] - (let [viewport (or viewport {:offset-x 0 :offset-y 0 :width 0 :height 0}) - base-x (+ (* (:x position) zoom) (:offset-x viewport)) - base-y (+ (* (:y position) zoom) (:offset-y viewport)) - x (:x position) - y (:y position) - - w (:width viewport) - h (:height viewport) - - comment-width 284 ;; TODO: this is the width set via CSS in an outer container… - ;; We should probably do this in a different way. - - orientation-left? (>= (+ base-x comment-width (:x bubble-margin)) w) - orientation-top? (>= base-y (/ h 2)) - - h-dir (if orientation-left? :left :right) - v-dir (if orientation-top? :top :bottom)] - {:x x :y y :h-dir h-dir :v-dir v-dir})) (mf/defc comment-floating-thread* {::mf/wrap [mf/memo]} diff --git a/frontend/src/app/main/ui/comments.scss b/frontend/src/app/main/ui/comments.scss index 4e4eb43455..8ca32f61b7 100644 --- a/frontend/src/app/main/ui/comments.scss +++ b/frontend/src/app/main/ui/comments.scss @@ -160,6 +160,40 @@ z-index: initial; } +.floating-thread-draft-wrapper { + position: absolute; + display: flex; + flex-direction: row; + column-gap: $s-12; + + --translate-x: 0%; + --translate-y: 0%; + transform: translate(var(--translate-x), var(--translate-y)); + + &.left { + --translate-x: -100%; + flex-direction: row-reverse; + } + + &.top { + --translate-y: -100%; + align-items: flex-end; + } +} + +.floating-thread-draft-inner-wrapper { + display: flex; + flex-direction: column; + gap: $s-12; + width: $s-284; + padding: $s-8 $s-12 $s-8 $s-12; + pointer-events: auto; + border-radius: $br-8; + border: $s-2 solid var(--modal-border-color); + background-color: var(--comment-modal-background-color); + max-height: var(--comment-height); +} + .floating-preview-displacement { margin-left: calc(-1 * ($s-12 + $s-2)); margin-top: calc(-1 * ($s-8 + $s-2)); @@ -177,6 +211,7 @@ border: $s-2 solid var(--modal-border-color); background-color: var(--comment-modal-background-color); max-height: var(--comment-height); + --translate-x: 0%; --translate-y: 0%; transform: translate(var(--translate-x), var(--translate-y)); diff --git a/frontend/src/app/main/ui/confirm.cljs b/frontend/src/app/main/ui/confirm.cljs index abb11ea8c7..9f97146c87 100644 --- a/frontend/src/app/main/ui/confirm.cljs +++ b/frontend/src/app/main/ui/confirm.cljs @@ -9,6 +9,7 @@ (:require [app.main.data.modal :as modal] [app.main.store :as st] + [app.main.ui.ds.notifications.context-notification :refer [context-notification*]] [app.main.ui.icons :as i] [app.util.dom :as dom] [app.util.i18n :as i18n :refer [tr]] @@ -76,7 +77,9 @@ (when (and (string? scd-message) (not= scd-message "")) [:h3 {:class (stl/css :modal-scd-msg)} scd-message]) (when (string? hint) - [:p {:class (stl/css :modal-hint)} hint]) + [:> context-notification* {:level :info + :appearance :ghost} + hint]) (when (> (count items) 0) [:* [:p {:class (stl/css :modal-subtitle)} diff --git a/frontend/src/app/main/ui/confirm.scss b/frontend/src/app/main/ui/confirm.scss index 0b4b08202b..3dfec11100 100644 --- a/frontend/src/app/main/ui/confirm.scss +++ b/frontend/src/app/main/ui/confirm.scss @@ -52,10 +52,6 @@ @include bodyLargeTypography; } -.modal-hint { - @extend .modal-hint-base; -} - .action-buttons { @extend .modal-action-btns; } diff --git a/frontend/src/app/main/ui/context.cljs b/frontend/src/app/main/ui/context.cljs index abee67fb4f..4e97749e9a 100644 --- a/frontend/src/app/main/ui/context.cljs +++ b/frontend/src/app/main/ui/context.cljs @@ -23,7 +23,6 @@ (def render-thumbnails (mf/create-context nil)) (def libraries (mf/create-context nil)) -(def components-v2 (mf/create-context nil)) (def design-tokens (mf/create-context nil)) (def current-scroll (mf/create-context nil)) diff --git a/frontend/src/app/main/ui/dashboard/grid.cljs b/frontend/src/app/main/ui/dashboard/grid.cljs index 450bcd0f33..df094bca80 100644 --- a/frontend/src/app/main/ui/dashboard/grid.cljs +++ b/frontend/src/app/main/ui/dashboard/grid.cljs @@ -161,7 +161,7 @@ [:span {:class (stl/css :num-assets)} (str "\u00A0(") (:count components) ")"]] ;; Unicode 00A0 is non-breaking space [:div {:class (stl/css :asset-list)} (for [component (:sample components)] - (let [root-id (or (:main-instance-id component) (:id component))] ;; Check for components-v2 in library + (let [root-id (:main-instance-id component)] [:div {:class (stl/css :asset-list-item) :key (str "assets-component-" (:id component))} [:& render/component-svg {:root-shape (get-in component [:objects root-id]) diff --git a/frontend/src/app/main/ui/dashboard/import.cljs b/frontend/src/app/main/ui/dashboard/import.cljs index dc0afa8ca0..e515ea93a0 100644 --- a/frontend/src/app/main/ui/dashboard/import.cljs +++ b/frontend/src/app/main/ui/dashboard/import.cljs @@ -291,7 +291,7 @@ import-error? [:div {:class (stl/css :error-message)} - (tr "dashboard.import.import-error")] + (tr "labels.error")] (and (not import-success?) (some? progress)) [:div {:class (stl/css :progress-message)} (parse-progress-message progress)]) @@ -443,7 +443,12 @@ (and (seq entries) (every? #(= :import-success (:status %)) entries)) - (reset! status* :import-success))) + (reset! status* :import-success) + + (and (seq entries) + (and (every? #(not= :import-ready (:status %)) entries) + (some #(= :import-error (:status %)) entries))) + (reset! status* :import-error))) ;; Run analyze operation on component mount (mf/with-effect [] @@ -469,15 +474,30 @@ {:level (if (zero? import-success-total) :warning :success) :content (tr "dashboard.import.import-message" (i18n/c import-success-total))}]) - (for [entry entries] - [:> import-entry* {:edition edition - :key (dm/str (:uri entry) "/" (:file-id entry)) - :entry entry - :entries entries - :on-edit on-edit - :on-change on-entry-change - :on-delete on-entry-delete - :can-be-deleted (> (count entries) 1)}]) + (when (= :import-error status) + [:& context-notification + {:level :error + :class (stl/css :context-notification-error) + :content (tr "dashboard.import.import-error.disclaimer")}]) + + (if (= :import-error status) + [:div {:class (stl/css :import-error-disclaimer)} + [:div (tr "dashboard.import.import-error.message1")] + [:ul {:class (stl/css :import-error-list)} + (for [entry entries] + (when (= :import-error (:status entry)) + [:li {:class (stl/css :import-error-list-enry)} (:name entry)]))] + [:div (tr "dashboard.import.import-error.message2")]] + + (for [entry entries] + [:> import-entry* {:edition edition + :key (dm/str (:uri entry) "/" (:file-id entry)) + :entry entry + :entries entries + :on-edit on-edit + :on-change on-entry-change + :on-delete on-entry-delete + :can-be-deleted (> (count entries) 1)}])) (when (some? template) [:> import-entry* {:entry (assoc template :status status) @@ -499,6 +519,7 @@ :on-click on-continue}]) (when (or (= :import-success status) + (= :import-error status) (= :import-progress status)) [:input {:class (stl/css :accept-btn) :type "button" diff --git a/frontend/src/app/main/ui/dashboard/import.scss b/frontend/src/app/main/ui/dashboard/import.scss index 257134dc4b..0ce6ae41a5 100644 --- a/frontend/src/app/main/ui/dashboard/import.scss +++ b/frontend/src/app/main/ui/dashboard/import.scss @@ -192,3 +192,20 @@ } } } + +.context-notification-error { + --context-notification-bg-color: var(--modal-background-color); +} + +.import-error-disclaimer { + color: var(--color-foreground-secondary); +} + +.import-error-list { + padding: 0 var(--sp-l); + list-style: disc; +} + +.import-error-list-enry { + padding: var(--sp-xs) 0; +} diff --git a/frontend/src/app/main/ui/dashboard/sidebar.cljs b/frontend/src/app/main/ui/dashboard/sidebar.cljs index 0a6d07c8b9..32386ef988 100644 --- a/frontend/src/app/main/ui/dashboard/sidebar.cljs +++ b/frontend/src/app/main/ui/dashboard/sidebar.cljs @@ -26,6 +26,7 @@ [app.main.ui.dashboard.comments :refer [comments-icon* comments-section]] [app.main.ui.dashboard.inline-edition :refer [inline-edition]] [app.main.ui.dashboard.project-menu :refer [project-menu*]] + [app.main.ui.dashboard.subscription :as subscription] [app.main.ui.dashboard.team-form] [app.main.ui.icons :as i :refer [icon-xref]] [app.util.dom :as dom] @@ -962,6 +963,10 @@ (dom/open-new-window "https://penpot.app/pricing")))] [:* + (when (contains? cf/flags :subscriptions) + [:> subscription/sidebar*]) + + ;; TODO remove this block when subscriptions is full implemented (when (contains? cf/flags :subscriptions-old) [:button {:class (stl/css :upgrade-plan-section) :on-click on-power-up-click} @@ -970,6 +975,7 @@ [:span {:class (stl/css :no-limits)} (tr "dashboard.upgrade-plan.no-limits")]] [:div {:class (stl/css :power-up)} (tr "dashboard.upgrade-plan.power-up")]]) + (when (and team profile) [:& comments-section {:profile profile diff --git a/frontend/src/app/main/ui/dashboard/subscription.cljs b/frontend/src/app/main/ui/dashboard/subscription.cljs new file mode 100644 index 0000000000..ba2dccdb57 --- /dev/null +++ b/frontend/src/app/main/ui/dashboard/subscription.cljs @@ -0,0 +1,78 @@ +;; Copyright (c) KALEIDOS INC + +(ns app.main.ui.dashboard.subscription + (:require-macros [app.main.style :as stl]) + (:require + [app.main.router :as rt] + [app.main.store :as st] + [app.main.ui.icons :as i] + [app.util.dom :as dom] + [app.util.i18n :as i18n :refer [tr]] + [rumext.v2 :as mf])) + +(mf/defc cta-power-up* + [{:keys [top-title top-description bottom-description cta-text cta-link has-dropdown]}] + (let [show-data* (mf/use-state false) + show-data (deref show-data*) + handle-click + (mf/use-fn + (fn [event] + (dom/stop-propagation event) + (swap! show-data* not)))] + + [:div {:class (stl/css :cta-power-up) + :on-click handle-click} + [:button {:class (stl/css :cta-top-section)} + [:div {:class (stl/css :content)} + [:span {:class (stl/css :cta-title)} top-title] + [:span {:class (stl/css :cta-text)} top-description]] + (when has-dropdown [:span {:class (stl/css :icon-dropdown)} i/arrow])] + + (when (and has-dropdown show-data) + [:div {:class (stl/css :cta-bottom-section)} + [:> i18n/tr-html* {:content bottom-description + :class (stl/css :content) + :tag-name "button"}] + [:button {:class (stl/css :cta-highlight :cta-link) :on-click cta-link} + cta-text]])])) + +(mf/defc sidebar* + [] + (let [;; TODO subscription cases professional/unlimited/enterprise + subscription-name :unlimited + subscription-is-trial false + + go-to-subscription + (mf/use-fn #(st/emit! (rt/nav :settings-subscription)))] + + (case subscription-name + :professional + [:> cta-power-up* + {:top-title (tr "subscription.dashboard.power-up.professional.top-title") + :top-description (tr "dashboard.upgrade-plan.no-limits") + :bottom-description (tr "subscription.dashboard.power-up.professional.bottom-description") + :cta-text (tr "dashboard.upgrade-plan.power-up") + :cta-link go-to-subscription + :has-dropdown true}] + + :unlimited + (if subscription-is-trial + [:> cta-power-up* + {:top-title (tr "subscription.dashboard.power-up.trial.top-title") + :top-description (tr "subscription.dashboard.power-up.trial.top-description") + :bottom-description (tr "subscription.dashboard.power-up.trial.bottom-description") + :cta-text (tr "subscription.dashboard.power-up.subscribe")}] + + [:> cta-power-up* + {:top-title (tr "subscription.dashboard.power-up.unlimited-plan") + :top-description (tr "subscription.dashboard.power-up.unlimited.top-description") + :bottom-description (tr "subscription.dashboard.power-up.unlimited.bottom-description") + :cta-text (tr "subscription.dashboard.power-up.unlimited.cta") + :cta-link go-to-subscription + :has-dropdown true}]) + + :enterprise + [:> cta-power-up* + {:top-title (tr "subscription.dashboard.power-up.enterprise-plan") + :top-description (tr "subscription.dashboard.power-up.enterprise.description") + :has-dropdown false}]))) diff --git a/frontend/src/app/main/ui/dashboard/subscription.scss b/frontend/src/app/main/ui/dashboard/subscription.scss new file mode 100644 index 0000000000..2da07be401 --- /dev/null +++ b/frontend/src/app/main/ui/dashboard/subscription.scss @@ -0,0 +1,78 @@ +@use "common/refactor/common-refactor.scss" as *; +@use "common/refactor/common-dashboard"; +@use "../ds/typography.scss" as t; +@use "../ds/_borders.scss" as *; + +.cta-power-up { + display: flex; + border: $b-1 solid var(--color-background-quaternary); + border-radius: var(--sp-s); + flex-direction: column; + margin: var(--sp-m); + padding: var(--sp-m); +} + +.cta-top-section { + @include buttonStyle; + display: grid; + color: var(--color-foreground-secondary); + grid-template-columns: 1fr auto; +} + +.cta-top-section .content { + display: flex; + flex-direction: column; +} + +.icon-dropdown { + @include flexCenter; + height: 100%; + width: $s-16; +} + +.icon-dropdown svg { + @extend .button-icon-small; + stroke: var(--icon-foreground); + transform: rotate(90deg); +} + +.cta-bottom-section { + border-block-start: $s-1 solid var(--color-background-quaternary); + display: grid; + color: var(--color-foreground-secondary); + grid-template-columns: 1fr auto; + margin-block-start: $s-12; + padding-block-start: $s-12; +} +.cta-bottom-section .content { + @include t.use-typography("body-small"); + @include buttonStyle; + color: var(--color-foreground-secondary); + display: inline; + text-align: left; +} + +.cta-text, +.cta-title { + text-align: left; +} + +.cta-text { + @include t.use-typography("body-small"); +} + +.cta-title { + @include t.use-typography("body-medium"); +} + +.cta-bottom-section .content strong, +.cta-highlight { + @include t.use-typography("body-small"); + color: var(--color-accent-tertiary); +} + +.cta-link { + @include buttonStyle; + align-self: end; + margin-inline-start: $s-4; +} diff --git a/frontend/src/app/main/ui/dashboard/team.cljs b/frontend/src/app/main/ui/dashboard/team.cljs index 595ec985a6..fd0fa00184 100644 --- a/frontend/src/app/main/ui/dashboard/team.cljs +++ b/frontend/src/app/main/ui/dashboard/team.cljs @@ -74,6 +74,7 @@ invitations-section? (= section :dashboard-team-invitations) webhooks-section? (= section :dashboard-team-webhooks) permissions (:permissions team) + invitations (:invitations team) on-invite-member (mf/use-fn @@ -108,7 +109,7 @@ [:li {:class (when settings-section? (stl/css :active))} [:a {:on-click on-nav-settings} (tr "labels.settings")]]]] [:div {:class (stl/css :dashboard-buttons)} - (if (and (or invitations-section? members-section?) (:is-admin permissions)) + (if (and (or invitations-section? members-section?) (:is-admin permissions) (not-empty invitations)) [:a {:class (stl/css :btn-secondary :btn-small) :on-click on-invite-member @@ -735,12 +736,27 @@ (mf/defc empty-invitation-table* {::mf/props :obj ::mf/private true} - [{:keys [can-invite]}] - [:div {:class (stl/css :empty-invitations)} - [:span (tr "labels.no-invitations")] - (when ^boolean can-invite - [:> i18n/tr-html* {:content (tr "labels.no-invitations-hint") - :tag-name "span"}])]) + [{:keys [can-invite team]}] + (let + [route (mf/deref refs/route) + invite-email (-> route :query-params :invite-email) + on-invite-member (mf/use-fn + (mf/deps team invite-email) + (fn [] + (st/emit! (modal/show {:type :invite-members + :team team + :origin :team + :invite-email invite-email}))))] + [:div {:class (stl/css :empty-invitations)} + [:span (tr "labels.no-invitations")] + (when ^boolean can-invite + [[:span (tr "labels.no-invitations-gather-people")] + [:a + {:class (stl/css :btn-empty-invitations) + :on-click on-invite-member + :data-testid "invite-member"} + (tr "dashboard.invite-profile")] + [:div {:class (stl/css :blank-space)}]])])) (mf/defc invitation-section* {::mf/props :obj @@ -761,7 +777,7 @@ [:div {:class (stl/css :title-field-role)} (tr "labels.role")] [:div {:class (stl/css :title-field-status)} (tr "labels.status")]] (if (empty? invitations) - [:> empty-invitation-table* {:can-invite can-invite?}] + [:> empty-invitation-table* {:can-invite can-invite? :team team}] [:div {:class (stl/css :table-rows)} (for [invitation invitations] [:> invitation-row* @@ -881,9 +897,10 @@ [:div {:class (stl/css :modal-container)} [:& fm/form {:form form :on-submit on-submit} [:div {:class (stl/css :modal-header)} - (if webhook - [:h2 {:class (stl/css :modal-title)} (tr "modals.edit-webhook.title")] - [:h2 {:class (stl/css :modal-title)} (tr "modals.create-webhook.title")]) + [:h2 {:class (stl/css :modal-title)} + (if webhook + (tr "modals.edit-webhook.title") + (tr "modals.create-webhook.title"))] [:button {:class (stl/css :modal-close-btn) :on-click on-modal-close} i/close]] @@ -1100,10 +1117,6 @@ [:& header {:section :dashboard-team-settings :team team}] [:section {:class (stl/css :dashboard-team-settings)} [:div {:class (stl/css :block :info-block)} - [:div {:class (stl/css :block-label)} - (tr "dashboard.team-info")] - [:div {:class (stl/css :block-text)} - (:name team)] [:div {:class (stl/css :team-icon)} (when can-edit [:button {:class (stl/css :update-overlay) @@ -1115,7 +1128,11 @@ [:& file-uploader {:accept "image/jpeg,image/png" :multi false :ref finput - :on-selected on-file-selected}])]] + :on-selected on-file-selected}])] + [:div {:class (stl/css :block-label)} + (tr "dashboard.team-info")] + [:div {:class (stl/css :block-text)} + (:name team)]] [:div {:class (stl/css :block)} [:div {:class (stl/css :block-label)} diff --git a/frontend/src/app/main/ui/dashboard/team.scss b/frontend/src/app/main/ui/dashboard/team.scss index d6436705fe..cdb45f06a5 100644 --- a/frontend/src/app/main/ui/dashboard/team.scss +++ b/frontend/src/app/main/ui/dashboard/team.scss @@ -27,8 +27,7 @@ } .info-block { - position: relative; - padding-top: $s-180; + margin-block-start: $s-16; } .block-label { @@ -63,12 +62,11 @@ .team-icon { --update-button-opacity: 0; - position: absolute; - top: 0; - left: 0; + position: relative; height: $s-120; width: $s-120; padding: $s-16; + margin-block-end: $s-32; &:hover { --update-button-opacity: 1; @@ -76,6 +74,9 @@ } .team-image { + position: absolute; + top: 0; + left: 0; border-radius: 50%; width: $s-120; height: $s-120; @@ -86,8 +87,8 @@ @include buttonStyle; @include flexCenter; position: absolute; - top: $s-16; - left: $s-16; + top: 0; + left: 0; height: 100%; width: 100%; z-index: $z-index-modal; @@ -310,6 +311,12 @@ color: var(--dashboard-list-text-foreground-color); } +.btn-empty-invitations { + @extend .button-primary; + margin-block-start: $s-16; + padding-inline: $s-12; +} + .title-field-status { position: relative; cursor: default; diff --git a/frontend/src/app/main/ui/delete_shared.cljs b/frontend/src/app/main/ui/delete_shared.cljs index ec21009371..92fc47fad9 100644 --- a/frontend/src/app/main/ui/delete_shared.cljs +++ b/frontend/src/app/main/ui/delete_shared.cljs @@ -11,6 +11,7 @@ [app.main.data.modal :as modal] [app.main.repo :as rp] [app.main.store :as st] + [app.main.ui.ds.notifications.context-notification :refer [context-notification*]] [app.main.ui.icons :as i] [app.util.dom :as dom] [app.util.i18n :as i18n :refer [tr]] @@ -114,7 +115,9 @@ :key (dm/str file-id)} [:span "- " file-name]])]] (when (and (string? hint) (not= hint "")) - [:h3 {:class (stl/css :modal-hint)} hint])] + [:> context-notification* {:level :info + :appearance :ghost} + hint])] [:* [:h3 {:class (stl/css :modal-msg)} no-files-msg]]))] diff --git a/frontend/src/app/main/ui/delete_shared.scss b/frontend/src/app/main/ui/delete_shared.scss index dfd7741f33..c0ee957e6a 100644 --- a/frontend/src/app/main/ui/delete_shared.scss +++ b/frontend/src/app/main/ui/delete_shared.scss @@ -35,10 +35,6 @@ margin-bottom: $s-24; } -.modal-hint { - @extend .modal-hint-base; -} - .element-list { @include bodyLargeTypography; color: var(--modal-text-foreground-color); diff --git a/frontend/src/app/main/ui/ds/controls/combobox.cljs b/frontend/src/app/main/ui/ds/controls/combobox.cljs index 04a16ace07..fdfedad0a7 100644 --- a/frontend/src/app/main/ui/ds/controls/combobox.cljs +++ b/frontend/src/app/main/ui/ds/controls/combobox.cljs @@ -75,6 +75,7 @@ (let [open* (mf/use-state false) open (deref open*) + ;;use-memo-equal selected* (mf/use-state default-selected) selected (deref selected*) @@ -215,6 +216,11 @@ (mf/with-effect [options] (mf/set-ref-val! options-ref options)) + (mf/use-effect + (mf/deps default-selected) + (fn [] + (reset! selected* default-selected))) + [:div {:ref combobox-ref :class (stl/css-case :combobox-wrapper true diff --git a/frontend/src/app/main/ui/ds/controls/input_with_values.cljs b/frontend/src/app/main/ui/ds/controls/input_with_values.cljs index 4f62df9cfb..c590655df1 100644 --- a/frontend/src/app/main/ui/ds/controls/input_with_values.cljs +++ b/frontend/src/app/main/ui/ds/controls/input_with_values.cljs @@ -16,25 +16,28 @@ (def ^:private schema:input-with-values [:map [:name :string] - [:values :string] + [:values {:optional true} :string] [:on-blur {:optional true} fn?]]) - (mf/defc input-with-values* {::mf/props :obj ::mf/schema schema:input-with-values} [{:keys [name values on-blur] :rest props}] (let [editing* (mf/use-state false) editing? (deref editing*) + input-ref (mf/use-ref) input (mf/ref-val input-ref) - title (str name ": " values) + + title (if values (str name ": " values) name) + on-edit (mf/use-fn (fn [event] (dom/stop-propagation event) (reset! editing* true) (dom/focus! input))) + on-stop-edit (mf/use-fn (mf/deps on-blur) @@ -43,6 +46,7 @@ (reset! editing* false) (when on-blur (on-blur event)))) + on-focus (mf/use-fn (fn [event] @@ -70,6 +74,8 @@ [:div {:class (stl/css :input-with-values-edit-container)} [:> input* props]] [:div {:class (stl/css :input-with-values-container :input-with-values-grid) - :title title :on-click on-edit} - [:span {:class (stl/css :input-with-values-name)} name] - [:span {:class (stl/css :input-with-values-values)} values]]))) + :title title + :on-click on-edit} + [:span {:class (stl/css :input-with-values-name)} name] + (when values + [:span {:class (stl/css :input-with-values-values)} values])]))) diff --git a/frontend/src/app/main/ui/ds/controls/input_with_values.mdx b/frontend/src/app/main/ui/ds/controls/input_with_values.mdx index 2c6261be09..778f6bea15 100644 --- a/frontend/src/app/main/ui/ds/controls/input_with_values.mdx +++ b/frontend/src/app/main/ui/ds/controls/input_with_values.mdx @@ -5,15 +5,15 @@ import * as InputWithValuesStories from "./input_with_values.stories"; # InputWithValues -The `input-with-values*` acts as an input with an addition of a series of values that are only indicators. +The `input-with-values*` acts as an input with an optional addition of a series of values that are only indicators, and an event which is triggered when the focus is lost. - ## Technical notes -* You need to pass the mandatory string properties `name` and `values` -* You can pass a function property `on-blur` that will be called with the blur event when the component lost focus (including when the user press enter or esc) +* You need to pass the mandatory string property `name`. +* You can pass the optional string property `values`. +* You can pass a function property `on-blur` that will be called with the blur event when the component loses focus (including when the user presses enter or esc). ```clj [:> input-with-values* @@ -22,16 +22,14 @@ The `input-with-values*` acts as an input with an addition of a series of values :on-blur on-blur}] ``` - ## Usage guidelines (design) - ### When to use -When we have an element that need to be editable, and an extra set of values that aren't editables and are only indicators - +When we have an element that can be editable, but doesn't change its appearance on hover, and adds an extra set of values that aren't editable (they're just indicators). ### Interaction / Behavior -* The component starts on "display" mode, showing the name and the values -* Once the user clicks on it, the input goes into "active" mode and the only thing that remains and that is editable is the name (the values are hidden) -* If the user press enter or esc, the component goes back to "display" mode + +* The component starts on "display" mode, showing the name and the values. +* Once the user clicks on it, the input goes into "active" mode and the only thing that remains and can be editable is the name (the values are hidden). +* If the user presses enter or esc, the component goes back to "display" mode. diff --git a/frontend/src/app/main/ui/ds/foundations/assets/icon.cljs b/frontend/src/app/main/ui/ds/foundations/assets/icon.cljs index 531d7763f1..c06c680bbe 100644 --- a/frontend/src/app/main/ui/ds/foundations/assets/icon.cljs +++ b/frontend/src/app/main/ui/ds/foundations/assets/icon.cljs @@ -113,6 +113,7 @@ (def ^:icon-id corner-top "corner-top") (def ^:icon-id corner-top-left "corner-top-left") (def ^:icon-id corner-top-right "corner-top-right") +(def ^:icon-id crown "crown") (def ^:icon-id curve "curve") (def ^:icon-id delete "delete") (def ^:icon-id delete-text "delete-text") @@ -134,6 +135,7 @@ (def ^:icon-id exit "exit") (def ^:icon-id expand "expand") (def ^:icon-id external-link "external-link") +(def ^:icon-id eye-off "eye-off") (def ^:icon-id feedback "feedback") (def ^:icon-id fill-content "fill-content") (def ^:icon-id filter "filter") diff --git a/frontend/src/app/main/ui/ds/notifications/shared/notification_pill.cljs b/frontend/src/app/main/ui/ds/notifications/shared/notification_pill.cljs index e69475d1f1..000653f026 100644 --- a/frontend/src/app/main/ui/ds/notifications/shared/notification_pill.cljs +++ b/frontend/src/app/main/ui/ds/notifications/shared/notification_pill.cljs @@ -8,7 +8,10 @@ (:require-macros [app.main.style :as stl]) (:require + [app.common.data.macros :as dm] + [app.main.ui.ds.buttons.icon-button :refer [icon-button*]] [app.main.ui.ds.foundations.assets.icon :as i] + [app.util.i18n :as i18n :refer [tr]] [rumext.v2 :as mf])) (defn icons-by-level @@ -26,15 +29,17 @@ [:level [:enum :default :info :warning :error :success]] [:type [:enum :toast :context]] [:appearance {:optional true} [:enum :neutral :ghost]] - [:is-html {:optional true} :boolean]]) + [:is-html {:optional true} :boolean] + [:show-detail {:optional true} [:maybe :boolean]] + [:on-toggle-detail {:optional true} [:maybe fn?]]]) (mf/defc notification-pill* {::mf/props :obj ::mf/schema schema:notification-pill} - [{:keys [level type is-html appearance children]}] - (let [class (stl/css-case :notification-pill true - :appearance-neutral (= appearance :neutral) + [{:keys [level type is-html appearance detail children show-detail on-toggle-detail]}] + (let [class (stl/css-case :appearance-neutral (= appearance :neutral) :appearance-ghost (= appearance :ghost) + :with-detail detail :type-toast (= type :toast) :type-context (= type :context) :level-default (= level :default) @@ -44,12 +49,27 @@ :level-info (= level :info)) is-html (or is-html false) icon-id (icons-by-level level)] - [:div {:class class} - [:> i/icon* {:icon-id icon-id :class (stl/css :icon)}] + [:div {:class (dm/str class " " (stl/css :notification-pill))} + [:div {:class (stl/css :error-message)} + [:> i/icon* {:icon-id icon-id :class (stl/css :icon)}] ;; The content can arrive in markdown format, in these cases - ;; we will use the prop is-html to true to indicate it and - ;; that the html injection is performed and the necessary css classes are applied. - (if is-html - [:div {:class (stl/css :context-text) - :dangerouslySetInnerHTML #js {:__html children}}] - children)])) + ;; we will use the prop is-html to true to indicate it and + ;; that the html injection is performed and the necessary css classes are applied. + (if is-html + [:div {:class (stl/css :context-text) + :dangerouslySetInnerHTML #js {:__html children}}] + children)] + + (when detail + [:div {:class (stl/css :error-detail)} + [:div {:class (stl/css :error-detail-title)} + [:> icon-button* + {:icon (if show-detail "arrow-down" "arrow") + :aria-label (tr "workspace.notification-pill.detail") + :icon-class (stl/css :expand-icon) + :variant "action" + :on-click on-toggle-detail}] + [:div {:on-click on-toggle-detail} + (tr "workspace.notification-pill.detail")]] + (when show-detail + [:div {:class (stl/css :error-detail-content)} detail])])])) diff --git a/frontend/src/app/main/ui/ds/notifications/shared/notification_pill.scss b/frontend/src/app/main/ui/ds/notifications/shared/notification_pill.scss index 3b6e4d5ff3..9216f12858 100644 --- a/frontend/src/app/main/ui/ds/notifications/shared/notification_pill.scss +++ b/frontend/src/app/main/ui/ds/notifications/shared/notification_pill.scss @@ -83,3 +83,37 @@ color: var(--notification-icon-color); margin-block-start: var(--notification-icon-margin); } + +.notification-pill { + display: grid; + max-height: 92vh; + overflow: hidden; +} + +.with-detail { + grid-template-rows: auto 1fr; +} + +.error-message { + display: flex; + gap: var(--sp-s); +} + +.error-detail { + overflow: auto; +} + +.error-detail-title { + display: flex; + align-items: center; + cursor: pointer; +} + +.expand-icon { + --icon-fill-color: var(--color-foreground-primary); + --icon-stroke-color: var(--color-foreground-primary); +} + +.error-detail-content { + padding-left: var(--sp-xxxl); +} diff --git a/frontend/src/app/main/ui/ds/notifications/toast.cljs b/frontend/src/app/main/ui/ds/notifications/toast.cljs index ee21818a1f..e100cd0c78 100644 --- a/frontend/src/app/main/ui/ds/notifications/toast.cljs +++ b/frontend/src/app/main/ui/ds/notifications/toast.cljs @@ -21,12 +21,14 @@ [:level {:optional true} [:maybe [:enum :default :info :warning :error :success]]] [:appearance {:optional true} [:enum :neutral :ghost]] [:is-html {:optional true} :boolean] - [:on-close {:optional true} fn?]]) + [:show-detail {:optional true} [:maybe :boolean]] + [:on-close {:optional true} fn?] + [:on-toggle-detail {:optional true} [:maybe fn?]]]) (mf/defc toast* {::mf/props :obj ::mf/schema schema:toast} - [{:keys [class level appearance type is-html children on-close] :rest props}] + [{:keys [class level appearance type is-html children detail show-detail on-close on-toggle-detail] :rest props}] (let [class (dm/str class " " (stl/css :toast)) level (if (string? level) (keyword level) @@ -45,9 +47,14 @@ [:> notification-pill* {:level level :type type :is-html is-html - :appearance appearance} children] - ;; TODO: this should be a buttom from the DS, but this variant is not designed yet. - ;; https://tree.taiga.io/project/penpot/task/8492 + :appearance appearance + :detail detail + :show-detail show-detail + :on-toggle-detail on-toggle-detail} children] + + + ;; TODO: this should be a buttom from the DS, but this variant is not designed yet. + ;; https://tree.taiga.io/project/penpot/task/8492 [:> "button" {:on-click on-close :aria-label "Close" :class (stl/css-case :close-button true diff --git a/frontend/src/app/main/ui/ds/notifications/toast.stories.jsx b/frontend/src/app/main/ui/ds/notifications/toast.stories.jsx index 99f8857fb5..5c6ff2b3d6 100644 --- a/frontend/src/app/main/ui/ds/notifications/toast.stories.jsx +++ b/frontend/src/app/main/ui/ds/notifications/toast.stories.jsx @@ -17,6 +17,12 @@ export default { children: { control: { type: "text" }, }, + detail: { + control: { type: "text" }, + }, + showDetail: { + control: { type: "boolean" }, + }, }, args: { children: "Lorem ipsum", @@ -40,6 +46,14 @@ export const WithLongerText = { }, }; +export const WithDetail = { + args: { + detail: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent lorem ante, bibendum sed ex.", + showDetail: true, + }, +}; + export const WithHTML = { args: { children: diff --git a/frontend/src/app/main/ui/exports/assets.scss b/frontend/src/app/main/ui/exports/assets.scss index d9873cd61d..0af4851951 100644 --- a/frontend/src/app/main/ui/exports/assets.scss +++ b/frontend/src/app/main/ui/exports/assets.scss @@ -130,10 +130,6 @@ .no-selection { @include bodySmallTypography; margin-bottom: $s-24; - .modal-hint { - @include bodySmallTypography; - color: var(--modal-text-foreground-color); - } .modal-link { @include bodyLargeTypography; text-decoration: none; @@ -304,6 +300,7 @@ } .file-name-label { @include bodyLargeTypography; + @include textEllipsis; } } &.loading { diff --git a/frontend/src/app/main/ui/exports/files.scss b/frontend/src/app/main/ui/exports/files.scss index c95f6b64a8..8857bd9c0c 100644 --- a/frontend/src/app/main/ui/exports/files.scss +++ b/frontend/src/app/main/ui/exports/files.scss @@ -32,14 +32,9 @@ @extend .modal-close-btn-base; } -.modal-content, -.no-selection { +.modal-content { @include bodySmallTypography; margin-bottom: $s-24; - .modal-hint { - @include bodySmallTypography; - color: var(--modal-text-foreground-color); - } .modal-link { @include bodyLargeTypography; text-decoration: none; @@ -199,6 +194,7 @@ .file-entry { .file-name { @include flexRow; + .file-icon { @include flexCenter; height: $s-16; @@ -211,6 +207,7 @@ } .file-name-label { @include bodyLargeTypography; + @include textEllipsis; } } &.loading { diff --git a/frontend/src/app/main/ui/icons.cljs b/frontend/src/app/main/ui/icons.cljs index 3c23a7c0e8..372e1016a8 100644 --- a/frontend/src/app/main/ui/icons.cljs +++ b/frontend/src/app/main/ui/icons.cljs @@ -70,6 +70,8 @@ (def ^:icon boolean-intersection (icon-xref :boolean-intersection)) (def ^:icon boolean-union (icon-xref :boolean-union)) (def ^:icon bug (icon-xref :bug)) +(def ^:icon character-e (icon-xref :character-e)) +(def ^:icon character-u (icon-xref :character-u)) (def ^:icon clip-content (icon-xref :clip-content)) (def ^:icon clipboard (icon-xref :clipboard)) (def ^:icon clock (icon-xref :clock)) @@ -91,6 +93,7 @@ (def ^:icon corner-top (icon-xref :corner-top)) (def ^:icon corner-top-left (icon-xref :corner-top-left)) (def ^:icon corner-top-right (icon-xref :corner-top-right)) +(def ^:icon crown (icon-xref :crown)) (def ^:icon curve (icon-xref :curve)) (def ^:icon delete-text (icon-xref :delete-text)) (def ^:icon delete (icon-xref :delete)) @@ -111,6 +114,7 @@ (def ^:icon elipse (icon-xref :elipse)) (def ^:icon exit (icon-xref :exit)) (def ^:icon expand (icon-xref :expand)) +(def ^:icon external-link (icon-xref :external-link)) (def ^:icon feedback (icon-xref :feedback)) (def ^:icon fill-content (icon-xref :fill-content)) (def ^:icon filter-icon (icon-xref :filter)) @@ -144,7 +148,6 @@ (def ^:icon img (icon-xref :img)) (def ^:icon interaction (icon-xref :interaction)) (def ^:icon join-nodes (icon-xref :join-nodes)) -(def ^:icon external-link (icon-xref :external-link)) (def ^:icon justify-content-column-around (icon-xref :justify-content-column-around)) (def ^:icon justify-content-column-between (icon-xref :justify-content-column-between)) (def ^:icon justify-content-column-center (icon-xref :justify-content-column-center)) diff --git a/frontend/src/app/main/ui/inspect/attributes/variant.cljs b/frontend/src/app/main/ui/inspect/attributes/variant.cljs index f92e689902..e9b74dad0f 100644 --- a/frontend/src/app/main/ui/inspect/attributes/variant.cljs +++ b/frontend/src/app/main/ui/inspect/attributes/variant.cljs @@ -8,7 +8,7 @@ (:require-macros [app.main.style :as stl]) (:require [app.common.data.macros :as dm] - [app.common.logic.variants :as clv] + [app.common.files.variant :as cfv] [app.common.types.component :as ctc] [app.common.types.components-list :as ctkl] [app.main.ui.components.copy-button :refer [copy-button*]] @@ -30,26 +30,18 @@ (mf/defc variant-panel* [{:keys [objects shapes libraries file-id] :as kk}] (let [shape (->> shapes first) - title (cond - (ctc/is-variant-container? shape) - "inspect.attributes.variant.component" - (ctc/main-instance? shape) - "inspect.attributes.variant.variant" - :else - "inspect.attributes.variant.copy") - + is-container? (ctc/is-variant-container? shape) properties (mf/with-memo [objects shape] (let [data (dm/get-in libraries [file-id :data]) - is-container? (ctc/is-variant-container? shape) component (when-not is-container? (ctkl/get-component data (:component-id shape)))] (if is-container? - (->> (clv/extract-properties-values data objects (:id shape)) + (->> (cfv/extract-properties-values data objects (:id shape)) (map #(update % :value (partial str/join ", ")))) (->> (:variant-properties component) (map #(update % :value (fn [v] (if (str/blank? v) "--" v))))))))] [:div {:class (stl/css :attributes-block)} [:> inspect-title-bar* - {:title (tr title) + {:title (if is-container? (tr "inspect.attributes.variants") (tr "inspect.attributes.variant")) :class (stl/css :title-spacing-variant)}] (for [[pos property] (map-indexed vector properties)] diff --git a/frontend/src/app/main/ui/inspect/right_sidebar.cljs b/frontend/src/app/main/ui/inspect/right_sidebar.cljs index 990b3a2281..5530464505 100644 --- a/frontend/src/app/main/ui/inspect/right_sidebar.cljs +++ b/frontend/src/app/main/ui/inspect/right_sidebar.cljs @@ -50,6 +50,16 @@ libraries (get-libraries from) main-instance? (ctk/main-instance? first-shape) + subtitle (cond + (or + (ctk/is-variant-container? first-shape) + (and (not (ctk/is-variant? first-shape)) main-instance?)) + (tr "inspect.subtitle.main") + (and (ctk/is-variant? first-shape) main-instance?) + (tr "inspect.subtitle.variant") + (ctk/instance-head? first-shape) + (tr "inspect.subtitle.copy")) + handle-change-tab (mf/use-fn (mf/deps from on-change-section) @@ -107,7 +117,7 @@ :viewer-code (= from :viewer))} (if (seq shapes) [:div {:class (stl/css :tool-windows)} - [:div {:class (stl/css :shape-row)} + [:div {:class (stl/css-case :shape-row true :shape-row-subtitle (some? subtitle))} (if (> (count shapes) 1) [:* [:span {:class (stl/css :layers-icon)} i/layers] @@ -127,7 +137,13 @@ ;; (tr "inspect.tabs.code.selected.rect") ;; (tr "inspect.tabs.code.selected.svg-raw") ;; (tr "inspect.tabs.code.selected.text") - [:span {:class (stl/css :layer-title)} (:name first-shape)]])] + [:div + (if (some? subtitle) + [:* + [:div {:class (stl/css :layer-title :layer-title-with-subtitle)} (:name first-shape)] + [:div {:class (stl/css :layer-subtitle)} subtitle]] + [:div {:class (stl/css :layer-title)} (:name first-shape)])]])] + [:div {:class (stl/css :inspect-content)} [:> tab-switcher* {:tabs tabs diff --git a/frontend/src/app/main/ui/inspect/right_sidebar.scss b/frontend/src/app/main/ui/inspect/right_sidebar.scss index e2ec5025f8..2ce156ce68 100644 --- a/frontend/src/app/main/ui/inspect/right_sidebar.scss +++ b/frontend/src/app/main/ui/inspect/right_sidebar.scss @@ -15,6 +15,7 @@ right: unset; grid-area: right-sidebar; overflow: hidden; + &.viewer-code { height: calc(100vh - $s-48); } @@ -40,10 +41,16 @@ height: $s-32; } +.shape-row-subtitle { + height: fit-content; + align-items: flex-start; +} + .layers-icon, .shape-icon { @include flexCenter; height: $s-32; + svg { @extend .button-icon-small; stroke: var(--icon-foreground); @@ -55,6 +62,17 @@ @include textEllipsis; height: $s-32; padding: $s-8 0; + color: var(--color-foreground-primary); +} + +.layer-title-with-subtitle { + height: fit-content; + padding-bottom: 0; +} + +.layer-subtitle { + @include bodySmallTypography; + @include textEllipsis; color: var(--assets-item-name-foreground-color-rest); } diff --git a/frontend/src/app/main/ui/notifications.cljs b/frontend/src/app/main/ui/notifications.cljs index e78ac74944..de7161db99 100644 --- a/frontend/src/app/main/ui/notifications.cljs +++ b/frontend/src/app/main/ui/notifications.cljs @@ -27,7 +27,14 @@ (= :floating (:position notification))) toast? (or (= :toast (:type notification)) (some? (:timeout notification))) - content (or (:content notification) "")] + content (or (:content notification) "") + + show-detail* (mf/use-state false) + + handle-toggle-detail + (mf/use-fn + (fn [] + (swap! show-detail* not)))] (when notification (cond @@ -35,7 +42,10 @@ [:> toast* {:level (or (:level notification) :info) :type (:type notification) - :on-close on-close} content] + :detail (:detail notification) + :on-close on-close + :show-detail @show-detail* + :on-toggle-detail handle-toggle-detail} content] inline? [:& inline-notification @@ -55,4 +65,5 @@ [:> toast* {:level (or (:level notification) :info) :type (:type notification) + :detail (:detail notification) :on-close on-close} content])))) diff --git a/frontend/src/app/main/ui/notifications/context_notification.cljs b/frontend/src/app/main/ui/notifications/context_notification.cljs index f79219c006..d1bb0dbfc4 100644 --- a/frontend/src/app/main/ui/notifications/context_notification.cljs +++ b/frontend/src/app/main/ui/notifications/context_notification.cljs @@ -38,13 +38,16 @@ "They are persistent, informative and non-actionable. They are contextual messages in specific areas off the app" {::mf/props :obj} - [{:keys [level content links is-html] :as props}] - [:aside {:class (stl/css-case :context-notification true - :contain-html is-html - :warning (= level :warning) - :error (= level :error) - :success (= level :success) - :info (= level :info))} + [{:keys [level content links is-html class] :as props}] + [:aside {:class (dm/str + class + " " + (stl/css-case :context-notification true + :contain-html is-html + :warning (= level :warning) + :error (= level :error) + :success (= level :success) + :info (= level :info)))} (get-icon-by-level level) diff --git a/frontend/src/app/main/ui/releases.cljs b/frontend/src/app/main/ui/releases.cljs index 52e728437e..9a533090d7 100644 --- a/frontend/src/app/main/ui/releases.cljs +++ b/frontend/src/app/main/ui/releases.cljs @@ -33,6 +33,7 @@ [app.main.ui.releases.v2-4] [app.main.ui.releases.v2-5] [app.main.ui.releases.v2-6] + [app.main.ui.releases.v2-7] [app.util.object :as obj] [app.util.timers :as tm] [rumext.v2 :as mf])) @@ -97,4 +98,4 @@ (defmethod rc/render-release-notes "0.0" [params] - (rc/render-release-notes (assoc params :version "2.6"))) + (rc/render-release-notes (assoc params :version "2.7"))) diff --git a/frontend/src/app/main/ui/releases/v2_7.cljs b/frontend/src/app/main/ui/releases/v2_7.cljs new file mode 100644 index 0000000000..1a5c562e25 --- /dev/null +++ b/frontend/src/app/main/ui/releases/v2_7.cljs @@ -0,0 +1,142 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.main.ui.releases.v2-7 + (:require-macros [app.main.style :as stl]) + (:require + [app.common.data.macros :as dm] + [app.main.ui.releases.common :as c] + [rumext.v2 :as mf])) + +(defmethod c/render-release-notes "2.7" + [{:keys [slide klass next finish navigate version]}] + (mf/html + (case slide + :start + [:div {:class (stl/css-case :modal-overlay true)} + [:div.animated {:class klass} + [:div {:class (stl/css :modal-container)} + [:img {:src "images/features/2.7-slide-0.jpg" + :class (stl/css :start-image) + :border "0" + :alt "Design Tokens make their debut in Penpot!"}] + + [:div {:class (stl/css :modal-content)} + [:div {:class (stl/css :modal-header)} + [:h1 {:class (stl/css :modal-title)} + "What’s new in Penpot?"] + + [:div {:class (stl/css :version-tag)} + (dm/str "Version " version)]] + + [:div {:class (stl/css :features-block)} + [:span {:class (stl/css :feature-title)} + "Penpot 2.7 is out!"] + + [:p {:class (stl/css :feature-content)} + "After the huge excitement around our last release. The first-ever native Design Tokens support in a design tool (yay!), we’re keeping the momentum going with a fresh batch of new features and improvements."] + + [:p {:class (stl/css :feature-content)} + "This update brings the first set of upgrades to our new Design Tokens system, a few of the many to come. We’ve also expanded who can create sharing prototype links and improved the invitations area. Last but not least, we fixed a bunch of bugs and optimizations that will make the experience more enjoyable for all."] + + [:p {:class (stl/css :feature-content)} + "Let’s dive in!"]] + + [:div {:class (stl/css :navigation)} + [:button {:class (stl/css :next-btn) + :on-click next} "Continue"]]]]]] + + 0 + [:div {:class (stl/css-case :modal-overlay true)} + [:div.animated {:class klass} + [:div {:class (stl/css :modal-container)} + [:img {:src "images/features/2.7-duplicate-set.gif" + :class (stl/css :start-image) + :border "0" + :alt "Design Tokens improvements"}] + + [:div {:class (stl/css :modal-content)} + [:div {:class (stl/css :modal-header)} + [:h1 {:class (stl/css :modal-title)} + "Design Tokens improvements"]] + + [:div {:class (stl/css :feature)} + [:p {:class (stl/css :feature-content)} + "It hasn’t been long since we launched Design Tokens in Penpot (the first native Design Tokens support in a design tool!), and we’re already rolling out the first set of improvements."] + + [:p {:class (stl/css :feature-content)} + "The highlight: you can now duplicate token sets directly from a menu item. A huge time-saver, especially when working from existing sets. We’ve also made it easier to create themes by letting you select their set right away, and we’ve polished some info indicators to make everything a bit clearer. Plus, we’ve fixed a bunch of early-stage bugs to keep things running smoothly."]] + + [:div {:class (stl/css :navigation)} + [:& c/navigation-bullets + {:slide slide + :navigate navigate + :total 3}] + + [:button {:on-click next + :class (stl/css :next-btn)} "Continue"]]]]]] + + 1 + [:div {:class (stl/css-case :modal-overlay true)} + [:div.animated {:class klass} + [:div {:class (stl/css :modal-container)} + [:img {:src "images/features/2.7-share.gif" + :class (stl/css :start-image) + :border "0" + :alt "Editors and viewers can now create Share prototype links"}] + + [:div {:class (stl/css :modal-content)} + [:div {:class (stl/css :modal-header)} + [:h1 {:class (stl/css :modal-title)} + "Editors and viewers can now create Share prototype links"]] + + [:div {:class (stl/css :feature)} + [:p {:class (stl/css :feature-content)} + "From now on, both editors and viewers can create Share Prototype links. Sharing prototypes is key for better team collaboration, no matter the role. It’s a common need, team members often have to share presentations without risking any accidental changes to the designs, which means they don’t necessarily need editing permissions. In the future, Penpot will introduce more fine-grained control over these permissions."] + + [:p {:class (stl/css :feature-content)} + "This update gives editors and viewers the same ability to configure, create, copy, and delete sharing links. A capability that, until now, was limited to owners and admins."]] + + [:div {:class (stl/css :navigation)} + [:& c/navigation-bullets + {:slide slide + :navigate navigate + :total 3}] + + [:button {:on-click next + :class (stl/css :next-btn)} "Continue"]]]]]] + + 2 + [:div {:class (stl/css-case :modal-overlay true)} + [:div.animated {:class klass} + [:div {:class (stl/css :modal-container)} + [:img {:src "images/features/2.7-invitations.gif" + :class (stl/css :start-image) + :border "0" + :alt "A clearer way to invite your first team members"}] + + [:div {:class (stl/css :modal-content)} + [:div {:class (stl/css :modal-header)} + [:h1 {:class (stl/css :modal-title)} + "A clearer way to invite your first team members"]] + [:div {:class (stl/css :feature)} + + [:p {:class (stl/css :feature-content)} + "Penpot works perfectly for solo projects, but it’s always more fun with a team. That’s why we’ve updated the initial state of the invitations area. Instead of starting blank, it now offers clearer guidance to help you invite your first team members."] + + [:p {:class (stl/css :feature-content)} + "This improvement in design and UX writing comes from community member Prithvi Tharun (credit where it’s due!) Not all open source contributions are about code, and this is a fantastic example of how design and writing make a real difference too."]] + + [:div {:class (stl/css :navigation)} + + [:& c/navigation-bullets + {:slide slide + :navigate navigate + :total 3}] + + [:button {:on-click finish + :class (stl/css :next-btn)} "Let's go"]]]]]]))) + diff --git a/frontend/src/app/main/ui/releases/v2_7.scss b/frontend/src/app/main/ui/releases/v2_7.scss new file mode 100644 index 0000000000..dd1b81c82b --- /dev/null +++ b/frontend/src/app/main/ui/releases/v2_7.scss @@ -0,0 +1,102 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. +// +// Copyright (c) KALEIDOS INC + +@import "refactor/common-refactor.scss"; + +.modal-overlay { + @extend .modal-overlay-base; +} + +.modal-container { + display: grid; + grid-template-columns: $s-324 1fr; + height: $s-500; + width: $s-888; + border-radius: $br-8; + background-color: var(--modal-background-color); + border: $s-2 solid var(--modal-border-color); +} + +.start-image { + width: $s-324; + border-radius: $br-8 0 0 $br-8; +} + +.modal-content { + padding: $s-40; + display: grid; + grid-template-rows: auto 1fr $s-32; + gap: $s-24; + + a { + color: var(--button-primary-background-color-rest); + } +} + +.modal-header { + display: grid; + gap: $s-8; +} + +.version-tag { + @include flexCenter; + @include headlineSmallTypography; + height: $s-32; + width: $s-96; + background-color: var(--communication-tag-background-color); + color: var(--communication-tag-foreground-color); + border-radius: $br-8; +} + +.modal-title { + @include headlineLargeTypography; + color: var(--modal-title-foreground-color); +} + +.features-block { + display: flex; + flex-direction: column; + gap: $s-16; + width: $s-440; +} + +.feature { + display: flex; + flex-direction: column; + gap: $s-8; +} + +.feature-title { + @include bodyLargeTypography; + color: var(--modal-title-foreground-color); +} + +.feature-content { + @include bodyMediumTypography; + margin: 0; + color: var(--modal-text-foreground-color); +} + +.feature-list { + @include bodyMediumTypography; + color: var(--modal-text-foreground-color); + list-style: disc; + display: grid; + gap: $s-8; +} + +.navigation { + width: 100%; + display: grid; + grid-template-areas: "bullets button"; +} + +.next-btn { + @extend .button-primary; + width: $s-100; + justify-self: flex-end; + grid-area: button; +} diff --git a/frontend/src/app/main/ui/routes.cljs b/frontend/src/app/main/ui/routes.cljs index 57886b1e30..dac362aca9 100644 --- a/frontend/src/app/main/ui/routes.cljs +++ b/frontend/src/app/main/ui/routes.cljs @@ -34,6 +34,7 @@ ["/password" :settings-password] ["/feedback" :settings-feedback] ["/options" :settings-options] + ["/subscriptions" :settings-subscription] ["/access-tokens" :settings-access-tokens] ["/notifications" :settings-notifications]] diff --git a/frontend/src/app/main/ui/settings.cljs b/frontend/src/app/main/ui/settings.cljs index aa30c4f734..b562acf918 100644 --- a/frontend/src/app/main/ui/settings.cljs +++ b/frontend/src/app/main/ui/settings.cljs @@ -22,6 +22,7 @@ [app.main.ui.settings.password :refer [password-page]] [app.main.ui.settings.profile :refer [profile-page]] [app.main.ui.settings.sidebar :refer [sidebar]] + [app.main.ui.settings.subscription :refer [subscription-page*]] [app.util.i18n :as i18n :refer [tr]] [rumext.v2 :as mf])) @@ -67,6 +68,9 @@ :settings-options [:& options-page] + :settings-subscription + [:> subscription-page*] + :settings-access-tokens [:& access-tokens-page] diff --git a/frontend/src/app/main/ui/settings/sidebar.cljs b/frontend/src/app/main/ui/settings/sidebar.cljs index 5de595091c..ebd2979870 100644 --- a/frontend/src/app/main/ui/settings/sidebar.cljs +++ b/frontend/src/app/main/ui/settings/sidebar.cljs @@ -40,6 +40,9 @@ (def ^:private go-settings-options #(st/emit! (rt/nav :settings-options))) +(def ^:private go-settings-subscription + #(st/emit! (rt/nav :settings-subscription))) + (def ^:private go-settings-access-tokens #(st/emit! (rt/nav :settings-access-tokens))) @@ -62,6 +65,7 @@ password? (= section :settings-password) options? (= section :settings-options) feedback? (= section :settings-feedback) + subscription? (= section :settings-subscription) access-tokens? (= section :settings-access-tokens) notifications? (= section :settings-notifications) team-id (or (dtm/get-last-team-id) @@ -104,6 +108,13 @@ :data-testid "settings-profile"} [:span {:class (stl/css :element-title)} (tr "labels.settings")]] + (when (contains? cf/flags :subscriptions) + [:li {:class (stl/css-case :current subscription? + :settings-item true) + :on-click go-settings-subscription + :data-testid "settings-subscription"} + [:span {:class (stl/css :element-title)} (tr "subscription.labels")]]) + (when (contains? cf/flags :access-tokens) [:li {:class (stl/css-case :current access-tokens? :settings-item true) diff --git a/frontend/src/app/main/ui/settings/subscription.cljs b/frontend/src/app/main/ui/settings/subscription.cljs new file mode 100644 index 0000000000..96ef703ada --- /dev/null +++ b/frontend/src/app/main/ui/settings/subscription.cljs @@ -0,0 +1,132 @@ +(ns app.main.ui.settings.subscription + (:require-macros [app.main.style :as stl]) + (:require + [app.main.refs :as refs] + [app.main.ui.icons :as i] + [app.util.dom :as dom] + [app.util.i18n :as i18n :refer [tr]] + [app.util.time :as dt] + [rumext.v2 :as mf])) + +(mf/defc plan-card* + {::mf/props :obj} + [{:keys [card-title card-title-icon price-value price-period benefits-title benefits cta-text cta-link]}] + [:div {:class (stl/css :plan-card)} + [:div {:class (stl/css :plan-card-header)} + [:div {:class (stl/css :plan-card-title-container)} + (when card-title-icon [:span {:class (stl/css :plan-title-icon)} card-title-icon]) + [:h4 {:class (stl/css :plan-card-title)} card-title]] + (when (and price-value price-period) + [:div {:class (stl/css :plan-price)} + [:span {:class (stl/css :plan-price-value)} price-value] + [:span {:class (stl/css :plan-price-period)} " / " price-period]])] + (when benefits-title [:h5 {:class (stl/css :benefits-title)} benefits-title]) + [:ul {:class (stl/css :benefits-list)} + (for [benefit benefits] + [:li {:key (str benefit) :class (stl/css :benefit)} "- " benefit])] + (when (and cta-link cta-text) [:a {:class (stl/css :cta-button) + :href cta-link} cta-text])]) + +(mf/defc subscription-page* + [] + (let [;; TODO subscription cases professional/unlimited/enterprise + subscription-name :unlimited + subscription-is-trial false + locale (mf/deref i18n/locale) + profile (mf/deref refs/profile) + penpot-member (dt/format-date-locale-short (:created-at profile) {:locale locale}) + ;; TODO get subscription member date + subscription-member "January 17, 2024" + ;; TODO update url to penpot payments + go-to-payments "https://penpot.app/pricing"] + + (mf/with-effect [] + (dom/set-html-title (tr "subscription.labels"))) + [:section {:class (stl/css :dashboard-section)} + [:div {:class (stl/css :dashboard-content)} + [:h2 {:class (stl/css :title-section)} (tr "subscription.labels")] + + + [:div {:class (stl/css :your-subscription)} + [:h3 {:class (stl/css :plan-section-title)} (tr "subscription.settings.section-plan")] + (case subscription-name + :professional + [:> plan-card* {:card-title (tr "subscription.settings.professional") + :benefits [(tr "subscription.settings.professional.projects-files"), + (tr "subscription.settings.professional.teams-editors"), + (tr "subscription.settings.professional.storage")]}] + + :unlimited + (if subscription-is-trial + [:> plan-card* {:card-title (tr "subscription.settings.unlimited-trial") + :card-title-icon i/character-u + :benefits-title (tr "subscription.settings.benefits.all-professional-benefits") + :benefits [(tr "subscription.settings.unlimited.teams"), + (tr "subscription.settings.unlimited.bill"), + (tr "subscription.settings.unlimited.storage")] + :cta-text (tr "subscription.settings.manage-your-subscription") + :cta-link go-to-payments}] + + [:> plan-card* {:card-title (tr "subscription.settings.unlimited") + :card-title-icon i/character-u + :benefits-title (tr "subscription.settings.benefits.all-unlimited-benefits") + :benefits [(tr "subscription.settings.unlimited.teams"), + (tr "subscription.settings.unlimited.bill"), + (tr "subscription.settings.unlimited.storage")] + :cta-text (tr "subscription.settings.manage-your-subscription") + :cta-link go-to-payments}]) + + :enterprise + [:> plan-card* {:card-title (tr "subscription.settings.enterprise") + :card-title-icon i/character-e + :benefits-title (tr "subscription.settings.benefits.all-professiona-benefits") + :benefits [(tr "subscription.settings.enterprise.support"), + (tr "subscription.settings.enterprise.security"), + (tr "subscription.settings.enterprise.logs")] + :cta-text (tr "subscription.settings.manage-your-subscription") + :cta-link go-to-payments}]) + + [:div {:class (stl/css :membership-container)} + (when subscription-member [:div {:class (stl/css :membership)} + [:span {:class (stl/css :subscription-member)} i/crown] + [:span {:class (stl/css :membership-date)} (tr "subscription.settings.support-us-since" subscription-member)]]) + + [:div {:class (stl/css :membership)} + [:span {:class (stl/css :penpot-member)} i/user] + [:span {:class (stl/css :membership-date)} (tr "subscription.settings.member-since" penpot-member)]]]] + + [:div {:class (stl/css :other-subscriptions)} + [:h3 {:class (stl/css :plan-section-title)} (tr "subscription.settings.other-plans")] + (when (not= subscription-name :professional) + [:> plan-card* {:card-title (tr "subscription.settings.professional") + :price-value "$0" + :price-period (tr "subscription.settings.price-editor-month") + :benefits [(tr "subscription.settings.professional.projects-files"), + (tr "subscription.settings.professional.teams-editors"), + (tr "subscription.settings.professional.storage")] + :cta-text (tr "subscription.dashboard.power-up.subscribe") + :cta-link go-to-payments}]) + + (when (not= subscription-name :unlimited) + [:> plan-card* {:card-title (tr "subscription.settings.unlimited") + :card-title-icon i/character-u + :price-value "$7" + :price-period (tr "subscription.settings.price-editor-month") + :benefits-title (tr "subscription.settings.benefits.all-professiona-benefits") + :benefits [(tr "subscription.settings.unlimited.teams"), + (tr "subscription.settings.unlimited.bill"), + (tr "subscription.settings.unlimited.storage")] + :cta-text (tr "subscription.settings.ulimited.try-it-free") + :cta-link go-to-payments}]) + + (when (not= subscription-name :enterprise) + [:> plan-card* {:card-title (tr "subscription.settings.enterprise") + :card-title-icon i/character-e + :price-value "$950" + :price-period (tr "subscription.settings.price-organization-month") + :benefits-title (tr "subscription.settings.benefits.all-professiona-benefits") + :benefits [(tr "subscription.settings.enterprise.support"), + (tr "subscription.settings.enterprise.security"), + (tr "subscription.settings.enterprise.logs")] + :cta-text (tr "subscription.dashboard.power-up.subscribe") + :cta-link go-to-payments}])]]])) diff --git a/frontend/src/app/main/ui/settings/subscription.scss b/frontend/src/app/main/ui/settings/subscription.scss new file mode 100644 index 0000000000..a9e743c019 --- /dev/null +++ b/frontend/src/app/main/ui/settings/subscription.scss @@ -0,0 +1,126 @@ +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this +// file, You can obtain one at http://mozilla.org/MPL/2.0/. +// +// Copyright (c) KALEIDOS INC + +@use "common/refactor/common-refactor.scss" as *; +@use "../ds/typography.scss" as t; + +.dashboard-section { + display: flex; + width: 100%; + justify-content: center; + align-items: center; +} + +.dashboard-content { + display: flex; + justify-content: center; + flex-direction: column; + max-width: $s-500; + margin-bottom: $s-32; + width: $s-580; + margin: $s-92 auto $s-120 auto; + justify-content: center; +} + +.membership-container { + margin-block-start: $s-16; +} + +.membership { + align-items: center; + display: flex; + margin-block-start: $s-8; +} + +.membership.first { + margin-block-start: $s-16; +} + +.membership-date { + @include t.use-typography("body-small"); + color: var(--color-foreground-secondary); + margin-inline-start: $s-8; +} + +.subscription-member, +.penpot-member { + @extend .button-icon; +} + +.penpot-member { + stroke: var(--icon-foreground); +} + +.subscription-member { + stroke: #fdcd79ff; +} + +.title-section { + @include t.use-typography("title-large"); + color: var(--color-foreground-primary); + margin-block-end: $s-16; +} + +.plan-section-title { + @include t.use-typography("headline-small"); + color: var(--color-foreground-primary); +} + +.plan-card { + border: $s-1 solid var(--color-foreground-secondary); + border-radius: $s-8; + margin-block-start: $s-16; + padding: $s-16; +} + +.plan-card-header { + display: flex; + justify-content: space-between; + margin-block-end: $s-8; +} + +.plan-card-title-container { + display: flex; + align-items: center; + gap: $s-8; +} + +.plan-title-icon { + @extend .button-icon; + stroke: var(--color-foreground-primary); + border-radius: $s-4; + border: $s-1 solid var(--color-foreground-primary); +} + +.plan-card-title, +.plan-price-value { + @include t.use-typography("title-medium"); + color: var(--color-foreground-primary); +} + +.plan-price-period { + @include t.use-typography("body-small"); + color: var(--color-foreground-primary); +} + +.benefits-list { + margin-block: 0; +} + +.benefits-title, +.benefit { + @include t.use-typography("body-medium"); + color: var(--color-foreground-secondary); +} + +.other-subscriptions { + margin-block-start: $s-36; +} + +.cta-button { + @include t.use-typography("body-small"); + color: var(--color-accent-tertiary); +} diff --git a/frontend/src/app/main/ui/shapes/bool.cljs b/frontend/src/app/main/ui/shapes/bool.cljs index 29308eebab..87b5b6afb0 100644 --- a/frontend/src/app/main/ui/shapes/bool.cljs +++ b/frontend/src/app/main/ui/shapes/bool.cljs @@ -24,7 +24,7 @@ metadata? (mf/use-ctx use/include-metadata-ctx) content (mf/with-memo [shape child-objs] - (let [content (:bool-content shape)] + (let [content (:content shape)] (cond (some? content) content diff --git a/frontend/src/app/main/ui/shapes/fills.cljs b/frontend/src/app/main/ui/shapes/fills.cljs index 4fb4a2996c..0cb672e2ea 100644 --- a/frontend/src/app/main/ui/shapes/fills.cljs +++ b/frontend/src/app/main/ui/shapes/fills.cljs @@ -61,9 +61,9 @@ embed (embed/use-data-uris uris) transform (gsh/transform-str shape) - pat-props #js {:patternUnits "userSpaceOnUse" - :x x - :y y + pat-props #js {:patternUnits (if (= :text type) "objectBoundingBox" "userSpaceOnUse") + :x (when-not (= :text type) x) + :y (when-not (= :text type) y) :width width :height height} diff --git a/frontend/src/app/main/ui/viewer.scss b/frontend/src/app/main/ui/viewer.scss index 31194da31b..2ece31cd85 100644 --- a/frontend/src/app/main/ui/viewer.scss +++ b/frontend/src/app/main/ui/viewer.scss @@ -127,6 +127,7 @@ width: $s-28; margin-left: $s-8; background-color: var(--viewer-controls-background-color); + pointer-events: all; svg { @extend .button-icon; stroke: var(--icon-foreground); diff --git a/frontend/src/app/main/ui/viewer/comments.cljs b/frontend/src/app/main/ui/viewer/comments.cljs index 96c8d5fef1..eb112cb293 100644 --- a/frontend/src/app/main/ui/viewer/comments.cljs +++ b/frontend/src/app/main/ui/viewer/comments.cljs @@ -231,6 +231,7 @@ :position-modifier modifier1 :on-cancel on-draft-cancel :on-submit on-draft-submit + :viewport nil :zoom zoom}])]]])) (mf/defc comments-sidebar* diff --git a/frontend/src/app/main/ui/viewer/header.cljs b/frontend/src/app/main/ui/viewer/header.cljs index 86eb9eb049..c0b4dee23d 100644 --- a/frontend/src/app/main/ui/viewer/header.cljs +++ b/frontend/src/app/main/ui/viewer/header.cljs @@ -198,9 +198,7 @@ :on-click toggle-fullscreen} i/expand] - (when (and - (:in-team permissions) - (:is-admin permissions)) + (when (:in-team permissions) [:button {:on-click open-share-dialog :class (stl/css :share-btn)} (tr "labels.share")]) diff --git a/frontend/src/app/main/ui/workspace.cljs b/frontend/src/app/main/ui/workspace.cljs index 83349799a5..0dde3c0a48 100644 --- a/frontend/src/app/main/ui/workspace.cljs +++ b/frontend/src/app/main/ui/workspace.cljs @@ -235,19 +235,18 @@ [:> (mf/provider ctx/current-project-id) {:value project-id} [:> (mf/provider ctx/current-file-id) {:value file-id} [:> (mf/provider ctx/current-page-id) {:value page-id} - [:> (mf/provider ctx/components-v2) {:value true} - [:> (mf/provider ctx/design-tokens) {:value design-tokens?} - [:> (mf/provider ctx/workspace-read-only?) {:value read-only?} - [:> modal-container*] - [:section {:class (stl/css :workspace) - :style {:background-color background-color - :touch-action "none"}} - [:> context-menu*] - (if (and file-loaded? page-id) - [:> workspace-page* - {:page-id page-id - :file-id file-id - :file file - :wglobal wglobal - :layout layout}] - [:> workspace-loader*])]]]]]]])) + [:> (mf/provider ctx/design-tokens) {:value design-tokens?} + [:> (mf/provider ctx/workspace-read-only?) {:value read-only?} + [:> modal-container*] + [:section {:class (stl/css :workspace) + :style {:background-color background-color + :touch-action "none"}} + [:> context-menu*] + (if (and file-loaded? page-id) + [:> workspace-page* + {:page-id page-id + :file-id file-id + :file file + :wglobal wglobal + :layout layout}] + [:> workspace-loader*])]]]]]])) diff --git a/frontend/src/app/main/ui/workspace/context_menu.cljs b/frontend/src/app/main/ui/workspace/context_menu.cljs index 4821f1f04f..5132bdb9c7 100644 --- a/frontend/src/app/main/ui/workspace/context_menu.cljs +++ b/frontend/src/app/main/ui/workspace/context_menu.cljs @@ -146,7 +146,7 @@ do-cut #(st/emit! (dw/copy-selected) (dw/delete-selected)) do-paste #(st/emit! (dw/paste-from-clipboard)) - do-duplicate #(st/emit! (dw/duplicate-selected true)) + do-duplicate #(st/emit! (dwv/duplicate-or-add-variant)) enabled-paste-props* (mf/use-state false) @@ -555,7 +555,7 @@ objects (deref refs/workspace-page-objects) can-make-component (every? true? (map #(ctn/valid-shape-for-component? objects %) shapes)) heads (filter ctk/instance-head? shapes) - components-menu-entries (cmm/generate-components-menu-entries heads true) + components-menu-entries (cmm/generate-components-menu-entries heads) variant-container? (and single? (ctk/is-variant-container? (first shapes))) do-add-component #(st/emit! (dwl/add-component)) do-add-multiple-components #(st/emit! (dwl/add-multiple-components)) diff --git a/frontend/src/app/main/ui/workspace/left_header.cljs b/frontend/src/app/main/ui/workspace/left_header.cljs index 757012b97f..875907f016 100644 --- a/frontend/src/app/main/ui/workspace/left_header.cljs +++ b/frontend/src/app/main/ui/workspace/left_header.cljs @@ -132,7 +132,7 @@ :saved i/status-tick :error i/status-wrong nil)] - file-name])] + [:div {:class (stl/css :file-name-label)} file-name]])] (when ^boolean shared? [:span {:class (stl/css :shared-badge)} i/library]) [:div {:class (stl/css :menu-section)} diff --git a/frontend/src/app/main/ui/workspace/left_header.scss b/frontend/src/app/main/ui/workspace/left_header.scss index df9ea35835..c858941ab3 100644 --- a/frontend/src/app/main/ui/workspace/left_header.scss +++ b/frontend/src/app/main/ui/workspace/left_header.scss @@ -54,6 +54,10 @@ flex-direction: row; } +.file-name-label { + @include textEllipsis; +} + .file-name-input { @include flexCenter; width: 100%; diff --git a/frontend/src/app/main/ui/workspace/main_menu.cljs b/frontend/src/app/main/ui/workspace/main_menu.cljs index 5da0b952c3..149bb5dcda 100644 --- a/frontend/src/app/main/ui/workspace/main_menu.cljs +++ b/frontend/src/app/main/ui/workspace/main_menu.cljs @@ -618,7 +618,7 @@ [:> dropdown-menu-item* {:class (stl/css :submenu-item) :on-click on-pin-version :on-key-down on-pin-version-key-down - :id "file-menu-show-version-history"} + :id "file-menu-create-version"} [:span {:class (stl/css :item-name)} (tr "dashboard.create-version-menu")]] @@ -627,7 +627,10 @@ :on-key-down on-show-version-history-key-down :id "file-menu-show-version-history"} [:span {:class (stl/css :item-name)} - (tr "dashboard.show-version-history")]] + (tr "dashboard.show-version-history")] + [:span {:class (stl/css :shortcut)} + (for [sc (scd/split-sc (sc/get-tooltip :toggle-history))] + [:span {:class (stl/css :shortcut-key) :key sc} sc])]] [:div {:class (stl/css :separator)}]]) @@ -786,6 +789,7 @@ on-power-up-click (mf/use-fn (fn [] + (st/emit! (ptk/event ::ev/event {::ev/name "explore-pricing-click" ::ev/origin "workspace-menu"})) (dom/open-new-window "https://penpot.app/pricing"))) toggle-flag @@ -900,14 +904,16 @@ :id "file-menu-help-info"} [:span {:class (stl/css :item-name)} (tr "workspace.header.menu.option.help-info")] [:span {:class (stl/css :open-arrow)} i/arrow]] - [:> dropdown-menu-item* {:class (stl/css-case :menu-item true) - :on-click on-power-up-click - :on-key-down (fn [event] - (when (kbd/enter? event) - (on-power-up-click))) - :on-pointer-enter close-sub-menu - :id "file-menu-power-up"} - [:span {:class (stl/css :item-name)} (tr "workspace.header.menu.option.power-up")]]] + ;; TODO remove this block when subscriptions is full implemented + (when (contains? cf/flags :subscriptions-old) + [:> dropdown-menu-item* {:class (stl/css-case :menu-item true) + :on-click on-power-up-click + :on-key-down (fn [event] + (when (kbd/enter? event) + (on-power-up-click))) + :on-pointer-enter close-sub-menu + :id "file-menu-power-up"} + [:span {:class (stl/css :item-name)} (tr "workspace.header.menu.option.power-up")]])] (case sub-menu :file diff --git a/frontend/src/app/main/ui/workspace/shapes/bool.cljs b/frontend/src/app/main/ui/workspace/shapes/bool.cljs index a3080b704e..536bd7fe68 100644 --- a/frontend/src/app/main/ui/workspace/shapes/bool.cljs +++ b/frontend/src/app/main/ui/workspace/shapes/bool.cljs @@ -35,7 +35,7 @@ shape (cond-> shape ^boolean child-sel? - (dissoc :bool-content))] + (dissoc :content))] [:> shape-container {:shape shape} [:& bool-shape {:shape shape diff --git a/frontend/src/app/main/ui/workspace/sidebar.scss b/frontend/src/app/main/ui/workspace/sidebar.scss index 3101f9d8c1..9dba378304 100644 --- a/frontend/src/app/main/ui/workspace/sidebar.scss +++ b/frontend/src/app/main/ui/workspace/sidebar.scss @@ -85,6 +85,7 @@ $width-settings-bar-max: $s-500; } .resize-area-horiz { + background-color: var(--panel-background-color); position: absolute; left: 0; width: 100%; diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs index 066e1d4ce0..466715292b 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets.cljs @@ -75,8 +75,7 @@ {::mf/wrap [mf/memo] ::mf/wrap-props false} [{:keys [size file-id]}] - (let [components-v2 (mf/use-ctx ctx/components-v2) - read-only? (mf/use-ctx ctx/workspace-read-only?) + (let [read-only? (mf/use-ctx ctx/workspace-read-only?) filters* (mf/use-state {:term "" :section "all" @@ -148,11 +147,6 @@ :id "components" :handler on-section-filter-change} - (when (not components-v2) - {:name (tr "workspace.assets.graphics") - :id "graphics" - :handler on-section-filter-change}) - {:name (tr "workspace.assets.colors") :id "colors" :handler on-section-filter-change} diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/common.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets/common.cljs index b9c4520b4e..0fa0a2d88c 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/common.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets/common.cljs @@ -14,6 +14,7 @@ [app.common.types.component :as ctk] [app.common.types.container :as ctn] [app.common.types.file :as ctf] + [app.common.types.variant :as ctv] [app.config :as cf] [app.main.data.helpers :as dsh] [app.main.data.modal :as modal] @@ -322,7 +323,7 @@ :is-hidden is-hidden}]))) (defn generate-components-menu-entries - [shapes components-v2] + [shapes] (let [multi (> (count shapes) 1) copies (filter ctk/in-component-copy? shapes) @@ -350,13 +351,13 @@ touched-not-dangling (filter #(and (cfh/component-touched? objects (:id %)) (find-component % false)) copies) - can-reset-overrides? (or (not components-v2) (seq touched-not-dangling)) + can-reset-overrides? (seq touched-not-dangling) ;; For when it's only one shape shape (first shapes) id (:id shape) - main-instance? (if components-v2 (ctk/main-instance? shape) true) + main-instance? (ctk/main-instance? shape) component-id (:component-id shape) library-id (:component-file shape) @@ -372,16 +373,16 @@ can-update-main? (and (not multi) (not is-dangling?) - (or (not components-v2) - (and (not main-instance?) - (not (ctn/has-any-copy-parent? objects shape)) - (cfh/component-touched? objects (:id shape))))) + (and (not main-instance?) + (not (ctn/has-any-copy-parent? objects shape)) + (cfh/component-touched? objects (:id shape)))) can-detach? (and (seq copies) (every? #(not (ctn/has-any-copy-parent? objects %)) copies)) variants? (features/use-feature "variants/v1") + same-variant? (ctv/same-variant? shapes) do-detach-component #(st/emit! (dwl/detach-components (map :id copies))) @@ -447,10 +448,10 @@ (when (= 1 (count comps-to-restore)) (ts/schedule 1000 do-show-component))) - menu-entries [(when (and (not multi) main-instance?) + menu-entries [(when (and (or (not multi) same-variant?) main-instance?) {:title (tr "workspace.shape.menu.show-in-assets") :action do-show-in-assets}) - (when (and (not multi) main-instance? local-component? lacks-annotation? components-v2) + (when (and (not multi) main-instance? local-component? lacks-annotation?) {:title (tr "workspace.shape.menu.create-annotation") :action do-create-annotation}) (when can-detach? @@ -462,7 +463,7 @@ (when can-reset-overrides? {:title (tr "workspace.shape.menu.reset-overrides") :action do-reset-component}) - (when (and (seq restorable-copies) components-v2) + (when (seq restorable-copies) {:title (tr "workspace.shape.menu.restore-main") :action do-restore-component}) (when can-show-component? @@ -471,7 +472,7 @@ (when can-update-main? {:title (tr "workspace.shape.menu.update-main") :action do-update-component}) - (when (and variants? (not multi) main-instance?) + (when (and variants? (or (not multi) same-variant?) main-instance?) {:title (tr "workspace.shape.menu.add-variant") :shortcut :create-component :action do-add-variant})]] diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/components.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets/components.cljs index 6ba863d7b6..c53002203f 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/components.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets/components.cljs @@ -19,6 +19,7 @@ [app.main.data.workspace.libraries :as dwl] [app.main.data.workspace.media :as dwm] [app.main.data.workspace.undo :as dwu] + [app.main.data.workspace.variants :as dwv] [app.main.refs :as refs] [app.main.store :as st] [app.main.ui.components.editable-label :refer [editable-label]] @@ -54,7 +55,7 @@ {::mf/wrap-props false} [{:keys [component renaming listing-thumbs? selected file-id on-asset-click on-context-menu on-drag-start do-rename - cancel-rename selected-full selected-paths is-local]}] + cancel-rename selected-full selected-paths is-local num-variants]}] (let [item-ref (mf/use-ref) @@ -95,7 +96,7 @@ (fn [event] (when (and is-local (:is-local @drag-data*)) (cmm/on-drop-asset event component dragging* selected selected-full - selected-paths dwl/rename-component-and-main-instance)))) + selected-paths dwv/rename-comp-or-variant-and-main)))) on-drag-enter (mf/use-fn @@ -129,7 +130,8 @@ [:div {:ref item-ref :class (stl/css-case :selected (contains? selected (:id component)) :grid-cell listing-thumbs? - :enum-item (not listing-thumbs?)) + :enum-item (not listing-thumbs?) + :enum-item-with-mark (and (not listing-thumbs?) (ctc/is-variant? component))) :id (dm/str "component-shape-id-" (:id component)) :draggable (and (not read-only?) (not renaming?)) :on-click on-component-click @@ -166,13 +168,16 @@ :root-shape root-shape :component component :container container - :is-hidden (not visible?)}]])])) + :is-hidden (not visible?)}] + (when (ctc/is-variant? component) + [:span {:class (stl/css-case :variant-mark-cell listing-thumbs? :variant-mark true :component-icon true) + :title (tr "workspace.assets.components.num-variants" num-variants)} i/variant])])])) (mf/defc components-group {::mf/wrap-props false} [{:keys [file-id prefix groups open-groups force-open? renaming listing-thumbs? selected on-asset-click on-drag-start do-rename cancel-rename on-rename-group on-group on-ungroup on-context-menu - selected-full is-local]}] + selected-full is-local count-variants]}] (let [group-open? (if (false? (get open-groups prefix)) ;; if the user has closed it specifically, respect that false @@ -205,7 +210,7 @@ (mf/deps dragging* prefix selected-paths selected-full is-local drag-data*) (fn [event] (when (and is-local (:is-local @drag-data*)) - (cmm/on-drop-asset-group event dragging* prefix selected-paths selected-full dwl/rename-component-and-main-instance))))] + (cmm/on-drop-asset-group event dragging* prefix selected-paths selected-full dwv/rename-comp-or-variant-and-main))))] [:div {:class (stl/css :component-group) :on-drag-enter on-drag-enter @@ -220,7 +225,6 @@ :on-rename on-rename-group :on-ungroup on-ungroup}] - (when group-open? [:* (let [components (not-empty (get groups "" []))] @@ -257,7 +261,8 @@ :on-group on-group :do-rename do-rename :cancel-rename cancel-rename - :is-local is-local}])]) + :is-local is-local + :num-variants (count-variants (:variant-id component))}])]) (for [[path-item content] groups] (when-not (empty? path-item) @@ -278,13 +283,14 @@ :on-ungroup on-ungroup :on-context-menu on-context-menu :selected-full selected-full - :is-local is-local}]))])])) + :is-local is-local + :count-variants count-variants}]))])])) (mf/defc components-section {::mf/wrap-props false} [{:keys [file-id is-local components listing-thumbs? open? force-open? reverse-sort? selected on-asset-click on-assets-delete - on-clear-selection open-status-ref]}] + on-clear-selection open-status-ref count-variants]}] (let [input-ref (mf/use-ref nil) @@ -302,7 +308,6 @@ menu-state (mf/use-state cmm/initial-context-menu-state) read-only? (mf/use-ctx ctx/workspace-read-only?) - components-v2 (mf/use-ctx ctx/components-v2) toggle-list-style (mf/use-ctx cmm/assets-toggle-list-style) selected (:components selected) @@ -379,7 +384,7 @@ (swap! state* dissoc :renaming) (when (not (str/blank? new-name)) (st/emit! - (dwl/rename-component-and-main-instance current-component-id new-name))))) + (dwv/rename-comp-or-variant-and-main current-component-id new-name))))) on-context-menu (mf/use-fn @@ -408,7 +413,7 @@ (filter #(if multi-components? (contains? selected (:id %)) (= current-component-id (:id %)))) - (map #(dwl/rename-component-and-main-instance + (map #(dwv/rename-comp-or-variant-and-main (:id %) (cmm/add-group % group-name))))) (st/emit! (dwu/commit-undo-transaction undo-id))))) @@ -423,7 +428,7 @@ (run! st/emit! (->> components (filter #(str/starts-with? (:path %) path)) - (map #(dwl/rename-component-and-main-instance + (map #(dwv/rename-comp-or-variant-and-main (:id %) (cmm/rename-group % path last-path))))) (st/emit! (dwu/commit-undo-transaction undo-id))))) @@ -454,7 +459,7 @@ (run! st/emit! (->> components (filter #(str/starts-with? (:path %) path)) - (map #(dwl/rename-component-and-main-instance (:id %) (cmm/ungroup % path))))) + (map #(dwv/rename-comp-or-variant-and-main (:id %) (cmm/ungroup % path))))) (st/emit! (dwu/commit-undo-transaction undo-id))))) on-drag-start @@ -515,7 +520,7 @@ :title (tr "workspace.assets.grid-view") :id "opt-grid"}]]]) - (when (and components-v2 (not read-only?) is-local) + (when (and (not read-only?) is-local) [:> icon-button* {:variant "ghost" :aria-label (tr "workspace.assets.components.add-component") :on-click add-component @@ -544,7 +549,8 @@ :on-ungroup on-ungroup :on-context-menu on-context-menu :selected-full selected-full - :is-local ^boolean is-local}]) + :is-local ^boolean is-local + :count-variants count-variants}]) [:& cmm/assets-context-menu {:on-close on-close-menu @@ -554,9 +560,7 @@ :id "assets-rename-component" :handler on-rename}) (when (and is-local (not (or multi-assets? read-only? any-variant?))) - {:name (if components-v2 - (tr "workspace.assets.duplicate-main") - (tr "workspace.assets.duplicate")) + {:name (tr "workspace.assets.duplicate-main") :id "assets-duplicate-component" :handler on-duplicate}) @@ -564,12 +568,12 @@ {:name (tr "workspace.assets.delete") :id "assets-delete-component" :handler on-delete}) - (when (and is-local (not (or multi-assets? read-only? any-variant?))) + (when (and is-local (not (or multi-assets? read-only?))) {:name (tr "workspace.assets.group") :id "assets-group-component" :handler on-group}) - (when (and components-v2 (not multi-assets?)) + (when (not multi-assets?) {:name (tr "workspace.shape.menu.show-main") :id "assets-show-main-component" :handler on-show-main})]}]]])) diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/components.scss b/frontend/src/app/main/ui/workspace/sidebar/assets/components.scss index 9340139021..5b38aab489 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/components.scss +++ b/frontend/src/app/main/ui/workspace/sidebar/assets/components.scss @@ -157,6 +157,10 @@ } } +.enum-item-with-mark { + grid-template-columns: auto 1fr $s-24; +} + .item-name { @include bodySmallTypography; @include textEllipsis; @@ -219,3 +223,26 @@ background-color: var(--assets-item-background-color-drag); border: $s-2 solid var(--assets-item-border-color-drag); } + +.variant-mark { + background-color: var(--color-background-tertiary); + border-radius: $br-8; +} + +.variant-mark-cell { + position: absolute; + right: $s-2; + top: $s-2; +} + +.component-icon { + @include flexCenter; + height: $s-24; + width: $s-24; + order: 3; + + svg { + @extend .button-icon-small; + stroke: var(--color-accent-secondary); + } +} diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/file_library.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets/file_library.cljs index 76352b18da..8529a65b2d 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/file_library.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/assets/file_library.cljs @@ -9,12 +9,12 @@ (:require [app.common.data :as d] [app.common.data.macros :as dm] + [app.common.files.variant :as cfv] [app.common.types.components-list :as ctkl] [app.main.data.event :as ev] [app.main.data.workspace :as dw] [app.main.data.workspace.libraries :as dwl] [app.main.data.workspace.undo :as dwu] - [app.main.data.workspace.variants :as dwv] [app.main.refs :as refs] [app.main.router :as rt] [app.main.store :as st] @@ -24,7 +24,6 @@ [app.main.ui.workspace.sidebar.assets.colors :refer [colors-section]] [app.main.ui.workspace.sidebar.assets.common :as cmm] [app.main.ui.workspace.sidebar.assets.components :refer [components-section]] - [app.main.ui.workspace.sidebar.assets.graphics :refer [graphics-section]] [app.main.ui.workspace.sidebar.assets.typographies :refer [typographies-section]] [app.util.dom :as dom] [app.util.i18n :as i18n :refer [tr]] @@ -145,11 +144,10 @@ (mf/defc file-library-content* {::mf/private true} - [{:keys [file is-local is-loaded open-status-ref on-clear-selection filters colors media typographies components]}] + [{:keys [file is-local is-loaded open-status-ref on-clear-selection filters colors typographies components count-variants]}] (let [open-status (mf/deref open-status-ref) file-id (:id file) - project-id (:project-id file) filters-section (:section filters) has-filters-term? (not ^boolean (str/empty? (:term filters))) @@ -165,11 +163,6 @@ (or (pos? (count components)) (not has-filters-term?))) - show-graphics? - (and (or (= filters-section "all") - (= filters-section "graphics")) - (pos? (count media))) - show-colors? (and (or (= filters-section "all") (= filters-section "colors")) @@ -188,9 +181,6 @@ force-open-colors? (when ^boolean has-filters-term? (> 60 (count colors))) - force-open-graphics? - (when ^boolean has-filters-term? (> 60 (count media))) - force-open-typographies? (when ^boolean has-filters-term? (> 60 (count typographies))) @@ -214,9 +204,6 @@ on-component-click (mf/use-fn (mf/deps on-asset-click) (partial on-asset-click :components)) - on-graphics-click - (mf/use-fn (mf/deps on-asset-click) (partial on-asset-click :graphics)) - on-colors-click (mf/use-fn (mf/deps on-asset-click) (partial on-asset-click :colors)) @@ -263,24 +250,8 @@ :selected selected :on-asset-click on-component-click :on-assets-delete on-assets-delete - :on-clear-selection on-clear-selection}]) - - (when ^boolean show-graphics? - [:& graphics-section - {:file-id file-id - :project-id project-id - :local? is-local - :objects media - :listing-thumbs? listing-thumbs? - :open? (or ^boolean force-open-graphics? - ^boolean (get open-status :graphics false)) - :force-open? force-open-graphics? - :open-status-ref open-status-ref - :reverse-sort? reverse-sort? - :selected selected - :on-asset-click on-graphics-click - :on-assets-delete on-assets-delete - :on-clear-selection on-clear-selection}]) + :on-clear-selection on-clear-selection + :count-variants count-variants}]) (when ^boolean show-colors? [:& colors-section @@ -314,7 +285,6 @@ :on-clear-selection on-clear-selection}]) (when (and (not ^boolean show-components?) - (not ^boolean show-graphics?) (not ^boolean show-colors?) (not ^boolean show-typography?)) [:div {:class (stl/css :asset-title)} @@ -332,7 +302,6 @@ library (use-library-ref file-id) colors (:colors library) - media (:media library) typographies (:typographies library) filters-term (:term filters) @@ -347,12 +316,7 @@ (mf/with-memo [filters library] (as-> (into [] (ctkl/components-seq library)) $ (cmm/apply-filters $ filters) - (remove #(dwv/is-secondary-variant? % library) $))) - - filtered-media - (mf/with-memo [filters media] - (-> (vals media) - (cmm/apply-filters filters))) + (remove #(cfv/is-secondary-variant? % library) $))) filtered-typographies (mf/with-memo [filters typographies] @@ -371,7 +335,6 @@ (and (not (str/blank? filters-term)) (or (> 60 (count filtered-colors)) (> 60 (count filtered-components)) - (> 60 (count filtered-media)) (> 60 (count filtered-typographies)))) open? @@ -385,7 +348,15 @@ (mf/use-fn (mf/deps file-id) (fn [] - (st/emit! (dw/unselect-all-assets file-id))))] + (st/emit! (dw/unselect-all-assets file-id)))) + + count-variants + (mf/use-fn + (mf/deps library) + (fn [variant-id] + (->> (ctkl/components-seq library) + (filterv #(= variant-id (:variant-id %))) + count)))] [:div {:class (stl/css :tool-window) :on-context-menu dom/prevent-default @@ -406,7 +377,7 @@ :filters filters :colors filtered-colors :components filtered-components - :media filtered-media :typographies filtered-typographies :on-clear-selection unselect-all - :open-status-ref open-status-ref}])])) + :open-status-ref open-status-ref + :count-variants count-variants}])])) diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/graphics.cljs b/frontend/src/app/main/ui/workspace/sidebar/assets/graphics.cljs deleted file mode 100644 index 15d4a79db6..0000000000 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/graphics.cljs +++ /dev/null @@ -1,432 +0,0 @@ -;; This Source Code Form is subject to the terms of the Mozilla Public -;; License, v. 2.0. If a copy of the MPL was not distributed with this -;; file, You can obtain one at http://mozilla.org/MPL/2.0/. -;; -;; Copyright (c) KALEIDOS INC - -(ns app.main.ui.workspace.sidebar.assets.graphics - (:require-macros [app.main.style :as stl]) - (:require - [app.common.data :as d] - [app.common.data.macros :as dm] - [app.common.files.helpers :as cfh] - [app.common.media :as cm] - [app.config :as cf] - [app.main.data.event :as ev] - [app.main.data.modal :as modal] - [app.main.data.workspace :as dw] - [app.main.data.workspace.libraries :as dwl] - [app.main.data.workspace.media :as dwm] - [app.main.data.workspace.undo :as dwu] - [app.main.store :as st] - [app.main.ui.components.editable-label :refer [editable-label]] - [app.main.ui.components.file-uploader :refer [file-uploader]] - [app.main.ui.context :as ctx] - [app.main.ui.hooks :as h] - [app.main.ui.icons :as i] - [app.main.ui.workspace.sidebar.assets.common :as cmm] - [app.main.ui.workspace.sidebar.assets.groups :as grp] - [app.util.dom :as dom] - [app.util.dom.dnd :as dnd] - [app.util.i18n :as i18n :refer [tr]] - [cuerdas.core :as str] - [okulary.core :as l] - [potok.v2.core :as ptk] - [rumext.v2 :as mf])) - -(mf/defc graphics-item - [{:keys [object renaming listing-thumbs? selected-objects file-id - on-asset-click on-context-menu on-drag-start do-rename cancel-rename - selected-full selected-graphics-paths]}] - (let [item-ref (mf/use-ref) - visible? (h/use-visible item-ref :once? true) - object-id (:id object) - - dragging* (mf/use-state false) - dragging? (deref dragging*) - - read-only? (mf/use-ctx ctx/workspace-read-only?) - - on-drop - (mf/use-fn - (mf/deps object dragging* selected-objects selected-full selected-graphics-paths) - (fn [event] - (cmm/on-drop-asset event object dragging* selected-objects selected-full - selected-graphics-paths dwl/rename-media))) - - on-drag-enter - (mf/use-fn - (mf/deps object dragging* selected-objects selected-graphics-paths) - (fn [event] - (cmm/on-drag-enter-asset event object dragging* selected-objects selected-graphics-paths))) - - on-drag-leave - (mf/use-fn - (mf/deps dragging*) - (fn [event] - (cmm/on-drag-leave-asset event dragging*))) - - on-grahic-drag-start - (mf/use-fn - (mf/deps object file-id selected-objects item-ref on-drag-start read-only?) - (fn [event] - (if read-only? - (dom/prevent-default event) - (cmm/on-asset-drag-start event file-id object selected-objects item-ref :graphics on-drag-start)))) - - on-context-menu - (mf/use-fn - (mf/deps object-id) - (partial on-context-menu object-id)) - - on-asset-click - (mf/use-fn - (mf/deps object-id on-asset-click) - (fn [event] - (on-asset-click event object-id)))] - - [:div {:ref item-ref - :class-name (stl/css-case - :selected (contains? selected-objects object-id) - :grid-cell listing-thumbs? - :enum-item (not listing-thumbs?)) - :draggable (not read-only?) - :on-click on-asset-click - :on-context-menu on-context-menu - :on-drag-start on-grahic-drag-start - :on-drag-enter on-drag-enter - :on-drag-leave on-drag-leave - :on-drag-over dom/prevent-default - :on-drop on-drop} - - (when visible? - [:* - [:img {:src (when visible? (cf/resolve-file-media object true)) - :class (stl/css :graphic-image) - :draggable false}] ;; Also need to add css pointer-events: none - - (let [renaming? (= renaming (:id object))] - [:* - [:& editable-label - {:class (stl/css-case - :cell-name listing-thumbs? - :item-name (not listing-thumbs?) - :editing renaming?) - :value (cfh/merge-path-item (:path object) (:name object)) - :tooltip (cfh/merge-path-item (:path object) (:name object)) - :display-value (:name object) - :editing renaming? - :disable-dbl-click true - :on-change do-rename - :on-cancel cancel-rename}] - - (when ^boolean dragging? - [:div {:class (stl/css :dragging)}])])])])) - -(mf/defc graphics-group - [{:keys [file-id prefix groups open-groups force-open? renaming listing-thumbs? selected-objects on-asset-click - on-drag-start do-rename cancel-rename on-rename-group on-ungroup - on-context-menu selected-full]}] - (let [group-open? (get open-groups prefix true) - dragging* (mf/use-state false) - dragging? (deref dragging*) - - selected-paths - (mf/with-memo [selected-full] - (into #{} - (comp (map :path) (d/nilv "")) - selected-full)) - - on-drag-enter - (mf/use-fn - (mf/deps dragging* prefix selected-paths) - (fn [event] - (cmm/on-drag-enter-asset-group event dragging* prefix selected-paths))) - - on-drag-leave - (mf/use-fn - (mf/deps dragging*) - (fn [event] - (cmm/on-drag-leave-asset event dragging*))) - - on-drop - (mf/use-fn - (mf/deps dragging* prefix selected-paths selected-full) - (fn [event] - (cmm/on-drop-asset-group event dragging* prefix selected-paths selected-full dwl/rename-media)))] - [:div {:class (stl/css :graphics-group) - :on-drag-enter on-drag-enter - :on-drag-leave on-drag-leave - :on-drag-over dom/prevent-default - :on-drop on-drop} - [:& grp/asset-group-title - {:file-id file-id - :section :graphics - :path prefix - :group-open? group-open? - :on-rename on-rename-group - :on-ungroup on-ungroup}] - (when group-open? - [:* - (let [objects (get groups "" [])] - [:div {:class-name (stl/css-case - :asset-grid listing-thumbs? - :asset-enum (not listing-thumbs?) - :drop-space (and - (empty? objects) - (some? groups) - (not dragging?))) - :on-drag-enter on-drag-enter - :on-drag-leave on-drag-leave - :on-drag-over dom/prevent-default - :on-drop on-drop} - - (when ^boolean dragging? - [:div {:class (stl/css :grid-placeholder)} "\u00A0"]) - - (when (and (empty? objects) - (some? groups)) - [:div {:class (stl/css :drop-space)}]) - - (for [object objects] - [:& graphics-item - {:key (dm/str "object-" (:id object)) - :file-id file-id - :object object - :renaming renaming - :listing-thumbs? listing-thumbs? - :selected-objects selected-objects - :on-asset-click on-asset-click - :on-context-menu on-context-menu - :on-drag-start on-drag-start - :do-rename do-rename - :cancel-rename cancel-rename - :selected-full selected-full - :selected-paths selected-paths}])]) - (for [[path-item content] groups] - (when-not (empty? path-item) - [:& graphics-group {:file-id file-id - :key path-item - :prefix (cfh/merge-path-item prefix path-item) - :groups content - :open-groups open-groups - :force-open? force-open? - :renaming renaming - :listing-thumbs? listing-thumbs? - :selected-objects selected-objects - :on-asset-click on-asset-click - :on-drag-start on-drag-start - :do-rename do-rename - :cancel-rename cancel-rename - :on-rename-group on-rename-group - :on-ungroup on-ungroup - :on-context-menu on-context-menu - :selected-full selected-full - :selected-paths selected-paths}]))])])) - -(mf/defc graphics-section - {::mf/wrap-props false} - [{:keys [file-id project-id local? objects listing-thumbs? open? force-open? open-status-ref selected reverse-sort? - on-asset-click on-assets-delete on-clear-selection]}] - (let [input-ref (mf/use-ref nil) - state (mf/use-state {:renaming nil :object-id nil}) - - menu-state (mf/use-state cmm/initial-context-menu-state) - read-only? (mf/use-ctx ctx/workspace-read-only?) - - open-groups-ref (mf/with-memo [open-status-ref] - (-> (l/in [:groups :graphics]) - (l/derived open-status-ref))) - open-groups (mf/deref open-groups-ref) - - selected (:graphics selected) - selected-full (into #{} (filter #(contains? selected (:id %))) objects) - multi-objects? (> (count selected) 1) - multi-assets? (or (seq (:components selected)) - (seq (:colors selected)) - (seq (:typographies selected))) - - objects (mf/with-memo [objects] - (mapv dwl/extract-path-if-missing objects)) - - groups (mf/with-memo [objects reverse-sort?] - (grp/group-assets objects reverse-sort?)) - - components-v2 (mf/use-ctx ctx/components-v2) - team-id (mf/use-ctx ctx/current-team-id) - - add-graphic - (mf/use-fn - (fn [] - (st/emit! (dw/set-assets-section-open file-id :graphics true)) - (dom/click (mf/ref-val input-ref)))) - - on-file-selected - (mf/use-fn - (mf/deps file-id project-id team-id) - (fn [blobs] - (let [params {:file-id file-id - :blobs (seq blobs)}] - (st/emit! (dwm/upload-media-asset params) - (ptk/event ::ev/event {::ev/name "add-asset-to-library" - :asset-type "graphics" - :file-id file-id - :project-id project-id - :team-id team-id}))))) - on-delete - (mf/use-fn - (mf/deps @state multi-objects? multi-assets?) - (fn [] - (if (or multi-objects? multi-assets?) - (on-assets-delete) - (st/emit! (dwl/delete-media {:id (:object-id @state)}))))) - - on-rename - (mf/use-fn - (fn [] - (swap! state (fn [state] - (assoc state :renaming (:object-id state)))))) - cancel-rename - (mf/use-fn - (fn [] - (swap! state assoc :renaming nil))) - - do-rename - (mf/use-fn - (mf/deps @state) - (fn [new-name] - (st/emit! (dwl/rename-media (:renaming @state) new-name)) - (swap! state assoc :renaming nil))) - - on-context-menu - (mf/use-fn - (mf/deps selected on-clear-selection read-only?) - (fn [object-id event] - (dom/prevent-default event) - (let [pos (dom/get-client-position event)] - (when (and local? (not read-only?)) - (when-not (contains? selected object-id) - (on-clear-selection)) - (swap! state assoc :object-id object-id) - (swap! menu-state cmm/open-context-menu pos))))) - - on-close-menu - (mf/use-fn - (fn [] - (swap! menu-state cmm/close-context-menu))) - - create-group - (mf/use-fn - (mf/deps objects selected on-clear-selection (:object-id @state)) - (fn [group-name] - (on-clear-selection) - (let [undo-id (js/Symbol)] - (st/emit! (dwu/start-undo-transaction undo-id)) - (run! st/emit! - (->> objects - (filter #(if multi-objects? - (contains? selected (:id %)) - (= (:object-id @state) (:id %)))) - (map #(dwl/rename-media (:id %) (cmm/add-group % group-name))))) - (st/emit! (dwu/commit-undo-transaction undo-id))))) - - rename-group - (mf/use-fn - (mf/deps objects) - (fn [path last-path] - (on-clear-selection) - (let [undo-id (js/Symbol)] - (st/emit! (dwu/start-undo-transaction undo-id)) - (run! st/emit! - (->> objects - (filter #(str/starts-with? (:path %) path)) - (map #(dwl/rename-media (:id %) (cmm/rename-group % path last-path))))) - (st/emit! (dwu/commit-undo-transaction undo-id))))) - - on-group - (mf/use-fn - (mf/deps objects selected create-group) - (fn [event] - (dom/stop-propagation event) - (modal/show! :name-group-dialog {:accept create-group}))) - - on-rename-group - (mf/use-fn - (mf/deps objects) - (fn [event path last-path] - (dom/stop-propagation event) - (modal/show! :name-group-dialog {:path path - :last-path last-path - :accept rename-group}))) - on-ungroup - (mf/use-fn - (mf/deps objects) - (fn [path] - (on-clear-selection) - (let [undo-id (js/Symbol)] - (st/emit! (dwu/start-undo-transaction undo-id)) - (run! st/emit! - (->> objects - (filter #(str/starts-with? (:path %) path)) - (map #(dwl/rename-media (:id %) (cmm/ungroup % path))))) - (st/emit! (dwu/commit-undo-transaction undo-id))))) - - on-drag-start - (mf/use-fn - (fn [{:keys [name id mtype]} event] - (dnd/set-data! event "text/asset-id" (str id)) - (dnd/set-data! event "text/asset-name" name) - (dnd/set-data! event "text/asset-type" mtype) - (dnd/set-allowed-effect! event "move"))) - - on-asset-click - (mf/use-fn (mf/deps groups on-asset-click) (partial on-asset-click groups))] - - [:& cmm/asset-section {:file-id file-id - :title (tr "workspace.assets.graphics") - :section :graphics - :assets-count (count objects) - :open? open?} - (when local? - [:& cmm/asset-section-block {:role :title-button} - (when (and (not components-v2) (not read-only?)) - [:button {:class (stl/css :assets-btn) - :on-click add-graphic} - i/add - [:& file-uploader {:accept cm/str-image-types - :multi true - :ref input-ref - :on-selected on-file-selected}]])]) - - [:& cmm/asset-section-block {:role :content} - [:& graphics-group {:file-id file-id - :prefix "" - :groups groups - :open-groups open-groups - :force-open? force-open? - :renaming (:renaming @state) - :listing-thumbs? listing-thumbs? - :selected selected - :on-asset-click on-asset-click - :on-drag-start on-drag-start - :do-rename do-rename - :cancel-rename cancel-rename - :on-rename-group on-rename-group - :on-ungroup on-ungroup - :on-context-menu on-context-menu - :selected-full selected-full}] - (when local? - [:& cmm/assets-context-menu - {:on-close on-close-menu - :state @menu-state - :options [(when-not (or multi-objects? multi-assets?) - {:name (tr "workspace.assets.rename") - :id "assets-rename-graphics" - :handler on-rename}) - {:name (tr "workspace.assets.delete") - :id "assets-delete-graphics" - :handler on-delete} - (when-not multi-assets? - {:name (tr "workspace.assets.group") - :id "assets-group-graphics" - :handler on-group})]}])]])) diff --git a/frontend/src/app/main/ui/workspace/sidebar/assets/graphics.scss b/frontend/src/app/main/ui/workspace/sidebar/assets/graphics.scss deleted file mode 100644 index fc20278884..0000000000 --- a/frontend/src/app/main/ui/workspace/sidebar/assets/graphics.scss +++ /dev/null @@ -1,188 +0,0 @@ -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. -// -// Copyright (c) KALEIDOS INC - -@import "refactor/common-refactor.scss"; - -.graphics-group { - .drop-space { - height: $s-12; - } - .asset-grid { - display: grid; - grid-template-columns: repeat(4, 1fr); - gap: $s-4; - margin-left: $s-8; - .grid-cell { - @include flexCenter; - position: relative; - padding: $s-8; - border: $s-2 solid transparent; - border-radius: $br-8; - aspect-ratio: 1/1; - background-color: var(--color-foreground-secondary); - overflow: hidden; - cursor: pointer; - img { - height: auto; - width: auto; - max-height: 100%; - max-width: 100%; - pointer-events: none; - } - svg { - height: 10vh; - } - .cell-name { - @include bodySmallTypography; - @include textEllipsis; - display: none; - position: absolute; - left: 0; - bottom: 0; - width: 100%; - padding: $s-2; - - &.editing { - display: block; - } - - .editable-label-input { - height: unset; - width: 100%; - padding: $s-2; - margin: 0; - } - - .editable-label-close { - display: none; - } - } - - &:hover { - background-color: var(--assets-item-background-color-hover); - .cell-name { - display: block; - color: var(--assets-item-name-foreground-color-hover); - background: linear-gradient(to top, rgba(52, 57, 59, 1) 0%, rgba(52, 57, 59, 0) 100%); - } - } - - &.selected { - border: $s-1 solid var(--assets-item-border-color); - } - - .dragging { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border-radius: $s-8; - background-color: var(--assets-item-background-color-drag); - border: $s-2 solid var(--assets-item-border-color-drag); - } - } - } - .asset-enum { - padding-bottom: $s-4; - .enum-item { - position: relative; - display: flex; - align-items: center; - height: $s-36; - margin-bottom: $s-4; - padding: $s-2; - border-radius: $br-8; - background-color: var(--assets-item-background-color); - cursor: pointer; - - svg, - img { - @include flexCenter; - padding: $s-2; - height: $s-32; - width: $s-32; - border-radius: $br-6; - background-color: var(--assets-component-background-color); - } - - .item-name { - @include bodySmallTypography; - @include textEllipsis; - padding-left: $s-8; - color: var(--assets-item-name-foreground-color); - - &.editing { - display: flex; - align-items: center; - - .editable-label-input { - height: $s-24; - } - - .editable-label-close { - display: none; - } - } - } - &:hover { - background-color: var(--assets-item-background-color-hover); - .item-name { - color: var(--assets-item-name-foreground-color-hover); - } - } - &.selected { - border: $s-1 solid var(--assets-item-border-color); - } - } - } - .grid-placeholder { - height: $s-2; - background-color: var(--color-accent-primary); - margin-bottom: $s-2; - } -} -.listing-options { - display: flex; - align-items: center; - - .listing-option-btn { - @include flexCenter; - cursor: pointer; - - &.first { - margin-left: auto; - } - - svg { - height: $s-16; - width: $s-16; - } - } -} -.add-component { - @extend .button-tertiary; - height: $s-32; - width: $s-28; - margin-left: $s-2; - border-radius: $br-8; - svg { - @extend .button-icon; - stroke: var(--icon-foreground); - } -} - -.assets-btn { - @extend .button-tertiary; - height: $s-32; - width: calc($s-24 + $s-4); - padding: 0; - border-radius: $br-8; - svg { - @extend .button-icon; - stroke: var(--icon-foreground); - } -} diff --git a/frontend/src/app/main/ui/workspace/sidebar/layer_item.cljs b/frontend/src/app/main/ui/workspace/sidebar/layer_item.cljs index 81d1ef59d6..8ab6db2d8a 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layer_item.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/layer_item.cljs @@ -11,6 +11,7 @@ [app.common.data.macros :as dm] [app.common.files.helpers :as cfh] [app.common.types.component :as ctk] + [app.common.types.components-list :as ctkl] [app.common.types.container :as ctn] [app.common.types.shape.layout :as ctl] [app.common.uuid :as uuid] @@ -23,7 +24,7 @@ [app.main.ui.context :as ctx] [app.main.ui.hooks :as hooks] [app.main.ui.icons :as i] - [app.main.ui.workspace.sidebar.layer-name :refer [layer-name]] + [app.main.ui.workspace.sidebar.layer-name :refer [layer-name*]] [app.util.dom :as dom] [app.util.i18n :refer [tr]] [app.util.keyboard :as kbd] @@ -44,20 +45,26 @@ on-toggle-collapse on-enable-drag on-disable-drag on-toggle-visibility on-toggle-blocking]} dref] - (let [id (:id item) - name (:name item) - blocked? (:blocked item) - hidden? (:hidden item) - has-shapes? (-> item :shapes seq boolean) - touched? (-> item :touched seq boolean) - parent-board? (and (cfh/frame-shape? item) - (= uuid/zero (:parent-id item))) - absolute? (ctl/item-absolute? item) - components-v2 (mf/use-ctx ctx/components-v2) - main-instance? (or (not components-v2) (:main-instance item)) - variants? (features/use-feature "variants/v1") - is-variant? (when variants? (ctk/is-variant? item)) - variant-name (when is-variant? (:variant-name item))] + (let [id (:id item) + name (:name item) + blocked? (:blocked item) + hidden? (:hidden item) + has-shapes? (-> item :shapes seq boolean) + touched? (-> item :touched seq boolean) + parent-board? (and (cfh/frame-shape? item) + (= uuid/zero (:parent-id item))) + absolute? (ctl/item-absolute? item) + main-instance? (:main-instance item) + + variants? (features/use-feature "variants/v1") + is-variant? (when variants? (ctk/is-variant? item)) + is-variant-container? (when variants? (ctk/is-variant-container? item)) + variant-id (when is-variant? (:variant-id item)) + variant-name (when is-variant? (:variant-name item)) + + data (deref refs/workspace-data) + component (ctkl/get-component data (:component-id item)) + variant-properties (:variant-properties component)] [:* [:div {:id id :ref dref @@ -72,7 +79,7 @@ :selected selected? :type-frame (cfh/frame-shape? item) :type-bool (cfh/bool-shape? item) - :type-comp component-tree? + :type-comp (or component-tree? is-variant-container?) :hidden hidden? :dnd-over dnd-over? :dnd-over-top dnd-over-top? @@ -121,21 +128,24 @@ {:shape item :main-instance? main-instance?}]]]) - [:& layer-name {:ref name-ref - :shape-id id - :shape-name name - :is-shape-touched touched? - :disabled-double-click read-only? - :on-start-edit on-disable-drag - :on-stop-edit on-enable-drag - :depth depth - :is-blocked blocked? - :parent-size parent-size - :is-selected selected? - :type-comp component-tree? - :type-frame (cfh/frame-shape? item) - :variant-name variant-name - :is-hidden hidden?}] + [:> layer-name* {:ref name-ref + :shape-id id + :shape-name name + :is-shape-touched touched? + :disabled-double-click read-only? + :on-start-edit on-disable-drag + :on-stop-edit on-enable-drag + :depth depth + :is-blocked blocked? + :parent-size parent-size + :is-selected selected? + :type-comp (or component-tree? is-variant-container?) + :type-frame (cfh/frame-shape? item) + :variant-id variant-id + :variant-name variant-name + :variant-properties variant-properties + :component-id (:id component) + :is-hidden hidden?}] (when (not read-only?) [:div {:class (stl/css-case @@ -345,18 +355,14 @@ first-child-node (dom/get-first-child parent-node) subid - (when (and single? selected?) - (let [scroll-to @scroll-to-middle?] - (ts/schedule - 100 - #(when (and node scroll-node) - (let [scroll-distance-ratio (dom/get-scroll-distance-ratio node scroll-node) - scroll-behavior (if (> scroll-distance-ratio 1) "instant" "smooth")] - (if scroll-to - (dom/scroll-into-view! first-child-node #js {:block "center" :behavior scroll-behavior :inline "start"}) - (do - (dom/scroll-into-view-if-needed! first-child-node #js {:block "center" :behavior scroll-behavior :inline "start"}) - (reset! scroll-to-middle? true))))))))] + (when (and single? selected? @scroll-to-middle?) + (ts/schedule + 100 + #(when (and node scroll-node) + (let [scroll-distance-ratio (dom/get-scroll-distance-ratio node scroll-node) + scroll-behavior (if (> scroll-distance-ratio 1) "instant" "smooth")] + (dom/scroll-into-view-if-needed! first-child-node #js {:block "center" :behavior scroll-behavior :inline "start"}) + (reset! scroll-to-middle? true)))))] #(when (some? subid) (rx/dispose! subid)))) diff --git a/frontend/src/app/main/ui/workspace/sidebar/layer_item.scss b/frontend/src/app/main/ui/workspace/sidebar/layer_item.scss index 0cb4993598..3b83160f0c 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layer_item.scss +++ b/frontend/src/app/main/ui/workspace/sidebar/layer_item.scss @@ -91,6 +91,9 @@ .element-actions { display: none; height: 100%; + display: flex; + align-items: end; + &.selected { display: flex; } diff --git a/frontend/src/app/main/ui/workspace/sidebar/layer_name.cljs b/frontend/src/app/main/ui/workspace/sidebar/layer_name.cljs index 41d8240f4f..6a871af6f6 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layer_name.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/layer_name.cljs @@ -9,7 +9,9 @@ (:require [app.common.data :as d] [app.common.data.macros :as dm] + [app.common.types.variant :as ctv] [app.main.data.workspace :as dw] + [app.main.data.workspace.variants :as dwv] [app.main.store :as st] [app.util.debug :as dbg] [app.util.dom :as dom] @@ -24,12 +26,13 @@ (-> (l/in [:workspace-local :shape-for-rename]) (l/derived st/state))) -(mf/defc layer-name +(mf/defc layer-name* {::mf/wrap-props false ::mf/forward-ref true} [{:keys [shape-id shape-name is-shape-touched disabled-double-click on-start-edit on-stop-edit depth parent-size is-selected - type-comp type-frame variant-name is-hidden is-blocked]} external-ref] + type-comp type-frame variant-id variant-name variant-properties + component-id is-hidden is-blocked]} external-ref] (let [edition* (mf/use-state false) edition? (deref edition*) @@ -39,6 +42,9 @@ shape-for-rename (mf/deref lens:shape-for-rename) shape-name (d/nilv variant-name shape-name) + default-value (if variant-id + (ctv/properties-map-to-string variant-properties) + shape-name) has-path? (str/includes? shape-name "/") @@ -54,13 +60,17 @@ accept-edit (mf/use-fn - (mf/deps shape-id on-stop-edit) + (mf/deps shape-id on-stop-edit component-id variant-id variant-name variant-properties) (fn [] (let [name-input (mf/ref-val ref) name (str/trim (dom/get-value name-input))] (on-stop-edit) (reset! edition* false) - (st/emit! (dw/end-rename-shape shape-id name))))) + (if variant-name + (let [valid? (ctv/valid-properties-string? name) + props (if valid? (ctv/properties-string-to-map name) {})] + (st/emit! (dwv/update-properties-names-and-values component-id variant-id variant-properties props))) + (st/emit! (dw/end-rename-shape shape-id name)))))) cancel-edit (mf/use-fn @@ -92,14 +102,15 @@ (if ^boolean edition? [:input {:class (stl/css :element-name - :element-name-input) + :element-name-input + :selected is-selected) :style {"--depth" depth "--parent-size" parent-size} :type "text" :ref ref :on-blur accept-edit :on-key-down on-key-down :auto-focus true - :default-value (d/nilv shape-name "")}] + :default-value (d/nilv default-value "")}] [:* [:span {:class (stl/css-case diff --git a/frontend/src/app/main/ui/workspace/sidebar/layer_name.scss b/frontend/src/app/main/ui/workspace/sidebar/layer_name.scss index c9fbf235bc..a4fb0ec05d 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layer_name.scss +++ b/frontend/src/app/main/ui/workspace/sidebar/layer_name.scss @@ -11,6 +11,7 @@ @include bodySmallTypography; flex-grow: 1; color: var(--context-hover-color, var(--layer-row-foreground-color)); + &.selected { color: var(--layer-row-foreground-color-selected); } @@ -25,6 +26,7 @@ opacity: var(--context-hover-opacity, $op-7); } } + .element-name-input { @include textEllipsis; @include bodySmallTypography; @@ -37,7 +39,12 @@ border-radius: $br-8; border: $s-1 solid var(--input-border-color-focus); color: var(--layer-row-foreground-color); + + &.selected { + min-width: $s-88; + } } + .element-name-touched { color: var(--layer-row-component-foreground-color); } diff --git a/frontend/src/app/main/ui/workspace/sidebar/layers.cljs b/frontend/src/app/main/ui/workspace/sidebar/layers.cljs index b242a03fb7..a1a88c05dd 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layers.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/layers.cljs @@ -145,6 +145,7 @@ (conj :rect :circle :path :bool))] (or (= uuid/zero id) (and (or (str/includes? (str/lower (:name shape)) (str/lower search)) + (str/includes? (str/lower (:variant-name shape)) (str/lower search)) ;; Only for local development we allow search for ids. Otherwise will be hard ;; search for numbers or single letter shape names (ie: "A") (and *assert* diff --git a/frontend/src/app/main/ui/workspace/sidebar/layers.scss b/frontend/src/app/main/ui/workspace/sidebar/layers.scss index bdcdf9168a..7d1038beed 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/layers.scss +++ b/frontend/src/app/main/ui/workspace/sidebar/layers.scss @@ -226,11 +226,13 @@ display: flex; flex-direction: column; height: calc(100vh - var(--calculated-height)); - width: 100%; - overflow-x: hidden; + width: calc(var(--width) + var(--depth) * var(--layer-indentation-size)); + overflow-x: scroll; overflow-y: overlay; scrollbar-gutter: stable; + .element-list { - width: 100%; + width: var(--width); + display: grid; } } diff --git a/frontend/src/app/main/ui/workspace/sidebar/options.scss b/frontend/src/app/main/ui/workspace/sidebar/options.scss index 8548dc80fc..5218381871 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options.scss +++ b/frontend/src/app/main/ui/workspace/sidebar/options.scss @@ -25,8 +25,8 @@ } .element-options { - display: grid; - grid-auto-rows: min-content; + display: flex; + flex-direction: column; gap: $s-8; width: 100%; height: calc(100vh - $s-80); diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/component.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/component.cljs index d9661d7d99..bfa26a0209 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/component.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/component.cljs @@ -9,9 +9,10 @@ (:require [app.common.data.macros :as dm] [app.common.files.helpers :as cfh] - [app.common.logic.variants :as clv] + [app.common.files.variant :as cfv] [app.common.types.component :as ctk] [app.common.types.file :as ctf] + [app.common.types.variant :as ctv] [app.main.data.helpers :as dsh] [app.main.data.modal :as modal] [app.main.data.workspace :as dw] @@ -232,77 +233,111 @@ (when (or editing? creating?) [:div {:class (stl/css :counter)} (str size "/300")])]]))) - -(mf/defc component-variant* - [{:keys [component shape data page-id]}] - (let [id-component (:id component) - properties (:variant-properties component) +(mf/defc component-variant-main-instance* + [{:keys [components data]}] + (let [component (first components) variant-id (:variant-id component) - objects (-> (dsh/get-page data page-id) + objects (-> (dsh/get-page data (:main-instance-page component)) (get :objects)) - related-components (dwv/find-related-components data objects variant-id) - - flat-comps ;; Get a list like [{:id 0 :prop1 "v1" :prop2 "v2"} {:id 1, :prop1 "v3" :prop2 "v4"}] - (map (fn [{:keys [id variant-properties]}] - (into {:id id} - (map (fn [{:keys [name value]}] [(keyword name) value]) - variant-properties))) - related-components) + properties-map (mapv :variant-properties components) + component-ids (mapv :id components) + properties (if (> (count component-ids) 1) + (ctv/compare-properties properties-map false) + (first properties-map)) + prop-vals (mf/with-memo [data objects variant-id] + (cfv/extract-properties-values data objects variant-id)) get-options (mf/use-fn - (mf/deps related-components) + (mf/deps prop-vals) (fn [prop-name] - (->> related-components - (mapcat (fn [component] - (map :value (filter #(= (:name %) prop-name) - (:variant-properties component))))) - distinct - (map #(if (str/empty? %) "--" %)) + (->> (filter #(= (:name %) prop-name) prop-vals) + first + :value (map (fn [val] {:label val :id val}))))) - filter-matching - (mf/use-fn - (mf/deps flat-comps) - (fn [id exclude-key] - (let [reference-item (first (filter #(= (:id %) id) flat-comps)) - reference-values (dissoc reference-item :id exclude-key)] - - (->> flat-comps - (filter (fn [item] - (= (dissoc item :id exclude-key) reference-values))) - (map (fn [item] {:label (get item exclude-key) :value (:id item)})))))) - - change-property-value (mf/use-fn - (mf/deps id-component) + (mf/deps component-ids) (fn [pos value] - (st/emit! (dwv/update-property-value id-component pos value)))) + (doseq [id component-ids] + (st/emit! (dwv/update-property-value id pos value))))) + + update-property-name + (mf/use-fn + (mf/deps variant-id) + (fn [event] + (let [value (dom/get-target-val event) + pos (-> (dom/get-current-target event) + (dom/get-data "position") + int)] + (st/emit! (dwv/update-property-name variant-id pos value)))))] + + [:* + (for [[pos prop] (map vector (range) properties)] + [:div {:key (str variant-id "-" pos) :class (stl/css :variant-property-container)} + [:* + [:div {:class (stl/css :variant-property-name-wrapper)} + [:> input-with-values* {:name (:name prop) + :data-position pos + :on-blur update-property-name}]] + + (let [mixed-value? (= (:value prop) false) + empty-value? (str/empty? (:value prop))] + [:> combobox* {:id (str "variant-prop-" variant-id "-" pos) + :placeholder (if mixed-value? (tr "settings.multiple") "") + :default-selected (cond + mixed-value? "" + empty-value? "--" + :else (:value prop)) + :options (clj->js (get-options (:name prop))) + :on-change (partial change-property-value pos)}])]])])) + +(mf/defc component-variant* + [{:keys [component shape data]}] + (let [component-id (:id component) + properties (:variant-properties component) + variant-id (:variant-id component) + objects (-> (dsh/get-page data (:main-instance-page component)) + (get :objects)) + + variant-components (cfv/find-variant-components data objects variant-id) + + prop-vals (mf/with-memo [data objects variant-id] + (cfv/extract-properties-values data objects variant-id)) + + get-options-vals + (mf/use-fn + (mf/deps prop-vals) + (fn [prop-name] + (->> (filter #(= (:name %) prop-name) prop-vals) + first + :value))) switch-component (mf/use-fn (mf/deps shape) - (fn [id] - (st/emit! (dwl/component-swap shape (:component-file shape) id))))] + (fn [pos val] + (when (not= val (dm/get-in component [:variant-properties pos :value])) + (let [target-props (-> (:variant-properties component) + (update pos assoc :value val)) + valid-comps (->> variant-components + (remove #(= (:id %) component-id)) + (filter #(= (dm/get-in % [:variant-properties pos :value]) val))) + nearest-comp (apply min-key #(ctv/distance target-props (:variant-properties %)) valid-comps)] + (when nearest-comp + (st/emit! (dwl/component-swap shape (:component-file shape) (:id nearest-comp))))))))] + [:* (for [[pos prop] (map vector (range) properties)] - [:div {:key (str (:id shape) pos) :class (stl/css :variant-property-container)} - (if (ctk/main-instance? shape) - [:* - [:span {:class (stl/css :variant-property-name :variant-property-name-bg)} (:name prop)] - [:> combobox* {:id (str "variant-prop-" (:id shape) pos) - :default-selected (if (str/empty? (:value prop)) "--" (:value prop)) - :options (clj->js (get-options (:name prop))) - :on-change (partial change-property-value pos)}]] - - [:* - [:span {:class (stl/css :variant-property-name)} (:name prop)] - [:& select {:default-value id-component - :options (filter-matching id-component (keyword (:name prop))) - :on-change switch-component}]])])])) + [:* + [:span {:class (stl/css :variant-property-name)} + (:name prop)] + [:& select {:default-value (if (str/empty? (:value prop)) "--" (:value prop)) + :options (clj->js (get-options-vals (:name prop))) + :on-change #(switch-component pos %)}]]])])) (mf/defc component-swap-item {::mf/props :obj} @@ -595,11 +630,10 @@ {::mf/props :obj} [{:keys [shapes swap-opened?]}] (let [current-file-id (mf/use-ctx ctx/current-file-id) - current-page-id (mf/use-ctx ctx/current-page-id) libraries (deref refs/files) current-file (get libraries current-file-id) - data (get current-file :data) + state* (mf/use-state #(do {:show-content true @@ -622,11 +656,17 @@ current-file libraries {:include-deleted? true}) - + data (dm/get-in libraries [(:component-file shape) :data]) variants? (features/use-feature "variants/v1") is-variant? (when variants? (ctk/is-variant? component)) main-instance? (ctk/main-instance? shape) + components (mapv #(ctf/resolve-component % + current-file + libraries + {:include-deleted? true}) shapes) + same-variant? (ctv/same-variant? components) + toggle-content (mf/use-fn #(swap! state* update :show-content not)) @@ -664,7 +704,7 @@ (fn [] (swap! state* update :render inc))) - menu-entries (cmm/generate-components-menu-entries shapes true) + menu-entries (cmm/generate-components-menu-entries shapes) show-menu? (seq menu-entries) path (->> component (:path) (cfh/split-path) (cfh/join-path-with-dot))] @@ -708,7 +748,7 @@ [:div {:class (stl/css :name-wrapper)} [:div {:class (stl/css :component-name)} [:span {:class (stl/css :component-name-inside)} - (if multi + (if (and multi (not same-variant?)) (tr "settings.multiple") (cfh/last-path shape-name))]] @@ -734,8 +774,14 @@ (when (and (not swap-opened?) (not multi)) [:& component-annotation {:id id :shape shape :component component :rerender-fn rerender-fn}]) - (when (and is-variant? (not swap-opened?) (not multi)) - [:> component-variant* {:component component :shape shape :data data :page-id current-page-id}]) + (when (and is-variant? (not main-instance?) (not swap-opened?) (not multi)) + [:> component-variant* {:component component + :shape shape + :data data}]) + + (when (and is-variant? main-instance? same-variant? (not swap-opened?)) + [:> component-variant-main-instance* {:components components + :data data}]) (when (dbg/enabled? :display-touched) [:div ":touched " (str (:touched shape))])])]))) @@ -760,7 +806,7 @@ variant-id (:variant-id first-variant) properties (mf/with-memo [data objects variant-id] - (clv/extract-properties-values data objects (:id shape))) + (cfv/extract-properties-values data objects (:id shape))) menu-open* (mf/use-state false) menu-open? (deref menu-open*) @@ -850,11 +896,11 @@ [:div {:key (str (:id shape) pos) :class (stl/css :variant-property-row)} [:> input-with-values* {:name (:name property) :values val - :data-position (:pos property) + :data-position pos :on-blur update-property-name}] [:> icon-button* {:variant "ghost" :aria-label (tr "workspace.shape.menu.remove-variant-property") :on-click remove-property - :data-position (:pos property) + :data-position pos :icon "remove" :disabled (<= (count properties) 1)}]]))])]]))) diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/component.scss b/frontend/src/app/main/ui/workspace/sidebar/options/menus/component.scss index 4c210a8768..2b8406648d 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/component.scss +++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/component.scss @@ -714,24 +714,25 @@ width: 100%; display: flex; gap: var(--sp-xs); -} - -.variant-property-name-bg { - border-radius: $br-8; - background-color: var(--assets-item-background-color); + padding-right: var(--sp-xxs); } .variant-property-name { color: var(--color-foreground-primary); - + height: var(--sp-xxxl); width: $s-104; display: flex; align-items: center; justify-content: center; - height: var(--sp-xxxl); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } + +.variant-property-name-wrapper { + display: flex; + flex: 0 0 auto; + width: $s-104; +} diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs index 425fbc5d2f..476e1f120d 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs @@ -16,7 +16,6 @@ [app.main.data.workspace :as udw] [app.main.data.workspace.grid-layout.editor :as dwge] [app.main.data.workspace.shape-layout :as dwsl] - [app.main.features :as features] [app.main.refs :as refs] [app.main.store :as st] [app.main.ui.components.dropdown :refer [dropdown]] @@ -976,8 +975,6 @@ grid-justify-content-row (:layout-justify-content values) grid-justify-content-column (:layout-align-content values) - grid-enabled? (features/use-feature "layout/grid") - on-column-justify-change (mf/use-fn (mf/deps ids) @@ -1007,24 +1004,22 @@ (if (and (not multiple) (:layout values)) [:div {:class (stl/css :title-actions)} - (when ^boolean grid-enabled? - [:* - [:> icon-button* {:variant "ghost" - :aria-label (tr "workspace.shape.menu.add-layout") - :on-click on-toggle-dropdown-visibility - :icon "menu"}] + [:> icon-button* {:variant "ghost" + :aria-label (tr "workspace.shape.menu.add-layout") + :on-click on-toggle-dropdown-visibility + :icon "menu"}] - [:& dropdown {:show show-dropdown? - :on-close on-hide-dropdown} - [:div {:class (stl/css :layout-options)} - [:button {:class (stl/css :layout-option) - :data-type "flex" - :on-click on-add-layout} - "Flex layout"] - [:button {:class (stl/css :layout-option) - :data-type "grid" - :on-click on-add-layout} - "Grid layout"]]]]) + [:& dropdown {:show show-dropdown? + :on-close on-hide-dropdown} + [:div {:class (stl/css :layout-options)} + [:button {:class (stl/css :layout-option) + :data-type "flex" + :on-click on-add-layout} + "Flex layout"] + [:button {:class (stl/css :layout-option) + :data-type "grid" + :on-click on-add-layout} + "Grid layout"]]] (when has-layout? [:> icon-button* {:variant "ghost" @@ -1033,29 +1028,23 @@ :icon "remove"}])] [:div {:class (stl/css :title-actions)} - (if ^boolean grid-enabled? - [:* - [:> icon-button* {:variant "ghost" - :aria-label (tr "workspace.shape.menu.add-layout") - :on-click on-toggle-dropdown-visibility - :icon "add"}] + [:> icon-button* {:variant "ghost" + :aria-label (tr "workspace.shape.menu.add-layout") + :on-click on-toggle-dropdown-visibility + :icon "add"}] - [:& dropdown {:show show-dropdown? - :on-close on-hide-dropdown} - [:div {:class (stl/css :layout-options)} - [:button {:class (stl/css :layout-option) - :data-type "flex" - :on-click on-add-layout} - "Flex layout"] - [:button {:class (stl/css :layout-option) - :data-type "grid" - :on-click on-add-layout} - "Grid layout"]]]] - - [:button {:class (stl/css :add-layout) + [:& dropdown {:show show-dropdown? + :on-close on-hide-dropdown} + [:div {:class (stl/css :layout-options)} + [:button {:class (stl/css :layout-option) :data-type "flex" :on-click on-add-layout} - i/add]) + "Flex layout"] + [:button {:class (stl/css :layout-option) + :data-type "grid" + :on-click on-add-layout} + "Grid layout"]]] + (when has-layout? [:> icon-button* {:variant "ghost" :aria-label (tr "workspace.shape.menu.delete") diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs index fe4cc9c099..dd1c6ea3ba 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs @@ -7,6 +7,7 @@ (ns app.main.ui.workspace.sidebar.options.shapes.frame (:require [app.common.data.macros :as dm] + [app.common.types.component :as ctk] [app.common.types.shape.layout :as ctl] [app.main.features :as features] [app.main.refs :as refs] @@ -72,7 +73,7 @@ is-grid-layout? (ctl/grid-layout? shape) is-layout-child-absolute? (ctl/item-absolute? shape) variants? (features/use-feature "variants/v1") - is-variant? (when variants? (:is-variant-container shape))] + is-variant? (when variants? (ctk/is-variant-container? shape))] [:* [:& layer-menu {:ids ids diff --git a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs index 1401741307..4df1c768c2 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs +++ b/frontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljs @@ -13,7 +13,6 @@ [app.main.ui.hooks :as hooks] [app.main.ui.workspace.sidebar.options.menus.blur :refer [blur-menu]] [app.main.ui.workspace.sidebar.options.menus.color-selection :refer [color-selection-menu*]] - [app.main.ui.workspace.sidebar.options.menus.component :refer [component-menu]] [app.main.ui.workspace.sidebar.options.menus.constraints :refer [constraints-menu]] [app.main.ui.workspace.sidebar.options.menus.fill :refer [fill-menu]] [app.main.ui.workspace.sidebar.options.menus.grid-cell :as grid-cell] @@ -70,7 +69,6 @@ [:div {:class (stl/css :options)} [:& layer-menu {:type type :ids layer-ids :values layer-values}] [:> measures-menu* {:type type :ids measure-ids :values measure-values :shape shape}] - [:& component-menu {:shapes [shape]}] ;;remove this in components-v2 [:& layout-container-menu {:type type diff --git a/frontend/src/app/main/ui/workspace/sidebar/sitemap.scss b/frontend/src/app/main/ui/workspace/sidebar/sitemap.scss index 3a9a64636b..4a0841e43a 100644 --- a/frontend/src/app/main/ui/workspace/sidebar/sitemap.scss +++ b/frontend/src/app/main/ui/workspace/sidebar/sitemap.scss @@ -38,11 +38,14 @@ display: flex; flex-direction: column; height: calc(-38px + var(--height, $s-200)); - width: 100%; - overflow-x: hidden; + width: var(--width); + overflow-x: scroll; overflow-y: overlay; scrollbar-gutter: stable; - max-width: var(--width); + + .element-list { + display: grid; + } } .pages-list { diff --git a/frontend/src/app/main/ui/workspace/tokens/common.cljs b/frontend/src/app/main/ui/workspace/tokens/common.cljs deleted file mode 100644 index a3b5cc8bc9..0000000000 --- a/frontend/src/app/main/ui/workspace/tokens/common.cljs +++ /dev/null @@ -1,70 +0,0 @@ -;; This Source Code Form is subject to the terms of the Mozilla Public -;; License, v. 2.0. If a copy of the MPL was not distributed with this -;; file, You can obtain one at http://mozilla.org/MPL/2.0/. -;; -;; Copyright (c) KALEIDOS INC - -(ns app.main.ui.workspace.tokens.common - (:require - [app.common.data :as d] - [app.main.data.shortcuts :as dsc] - [app.main.store :as st] - [app.util.dom :as dom] - [app.util.globals :as globals] - [app.util.keyboard :as kbd] - [cuerdas.core :as str] - [goog.events :as events] - [rumext.v2 :as mf]) - (:import goog.events.EventType)) - -;; Helpers --------------------------------------------------------------------- - -(defn camel-keys [m] - (->> m - (d/deep-mapm - (fn [[k v]] - (if (or (keyword? k) (string? k)) - [(keyword (str/camel (name k))) v] - [k v]))))) - -(defn direction-select - "Returns next `n` in `direction` while wrapping around at the last item at the count of `coll`. - - `direction` accepts `:up` or `:down`." - [direction n coll] - (let [last-n (dec (count coll)) - next-n (case direction - :up (dec n) - :down (inc n)) - wrap-around-n (cond - (neg? next-n) last-n - (> next-n last-n) 0 - :else next-n)] - wrap-around-n)) - -(defn use-arrow-highlight [{:keys [shortcuts-key options on-select]}] - (let [highlighted* (mf/use-state nil) - highlighted (deref highlighted*) - on-dehighlight #(reset! highlighted* nil) - on-keyup (fn [event] - (cond - (and (kbd/enter? event) highlighted) (on-select (nth options highlighted)) - (kbd/up-arrow? event) (do - (dom/prevent-default event) - (->> (direction-select :up (or highlighted 0) options) - (reset! highlighted*))) - (kbd/down-arrow? event) (do - (dom/prevent-default event) - (->> (direction-select :down (or highlighted -1) options) - (reset! highlighted*)))))] - (mf/with-effect [highlighted] - (let [shortcuts-key shortcuts-key - keys [(events/listen globals/document EventType.KEYUP on-keyup) - (events/listen globals/document EventType.KEYDOWN dom/prevent-default)]] - (st/emit! (dsc/push-shortcuts shortcuts-key {})) - (fn [] - (doseq [key keys] - (events/unlistenByKey key)) - (st/emit! (dsc/pop-shortcuts shortcuts-key))))) - {:highlighted highlighted - :on-dehighlight on-dehighlight})) diff --git a/frontend/src/app/main/ui/workspace/tokens/components/controls/input_token_color_bullet.cljs b/frontend/src/app/main/ui/workspace/tokens/components/controls/input_token_color_bullet.cljs index 4ff70d333b..715f7699c5 100644 --- a/frontend/src/app/main/ui/workspace/tokens/components/controls/input_token_color_bullet.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/components/controls/input_token_color_bullet.cljs @@ -7,8 +7,8 @@ (ns app.main.ui.workspace.tokens.components.controls.input-token-color-bullet (:require-macros [app.main.style :as stl]) (:require + [app.main.data.workspace.tokens.color :as dwtc] [app.main.ui.components.color-bullet :refer [color-bullet]] - [app.main.ui.workspace.tokens.token :as wtt] [rumext.v2 :as mf])) (def ^:private schema::input-token-color-bullet @@ -20,8 +20,9 @@ {::mf/props :obj ::mf/schema schema::input-token-color-bullet} [{:keys [color on-click]}] - [:div {:class (stl/css :input-token-color-bullet) + [:div {:data-testid "token-form-color-bullet" + :class (stl/css :input-token-color-bullet) :on-click on-click} - (if-let [color' (wtt/color-bullet-color color)] + (if-let [color' (dwtc/color-bullet-color color)] [:> color-bullet {:color color' :mini true}] [:div {:class (stl/css :input-token-color-bullet-placeholder)}])]) diff --git a/frontend/src/app/main/ui/workspace/tokens/context_menu.cljs b/frontend/src/app/main/ui/workspace/tokens/context_menu.cljs index 8c756a4bd8..678f9a6b96 100644 --- a/frontend/src/app/main/ui/workspace/tokens/context_menu.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/context_menu.cljs @@ -9,16 +9,16 @@ (:require [app.common.data :as d] [app.common.data.macros :as dm] + [app.common.files.tokens :as cft] [app.common.types.tokens-lib :as ctob] [app.main.data.modal :as modal] - [app.main.data.tokens :as dt] [app.main.data.workspace.shape-layout :as dwsl] + [app.main.data.workspace.tokens.application :as dwta] + [app.main.data.workspace.tokens.library-edit :as dwtl] [app.main.refs :as refs] [app.main.store :as st] [app.main.ui.components.dropdown :refer [dropdown]] [app.main.ui.ds.foundations.assets.icon :refer [icon*]] - [app.main.ui.workspace.tokens.changes :as wtch] - [app.main.ui.workspace.tokens.token :as wtt] [app.util.dom :as dom] [app.util.i18n :refer [tr]] [app.util.timers :as timers] @@ -30,15 +30,15 @@ ;; Actions --------------------------------------------------------------------- (defn attribute-actions [token selected-shapes attributes] - (let [ids-by-attributes (wtt/shapes-ids-by-applied-attributes token selected-shapes attributes) + (let [ids-by-attributes (cft/shapes-ids-by-applied-attributes token selected-shapes attributes) shape-ids (into #{} (map :id selected-shapes))] - {:all-selected? (wtt/shapes-applied-all? ids-by-attributes shape-ids attributes) + {:all-selected? (cft/shapes-applied-all? ids-by-attributes shape-ids attributes) :shape-ids shape-ids :selected-pred #(seq (% ids-by-attributes))})) (defn generic-attribute-actions [attributes title {:keys [token selected-shapes on-update-shape hint]}] (let [on-update-shape-fn (or on-update-shape - (-> (wtch/get-token-properties token) + (-> (dwta/get-token-properties token) (:on-update-shape))) {:keys [selected-pred shape-ids]} (attribute-actions token selected-shapes attributes)] (map (fn [attribute] @@ -52,8 +52,8 @@ :selected? selected? :action (fn [] (if selected? - (st/emit! (wtch/unapply-token props)) - (st/emit! (wtch/apply-token (assoc props :on-update-shape on-update-shape-fn)))))})) + (st/emit! (dwta/unapply-token props)) + (st/emit! (dwta/apply-token (assoc props :on-update-shape on-update-shape-fn)))))})) attributes))) (defn all-or-separate-actions [{:keys [attribute-labels on-update-shape-all on-update-shape hint]} @@ -67,8 +67,8 @@ :selected? all-selected? :hint hint :action #(if all-selected? - (st/emit! (wtch/unapply-token props)) - (st/emit! (wtch/apply-token (assoc props :on-update-shape (or on-update-shape-all on-update-shape)))))}) + (st/emit! (dwta/unapply-token props)) + (st/emit! (dwta/apply-token (assoc props :on-update-shape (or on-update-shape-all on-update-shape)))))}) single-actions (map (fn [[attr title]] (let [selected? (selected-pred attr)] {:title title @@ -78,10 +78,10 @@ :shape-ids shape-ids} event (cond all-selected? (-> (assoc props :attributes-to-remove attributes) - (wtch/apply-token)) - selected? (wtch/unapply-token props) + (dwta/apply-token)) + selected? (dwta/unapply-token props) :else (-> (assoc props :on-update-shape on-update-shape) - (wtch/apply-token)))] + (dwta/apply-token)))] (st/emit! event))})) attribute-labels)] (concat [all-action] single-actions))) @@ -105,17 +105,17 @@ :token token :shape-ids shape-ids}] (if all-selected? - (st/emit! (wtch/unapply-token props)) - (st/emit! (wtch/apply-token (assoc props :on-update-shape on-update-shape))))))} + (st/emit! (dwta/unapply-token props)) + (st/emit! (dwta/apply-token (assoc props :on-update-shape on-update-shape))))))} {:title "Horizontal" :selected? horizontal-selected? :action (fn [] (let [props {:token token :shape-ids shape-ids} event (cond - all-selected? (wtch/apply-token (assoc props :attributes-to-remove vertical-attrs)) - horizontal-selected? (wtch/apply-token (assoc props :attributes-to-remove horizontal-attrs)) - :else (wtch/apply-token (assoc props + all-selected? (dwta/apply-token (assoc props :attributes-to-remove vertical-attrs)) + horizontal-selected? (dwta/apply-token (assoc props :attributes-to-remove horizontal-attrs)) + :else (dwta/apply-token (assoc props :attributes horizontal-attrs :on-update-shape on-update-shape)))] (st/emit! event)))} @@ -125,9 +125,9 @@ (let [props {:token token :shape-ids shape-ids} event (cond - all-selected? (wtch/apply-token (assoc props :attributes-to-remove horizontal-attrs)) - vertical-selected? (wtch/apply-token (assoc props :attributes-to-remove vertical-attrs)) - :else (wtch/apply-token (assoc props + all-selected? (dwta/apply-token (assoc props :attributes-to-remove horizontal-attrs)) + vertical-selected? (dwta/apply-token (assoc props :attributes-to-remove vertical-attrs)) + :else (dwta/apply-token (assoc props :attributes vertical-attrs :on-update-shape on-update-shape)))] (st/emit! event)))}] @@ -147,10 +147,10 @@ :shape-ids shape-ids} event (cond all-selected? (-> (assoc props :attributes-to-remove attrs) - (wtch/apply-token)) - selected? (wtch/unapply-token props) + (dwta/apply-token)) + selected? (dwta/unapply-token props) :else (-> (assoc props :on-update-shape on-update-shape) - (wtch/apply-token)))] + (dwta/apply-token)))] (st/emit! event))})) all-attr-labels)] (concat multi-items single-items))) @@ -159,13 +159,13 @@ (st/emit! (when (= (count attributes) 1) (dwsl/update-layout shape-ids {:layout-padding-type :multiple})) - (wtch/update-layout-padding value shape-ids attributes))) + (dwta/update-layout-padding value shape-ids attributes))) (defn update-shape-layout-margin [value shape-ids attributes] (st/emit! (when (= (count attributes) 1) (dwsl/update-layout shape-ids {:layout-item-margin-type :multiple})) - (wtch/update-layout-item-margin value shape-ids attributes))) + (dwta/update-layout-item-margin value shape-ids attributes))) (defn spacing-attribute-actions [{:keys [token selected-shapes] :as context-data}] (let [padding-items (layout-spacing-items {:token token @@ -195,7 +195,7 @@ gap-items (all-or-separate-actions {:attribute-labels {:column-gap "Column Gap" :row-gap "Row Gap"} :hint (tr "workspace.token.gaps") - :on-update-shape wtch/update-layout-spacing} + :on-update-shape dwta/update-layout-spacing} context-data)] (concat gap-items [:separator] @@ -208,25 +208,25 @@ (all-or-separate-actions {:attribute-labels {:width "Width" :height "Height"} :hint (tr "workspace.token.size") - :on-update-shape wtch/update-shape-dimensions} + :on-update-shape dwta/update-shape-dimensions} context-data) [:separator] (all-or-separate-actions {:attribute-labels {:layout-item-min-w "Min Width" :layout-item-min-h "Min Height"} :hint (tr "workspace.token.min-size") - :on-update-shape wtch/update-layout-sizing-limits} + :on-update-shape dwta/update-layout-sizing-limits} context-data) [:separator] (all-or-separate-actions {:attribute-labels {:layout-item-max-w "Max Width" :layout-item-max-h "Max Height"} :hint (tr "workspace.token.max-size") - :on-update-shape wtch/update-layout-sizing-limits} + :on-update-shape dwta/update-layout-sizing-limits} context-data))) (defn update-shape-radius-for-corners [value shape-ids attributes] (st/emit! (ptk/data-event :expand-border-radius) - (wtch/update-shape-radius-for-corners value shape-ids attributes))) + (dwta/update-shape-radius-for-corners value shape-ids attributes))) (def shape-attribute-actions-map (let [stroke-width (partial generic-attribute-actions #{:stroke-width} "Stroke Width")] @@ -235,11 +235,11 @@ :r4 "Bottom Left" :r3 "Bottom Right"} :hint (tr "workspace.token.radius") - :on-update-shape-all wtch/update-shape-radius-all + :on-update-shape-all dwta/update-shape-radius-all :on-update-shape update-shape-radius-for-corners}) :color (fn [context-data] - [(generic-attribute-actions #{:fill} "Fill" (assoc context-data :on-update-shape wtch/update-fill :hint (tr "workspace.token.color"))) - (generic-attribute-actions #{:stroke-color} "Stroke" (assoc context-data :on-update-shape wtch/update-stroke-color))]) + [(generic-attribute-actions #{:fill} "Fill" (assoc context-data :on-update-shape dwta/update-fill :hint (tr "workspace.token.color"))) + (generic-attribute-actions #{:stroke-color} "Stroke" (assoc context-data :on-update-shape dwta/update-stroke-color))]) :spacing spacing-attribute-actions :sizing sizing-attribute-actions :rotation (partial generic-attribute-actions #{:rotation} "Rotation") @@ -252,19 +252,19 @@ :separator {:title "Border Radius" :submenu :border-radius}] [:separator] - (stroke-width (assoc context-data :on-update-shape wtch/update-stroke-width)) + (stroke-width (assoc context-data :on-update-shape dwta/update-stroke-width)) [:separator] - (generic-attribute-actions #{:x} "X" (assoc context-data :on-update-shape wtch/update-shape-position :hint (tr "workspace.token.axis"))) - (generic-attribute-actions #{:y} "Y" (assoc context-data :on-update-shape wtch/update-shape-position))))})) + (generic-attribute-actions #{:x} "X" (assoc context-data :on-update-shape dwta/update-shape-position :hint (tr "workspace.token.axis"))) + (generic-attribute-actions #{:y} "Y" (assoc context-data :on-update-shape dwta/update-shape-position))))})) (defn default-actions [{:keys [token selected-token-set-name]}] - (let [{:keys [modal]} (wtch/get-token-properties token)] + (let [{:keys [modal]} (dwta/get-token-properties token)] [{:title (tr "workspace.token.edit") :no-selectable true :action (fn [event] (let [{:keys [key fields]} modal] (dom/stop-propagation event) - (st/emit! (dt/assign-token-context-menu nil) + (st/emit! (dwtl/assign-token-context-menu nil) (modal/show key {:x (.-clientX ^js event) :y (.-clientY ^js event) :position :right @@ -274,10 +274,10 @@ :token token}))))} {:title (tr "workspace.token.duplicate") :no-selectable true - :action #(st/emit! (dt/duplicate-token (:name token)))} + :action #(st/emit! (dwtl/duplicate-token (:name token)))} {:title (tr "workspace.token.delete") :no-selectable true - :action #(st/emit! (dt/delete-token + :action #(st/emit! (dwtl/delete-token (ctob/prefixed-set-path-string->set-name-string selected-token-set-name) (:name token)))}])) @@ -446,7 +446,7 @@ (mf/portal (mf/html [:& dropdown {:show is-open? - :on-close #(st/emit! (dt/assign-token-context-menu nil))} + :on-close #(st/emit! (dwtl/assign-token-context-menu nil))} [:div {:class (stl/css :token-context-menu) :data-testid "tokens-context-menu-for-token" :ref dropdown-ref diff --git a/frontend/src/app/main/ui/workspace/tokens/core.cljs b/frontend/src/app/main/ui/workspace/tokens/core.cljs deleted file mode 100644 index c61cf0e40d..0000000000 --- a/frontend/src/app/main/ui/workspace/tokens/core.cljs +++ /dev/null @@ -1,34 +0,0 @@ -;; This Source Code Form is subject to the terms of the Mozilla Public -;; License, v. 2.0. If a copy of the MPL was not distributed with this -;; file, You can obtain one at http://mozilla.org/MPL/2.0/. -;; -;; Copyright (c) KALEIDOS INC - -(ns app.main.ui.workspace.tokens.core - (:require - [app.common.data :as d] - [app.main.ui.workspace.tokens.token :as wtt])) - -;; Helpers --------------------------------------------------------------------- - -(defn resolve-token-value [{:keys [value resolved-value] :as _token}] - (or - resolved-value - (d/parse-double value))) - -(defn maybe-resolve-token-value [{:keys [value] :as token}] - (when value (resolve-token-value token))) - -(defn tokens->select-options [{:keys [shape tokens attributes selected-attributes]}] - (map - (fn [{:keys [name] :as token}] - (cond-> (assoc token :label name) - (wtt/token-applied? token shape (or selected-attributes attributes)) (assoc :selected? true))) - tokens)) - -(defn tokens-name-map->select-options [{:keys [shape tokens attributes selected-attributes]}] - (map - (fn [[_k {:keys [name] :as token}]] - (cond-> (assoc token :label name) - (wtt/token-applied? token shape (or selected-attributes attributes)) (assoc :selected? true))) - tokens)) diff --git a/frontend/src/app/main/ui/workspace/tokens/form.cljs b/frontend/src/app/main/ui/workspace/tokens/form.cljs index 9306904317..606b070936 100644 --- a/frontend/src/app/main/ui/workspace/tokens/form.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/form.cljs @@ -10,9 +10,16 @@ [app.common.colors :as c] [app.common.data :as d] [app.common.data.macros :as dm] + [app.common.files.tokens :as cft] [app.common.types.tokens-lib :as ctob] [app.main.data.modal :as modal] - [app.main.data.tokens :as dt] + [app.main.data.style-dictionary :as sd] + [app.main.data.tinycolor :as tinycolor] + [app.main.data.workspace.tokens.application :as dwta] + [app.main.data.workspace.tokens.errors :as wte] + [app.main.data.workspace.tokens.library-edit :as dwtl] + [app.main.data.workspace.tokens.propagation :as dwtp] + [app.main.data.workspace.tokens.warnings :as wtw] [app.main.refs :as refs] [app.main.store :as st] [app.main.ui.ds.buttons.button :refer [button*]] @@ -22,15 +29,8 @@ [app.main.ui.ds.notifications.context-notification :refer [context-notification*]] [app.main.ui.workspace.colorpicker :as colorpicker] [app.main.ui.workspace.colorpicker.ramp :refer [ramp-selector*]] - [app.main.ui.workspace.tokens.changes :as wtch] [app.main.ui.workspace.tokens.components.controls.input-token-color-bullet :refer [input-token-color-bullet*]] [app.main.ui.workspace.tokens.components.controls.input-tokens :refer [input-tokens*]] - [app.main.ui.workspace.tokens.errors :as wte] - [app.main.ui.workspace.tokens.style-dictionary :as sd] - [app.main.ui.workspace.tokens.tinycolor :as tinycolor] - [app.main.ui.workspace.tokens.token :as wtt] - [app.main.ui.workspace.tokens.update :as wtu] - [app.main.ui.workspace.tokens.warnings :as wtw] [app.util.dom :as dom] [app.util.functions :as uf] [app.util.i18n :refer [tr]] @@ -64,7 +64,7 @@ (let [path-exists-schema (m/-simple-schema {:type :token/name-exists - :pred #(not (wtt/token-name-path-exists? % tokens-tree)) + :pred #(not (cft/token-name-path-exists? % tokens-tree)) :type-properties {:error/fn #(str "A token already exists at the path: " (:value %))}})] (m/schema [:and @@ -198,6 +198,13 @@ (when-not (and dragging? hex) (reset! internal-color* selector-color) (on-change hex alpha)))))] + (mf/use-effect + (mf/deps color) + (fn [] + ;; Update internal color when user changes input value + (when-let [color (tinycolor/valid-color color)] + (when-not (= (tinycolor/->hex-string color) (:hex internal-color)) + (reset! internal-color* (hex->value color)))))) (colorpicker/use-color-picker-css-variables! wrapper-node-ref internal-color) [:div {:ref wrapper-node-ref} @@ -232,8 +239,8 @@ [{:keys [token token-type action selected-token-set-name on-display-colorpicker]}] (let [create? (not (instance? ctob/Token token)) token (or token {:type token-type}) - token-properties (wtch/get-token-properties token) - color? (wtt/color-token? token) + token-properties (dwta/get-token-properties token) + color? (cft/color-token? token) selected-set-tokens (mf/deref refs/workspace-selected-token-set-tokens) active-theme-tokens (cond-> (mf/deref refs/workspace-active-theme-sets-tokens) @@ -247,7 +254,7 @@ :interactive? true}) token-path (mf/use-memo (mf/deps (:name token)) - #(wtt/token-name->path (:name token))) + #(cft/token-name->path (:name token))) selected-set-tokens-tree (mf/use-memo (mf/deps token-path selected-set-tokens) @@ -315,13 +322,14 @@ (valid-name? @token-name-ref)) ;; Value - color (mf/use-state (when color? (:value token))) + color* (mf/use-state (when color? (:value token))) + color (deref color*) color-ramp-open* (mf/use-state false) color-ramp-open? (deref color-ramp-open*) value-input-ref (mf/use-ref nil) value-ref (mf/use-var (:value token)) - token-resolve-result* (mf/use-state (get resolved-tokens (wtt/token-identifier token))) + token-resolve-result* (mf/use-state (get resolved-tokens (cft/token-identifier token))) token-resolve-result (deref token-resolve-result*) set-resolve-value @@ -338,7 +346,7 @@ :else (:resolved-value token-or-err))] - (when color? (reset! color (if error? nil v))) + (when color? (reset! color* (if error? nil v))) (reset! token-resolve-result* v)))) on-update-value-debounced (use-debonced-resolve-callback token-name-ref token active-theme-tokens set-resolve-value) @@ -355,13 +363,28 @@ (reset! value-ref value') (on-update-value-debounced value')))) on-update-color (mf/use-fn - (mf/deps on-update-value-debounced) + (mf/deps color on-update-value-debounced) (fn [hex-value alpha] - (let [color-value (if (= 1 alpha) - hex-value - (-> (tinycolor/valid-color hex-value) - (tinycolor/set-alpha alpha) - (tinycolor/->rgba-string)))] + (let [;; StyleDictionary will always convert to hex/rgba, so we take the format from the value input field + prev-input-color (some-> (dom/get-value (mf/ref-val value-input-ref)) + (tinycolor/valid-color)) + ;; If the input is a reference we will take the format from the computed value + prev-computed-color (when-not prev-input-color + (some-> color (tinycolor/valid-color))) + prev-format (some-> (or prev-input-color prev-computed-color) + (tinycolor/color-format)) + to-rgba? (and + (< alpha 1) + (or (= prev-format "hex") (not prev-format))) + to-hex? (and (not prev-format) (= alpha 1)) + format (cond + to-rgba? "rgba" + to-hex? "hex" + prev-format prev-format + :else "hex") + color-value (-> (tinycolor/valid-color hex-value) + (tinycolor/set-alpha (or alpha 1)) + (tinycolor/->string format))] (reset! value-ref color-value) (dom/set-value! (mf/ref-val value-input-ref) color-value) (on-update-value-debounced color-value)))) @@ -429,16 +452,16 @@ (when (and (seq result) (not err)) (st/emit! (if (ctob/token? token) - (dt/update-token (:name token) - {:name final-name - :value final-value - :description final-description}) + (dwtl/update-token (:name token) + {:name final-name + :value final-value + :description final-description}) - (dt/create-token {:name final-name - :type token-type - :value final-value - :description final-description})) - (wtu/update-workspace-tokens) + (dwtl/create-token {:name final-name + :type token-type + :value final-value + :description final-description})) + (dwtp/propagate-workspace-tokens) (modal/hide))))))))) on-delete-token @@ -447,7 +470,7 @@ (fn [e] (dom/prevent-default e) (modal/hide!) - (st/emit! (dt/delete-token (ctob/prefixed-set-path-string->set-name-string selected-token-set-name) (:name token))))) + (st/emit! (dwtl/delete-token (ctob/prefixed-set-path-string->set-name-string selected-token-set-name) (:name token))))) on-cancel (mf/use-fn @@ -538,10 +561,10 @@ :on-blur on-update-value} (when color? [:> input-token-color-bullet* - {:color @color :on-click on-display-colorpicker'}])] + {:color color + :on-click on-display-colorpicker'}])] (when color-ramp-open? - [:> ramp* {:color (some-> (or token-resolve-result (:value token)) - (tinycolor/valid-color)) + [:> ramp* {:color (some-> color (tinycolor/valid-color)) :on-change on-update-color}]) [:& token-value-or-errors {:result-or-errors token-resolve-result}]] diff --git a/frontend/src/app/main/ui/workspace/tokens/modals/themes.cljs b/frontend/src/app/main/ui/workspace/tokens/modals/themes.cljs index d6f98ff307..0b8c751e70 100644 --- a/frontend/src/app/main/ui/workspace/tokens/modals/themes.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/modals/themes.cljs @@ -12,7 +12,7 @@ [app.common.types.tokens-lib :as ctob] [app.main.data.event :as ev] [app.main.data.modal :as modal] - [app.main.data.tokens :as wdt] + [app.main.data.workspace.tokens.library-edit :as dwtl] [app.main.refs :as refs] [app.main.store :as st] [app.main.ui.components.radio-buttons :refer [radio-button radio-buttons]] @@ -33,11 +33,11 @@ [rumext.v2 :as mf])) (mf/defc empty-themes - [{:keys [set-state]}] + [{:keys [change-view]}] (let [create-theme (mf/use-fn - (mf/deps set-state) - #(set-state (fn [_] {:type :create-theme}))) + (mf/deps change-view) + #(change-view :create-theme)) close-modal (mf/use-fn #(st/emit! (modal/hide)))] @@ -78,17 +78,17 @@ :label ""}]])) (mf/defc themes-overview - [{:keys [set-state]}] + [{:keys [change-view]}] (let [active-theme-ids (mf/deref refs/workspace-active-theme-paths) themes-groups (mf/deref refs/workspace-token-theme-tree-no-hidden) create-theme (mf/use-fn - (mf/deps set-state) + (mf/deps change-view) (fn [e] (dom/prevent-default e) (dom/stop-propagation e) - (set-state (fn [_] {:type :create-theme})))) + (change-view :create-theme))) close-modal (mf/use-fn @@ -117,13 +117,12 @@ (fn [e] (dom/prevent-default e) (dom/stop-propagation e) - (st/emit! (wdt/delete-token-theme group name))) + (st/emit! (dwtl/delete-token-theme group name))) on-edit-theme (fn [e] (dom/prevent-default e) (dom/stop-propagation e) - (set-state (fn [_] {:type :edit-theme - :theme-path [(:id theme) (:group theme) (:name theme)]})))]] + (change-view :edit-theme {:theme-path [(:id theme) (:group theme) (:name theme)]}))]] [:li {:key theme-id :class (stl/css :theme-row)} [:div {:class (stl/css :theme-switch-row)} @@ -132,7 +131,7 @@ [:div {:on-click (fn [e] (dom/prevent-default e) (dom/stop-propagation e) - (st/emit! (wdt/toggle-token-theme-active? group name)))} + (st/emit! (dwtl/toggle-token-theme-active? group name)))} [:& switch {:name (tr "workspace.token.theme-name" name) :on-change (constantly nil) :selected? selected?}]]] @@ -241,54 +240,6 @@ :disabled disabled?} (tr "workspace.token.save-theme")]])) -(mf/defc create-theme - [{:keys [set-state]}] - (let [theme (ctob/make-token-theme :name "") - on-back #(set-state (constantly {:type :themes-overview})) - theme-state* (mf/use-state theme) - theme-state (deref theme-state*) - disabled? (-> (:name theme-state) - (str/trim) - (str/empty?)) - - on-change-field - (mf/use-fn - (fn [field value] - (swap! theme-state* #(assoc % field value)))) - - on-save-form - (mf/use-fn - (mf/deps theme-state) - (fn [e] - (dom/prevent-default e) - (let [theme (-> theme-state - (update :name str/trim) - (update :group str/trim) - (update :description str/trim))] - (when-not (str/empty? (:name theme)) - (st/emit! (ptk/event ::ev/event {::ev/name "create-tokens-theme"}) - (wdt/create-token-theme theme))) - (on-back)))) - - close-modal - (mf/use-fn - (fn [e] - (dom/prevent-default e) - (st/emit! (modal/hide))))] - - [:div {:class (stl/css :themes-modal-wrapper)} - [:> heading* {:level 2 :typography "headline-medium" :class (stl/css :themes-modal-title)} - (tr "workspace.token.add-new-theme")] - [:form {:on-submit on-save-form} - [:div {:class (stl/css :create-theme-wrapper)} - [:> theme-inputs* {:theme theme - :on-change-field on-change-field}] - - [:div {:class (stl/css :button-footer)} - [:> theme-modal-buttons* {:close-modal close-modal - :on-save-form on-save-form - :disabled? disabled?}]]]]])) - (defn- make-lib-with-theme [theme sets] (let [tlib (-> (ctob/make-tokens-lib) @@ -296,40 +247,39 @@ tlib (reduce ctob/add-set tlib sets)] (ctob/activate-theme tlib (:group theme) (:name theme)))) -(mf/defc controlled-edit-theme - [{:keys [state set-state]}] - (let [{:keys [theme-path]} @state - [_ theme-group theme-name] theme-path - ordered-token-sets (mf/deref refs/workspace-ordered-token-sets) +(mf/defc edit-create-theme* + [{:keys [change-view theme on-save is-editing has-prev-view]}] + (let [ordered-token-sets (mf/deref refs/workspace-ordered-token-sets) token-sets (mf/deref refs/workspace-token-sets-tree) - theme (mf/deref (refs/workspace-token-theme theme-group theme-name)) - theme-state* (mf/use-state theme) - theme-state (deref theme-state*) - lib (make-lib-with-theme theme-state ordered-token-sets) + current-theme* (mf/use-state theme) + current-theme (deref current-theme*) + lib (make-lib-with-theme current-theme ordered-token-sets) ;; Form / Modal handlers - on-back #(set-state (constantly {:type :themes-overview})) - disabled? (-> (:name theme-state) + on-back (mf/use-fn + (mf/deps change-view) + #(change-view :themes-overview)) + disabled? (-> (:name current-theme) (str/trim) (str/empty?)) on-change-field (mf/use-fn (fn [field value] - (swap! theme-state* #(assoc % field value)))) + (swap! current-theme* #(assoc % field value)))) on-save-form (mf/use-fn - (mf/deps theme theme-state) + (mf/deps current-theme on-save on-back) (fn [e] (dom/prevent-default e) - (let [theme' (-> theme-state + (let [theme' (-> current-theme (update :name str/trim) (update :group str/trim) (update :description str/trim))] - (when-not (str/empty? (:name theme)) - (st/emit! (wdt/update-token-theme [(:group theme) (:name theme)] theme'))) + (when-not (str/empty? (:name theme')) + (on-save theme')) (on-back)))) close-modal @@ -338,39 +288,39 @@ (dom/prevent-default e) (st/emit! (modal/hide)))) - on-delete-token + on-delete-theme (mf/use-fn - (mf/deps theme on-back) + (mf/deps current-theme on-back) (fn [] - (st/emit! (wdt/delete-token-theme (:group theme) (:name theme))) + (st/emit! (dwtl/delete-token-theme (:group current-theme) (:name current-theme))) (on-back))) ;; Sets tree handlers token-set-group-active? (mf/use-fn - (mf/deps theme-state) + (mf/deps current-theme) (fn [group-path] (ctob/sets-at-path-all-active? lib group-path))) token-set-active? (mf/use-fn - (mf/deps theme-state) + (mf/deps current-theme) (fn [name] - (contains? (:sets theme-state) name))) + (contains? (:sets current-theme) name))) on-toggle-token-set (mf/use-fn - (mf/deps theme-state) + (mf/deps current-theme) (fn [set-name] - (swap! theme-state* #(ctob/toggle-set % set-name)))) + (swap! current-theme* #(ctob/toggle-set % set-name)))) on-toggle-token-set-group (mf/use-fn - (mf/deps theme-state ordered-token-sets) + (mf/deps current-theme ordered-token-sets) (fn [group-path] - (swap! theme-state* (fn [theme'] - (let [lib' (make-lib-with-theme theme' ordered-token-sets)] - (clt/toggle-token-set-group group-path lib' theme')))))) + (swap! current-theme* (fn [theme'] + (let [lib' (make-lib-with-theme theme' ordered-token-sets)] + (clt/toggle-token-set-group group-path lib' theme')))))) on-click-token-set (mf/use-fn @@ -381,17 +331,20 @@ [:div {:class (stl/css :themes-modal-wrapper)} [:> heading* {:level 2 :typography "headline-medium" :class (stl/css :themes-modal-title)} - (tr "workspace.token.edit-theme-title")] + (if is-editing + (tr "workspace.token.edit-theme-title") + (tr "workspace.token.add-new-theme"))] [:form {:on-submit on-save-form :class (stl/css :edit-theme-form)} [:div {:class (stl/css :edit-theme-wrapper)} - [:button {:on-click on-back - :class (stl/css :back-btn) - :type "button"} - [:> icon* {:icon-id ic/arrow-left :aria-hidden true}] - (tr "workspace.token.back-to-themes")] + (when has-prev-view + [:button {:on-click on-back + :class (stl/css :back-btn) + :type "button"} + [:> icon* {:icon-id ic/arrow-left :aria-hidden true}] + (tr "workspace.token.back-to-themes")]) - [:> theme-inputs* {:theme theme + [:> theme-inputs* {:theme current-theme :on-change-field on-change-field}] [:> text* {:as "span" :typography "body-small" :class (stl/css :select-sets-message)} (tr "workspace.token.set-selection-theme")] @@ -408,31 +361,80 @@ :origin "theme-modal"}]] [:div {:class (stl/css :edit-theme-footer)} - [:> button* {:variant "secondary" - :type "button" - :icon "delete" - :on-click on-delete-token} - (tr "labels.delete")] + (when is-editing + [:> button* {:variant "secondary" + :type "button" + :icon "delete" + :on-click on-delete-theme} + (tr "labels.delete")]) [:div {:class (stl/css :button-footer)} [:> theme-modal-buttons* {:close-modal close-modal :on-save-form on-save-form :disabled? disabled?}]]]]]])) +(defn has-prev-view [prev-view-type] + (contains? #{:empty-themes :themes-overview} prev-view-type)) + +(mf/defc edit-theme + [{:keys [state change-view]}] + (let [{:keys [theme-path]} state + [_ theme-group theme-name] theme-path + theme (mf/deref (refs/workspace-token-theme theme-group theme-name)) + has-prev-view (has-prev-view (:prev-type state)) + + on-save + (mf/use-fn + (mf/deps theme) + (fn [theme'] + (st/emit! (dwtl/update-token-theme [(:group theme) (:name theme)] theme'))))] + + [:> edit-create-theme* + {:change-view change-view + :theme theme + :on-save on-save + :is-editing true + :has-prev-view has-prev-view}])) + +(mf/defc create-theme + [{:keys [state change-view]}] + (let [theme (ctob/make-token-theme :name "") + on-save + (mf/use-fn + (fn [theme] + (st/emit! (ptk/event ::ev/event {::ev/name "create-tokens-theme"}) + (dwtl/create-token-theme theme)))) + has-prev-view (has-prev-view (:prev-type state))] + + [:> edit-create-theme* + {:change-view change-view + :theme theme + :on-save on-save + :has-prev-view has-prev-view}])) + (mf/defc themes-modal-body* {::mf/private true} [] - (let [themes (mf/deref refs/workspace-token-themes-no-hidden) - state (mf/use-state #(if (empty? themes) - {:type :create-theme} - {:type :themes-overview})) - set-state (mf/use-fn #(swap! state %)) - component (case (:type @state) + (let [themes (mf/deref refs/workspace-token-themes-no-hidden) + state* (mf/use-state #(if (empty? themes) + {:type :create-theme} + {:type :themes-overview})) + state (deref state*) + + change-view (mf/use-fn + (fn [type & {:keys [theme-path]}] + (swap! state* (fn [current-state] + (cond-> current-state + :always (assoc :type type + :prev-type (:type current-state)) + :theme-path (assoc :theme-path theme-path)))))) + + component (case (:type state) :empty-themes empty-themes :themes-overview (if (empty? themes) empty-themes themes-overview) - :edit-theme controlled-edit-theme + :edit-theme edit-theme :create-theme create-theme)] [:& component {:state state - :set-state set-state}])) + :change-view change-view}])) (mf/defc token-themes-modal {::mf/wrap-props false diff --git a/frontend/src/app/main/ui/workspace/tokens/modals/themes.scss b/frontend/src/app/main/ui/workspace/tokens/modals/themes.scss index f7e15d6abc..59e57a2b1c 100644 --- a/frontend/src/app/main/ui/workspace/tokens/modals/themes.scss +++ b/frontend/src/app/main/ui/workspace/tokens/modals/themes.scss @@ -68,6 +68,7 @@ .button-footer { display: flex; + margin-left: auto; justify-content: flex-end; gap: $s-6; } diff --git a/frontend/src/app/main/ui/workspace/tokens/sets.cljs b/frontend/src/app/main/ui/workspace/tokens/sets.cljs index 0ff9f15831..e3d480da99 100644 --- a/frontend/src/app/main/ui/workspace/tokens/sets.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/sets.cljs @@ -10,7 +10,7 @@ [app.common.data.macros :as dm] [app.common.types.tokens-lib :as ctob] [app.main.data.event :as ev] - [app.main.data.tokens :as dt] + [app.main.data.workspace.tokens.library-edit :as dwtl] [app.main.refs :as refs] [app.main.store :as st] [app.main.ui.context :as ctx] @@ -31,26 +31,26 @@ (defn- on-start-creation [] - (st/emit! (dt/start-token-set-creation []))) + (st/emit! (dwtl/start-token-set-creation []))) (defn- on-toggle-token-set-click [name] - (st/emit! (dt/toggle-token-set name))) + (st/emit! (dwtl/toggle-token-set name))) (defn- on-toggle-token-set-group-click [path] - (st/emit! (dt/toggle-token-set-group path))) + (st/emit! (dwtl/toggle-token-set-group path))) (defn- on-select-token-set-click [name] - (st/emit! (dt/set-selected-token-set-name name))) + (st/emit! (dwtl/set-selected-token-set-name name))) (defn on-update-token-set [token-set name] - (st/emit! (dt/clear-token-set-edition) - (dt/update-token-set token-set name))) + (st/emit! (dwtl/clear-token-set-edition) + (dwtl/update-token-set token-set name))) (defn- on-update-token-set-group [path name] - (st/emit! (dt/clear-token-set-edition) - (dt/rename-token-set-group path name))) + (st/emit! (dwtl/clear-token-set-edition) + (dwtl/rename-token-set-group path name))) (defn- on-create-token-set [parent-set name] @@ -63,7 +63,7 @@ (ctob/normalize-set-name name))] (st/emit! (ptk/data-event ::ev/event {::ev/name "create-token-set" :name name}) - (dt/create-token-set name)))) + (dwtl/create-token-set name)))) (defn group-edition-id "Prefix editing groups `edition-id` so it can be differentiated from sets with the same id." @@ -167,7 +167,7 @@ (dom/prevent-default event) (dom/stop-propagation event) (when (and can-edit? (not is-editing)) - (st/emit! (dt/assign-token-set-context-menu + (st/emit! (dwtl/assign-token-set-context-menu {:position (dom/get-client-position event) :is-group true :id id @@ -270,7 +270,7 @@ (dom/prevent-default event) (dom/stop-propagation event) (when (and can-edit? (not is-editing)) - (st/emit! (dt/assign-token-set-context-menu + (st/emit! (dwtl/assign-token-set-context-menu {:position (dom/get-client-position event) :is-group false :id id @@ -383,8 +383,8 @@ :position position :collapsed-paths collapsed-paths}] (if (:is-group data) - (st/emit! (dt/drop-token-set-group params)) - (st/emit! (dt/drop-token-set params)))))) + (st/emit! (dwtl/drop-token-set-group params)) + (st/emit! (dwtl/drop-token-set params)))))) on-toggle-collapse (mf/use-fn @@ -560,15 +560,15 @@ (mf/deps can-edit?) (fn [_] (when can-edit? - (st/emit! (dt/clear-token-set-edition) - (dt/clear-token-set-creation))))) + (st/emit! (dwtl/clear-token-set-edition) + (dwtl/clear-token-set-creation))))) on-start-edition (mf/use-fn (mf/deps can-edit?) (fn [id] (when can-edit? - (st/emit! (dt/start-token-set-edition id)))))] + (st/emit! (dwtl/start-token-set-edition id)))))] [:> controlled-sets-list* {:token-sets token-sets diff --git a/frontend/src/app/main/ui/workspace/tokens/sets_context_menu.cljs b/frontend/src/app/main/ui/workspace/tokens/sets_context_menu.cljs index 029244de5b..e9c599697a 100644 --- a/frontend/src/app/main/ui/workspace/tokens/sets_context_menu.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/sets_context_menu.cljs @@ -8,7 +8,7 @@ (:require-macros [app.main.style :as stl]) (:require [app.common.data.macros :as dm] - [app.main.data.tokens :as dt] + [app.main.data.workspace.tokens.library-edit :as dwtl] [app.main.refs :as refs] [app.main.store :as st] [app.main.ui.components.dropdown :refer [dropdown]] @@ -36,23 +36,31 @@ {::mf/private true} [{:keys [is-group id edition-id path]}] (let [create-set-at-path - (mf/use-fn (mf/deps path) #(st/emit! (dt/start-token-set-creation path))) + (mf/use-fn (mf/deps path) #(st/emit! (dwtl/start-token-set-creation path))) on-edit (mf/use-fn (mf/deps id) (fn [] - (st/emit! (dt/start-token-set-edition edition-id)))) + (st/emit! (dwtl/start-token-set-edition edition-id)))) + + on-duplicate + (mf/use-fn + (mf/deps is-group id) + (fn [] + (st/emit! (dwtl/duplicate-token-set id is-group)))) on-delete (mf/use-fn (mf/deps is-group path) - #(st/emit! (dt/delete-token-set-path is-group path)))] + #(st/emit! (dwtl/delete-token-set-path is-group path)))] [:ul {:class (stl/css :context-list)} (when is-group [:> menu-entry* {:title (tr "workspace.token.add-set-to-group") :on-click create-set-at-path}]) [:> menu-entry* {:title (tr "labels.rename") :on-click on-edit}] + (when-not is-group + [:> menu-entry* {:title (tr "labels.duplicate") :on-click on-duplicate}]) [:> menu-entry* {:title (tr "labels.delete") :on-click on-delete}]])) (mf/defc token-set-context-menu* @@ -67,7 +75,7 @@ (+ (dm/get-prop position :x) 5) on-close - (mf/use-fn #(st/emit! (dt/assign-token-set-context-menu nil)))] + (mf/use-fn #(st/emit! (dwtl/assign-token-set-context-menu nil)))] [:& dropdown {:show (some? position) :on-close on-close} diff --git a/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs b/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs index 5cb6da341b..a95adfa4d6 100644 --- a/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/sidebar.cljs @@ -13,11 +13,13 @@ [app.main.data.event :as ev] [app.main.data.modal :as modal] [app.main.data.notifications :as ntf] - [app.main.data.tokens :as dt] + [app.main.data.style-dictionary :as sd] + [app.main.data.workspace.tokens.application :as dwta] + [app.main.data.workspace.tokens.errors :as wte] + [app.main.data.workspace.tokens.library-edit :as dwtl] [app.main.refs :as refs] [app.main.store :as st] - [app.main.ui.components.dropdown-menu :refer [dropdown-menu - dropdown-menu-item*]] + [app.main.ui.components.dropdown-menu :refer [dropdown-menu dropdown-menu-item*]] [app.main.ui.components.title-bar :refer [title-bar]] [app.main.ui.context :as ctx] [app.main.ui.ds.buttons.button :refer [button*]] @@ -27,12 +29,9 @@ [app.main.ui.hooks :as h] [app.main.ui.hooks.resize :refer [use-resize-hook]] [app.main.ui.workspace.sidebar.assets.common :as cmm] - [app.main.ui.workspace.tokens.changes :as wtch] [app.main.ui.workspace.tokens.context-menu :refer [token-context-menu]] - [app.main.ui.workspace.tokens.errors :as wte] [app.main.ui.workspace.tokens.sets :as tsets] [app.main.ui.workspace.tokens.sets-context-menu :refer [token-set-context-menu*]] - [app.main.ui.workspace.tokens.style-dictionary :as sd] [app.main.ui.workspace.tokens.theme-select :refer [theme-select]] [app.main.ui.workspace.tokens.token-pill :refer [token-pill*]] [app.util.array :as array] @@ -71,7 +70,7 @@ {::mf/private true} [{:keys [type tokens selected-shapes active-theme-tokens is-open]}] (let [{:keys [modal title]} - (get wtch/token-properties type) + (get dwta/token-properties type) can-edit? (mf/use-ctx ctx/can-edit?) @@ -84,7 +83,7 @@ (mf/use-fn (fn [event token] (dom/prevent-default event) - (st/emit! (dt/assign-token-context-menu + (st/emit! (dwtl/assign-token-context-menu {:type :token :position (dom/get-client-position event) :errors (:errors token) @@ -93,14 +92,14 @@ on-toggle-open-click (mf/use-fn (mf/deps is-open type) - #(st/emit! (dt/set-token-type-section-open type (not is-open)))) + #(st/emit! (dwtl/set-token-type-section-open type (not is-open)))) on-popover-open-click (mf/use-fn (mf/deps type title modal) (fn [event] (dom/stop-propagation event) - (st/emit! (dt/set-token-type-section-open type true) + (st/emit! (dwtl/set-token-type-section-open type true) ;; FIXME: use dom/get-client-position (modal/show (:key modal) {:x (.-clientX ^js event) @@ -117,7 +116,7 @@ (fn [event token] (dom/stop-propagation event) (when (seq selected-shapes) - (st/emit! (wtch/toggle-token {:token token + (st/emit! (dwta/toggle-token {:token token :shapes selected-shapes})))))] [:div {:on-click on-toggle-open-click :class (stl/css :token-section-wrapper)} @@ -152,7 +151,7 @@ [tokens-by-type] (loop [empty #js [] filled #js [] - types (-> wtch/token-properties keys seq)] + types (-> dwta/token-properties keys seq)] (if-let [type (first types)] (if (not-empty (get tokens-by-type type)) (recur empty @@ -304,6 +303,16 @@ tokens)] (ctob/group-by-type tokens))) + active-token-sets-names + (mf/with-memo [tokens-lib] + (some-> tokens-lib (ctob/get-active-themes-set-names))) + + token-set-active? + (mf/use-fn + (mf/deps active-token-sets-names) + (fn [name] + (contains? active-token-sets-names name))) + [empty-group filled-group] (mf/with-memo [tokens-by-type] (get-sorted-token-groups tokens-by-type))] @@ -316,11 +325,22 @@ (let [match (->> (ctob/get-sets tokens-lib) (first) (:name))] - (st/emit! (dt/set-selected-token-set-name match))))) + (st/emit! (dwtl/set-selected-token-set-name match))))) [:* [:& token-context-menu] - [:span {:class (stl/css :sets-header)} (tr "workspace.token.tokens-section-title" selected-token-set-name)] + [:div {:class (stl/css :sets-header-container)} + [:span {:class (stl/css :sets-header)} (tr "workspace.token.tokens-section-title" selected-token-set-name)] + [:div {:class (stl/css :sets-header-status) :title (tr "workspace.token.inactive-set-description")} + ;; NOTE: when no set in tokens-lib, the selected-token-set-name + ;; will be `nil`, so for properly hide the inactive message we + ;; check that at least `selected-token-set-name` has a value + (when (and (some? selected-token-set-name) + (not (token-set-active? selected-token-set-name))) + [:* + [:> i/icon* {:class (stl/css :sets-header-status-icon) :icon-id i/eye-off}] + [:span {:class (stl/css :sets-header-status-text)} + (tr "workspace.token.inactive-set")]])]] (for [type filled-group] (let [tokens (get tokens-by-type type)] @@ -374,10 +394,11 @@ (sd/process-json-stream {:file-name file-name}) (rx/subs! (fn [lib] (st/emit! (ptk/data-event ::ev/event {::ev/name "import-tokens"}) - (dt/import-tokens-lib lib))) + (dwtl/import-tokens-lib lib))) (fn [err] (js/console.error err) (st/emit! (ntf/show {:content (wte/humanize-errors [(ex-data err)]) + :detail (wte/detail-errors [(ex-data err)]) :type :toast :level :error}))))) (-> (mf/ref-val input-ref) diff --git a/frontend/src/app/main/ui/workspace/tokens/sidebar.scss b/frontend/src/app/main/ui/workspace/tokens/sidebar.scss index 6828a46655..02969a2ad1 100644 --- a/frontend/src/app/main/ui/workspace/tokens/sidebar.scss +++ b/frontend/src/app/main/ui/workspace/tokens/sidebar.scss @@ -39,7 +39,7 @@ } .themes-header, -.sets-header { +.sets-header-container { @include use-typography("headline-small"); display: block; padding: $s-8; @@ -47,10 +47,31 @@ word-break: break-word; } -.sets-header { +.sets-header-container { + display: flex; + align-items: flex-start; + justify-content: space-between; + gap: $s-4; margin-block-start: $s-8; } +.sets-header { + flex: 1; +} + +.sets-header-status { + @include use-typography("body-small"); + text-transform: none; + color: var(--color-foreground-secondary); + display: flex; + align-items: center; + gap: $s-4; +} + +.sets-header-status-text { + font-style: italic; +} + .themes-wrapper { padding: $s-12 0 0 $s-12; } @@ -172,12 +193,14 @@ } .resize-area-horiz { + background-color: var(--panel-background-color); position: absolute; left: 0; width: 100%; padding: $s-3 0 $s-1 0; height: $s-6; cursor: ns-resize; + z-index: 1; } .resize-handle-horiz { diff --git a/frontend/src/app/main/ui/workspace/tokens/theme_select.cljs b/frontend/src/app/main/ui/workspace/tokens/theme_select.cljs index 9eaba56d9e..0d2be3905d 100644 --- a/frontend/src/app/main/ui/workspace/tokens/theme_select.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/theme_select.cljs @@ -11,7 +11,7 @@ [app.common.types.tokens-lib :as ctob] [app.common.uuid :as uuid] [app.main.data.modal :as modal] - [app.main.data.tokens :as wdt] + [app.main.data.workspace.tokens.library-edit :as dwtl] [app.main.refs :as refs] [app.main.store :as st] [app.main.ui.components.dropdown :refer [dropdown]] @@ -31,7 +31,7 @@ selected? (get active-theme-paths theme-id) select-theme (fn [e] (dom/stop-propagation e) - (st/emit! (wdt/toggle-token-theme-active? group name)) + (st/emit! (dwtl/toggle-token-theme-active? group name)) (on-close))]] [:li {:key theme-id :role "option" diff --git a/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs b/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs index 2f375cf56d..2e5e5180d5 100644 --- a/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/token_pill.cljs @@ -11,12 +11,13 @@ (:require [app.common.data :as d] [app.common.files.helpers :as cfh] + [app.common.files.tokens :as cft] + [app.main.data.workspace.tokens.application :as dwta] + [app.main.data.workspace.tokens.color :as dwtc] [app.main.refs :as refs] [app.main.ui.components.color-bullet :refer [color-bullet]] [app.main.ui.ds.foundations.assets.icon :refer [icon*]] [app.main.ui.ds.foundations.utilities.token.token-status :refer [token-status-icon*]] - [app.main.ui.workspace.tokens.changes :as wtch] - [app.main.ui.workspace.tokens.token :as wtt] [app.util.dom :as dom] [app.util.i18n :refer [tr]] [cuerdas.core :as str] @@ -80,6 +81,7 @@ :y "Y"}) ;; Helper functions + (defn partially-applied-attr "Translates partially applied attributes based on the dictionary." [app-token-keys is-applied {:keys [attributes all-attributes]}] @@ -106,7 +108,7 @@ (let [{:keys [name value type resolved-value]} token resolved-value-theme (:resolved-value theme-token) resolved-value (or resolved-value-theme resolved-value) - {:keys [title] :as token-props} (wtch/get-token-properties theme-token) + {:keys [title] :as token-props} (dwta/get-token-properties theme-token) applied-tokens (:applied-tokens shape) app-token-vals (set (vals applied-tokens)) app-token-keys (keys applied-tokens) @@ -156,9 +158,9 @@ (defn- applied-all-attributes? [token selected-shapes attributes] - (let [ids-by-attributes (wtt/shapes-ids-by-applied-attributes token selected-shapes attributes) + (let [ids-by-attributes (cft/shapes-ids-by-applied-attributes token selected-shapes attributes) shape-ids (into #{} xf:map-id selected-shapes)] - (wtt/shapes-applied-all? ids-by-attributes shape-ids attributes))) + (cft/shapes-applied-all? ids-by-attributes shape-ids attributes))) (mf/defc token-pill* {::mf/wrap [mf/memo]} @@ -166,11 +168,11 @@ (let [{:keys [name value errors]} token has-selected? (pos? (count selected-shapes)) - is-reference? (wtt/is-reference? token) + is-reference? (cft/is-reference? token) contains-path? (str/includes? name ".") {:keys [attributes all-attributes]} - (get wtch/token-properties (:type token)) + (get dwta/token-properties (:type token)) full-applied? (if has-selected? @@ -179,7 +181,7 @@ applied? (if has-selected? - (wtt/shapes-token-applied? token selected-shapes (d/nilv all-attributes attributes)) + (cft/shapes-token-applied? token selected-shapes (d/nilv all-attributes attributes)) false) half-applied? @@ -201,10 +203,10 @@ no-valid-value) color - (when (wtt/color-token? token) + (when (cft/color-token? token) (let [theme-token (get active-theme-tokens (:name token))] - (or (wtt/resolved-token-bullet-color theme-token) - (wtt/resolved-token-bullet-color token)))) + (or (dwtc/resolved-token-bullet-color theme-token) + (dwtc/resolved-token-bullet-color token)))) on-click (mf/use-fn diff --git a/frontend/src/app/main/ui/workspace/tokens/token_set.cljs b/frontend/src/app/main/ui/workspace/tokens/token_set.cljs deleted file mode 100644 index 37717e0581..0000000000 --- a/frontend/src/app/main/ui/workspace/tokens/token_set.cljs +++ /dev/null @@ -1,45 +0,0 @@ -(ns app.main.ui.workspace.tokens.token-set - (:require - [app.common.types.tokens-lib :as ctob] - [app.main.data.helpers :as dsh])) - -(defn get-workspace-tokens-lib - [state] - (-> (dsh/lookup-file-data state) - (get :tokens-lib))) - -;; Themes ---------------------------------------------------------------------- - -(defn get-active-theme-ids - [state] - (-> (dsh/lookup-file-data state) - (get :token-active-themes #{}))) - -(defn get-temp-theme-id - [state] - (-> (dsh/lookup-file-data state) - (get :token-theme-temporary-id))) - -(defn update-theme-id - [state] - (let [active-themes (get-active-theme-ids state) - temporary-theme-id (get-temp-theme-id state)] - (cond - (empty? active-themes) temporary-theme-id - (= 1 (count active-themes)) (first active-themes) - :else temporary-theme-id))) - -(defn get-workspace-token-theme - [id state] - (-> (dsh/lookup-file-data state) - (get :token-themes-index) - (get id))) - -(defn add-token-set-to-token-theme [token-set-id token-theme] - (update token-theme :sets conj token-set-id)) - - ;; Sets ------------------------------------------------------------------------ - -(defn get-active-theme-sets-tokens-names-map [state] - (when-let [lib (get-workspace-tokens-lib state)] - (ctob/get-active-themes-set-tokens lib))) diff --git a/frontend/src/app/main/ui/workspace/viewport/comments.cljs b/frontend/src/app/main/ui/workspace/viewport/comments.cljs index 2b67b9b6ab..e9e0a4d0d3 100644 --- a/frontend/src/app/main/ui/workspace/viewport/comments.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/comments.cljs @@ -86,4 +86,5 @@ {:draft draft :on-cancel on-draft-cancel :on-submit on-draft-submit + :viewport viewport :zoom zoom}])]]])) diff --git a/frontend/src/app/main/ui/workspace/viewport/outline.cljs b/frontend/src/app/main/ui/workspace/viewport/outline.cljs index 41b67bc998..0043a3fe82 100644 --- a/frontend/src/app/main/ui/workspace/viewport/outline.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/outline.cljs @@ -11,6 +11,7 @@ [app.common.exceptions :as ex] [app.common.files.helpers :as cfh] [app.common.geom.shapes :as gsh] + [app.common.types.component :as ctk] [app.common.types.container :as ctn] [app.main.refs :as refs] [app.main.ui.hooks :as hooks] @@ -32,7 +33,9 @@ ;; NOTE: that we don't use mf/deref to avoid a repaint dependency here objects (deref refs/workspace-page-objects) - color (if (ctn/in-any-component? objects shape) + color (if (or + (ctn/in-any-component? objects shape) + (ctk/is-variant-container? shape)) "var(--assets-component-hightlight)" "var(--color-accent-tertiary)") diff --git a/frontend/src/app/main/ui/workspace/viewport/selection.cljs b/frontend/src/app/main/ui/workspace/viewport/selection.cljs index 98ce5a047c..a3b4005f0c 100644 --- a/frontend/src/app/main/ui/workspace/viewport/selection.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/selection.cljs @@ -12,6 +12,7 @@ [app.common.geom.matrix :as gmt] [app.common.geom.point :as gpt] [app.common.geom.shapes :as gsh] + [app.common.types.component :as ctk] [app.common.types.container :as ctn] [app.common.types.shape :as cts] [app.main.data.workspace :as dw] @@ -530,7 +531,9 @@ ;; Note that we don't use mf/deref to avoid a repaint dependency here objects (deref refs/workspace-page-objects) - color (if (and (= total 1) ^boolean (ctn/in-any-component? objects shape)) + color (if (and (= total 1) ^boolean + (or (ctn/in-any-component? objects shape) + (ctk/is-variant-container? shape))) selection-rect-color-component selection-rect-color-normal)] @@ -577,7 +580,9 @@ ;; Note that we don't use mf/deref to avoid a repaint dependency here objects (deref refs/workspace-page-objects) - color (if (and (= total 1) ^boolean (ctn/in-any-component? objects shape)) + color (if (and (= total 1) ^boolean + (or (ctn/in-any-component? objects shape) + (ctk/is-variant-container? shape))) selection-rect-color-component selection-rect-color-normal)] diff --git a/frontend/src/app/main/ui/workspace/viewport/widgets.cljs b/frontend/src/app/main/ui/workspace/viewport/widgets.cljs index dcc3f1eefc..2923952a6e 100644 --- a/frontend/src/app/main/ui/workspace/viewport/widgets.cljs +++ b/frontend/src/app/main/ui/workspace/viewport/widgets.cljs @@ -92,7 +92,7 @@ objects (deref refs/workspace-page-objects) color (if selected? - (if (ctn/in-any-component? objects frame) + (if (or (ctn/in-any-component? objects frame) (ctk/is-variant-container? frame)) "var(--assets-component-hightlight)" "var(--color-accent-tertiary)") "#8f9da3") ;; TODO: Set this color on the DS @@ -251,8 +251,7 @@ on-frame-enter (unchecked-get props "on-frame-enter") on-frame-leave (unchecked-get props "on-frame-leave") on-frame-select (unchecked-get props "on-frame-select") - components-v2 (mf/use-ctx ctx/components-v2) - shapes (ctt/get-frames objects {:skip-copies? components-v2}) + shapes (ctt/get-frames objects {:skip-copies? true}) shapes (if (dbg/enabled? :shape-titles) (into (set shapes) (map (d/getf objects)) diff --git a/frontend/src/app/main/ui/workspace/viewport_wasm.cljs b/frontend/src/app/main/ui/workspace/viewport_wasm.cljs index 3f41a55d0f..b07e3893dd 100644 --- a/frontend/src/app/main/ui/workspace/viewport_wasm.cljs +++ b/frontend/src/app/main/ui/workspace/viewport_wasm.cljs @@ -26,7 +26,6 @@ [app.main.ui.workspace.shapes.text.editor :as editor-v1] [app.main.ui.workspace.shapes.text.text-edition-outline :refer [text-edition-outline]] [app.main.ui.workspace.shapes.text.v2-editor :as editor-v2] - [app.main.ui.workspace.shapes.text.viewport-texts-html :as stvh] [app.main.ui.workspace.viewport.actions :as actions] [app.main.ui.workspace.viewport.comments :as comments] [app.main.ui.workspace.viewport.debug :as wvd] @@ -51,6 +50,7 @@ [app.main.ui.workspace.viewport.widgets :as widgets] [app.render-wasm.api :as wasm.api] [app.util.debug :as dbg] + [app.util.text-editor :as ted] [beicon.v2.core :as rx] [promesa.core :as p] [rumext.v2 :as mf])) @@ -102,6 +102,10 @@ drawing (mf/deref refs/workspace-drawing) focus (mf/deref refs/workspace-focus-selected) + workspace-editor-state (mf/deref refs/workspace-editor-state) + workspace-v2-editor-state (mf/deref refs/workspace-v2-editor-state) + + file-id (get file :id) objects (get page :objects) page-id (get page :id) background (get page :background clr/canvas) @@ -139,6 +143,7 @@ on-viewport-ref] (create-viewport-ref) canvas-ref (mf/use-ref nil) + text-editor-ref (mf/use-ref nil) ;; VARS disable-paste (mf/use-var false) @@ -288,14 +293,22 @@ (fn [] (wasm.api/clear-canvas)))) + (mf/with-effect [show-text-editor? workspace-editor-state workspace-v2-editor-state edition] + (let [editor-state (get workspace-editor-state edition) + v2-editor-state (get workspace-v2-editor-state edition) + active-editor-state (or v2-editor-state editor-state)] + (when (and show-text-editor? active-editor-state) + (let [content (-> active-editor-state + (ted/get-editor-current-content) + (ted/export-content))] + (wasm.api/set-shape-text-content content) + (wasm.api/clear-drawing-cache) + (wasm.api/request-render "content"))))) + (mf/with-effect [vport] (when @canvas-init? (wasm.api/resize-viewbox (:width vport) (:height vport)))) - (mf/with-effect [@canvas-init? base-objects] - (when (and @canvas-init? @initialized?) - (wasm.api/set-objects base-objects))) - (mf/with-effect [@canvas-init? preview-blend] (when (and @canvas-init? preview-blend) (wasm.api/request-render "with-effect"))) @@ -326,24 +339,10 @@ (when (:can-edit permissions) [:& top-bar/top-bar {:layout layout}]) [:div {:class (stl/css :viewport-overlays)} - ;; The behaviour inside a foreign object is a bit different that in plain HTML so we wrap - ;; inside a foreign object "dummy" so this awkward behaviour is take into account - [:svg {:style {:top 0 :left 0 :position "fixed" :width "100%" :height "100%" :opacity (when-not (dbg/enabled? :html-text) 0)}} - [:foreignObject {:x 0 :y 0 :width "100%" :height "100%"} - [:div {:style {:pointer-events (when-not (dbg/enabled? :html-text) "none") - ;; some opacity because to debug auto-width events will fill the screen - :opacity 0.6}} - (when (and (:can-edit permissions) (not read-only?)) - [:& stvh/viewport-texts - {:key (dm/str "texts-" page-id) - :page-id page-id - :objects objects - :modifiers modifiers - :edition edition}])]]] - (when show-comments? [:> comments/comments-layer* {:vbox vbox :page-id page-id + :file-id file-id :vport vport :zoom zoom}]) @@ -372,7 +371,6 @@ :class (dm/str @cursor (when drawing-tool " drawing") " " (stl/css :viewport-controls)) :style {:touch-action "none"} :fill "none" - :on-click on-click :on-context-menu on-context-menu :on-double-click on-double-click @@ -398,8 +396,10 @@ (when show-text-editor? (if (features/active-feature? @st/state "text-editor/v2") [:& editor-v2/text-editor {:shape editing-shape + :ref text-editor-ref :modifiers modifiers}] [:& editor-v1/text-editor-svg {:shape editing-shape + :ref text-editor-ref :modifiers modifiers}])) (when show-frame-outline? diff --git a/frontend/src/app/plugins/library.cljs b/frontend/src/app/plugins/library.cljs index bd430ce729..a6291283c7 100644 --- a/frontend/src/app/plugins/library.cljs +++ b/frontend/src/app/plugins/library.cljs @@ -19,6 +19,7 @@ [app.main.data.workspace :as dw] [app.main.data.workspace.libraries :as dwl] [app.main.data.workspace.texts :as dwt] + [app.main.data.workspace.variants :as dwv] [app.main.repo :as rp] [app.main.store :as st] [app.plugins.format :as format] @@ -641,7 +642,7 @@ :else (let [component (u/proxy->library-component self) value (dm/str (d/nilv (:path component) "") " / " value)] - (st/emit! (dwl/rename-component-and-main-instance id value)))))} + (st/emit! (dwv/rename-comp-or-variant-and-main id value)))))} :path {:this true diff --git a/frontend/src/app/render.cljs b/frontend/src/app/render.cljs index bc1fc3f967..90d7f1a0a4 100644 --- a/frontend/src/app/render.cljs +++ b/frontend/src/app/render.cljs @@ -143,17 +143,7 @@ nil) (do - (st/emit! (ptk/reify ::initialize-render-objects - ptk/WatchEvent - (watch [_ _ stream] - (rx/merge - (rx/of (fetch-team :file-id file-id)) - - (->> stream - (rx/filter (ptk/type? ::team-fetched)) - (rx/observe-on :async) - (rx/map (constantly params)) - (rx/map fetch-objects-bundle)))))) + (st/emit! (fetch-objects-bundle :file-id file-id :page-id page-id :share-id share-id :object-id object-id)) (if (uuid? object-id) (mf/html diff --git a/frontend/src/app/render_wasm/api.cljs b/frontend/src/app/render_wasm/api.cljs index 1656e547f4..e28cc6c77e 100644 --- a/frontend/src/app/render_wasm/api.cljs +++ b/frontend/src/app/render_wasm/api.cljs @@ -10,32 +10,65 @@ ["react-dom/server" :as rds] [app.common.data :as d] [app.common.data.macros :as dm] - [app.common.geom.matrix :as gmt] - [app.common.math :as mth] - [app.common.svg.path :as path] [app.common.types.shape.layout :as ctl] + [app.common.types.shape.path :as path] [app.common.uuid :as uuid] [app.config :as cf] + [app.main.fonts :as fonts] [app.main.refs :as refs] [app.main.render :as render] - [app.main.store :as st] - [app.main.ui.shapes.text.fontfaces :as fonts] + [app.render-wasm.api.fonts :as f] + [app.render-wasm.api.texts :as t] + [app.render-wasm.deserializers :as dr] [app.render-wasm.helpers :as h] + [app.render-wasm.mem :as mem] + [app.render-wasm.performance :as perf] + [app.render-wasm.serializers :as sr] + [app.render-wasm.serializers.color :as sr-clr] + [app.render-wasm.serializers.fills :as sr-fills] + [app.render-wasm.wasm :as wasm] [app.util.debug :as dbg] [app.util.http :as http] + [app.util.perf :as uperf] [app.util.webapi :as wapi] [beicon.v2.core :as rx] - [cuerdas.core :as str] - [goog.object :as gobj] - [lambdaisland.uri :as u] - [okulary.core :as l] [promesa.core :as p] [rumext.v2 :as mf])) -(defonce internal-frame-id nil) -(defonce internal-module #js {}) +;; (defonce internal-frame-id nil) +;; (defonce wasm/internal-module #js {}) (defonce use-dpr? (contains? cf/flags :render-wasm-dpr)) +;; +;; List of common entry sizes. +;; +;; All of these entries are in bytes so we need to adjust +;; these values to work with TypedArrays of 32 bits. +;; +(def CHILD-ENTRY-SIZE 16) +(def MODIFIER-ENTRY-SIZE 40) +(def MODIFIER-ENTRY-TRANSFORM-OFFSET 16) +(def GRID-LAYOUT-ROW-ENTRY-SIZE 5) +(def GRID-LAYOUT-COLUMN-ENTRY-SIZE 5) +(def GRID-LAYOUT-CELL-ENTRY-SIZE 37) + +(defn modifier-get-entries-size + "Returns the list of a modifier list in bytes" + [modifiers] + (mem/get-list-size modifiers MODIFIER-ENTRY-SIZE)) + +(defn grid-layout-get-row-entries-size + [rows] + (mem/get-list-size rows GRID-LAYOUT-ROW-ENTRY-SIZE)) + +(defn grid-layout-get-column-entries-size + [columns] + (mem/get-list-size columns GRID-LAYOUT-COLUMN-ENTRY-SIZE)) + +(defn grid-layout-get-cell-entries-size + [cells] + (mem/get-list-size cells GRID-LAYOUT-CELL-ENTRY-SIZE)) + (def dpr (if use-dpr? js/window.devicePixelRatio 1.0)) @@ -61,48 +94,29 @@ (rds/renderToStaticMarkup))) ;; This should never be called from the outside. -;; This function receives a "time" parameter that we're not using but maybe in the future could be useful (it is the time since -;; the window started rendering elements so it could be useful to measure time between frames). (defn- render - [_] - (h/call internal-module "_render") - (set! internal-frame-id nil)) + [timestamp] + (h/call wasm/internal-module "_render" timestamp) + (set! wasm/internal-frame-id nil)) -(defn- rgba-from-hex - "Takes a hex color in #rrggbb format, and an opacity value from 0 to 1 and returns its 32-bit rgba representation" - [hex opacity] - (let [rgb (js/parseInt (subs hex 1) 16) - a (mth/floor (* (or opacity 1) 0xff))] - ;; rgba >>> 0 so we have an unsigned representation - (unsigned-bit-shift-right (bit-or (bit-shift-left a 24) rgb) 0))) -(defn- rgba-bytes-from-hex - "Takes a hex color in #rrggbb format, and an opacity value from 0 to 1 and returns an array with its r g b a values" - [hex opacity] - (let [rgb (js/parseInt (subs hex 1) 16) - a (mth/floor (* (or opacity 1) 0xff)) - ;; rgba >>> 0 so we have an unsigned representation - r (bit-shift-right rgb 16) - g (bit-and (bit-shift-right rgb 8) 255) - b (bit-and rgb 255)] - [r g b a])) (defn cancel-render [_] - (when internal-frame-id - (js/cancelAnimationFrame internal-frame-id) - (set! internal-frame-id nil))) + (when wasm/internal-frame-id + (js/cancelAnimationFrame wasm/internal-frame-id) + (set! wasm/internal-frame-id nil))) (defn request-render [requester] - (when internal-frame-id (cancel-render requester)) + (when wasm/internal-frame-id (cancel-render requester)) (let [frame-id (js/requestAnimationFrame render)] - (set! internal-frame-id frame-id))) + (set! wasm/internal-frame-id frame-id))) (defn use-shape [id] (let [buffer (uuid/get-u32 id)] - (h/call internal-module "_use_shape" + (h/call wasm/internal-module "_use_shape" (aget buffer 0) (aget buffer 1) (aget buffer 2) @@ -111,7 +125,7 @@ (defn set-parent-id [id] (let [buffer (uuid/get-u32 id)] - (h/call internal-module "_set_parent" + (h/call wasm/internal-module "_set_parent" (aget buffer 0) (aget buffer 1) (aget buffer 2) @@ -119,32 +133,19 @@ (defn set-shape-clip-content [clip-content] - (h/call internal-module "_set_shape_clip_content" clip-content)) - -(defn- translate-shape-type - [type] - (case type - :frame 0 - :group 1 - :bool 2 - :rect 3 - :path 4 - :text 5 - :circle 6 - :svg-raw 7 - :image 8)) + (h/call wasm/internal-module "_set_shape_clip_content" clip-content)) (defn set-shape-type [type] - (h/call internal-module "_set_shape_type" (translate-shape-type type))) + (h/call wasm/internal-module "_set_shape_type" (sr/translate-shape-type type))) (defn set-masked [masked] - (h/call internal-module "_set_shape_masked_group" masked)) + (h/call wasm/internal-module "_set_shape_masked_group" masked)) (defn set-shape-selrect [selrect] - (h/call internal-module "_set_shape_selrect" + (h/call wasm/internal-module "_set_shape_selrect" (dm/get-prop selrect :x1) (dm/get-prop selrect :y1) (dm/get-prop selrect :x2) @@ -152,7 +153,7 @@ (defn set-shape-transform [transform] - (h/call internal-module "_set_shape_transform" + (h/call wasm/internal-module "_set_shape_transform" (dm/get-prop transform :a) (dm/get-prop transform :b) (dm/get-prop transform :c) @@ -162,64 +163,29 @@ (defn set-shape-rotation [rotation] - (h/call internal-module "_set_shape_rotation" rotation)) + (h/call wasm/internal-module "_set_shape_rotation" rotation)) (defn set-shape-children [shape-ids] - (h/call internal-module "_clear_shape_children") - (run! (fn [id] - (let [buffer (uuid/get-u32 id)] - (h/call internal-module "_add_shape_child" - (aget buffer 0) - (aget buffer 1) - (aget buffer 2) - (aget buffer 3)))) - shape-ids)) + (let [num-shapes (count shape-ids)] + (perf/begin-measure "set-shape-children") + (when (> num-shapes 0) + (let [offset (mem/alloc-bytes (* CHILD-ENTRY-SIZE num-shapes)) + heap (mem/get-heap-u32)] + + (loop [entries (seq shape-ids) + current-offset offset] + (when-not (empty? entries) + (let [id (first entries)] + (sr/heapu32-set-uuid id heap (mem/ptr8->ptr32 current-offset)) + (recur (rest entries) (+ current-offset CHILD-ENTRY-SIZE))))))) + + (let [result (h/call wasm/internal-module "_set_children")] + (perf/end-measure "set-shape-children") + result))) (defn- get-string-length [string] (+ (count string) 1)) -;; IMPORTANT: It should be noted that only TTF fonts can be stored. -(defn- store-font-buffer - [font-data font-array-buffer] - (let [id-buffer (:family-id-buffer font-data) - size (.-byteLength font-array-buffer) - ptr (h/call internal-module "_alloc_bytes" size) - heap (gobj/get ^js internal-module "HEAPU8") - mem (js/Uint8Array. (.-buffer heap) ptr size)] - (.set mem (js/Uint8Array. font-array-buffer)) - (h/call internal-module "_store_font" - (aget id-buffer 0) - (aget id-buffer 1) - (aget id-buffer 2) - (aget id-buffer 3) - (:weight font-data) - (:style font-data)) - true)) - -(defn- store-font-url - [font-data font-url] - (->> (http/send! {:method :get - :uri font-url - :response-type :blob}) - (rx/map :body) - (rx/mapcat wapi/read-file-as-array-buffer) - (rx/map (fn [array-buffer] (store-font-buffer font-data array-buffer))))) - -(defn- store-font-id - [font-data asset-id] - (when asset-id - (let [uri (str (u/join cf/public-uri "assets/by-id/" asset-id)) - id-buffer (uuid/get-u32 (:family-id font-data)) - font-data (assoc font-data :family-id-buffer id-buffer) - font-stored? (not= 0 (h/call internal-module "_is_font_uploaded" - (aget id-buffer 0) - (aget id-buffer 1) - (aget id-buffer 2) - (aget id-buffer 3) - (:weight font-data) - (:style font-data)))] - (when-not font-stored? (store-font-url font-data uri))))) - (defn- store-image [id] @@ -231,12 +197,12 @@ (rx/map :body) (rx/mapcat wapi/read-file-as-array-buffer) (rx/map (fn [image] - (let [image-size (.-byteLength image) - image-ptr (h/call internal-module "_alloc_bytes" image-size) - heap (gobj/get ^js internal-module "HEAPU8") - mem (js/Uint8Array. (.-buffer heap) image-ptr image-size)] - (.set mem (js/Uint8Array. image)) - (h/call internal-module "_store_image" + (let [size (.-byteLength image) + offset (mem/alloc-bytes size) + heap (mem/get-heap-u8) + data (js/Uint8Array. image)] + (.set heap data offset) + (h/call wasm/internal-module "_store_image" (aget buffer 0) (aget buffer 1) (aget buffer 2) @@ -245,51 +211,33 @@ (defn set-shape-fills [fills] - (h/call internal-module "_clear_shape_fills") + (h/call wasm/internal-module "_clear_shape_fills") (keep (fn [fill] (let [opacity (or (:fill-opacity fill) 1.0) color (:fill-color fill) gradient (:fill-color-gradient fill) image (:fill-image fill)] - (cond (some? color) - (let [rgba (rgba-from-hex color opacity)] - (h/call internal-module "_add_shape_solid_fill" rgba)) + (let [rgba (sr-clr/hex->u32argb color opacity)] + (h/call wasm/internal-module "_add_shape_solid_fill" rgba)) (some? gradient) - (let [stops (:stops gradient) - n-stops (count stops) - mem-size (* 5 n-stops) - stops-ptr (h/call internal-module "_alloc_bytes" mem-size) - heap (gobj/get ^js internal-module "HEAPU8") - mem (js/Uint8Array. (.-buffer heap) stops-ptr mem-size)] - (if (= (:type gradient) :linear) - (h/call internal-module "_add_shape_linear_fill" - (:start-x gradient) - (:start-y gradient) - (:end-x gradient) - (:end-y gradient) - opacity) - (h/call internal-module "_add_shape_radial_fill" - (:start-x gradient) - (:start-y gradient) - (:end-x gradient) - (:end-y gradient) - opacity - (:width gradient))) - (.set mem (js/Uint8Array. (clj->js (flatten (map (fn [stop] - (let [[r g b a] (rgba-bytes-from-hex (:color stop) (:opacity stop)) - offset (:offset stop)] - [r g b a (* 100 offset)])) - stops))))) - (h/call internal-module "_add_shape_fill_stops")) + (let [size sr-fills/GRADIENT-BYTE-SIZE + offset (mem/alloc-bytes size) + heap (mem/get-heap-u32)] + (sr-fills/write-gradient-fill! offset heap gradient opacity) + (case (:type gradient) + :linear + (h/call wasm/internal-module "_add_shape_linear_fill") + :radial + (h/call wasm/internal-module "_add_shape_radial_fill"))) (some? image) (let [id (dm/get-prop image :id) buffer (uuid/get-u32 id) - cached-image? (h/call internal-module "_is_image_cached" (aget buffer 0) (aget buffer 1) (aget buffer 2) (aget buffer 3))] - (h/call internal-module "_add_shape_image_fill" + cached-image? (h/call wasm/internal-module "_is_image_cached" (aget buffer 0) (aget buffer 1) (aget buffer 2) (aget buffer 3))] + (h/call wasm/internal-module "_add_shape_image_fill" (aget buffer 0) (aget buffer 1) (aget buffer 2) @@ -301,29 +249,9 @@ (store-image id)))))) fills)) -(defn- translate-stroke-style - [stroke-style] - (case stroke-style - :dotted 1 - :dashed 2 - :mixed 3 - 0)) - -(defn- translate-stroke-cap - [stroke-cap] - (case stroke-cap - :line-arrow 1 - :triangle-arrow 2 - :square-marker 3 - :circle-marker 4 - :diamond-marker 5 - :round 6 - :square 7 - 0)) - (defn set-shape-strokes [strokes] - (h/call internal-module "_clear_shape_strokes") + (h/call wasm/internal-module "_clear_shape_strokes") (keep (fn [stroke] (let [opacity (or (:stroke-opacity stroke) 1.0) color (:stroke-color stroke) @@ -331,48 +259,31 @@ image (:stroke-image stroke) width (:stroke-width stroke) align (:stroke-alignment stroke) - style (-> stroke :stroke-style translate-stroke-style) - cap-start (-> stroke :stroke-cap-start translate-stroke-cap) - cap-end (-> stroke :stroke-cap-end translate-stroke-cap)] + style (-> stroke :stroke-style sr/translate-stroke-style) + cap-start (-> stroke :stroke-cap-start sr/translate-stroke-cap) + cap-end (-> stroke :stroke-cap-end sr/translate-stroke-cap)] (case align - :inner (h/call internal-module "_add_shape_inner_stroke" width style cap-start cap-end) - :outer (h/call internal-module "_add_shape_outer_stroke" width style cap-start cap-end) - (h/call internal-module "_add_shape_center_stroke" width style cap-start cap-end)) + :inner (h/call wasm/internal-module "_add_shape_inner_stroke" width style cap-start cap-end) + :outer (h/call wasm/internal-module "_add_shape_outer_stroke" width style cap-start cap-end) + (h/call wasm/internal-module "_add_shape_center_stroke" width style cap-start cap-end)) (cond (some? gradient) - (let [stops (:stops gradient) - n-stops (count stops) - mem-size (* 5 n-stops) - stops-ptr (h/call internal-module "_alloc_bytes" mem-size) - heap (gobj/get ^js internal-module "HEAPU8") - mem (js/Uint8Array. (.-buffer heap) stops-ptr mem-size)] - (if (= (:type gradient) :linear) - (h/call internal-module "_add_shape_stroke_linear_fill" - (:start-x gradient) - (:start-y gradient) - (:end-x gradient) - (:end-y gradient) - opacity) - (h/call internal-module "_add_shape_stroke_radial_fill" - (:start-x gradient) - (:start-y gradient) - (:end-x gradient) - (:end-y gradient) - opacity - (:width gradient))) - (.set mem (js/Uint8Array. (clj->js (flatten (map (fn [stop] - (let [[r g b a] (rgba-bytes-from-hex (:color stop) (:opacity stop)) - offset (:offset stop)] - [r g b a (* 100 offset)])) - stops))))) - (h/call internal-module "_add_shape_stroke_stops")) + (let [size sr-fills/GRADIENT-BYTE-SIZE + offset (mem/alloc-bytes size) + heap (mem/get-heap-u32)] + (sr-fills/write-gradient-fill! offset heap gradient opacity) + (case (:type gradient) + :linear + (h/call wasm/internal-module "_add_shape_stroke_linear_fill") + :radial + (h/call wasm/internal-module "_add_shape_stroke_radial_fill"))) (some? image) (let [id (dm/get-prop image :id) buffer (uuid/get-u32 id) - cached-image? (h/call internal-module "_is_image_cached" (aget buffer 0) (aget buffer 1) (aget buffer 2) (aget buffer 3))] - (h/call internal-module "_add_shape_image_stroke" + cached-image? (h/call wasm/internal-module "_is_image_cached" (aget buffer 0) (aget buffer 1) (aget buffer 2) (aget buffer 3))] + (h/call wasm/internal-module "_add_shape_image_stroke" (aget buffer 0) (aget buffer 1) (aget buffer 2) @@ -384,127 +295,65 @@ (store-image id))) (some? color) - (let [rgba (rgba-from-hex color opacity)] - (h/call internal-module "_add_shape_stroke_solid_fill" rgba))))) + (let [rgba (sr-clr/hex->u32argb color opacity)] + (h/call wasm/internal-module "_add_shape_stroke_solid_fill" rgba))))) strokes)) -(defn serialize-path-attrs - [svg-attrs] - (reduce - (fn [acc [key value]] - (str/concat - acc - (str/kebab key) "\0" - value "\0")) "" svg-attrs)) - (defn set-shape-path-attrs [attrs] (let [style (:style attrs) attrs (-> attrs (dissoc :style) (merge style)) - str (serialize-path-attrs attrs) + str (sr/serialize-path-attrs attrs) size (count str) - ptr (h/call internal-module "_alloc_bytes" size)] - (h/call internal-module "stringToUTF8" str ptr size) - (h/call internal-module "_set_shape_path_attrs" (count attrs)))) + offset (mem/alloc-bytes size)] + (h/call wasm/internal-module "stringToUTF8" str offset size) + (h/call wasm/internal-module "_set_shape_path_attrs" (count attrs)))) (defn set-shape-path-content [content] - (let [buffer (path/content->buffer content) - size (.-byteLength buffer) - ptr (h/call internal-module "_alloc_bytes" size) - heap (gobj/get ^js internal-module "HEAPU8") - mem (js/Uint8Array. (.-buffer heap) ptr size)] - (.set mem (js/Uint8Array. buffer)) - (h/call internal-module "_set_shape_path_content"))) + (let [pdata (path/path-data content) + size (* (count pdata) path/SEGMENT-BYTE-SIZE) + offset (mem/alloc-bytes size) + heap (mem/get-heap-u8)] + (path/-write-to pdata (.-buffer heap) offset) + (h/call wasm/internal-module "_set_shape_path_content"))) (defn set-shape-svg-raw-content [content] (let [size (get-string-length content) - ptr (h/call internal-module "_alloc_bytes" size)] - (h/call internal-module "stringToUTF8" content ptr size) - (h/call internal-module "_set_shape_svg_raw_content"))) - -(defn- translate-blend-mode - [blend-mode] - (case blend-mode - :normal 3 - :darken 16 - :multiply 24 - :color-burn 19 - :lighten 17 - :screen 14 - :color-dodge 18 - :overlay 15 - :soft-light 21 - :hard-light 20 - :difference 22 - :exclusion 23 - :hue 25 - :saturation 26 - :color 27 - :luminosity 28 - 3)) + offset (mem/alloc-bytes size)] + (h/call wasm/internal-module "stringToUTF8" content offset size) + (h/call wasm/internal-module "_set_shape_svg_raw_content"))) (defn set-shape-blend-mode [blend-mode] ;; These values correspond to skia::BlendMode representation ;; https://rust-skia.github.io/doc/skia_safe/enum.BlendMode.html - (h/call internal-module "_set_shape_blend_mode" (translate-blend-mode blend-mode))) + (h/call wasm/internal-module "_set_shape_blend_mode" (sr/translate-blend-mode blend-mode))) (defn set-shape-opacity [opacity] - (h/call internal-module "_set_shape_opacity" (or opacity 1))) - -(defn- translate-constraint-h - [type] - (case type - :left 0 - :right 1 - :leftright 2 - :center 3 - :scale 4)) + (h/call wasm/internal-module "_set_shape_opacity" (or opacity 1))) (defn set-constraints-h [constraint] (when constraint - (h/call internal-module "_set_shape_constraint_h" (translate-constraint-h constraint)))) - -(defn- translate-constraint-v - [type] - (case type - :top 0 - :bottom 1 - :topbottom 2 - :center 3 - :scale 4)) + (h/call wasm/internal-module "_set_shape_constraint_h" (sr/translate-constraint-h constraint)))) (defn set-constraints-v [constraint] (when constraint - (h/call internal-module "_set_shape_constraint_v" (translate-constraint-v constraint)))) + (h/call wasm/internal-module "_set_shape_constraint_v" (sr/translate-constraint-v constraint)))) (defn set-shape-hidden [hidden] - (h/call internal-module "_set_shape_hidden" hidden)) - -(defn- translate-bool-type - [bool-type] - (case bool-type - :union 0 - :difference 1 - :intersection 2 - :exclusion 3 - 0)) + (h/call wasm/internal-module "_set_shape_hidden" hidden)) (defn set-shape-bool-type [bool-type] - (h/call internal-module "_set_shape_bool_type" (translate-bool-type bool-type))) - -(defn set-shape-bool-content - [content] - (set-shape-path-content content)) + (h/call wasm/internal-module "_set_shape_bool_type" (sr/translate-bool-type bool-type))) (defn- translate-blur-type [blur-type] @@ -514,10 +363,10 @@ (defn set-shape-blur [blur] - (let [type (-> blur :type translate-blur-type) + (let [type (-> blur :type sr/translate-blur-type) hidden (:hidden blur) value (:value blur)] - (h/call internal-module "_set_shape_blur" type hidden value))) + (h/call wasm/internal-module "_set_shape_blur" type hidden value))) (defn set-shape-corners [corners] @@ -525,80 +374,27 @@ r2 (or (get corners 1) 0) r3 (or (get corners 2) 0) r4 (or (get corners 3) 0)] - (h/call internal-module "_set_shape_corners" r1 r2 r3 r4))) - - -(defn translate-layout-flex-dir - [flex-dir] - (case flex-dir - :row 0 - :row-reverse 1 - :column 2 - :column-reverse 3)) - -(defn translate-layout-align-items - [align-items] - (case align-items - :start 0 - :end 1 - :center 2 - :stretch 3)) - -(defn translate-layout-align-content - [align-content] - (case align-content - :start 0 - :end 1 - :center 2 - :space-between 3 - :space-around 4 - :space-evenly 5 - :stretch 6)) - -(defn translate-layout-justify-items - [justify-items] - (case justify-items - :start 0 - :end 1 - :center 2 - :stretch 3)) - -(defn translate-layout-justify-content - [justify-content] - (case justify-content - :start 0 - :end 1 - :center 2 - :space-between 3 - :space-around 4 - :space-evenly 5 - :stretch 6)) - -(defn translate-layout-wrap-type - [wrap-type] - (case wrap-type - :wrap 0 - :nowrap 1)) + (h/call wasm/internal-module "_set_shape_corners" r1 r2 r3 r4))) (defn set-flex-layout [shape] - (let [dir (-> (or (dm/get-prop shape :layout-flex-dir) :row) translate-layout-flex-dir) + (let [dir (-> (or (dm/get-prop shape :layout-flex-dir) :row) sr/translate-layout-flex-dir) gap (dm/get-prop shape :layout-gap) row-gap (or (dm/get-prop gap :row-gap) 0) column-gap (or (dm/get-prop gap :column-gap) 0) - align-items (-> (or (dm/get-prop shape :layout-align-items) :start) translate-layout-align-items) - align-content (-> (or (dm/get-prop shape :layout-align-content) :stretch) translate-layout-align-content) - justify-items (-> (or (dm/get-prop shape :layout-justify-items) :start) translate-layout-justify-items) - justify-content (-> (or (dm/get-prop shape :layout-justify-content) :stretch) translate-layout-justify-content) - wrap-type (-> (or (dm/get-prop shape :layout-wrap-type) :nowrap) translate-layout-wrap-type) + align-items (-> (or (dm/get-prop shape :layout-align-items) :start) sr/translate-layout-align-items) + align-content (-> (or (dm/get-prop shape :layout-align-content) :stretch) sr/translate-layout-align-content) + justify-items (-> (or (dm/get-prop shape :layout-justify-items) :start) sr/translate-layout-justify-items) + justify-content (-> (or (dm/get-prop shape :layout-justify-content) :stretch) sr/translate-layout-justify-content) + wrap-type (-> (or (dm/get-prop shape :layout-wrap-type) :nowrap) sr/translate-layout-wrap-type) padding (dm/get-prop shape :layout-padding) padding-top (or (dm/get-prop padding :p1) 0) padding-right (or (dm/get-prop padding :p2) 0) padding-bottom (or (dm/get-prop padding :p3) 0) padding-left (or (dm/get-prop padding :p4) 0)] - (h/call internal-module + (h/call wasm/internal-module "_set_flex_layout_data" dir row-gap @@ -613,24 +409,136 @@ padding-bottom padding-left))) +(defn set-grid-layout-data + [shape] + (let [dir (-> (or (dm/get-prop shape :layout-grid-dir) :row) sr/translate-layout-grid-dir) + gap (dm/get-prop shape :layout-gap) + row-gap (or (dm/get-prop gap :row-gap) 0) + column-gap (or (dm/get-prop gap :column-gap) 0) + + align-items (-> (or (dm/get-prop shape :layout-align-items) :start) sr/translate-layout-align-items) + align-content (-> (or (dm/get-prop shape :layout-align-content) :stretch) sr/translate-layout-align-content) + justify-items (-> (or (dm/get-prop shape :layout-justify-items) :start) sr/translate-layout-justify-items) + justify-content (-> (or (dm/get-prop shape :layout-justify-content) :stretch) sr/translate-layout-justify-content) + + padding (dm/get-prop shape :layout-padding) + padding-top (or (dm/get-prop padding :p1) 0) + padding-right (or (dm/get-prop padding :p2) 0) + padding-bottom (or (dm/get-prop padding :p3) 0) + padding-left (or (dm/get-prop padding :p4) 0)] + + (h/call wasm/internal-module + "_set_grid_layout_data" + dir + row-gap + column-gap + align-items + align-content + justify-items + justify-content + padding-top + padding-right + padding-bottom + padding-left))) + +(defn set-grid-layout-rows + [entries] + (let [size (grid-layout-get-row-entries-size entries) + offset (mem/alloc-bytes size) + + heap + (js/Uint8Array. + (.-buffer (mem/get-heap-u8)) + offset + size)] + (loop [entries (seq entries) + current-offset 0] + (when-not (empty? entries) + (let [{:keys [type value]} (first entries)] + (.set heap (sr/u8 (sr/translate-grid-track-type type)) (+ current-offset 0)) + (.set heap (sr/f32->u8 value) (+ current-offset 1)) + (recur (rest entries) (+ current-offset GRID-LAYOUT-ROW-ENTRY-SIZE))))) + (h/call wasm/internal-module "_set_grid_rows"))) + +(defn set-grid-layout-columns + [entries] + (let [size (grid-layout-get-column-entries-size entries) + offset (mem/alloc-bytes size) + + heap + (js/Uint8Array. + (.-buffer (mem/get-heap-u8)) + offset + size)] + (loop [entries (seq entries) + current-offset 0] + (when-not (empty? entries) + (let [{:keys [type value]} (first entries)] + (.set heap (sr/u8 (sr/translate-grid-track-type type)) (+ current-offset 0)) + (.set heap (sr/f32->u8 value) (+ current-offset 1)) + (recur (rest entries) (+ current-offset GRID-LAYOUT-COLUMN-ENTRY-SIZE))))) + (h/call wasm/internal-module "_set_grid_columns"))) + +(defn set-grid-layout-cells + [cells] + (let [entries (vals cells) + size (grid-layout-get-cell-entries-size entries) + offset (mem/alloc-bytes size) + + heap + (js/Uint8Array. + (.-buffer (mem/get-heap-u8)) + offset + size)] + + (loop [entries (seq entries) + current-offset 0] + (when-not (empty? entries) + (let [cell (first entries)] + + ;; row: [u8; 4], + (.set heap (sr/i32->u8 (:row cell)) (+ current-offset 0)) + + ;; row_span: [u8; 4], + (.set heap (sr/i32->u8 (:row-span cell)) (+ current-offset 4)) + + ;; column: [u8; 4], + (.set heap (sr/i32->u8 (:column cell)) (+ current-offset 8)) + + ;; column_span: [u8; 4], + (.set heap (sr/i32->u8 (:column-span cell)) (+ current-offset 12)) + + ;; has_align_self: u8, + (.set heap (sr/bool->u8 (some? (:align-self cell))) (+ current-offset 16)) + + ;; align_self: u8, + (.set heap (sr/u8 (sr/translate-align-self (:align-self cell))) (+ current-offset 17)) + + ;; has_justify_self: u8, + (.set heap (sr/bool->u8 (some? (:justify-self cell))) (+ current-offset 18)) + + ;; justify_self: u8, + (.set heap (sr/u8 (sr/translate-justify-self (:justify-self cell))) (+ current-offset 19)) + + ;; has_shape_id: u8, + (.set heap (sr/bool->u8 (d/not-empty? (:shapes cell))) (+ current-offset 20)) + + ;; shape_id_a: [u8; 4], + ;; shape_id_b: [u8; 4], + ;; shape_id_c: [u8; 4], + ;; shape_id_d: [u8; 4], + (.set heap (sr/uuid->u8 (or (-> cell :shapes first) uuid/zero)) (+ current-offset 21)) + + (recur (rest entries) (+ current-offset GRID-LAYOUT-CELL-ENTRY-SIZE))))) + + (h/call wasm/internal-module "_set_grid_cells"))) + (defn set-grid-layout - [_shape]) - -(defn translate-layout-sizing - [value] - (case value - :fill 0 - :fix 1 - :auto 2)) - -(defn translate-align-self - [value] - (when value - (case value - :start 0 - :end 1 - :center 2 - :stretch 3))) + [shape] + (set-grid-layout-data shape) + (set-grid-layout-rows (:layout-grid-rows shape)) + (set-grid-layout-columns (:layout-grid-columns shape)) + (set-grid-layout-cells (:layout-grid-cells shape))) (defn set-layout-child [shape] @@ -640,9 +548,9 @@ margin-bottom (or (dm/get-prop margins :m3) 0) margin-left (or (dm/get-prop margins :m4) 0) - h-sizing (-> (dm/get-prop shape :layout-item-h-sizing) (or :auto) translate-layout-sizing) - v-sizing (-> (dm/get-prop shape :layout-item-v-sizing) (or :auto) translate-layout-sizing) - align-self (-> (dm/get-prop shape :layout-item-align-self) translate-align-self) + h-sizing (-> (dm/get-prop shape :layout-item-h-sizing) (or :fix) sr/translate-layout-sizing) + v-sizing (-> (dm/get-prop shape :layout-item-v-sizing) (or :fix) sr/translate-layout-sizing) + align-self (-> (dm/get-prop shape :layout-item-align-self) sr/translate-align-self) max-h (dm/get-prop shape :layout-item-max-h) has-max-h (some? max-h) @@ -654,7 +562,7 @@ has-min-w (some? min-w) is-absolute (boolean (dm/get-prop shape :layout-item-absolute)) z-index (-> (dm/get-prop shape :layout-item-z-index) (or 0))] - (h/call internal-module + (h/call wasm/internal-module "_set_layout_child_data" margin-top margin-right @@ -675,342 +583,254 @@ is-absolute z-index))) -(defn- translate-shadow-style - [style] - (case style - :drop-shadow 0 - :inner-shadow 1 - 0)) - (defn set-shape-shadows [shadows] - (h/call internal-module "_clear_shape_shadows") + (h/call wasm/internal-module "_clear_shape_shadows") (let [total-shadows (count shadows)] (loop [index 0] (when (< index total-shadows) (let [shadow (nth shadows index) color (dm/get-prop shadow :color) blur (dm/get-prop shadow :blur) - rgba (rgba-from-hex (dm/get-prop color :color) (dm/get-prop color :opacity)) + rgba (sr-clr/hex->u32argb (dm/get-prop color :color) (dm/get-prop color :opacity)) hidden (dm/get-prop shadow :hidden) x (dm/get-prop shadow :offset-x) y (dm/get-prop shadow :offset-y) spread (dm/get-prop shadow :spread) style (dm/get-prop shadow :style)] - (h/call internal-module "_add_shape_shadow" rgba blur spread x y (translate-shadow-style style) hidden) + (h/call wasm/internal-module "_add_shape_shadow" rgba blur spread x y (sr/translate-shadow-style style) hidden) (recur (inc index))))))) -(defn utf8->buffer [text] - (let [encoder (js/TextEncoder.)] - (.encode encoder text))) - -(def ^:private fonts - (l/derived :fonts st/state)) - -(defn ^:private font->ttf-id [font-uuid font-style font-weight] - (let [matching-font (d/seek (fn [[_ font]] - (and (= (:font-id font) font-uuid) - (= (:font-style font) font-style) - (= (:font-weight font) font-weight))) - (seq @fonts))] - (when matching-font - (:ttf-file-id (second matching-font))))) - -(defn- serialize-font-style - [font-style] - (case font-style - "normal" 0 - "regular" 0 - "italic" 1 - 0)) - -(defn- serialize-font-id - [font-id] - (let [no-prefix (subs font-id (inc (str/index-of font-id "-"))) - as-uuid (uuid/uuid no-prefix)] - (uuid/get-u32 as-uuid))) - -(defn- serialize-font-weight - [font-weight] - (js/Number font-weight)) - -(defn- add-text-leaf [leaf] - (let [text (dm/get-prop leaf :text) - font-id (serialize-font-id (dm/get-prop leaf :font-id)) - font-style (serialize-font-style (dm/get-prop leaf :font-style)) - font-weight (serialize-font-weight (dm/get-prop leaf :font-weight)) - font-size (js/Number (dm/get-prop leaf :font-size)) - buffer (utf8->buffer text) - size (.-byteLength buffer) - ptr (h/call internal-module "_alloc_bytes" size) - heap (gobj/get ^js internal-module "HEAPU8") - mem (js/Uint8Array. (.-buffer heap) ptr size)] - (.set mem buffer) - (h/call internal-module "_add_text_leaf" - (aget font-id 0) - (aget font-id 1) - (aget font-id 2) - (aget font-id 3) - font-weight font-style font-size))) - -(defn set-shape-text-content [content] - (h/call internal-module "_clear_shape_text") +(defn set-shape-text-content + [content] + (h/call wasm/internal-module "_clear_shape_text") (let [paragraph-set (first (dm/get-prop content :children)) paragraphs (dm/get-prop paragraph-set :children) - total-paragraphs (count paragraphs)] - + fonts (fonts/get-content-fonts content)] (loop [index 0] - (when (< index total-paragraphs) + (when (< index (count paragraphs)) (let [paragraph (nth paragraphs index) - leaves (dm/get-prop paragraph :children) - total-leaves (count leaves)] - (h/call internal-module "_add_text_paragraph") - (loop [index-leaves 0] - (when (< index-leaves total-leaves) - (let [leaf (nth leaves index-leaves)] - (add-text-leaf leaf) - (recur (inc index-leaves)))))) - (recur (inc index)))))) + leaves (dm/get-prop paragraph :children)] + (when (seq leaves) + (t/write-shape-text leaves paragraph) + (recur (inc index)))))) + (f/store-fonts fonts))) (defn set-view-box [zoom vbox] - (h/call internal-module "_set_view" zoom (- (:x vbox)) (- (:y vbox))) - (render nil)) + (h/call wasm/internal-module "_set_view" zoom (- (:x vbox)) (- (:y vbox))) + (render (uperf/now))) -(defn clear-cache [] - (h/call internal-module "_clear_cache")) +(defn clear-drawing-cache [] + (h/call wasm/internal-module "_clear_drawing_cache")) -(defn- store-all-fonts - [fonts] - (keep (fn [font] - (let [font-id (dm/get-prop font :font-id) - font-variant (dm/get-prop font :font-variant-id) - variant-parts (str/split font-variant #"\-") - style (first variant-parts) - weight (serialize-font-weight (last variant-parts)) - font-id (subs font-id (inc (str/index-of font-id "-"))) - font-id (uuid/uuid font-id) - ttf-id (font->ttf-id font-id style weight) - font-data {:family-id font-id - :style (serialize-font-style style) - :weight weight}] - (store-font-id font-data ttf-id))) fonts)) +(defn update-shape-tiles [] + (h/call wasm/internal-module "_update_shape_tiles")) -(defn set-fonts - [objects] - (let [fonts (fonts/shapes->fonts (into [] (vals objects))) - pending (into [] (store-all-fonts fonts))] - (->> (rx/from pending) - (rx/mapcat identity) - (rx/reduce conj []) - (rx/subs! request-render)))) +(defn set-object + [objects shape] + (perf/begin-measure "set-object") + (let [id (dm/get-prop shape :id) + parent-id (dm/get-prop shape :parent-id) + type (dm/get-prop shape :type) + masked (dm/get-prop shape :masked-group) + selrect (dm/get-prop shape :selrect) + constraint-h (dm/get-prop shape :constraints-h) + constraint-v (dm/get-prop shape :constraints-v) + clip-content (if (= type :frame) + (not (dm/get-prop shape :show-content)) + false) + rotation (dm/get-prop shape :rotation) + transform (dm/get-prop shape :transform) + fills (if (= type :group) + [] (dm/get-prop shape :fills)) + strokes (if (= type :group) + [] (dm/get-prop shape :strokes)) + children (dm/get-prop shape :shapes) + blend-mode (dm/get-prop shape :blend-mode) + opacity (dm/get-prop shape :opacity) + hidden (dm/get-prop shape :hidden) + content (dm/get-prop shape :content) + blur (dm/get-prop shape :blur) + corners (when (some? (dm/get-prop shape :r1)) + [(dm/get-prop shape :r1) + (dm/get-prop shape :r2) + (dm/get-prop shape :r3) + (dm/get-prop shape :r4)]) + svg-attrs (dm/get-prop shape :svg-attrs) + shadows (dm/get-prop shape :shadow)] + + (use-shape id) + (set-parent-id parent-id) + (set-shape-type type) + (set-shape-clip-content clip-content) + (set-shape-selrect selrect) + (set-constraints-h constraint-h) + (set-constraints-v constraint-v) + (set-shape-rotation rotation) + (set-shape-transform transform) + (set-shape-blend-mode blend-mode) + (set-shape-opacity opacity) + (set-shape-hidden hidden) + (set-shape-children children) + (when (and (= type :group) masked) + (set-masked masked)) + (when (some? blur) + (set-shape-blur blur)) + (when (and (some? content) + (or (= type :path) + (= type :bool))) + (when (some? svg-attrs) + (set-shape-path-attrs svg-attrs)) + (set-shape-path-content content)) + (when (and (some? content) (= type :svg-raw)) + (set-shape-svg-raw-content (get-static-markup shape))) + (when (some? corners) (set-shape-corners corners)) + (when (some? shadows) (set-shape-shadows shadows)) + (when (and (= type :text) (some? content)) + (set-shape-text-content content)) + + (when (or (ctl/any-layout? shape) + (ctl/any-layout-immediate-child? objects shape)) + (set-layout-child shape)) + + (when (ctl/flex-layout? shape) + (set-flex-layout shape)) + + (when (ctl/grid-layout? shape) + (set-grid-layout shape)) + + (let [pending (into [] (concat + (if (and (= type :text) (some? content)) + (set-shape-text-content content) + []) + (set-shape-fills fills) + (set-shape-strokes strokes)))] + (perf/end-measure "set-object") + pending))) + + +(defn process-object + [shape] + (let [pending (set-object [] shape)] + (when-let [pending (seq pending)] + (->> (rx/from pending) + (rx/mapcat identity) + (rx/reduce conj []) + (rx/subs! (fn [_] + (clear-drawing-cache) + (request-render "set-objects"))))))) (defn set-objects [objects] - (set-fonts objects) + (perf/begin-measure "set-objects") (let [shapes (into [] (vals objects)) total-shapes (count shapes) pending (loop [index 0 pending []] (if (< index total-shapes) - (let [shape (nth shapes index) - id (dm/get-prop shape :id) - parent-id (dm/get-prop shape :parent-id) - type (dm/get-prop shape :type) - masked (dm/get-prop shape :masked-group) - selrect (dm/get-prop shape :selrect) - constraint-h (dm/get-prop shape :constraints-h) - constraint-v (dm/get-prop shape :constraints-v) - clip-content (if (= type :frame) - (not (dm/get-prop shape :show-content)) - false) - rotation (dm/get-prop shape :rotation) - transform (dm/get-prop shape :transform) - fills (if (= type :group) - [] (dm/get-prop shape :fills)) - strokes (if (= type :group) - [] (dm/get-prop shape :strokes)) - children (dm/get-prop shape :shapes) - blend-mode (dm/get-prop shape :blend-mode) - opacity (dm/get-prop shape :opacity) - hidden (dm/get-prop shape :hidden) - content (dm/get-prop shape :content) - blur (dm/get-prop shape :blur) - corners (when (some? (dm/get-prop shape :r1)) - [(dm/get-prop shape :r1) - (dm/get-prop shape :r2) - (dm/get-prop shape :r3) - (dm/get-prop shape :r4)]) - bool-content (dm/get-prop shape :bool-content) - svg-attrs (dm/get-prop shape :svg-attrs) - shadows (dm/get-prop shape :shadow)] - - (use-shape id) - (set-parent-id parent-id) - (set-shape-type type) - (set-shape-clip-content clip-content) - (set-shape-selrect selrect) - (set-constraints-h constraint-h) - (set-constraints-v constraint-v) - (set-shape-rotation rotation) - (set-shape-transform transform) - (set-shape-blend-mode blend-mode) - (set-shape-opacity opacity) - (set-shape-hidden hidden) - (set-shape-children children) - (when (and (= type :group) masked) - (set-masked masked)) - (when (some? blur) - (set-shape-blur blur)) - (when (and (some? content) (= type :path)) - (set-shape-path-attrs svg-attrs) - (set-shape-path-content content)) - (when (and (some? content) (= type :svg-raw)) - (set-shape-svg-raw-content (get-static-markup shape))) - (when (some? bool-content) (set-shape-bool-content bool-content)) - (when (some? corners) (set-shape-corners corners)) - (when (some? shadows) (set-shape-shadows shadows)) - (when (and (= type :text) (some? content)) - (set-shape-text-content content)) - - (when (or (ctl/any-layout? shape) - (ctl/any-layout-immediate-child? objects shape)) - (set-layout-child shape)) - - (when (ctl/flex-layout? shape) - (set-flex-layout shape)) - - (when (ctl/grid-layout? shape) - (set-grid-layout shape)) - - (let [pending' (concat (set-shape-fills fills) (set-shape-strokes strokes))] - (recur (inc index) (into pending pending')))) + (let [shape (nth shapes index) + pending' (set-object objects shape)] + (recur (inc index) (into pending pending'))) pending))] - (clear-cache) + (perf/end-measure "set-objects") + (clear-drawing-cache) (request-render "set-objects") (when-let [pending (seq pending)] (->> (rx/from pending) (rx/mapcat identity) (rx/reduce conj []) - (rx/subs! request-render))))) + (rx/subs! (fn [_] + (clear-drawing-cache) + (request-render "set-objects"))))))) -(defn uuid->u8 - [id] - (let [buffer (uuid/get-u32 id) - u32-arr (js/Uint32Array. 4)] - (doseq [i (range 0 4)] - (aset u32-arr i (aget buffer i))) - (js/Uint8Array. (.-buffer u32-arr)))) - -(defn matrix->u8 - [{:keys [a b c d e f]}] - (let [f32-arr (js/Float32Array. 6)] - (aset f32-arr 0 a) - (aset f32-arr 1 b) - (aset f32-arr 2 c) - (aset f32-arr 3 d) - (aset f32-arr 4 e) - (aset f32-arr 5 f) - (js/Uint8Array. (.-buffer f32-arr)))) - -(defn data->entry - [data offset] - (let [id1 (.getUint32 data (+ offset 0) true) - id2 (.getUint32 data (+ offset 4) true) - id3 (.getUint32 data (+ offset 8) true) - id4 (.getUint32 data (+ offset 12) true) - - a (.getFloat32 data (+ offset 16) true) - b (.getFloat32 data (+ offset 20) true) - c (.getFloat32 data (+ offset 24) true) - d (.getFloat32 data (+ offset 28) true) - e (.getFloat32 data (+ offset 32) true) - f (.getFloat32 data (+ offset 36) true) - - id (uuid/from-unsigned-parts id1 id2 id3 id4)] - - {:id id - :transform (gmt/matrix a b c d e f)})) +(defn set-structure-modifiers + [entries] + (when-not (empty? entries) + (let [offset (mem/alloc-bytes-32 (mem/get-list-size entries 40)) + heapu32 (mem/get-heap-u32)] + (loop [entries (seq entries) + current-offset offset] + (when-not (empty? entries) + (let [{:keys [type parent id index] :as entry} (first entries)] + (sr/heapu32-set-u32 (sr/translate-structure-modifier-type type) heapu32 (+ current-offset 0)) + (sr/heapu32-set-u32 (or index 0) heapu32 (+ current-offset 1)) + (sr/heapu32-set-uuid parent heapu32 (+ current-offset 2)) + (sr/heapu32-set-uuid id heapu32 (+ current-offset 6)) + (recur (rest entries) (+ current-offset 10))))) + (h/call wasm/internal-module "_set_structure_modifiers")))) (defn propagate-modifiers [entries] - (let [entry-size 40 - ptr (h/call internal-module "_alloc_bytes" (* entry-size (count entries))) - - heap - (js/Uint8Array. - (.-buffer (gobj/get ^js internal-module "HEAPU8")) - ptr - (* entry-size (count entries)))] + (let [offset (mem/alloc-bytes-32 (modifier-get-entries-size entries)) + heapf32 (mem/get-heap-f32) + heapu32 (mem/get-heap-u32)] (loop [entries (seq entries) - offset 0] + current-offset offset] (when-not (empty? entries) (let [{:keys [id transform]} (first entries)] - (.set heap (uuid->u8 id) offset) - (.set heap (matrix->u8 transform) (+ offset 16)) - (recur (rest entries) (+ offset entry-size))))) + (sr/heapu32-set-uuid id heapu32 current-offset) + (sr/heapf32-set-matrix transform heapf32 (+ current-offset (mem/ptr8->ptr32 MODIFIER-ENTRY-TRANSFORM-OFFSET))) + (recur (rest entries) (+ current-offset (mem/ptr8->ptr32 MODIFIER-ENTRY-SIZE)))))) - (let [result-ptr (h/call internal-module "_propagate_modifiers") - heap (js/DataView. (.-buffer (gobj/get ^js internal-module "HEAPU8"))) - len (.getUint32 heap result-ptr true) + (let [result-offset (h/call wasm/internal-module "_propagate_modifiers") + heapf32 (mem/get-heap-f32) + heapu32 (mem/get-heap-u32) + len (aget heapu32 (mem/ptr8->ptr32 result-offset)) result (->> (range 0 len) - (mapv #(data->entry heap (+ result-ptr 4 (* % entry-size)))))] - (h/call internal-module "_free_bytes") + (mapv #(dr/heap32->entry heapu32 heapf32 (mem/ptr8->ptr32 (+ result-offset 4 (* % MODIFIER-ENTRY-SIZE))))))] + (h/call wasm/internal-module "_free_bytes") result))) (defn set-canvas-background [background] - (let [rgba (rgba-from-hex background 1)] - (h/call internal-module "_set_canvas_background" rgba) + (let [rgba (sr-clr/hex->u32argb background 1)] + (h/call wasm/internal-module "_set_canvas_background" rgba) (request-render "set-canvas-background"))) +(defn clean-modifiers + [] + (h/call wasm/internal-module "_clean_modifiers")) + (defn set-modifiers [modifiers] - (if (empty? modifiers) - (h/call internal-module "_clean_modifiers") - - (let [ENTRY_SIZE 40 - - ptr - (h/call internal-module "_alloc_bytes" (* ENTRY_SIZE (count modifiers))) - - heap - (js/Uint8Array. - (.-buffer (gobj/get ^js internal-module "HEAPU8")) - ptr - (* ENTRY_SIZE (count modifiers)))] + (when-not (empty? modifiers) + (let [offset (mem/alloc-bytes-32 (* MODIFIER-ENTRY-SIZE (count modifiers))) + heapu32 (mem/get-heap-u32) + heapf32 (mem/get-heap-f32)] (loop [entries (seq modifiers) - offset 0] + current-offset offset] (when-not (empty? entries) (let [{:keys [id transform]} (first entries)] - (.set heap (uuid->u8 id) offset) - (.set heap (matrix->u8 transform) (+ offset 16)) - (recur (rest entries) (+ offset ENTRY_SIZE))))) + (sr/heapu32-set-uuid id heapu32 current-offset) + (sr/heapf32-set-matrix transform heapf32 (+ current-offset (mem/ptr8->ptr32 MODIFIER-ENTRY-TRANSFORM-OFFSET))) + (recur (rest entries) (+ current-offset (mem/ptr8->ptr32 MODIFIER-ENTRY-SIZE)))))) - (h/call internal-module "_set_modifiers") + (h/call wasm/internal-module "_set_modifiers") (request-render "set-modifiers")))) (defn initialize [base-objects zoom vbox background] - (let [rgba (rgba-from-hex background 1)] - (h/call internal-module "_set_canvas_background" rgba) - (h/call internal-module "_set_view" zoom (- (:x vbox)) (- (:y vbox))) + (let [rgba (sr-clr/hex->u32argb background 1)] + (h/call wasm/internal-module "_set_canvas_background" rgba) + (h/call wasm/internal-module "_set_view" zoom (- (:x vbox)) (- (:y vbox))) (set-objects base-objects))) (def ^:private canvas-options #js {:antialias false :depth true :stencil true - :alpha true}) + :alpha true + "preserveDrawingBuffer" true}) (defn resize-viewbox [width height] - (h/call internal-module "_resize_viewbox" width height)) + (h/call wasm/internal-module "_resize_viewbox" width height)) (defn- debug-flags [] @@ -1020,7 +840,7 @@ (defn assign-canvas [canvas] - (let [gl (unchecked-get internal-module "GL") + (let [gl (unchecked-get wasm/internal-module "GL") flags (debug-flags) context (.getContext ^js canvas "webgl2" canvas-options) ;; Register the context with emscripten @@ -1031,15 +851,15 @@ (.getExtension context "WEBGL_debug_renderer_info") ;; Initialize Wasm Render Engine - (h/call internal-module "_init" (/ (.-width ^js canvas) dpr) (/ (.-height ^js canvas) dpr)) - (h/call internal-module "_set_render_options" flags dpr)) + (h/call wasm/internal-module "_init" (/ (.-width ^js canvas) dpr) (/ (.-height ^js canvas) dpr)) + (h/call wasm/internal-module "_set_render_options" flags dpr)) (set! (.-width canvas) (* dpr (.-clientWidth ^js canvas))) (set! (.-height canvas) (* dpr (.-clientHeight ^js canvas)))) (defn clear-canvas [] ;; TODO: perform corresponding cleaning - (h/call internal-module "_clean_up")) + (h/call wasm/internal-module "_clean_up")) (defonce module (delay @@ -1050,7 +870,7 @@ (let [default (unchecked-get module "default")] (default)))) (p/fmap (fn [module] - (set! internal-module module) + (set! wasm/internal-module module) true)) (p/merr (fn [cause] (js/console.error cause) diff --git a/frontend/src/app/render_wasm/api/fonts.cljs b/frontend/src/app/render_wasm/api/fonts.cljs new file mode 100644 index 0000000000..1caf62202b --- /dev/null +++ b/frontend/src/app/render_wasm/api/fonts.cljs @@ -0,0 +1,178 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.render-wasm.api.fonts + (:require + [app.common.data :as d] + [app.common.data.macros :as dm] + [app.common.uuid :as uuid] + [app.config :as cf] + [app.main.fonts :as fonts] + [app.main.store :as st] + [app.render-wasm.helpers :as h] + [app.render-wasm.wasm :as wasm] + [app.util.http :as http] + [app.util.webapi :as wapi] + [beicon.v2.core :as rx] + [cuerdas.core :as str] + [goog.object :as gobj] + [lambdaisland.uri :as u] + [okulary.core :as l])) + +(def ^:private fonts + (l/derived :fonts st/state)) + +(defn- google-font-id->uuid + [font-id] + (let [font (fonts/get-font-data font-id)] + (:uuid font))) + +(defn- custom-font-id->uuid + [font-id] + (uuid/uuid (subs font-id (inc (str/index-of font-id "-"))))) + +(defn- font-backend + [font-id] + (cond + (str/starts-with? font-id "gfont-") + :google + (str/starts-with? font-id "custom-") + :custom + :else + :builtin)) + +(defn- font-db-data + [font-id font-variant-id] + (let [font (fonts/get-font-data font-id) + variant (fonts/get-variant font font-variant-id)] + variant)) + +(defn- font-id->uuid [font-id] + (case (font-backend font-id) + :google + (google-font-id->uuid font-id) + :custom + (custom-font-id->uuid font-id) + :builtin + uuid/zero)) + +(defn ^:private font-id->asset-id [font-id font-variant-id] + (case (font-backend font-id) + :google + font-id + :custom + (let [font-uuid (custom-font-id->uuid font-id) + matching-font (d/seek (fn [[_ font]] + (and (= (:font-id font) font-uuid) + (= (:font-variant-id font) font-variant-id))) + (seq @fonts))] + (when matching-font + (:ttf-file-id (second matching-font)))) + :builtin + (let [variant (font-db-data font-id font-variant-id)] + (:ttf-url variant)))) + +;; IMPORTANT: It should be noted that only TTF fonts can be stored. +(defn- store-font-buffer + [font-data font-array-buffer] + (let [id-buffer (:family-id-buffer font-data) + size (.-byteLength font-array-buffer) + ptr (h/call wasm/internal-module "_alloc_bytes" size) + heap (gobj/get ^js wasm/internal-module "HEAPU8") + mem (js/Uint8Array. (.-buffer heap) ptr size)] + (.set mem (js/Uint8Array. font-array-buffer)) + (h/call wasm/internal-module "_store_font" + (aget id-buffer 0) + (aget id-buffer 1) + (aget id-buffer 2) + (aget id-buffer 3) + (:weight font-data) + (:style font-data)) + true)) + +(defn- store-font-url + [font-data font-url] + (->> (http/send! {:method :get + :uri font-url + :response-type :blob}) + (rx/map :body) + (rx/mapcat wapi/read-file-as-array-buffer) + (rx/map (fn [array-buffer] (store-font-buffer font-data array-buffer))))) + +(defn- google-font-ttf-url + [font-id font-variant-id] + (let [variant (font-db-data font-id font-variant-id)] + (if-let [ttf-url (:ttf-url variant)] + (str/replace ttf-url "http://fonts.gstatic.com/s/" (u/join cf/public-uri "/internal/gfonts/font/")) + nil))) + +(defn- font-id->ttf-url + [font-id asset-id font-variant-id] + (case (font-backend font-id) + :google + (google-font-ttf-url font-id font-variant-id) + :custom + (dm/str (u/join cf/public-uri "assets/by-id/" font-id)) + :builtin + (dm/str (u/join cf/public-uri "fonts/" asset-id)))) + +(defn- store-font-id + [font-data asset-id] + (when asset-id + (let [uri (font-id->ttf-url (:font-id font-data) asset-id (:font-variant-id font-data)) + id-buffer (uuid/get-u32 (:wasm-id font-data)) + font-data (assoc font-data :family-id-buffer id-buffer) + font-stored? (not= 0 (h/call wasm/internal-module "_is_font_uploaded" + (aget id-buffer 0) + (aget id-buffer 1) + (aget id-buffer 2) + (aget id-buffer 3) + (:weight font-data) + (:style font-data)))] + (when-not font-stored? (store-font-url font-data uri))))) + +(defn serialize-font-style + [font-style] + (case font-style + "normal" 0 + "regular" 0 + "italic" 1 + 0)) + +(defn serialize-font-id + [font-id] + (let [google-font? (str/starts-with? font-id "gfont-")] + (if google-font? + (uuid/get-u32 (google-font-id->uuid font-id)) + (let [no-prefix (subs font-id (inc (str/index-of font-id "-"))) + as-uuid (uuid/uuid no-prefix)] + (uuid/get-u32 as-uuid))))) + +(defn serialize-font-weight + [font-weight] + (js/Number font-weight)) + +(defn store-fonts + [fonts] + (keep (fn [font] + (let [font-id (dm/get-prop font :font-id) + font-variant-id (dm/get-prop font :font-variant-id) + wasm-id (font-id->uuid font-id) + raw-weight (or (:weight (font-db-data font-id font-variant-id)) 400) + + weight (serialize-font-weight raw-weight) + + style (serialize-font-style (cond + (str/includes? font-variant-id "italic") "italic" + :else "normal")) + asset-id (font-id->asset-id font-id font-variant-id) + font-data {:wasm-id wasm-id + :font-id font-id + :font-variant-id font-variant-id + :style style + :weight weight}] + (store-font-id font-data asset-id))) fonts)) + diff --git a/frontend/src/app/render_wasm/api/texts.cljs b/frontend/src/app/render_wasm/api/texts.cljs new file mode 100644 index 0000000000..69c790670f --- /dev/null +++ b/frontend/src/app/render_wasm/api/texts.cljs @@ -0,0 +1,108 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.render-wasm.api.texts + (:require + [app.render-wasm.api.fonts :as f] + [app.render-wasm.helpers :as h] + [app.render-wasm.mem :as mem] + [app.render-wasm.serializers :as sr] + [app.render-wasm.wasm :as wasm] + [clojure.string :as str])) + +(defn utf8->buffer [text] + (let [encoder (js/TextEncoder.)] + (.encode encoder text))) + +(defn write-shape-text + ;; buffer has the following format: + ;; [ ] + [leaves paragraph] + (let [leaves (filter #(not (str/blank? (:text %))) leaves) + num-leaves (count leaves) + paragraph-attr-size 48 + leaf-attr-size 52 + metadata-size (+ 1 paragraph-attr-size (* num-leaves leaf-attr-size)) + text (apply str (map :text leaves)) + text-buffer (utf8->buffer text) + text-size (.-byteLength text-buffer) + buffer (js/ArrayBuffer. (+ metadata-size text-size)) + dview (js/DataView. buffer)] + + (.setUint32 dview 0 num-leaves) + + ;; Serialize paragraph attributes + (let [text-align (sr/serialize-text-align (:text-align paragraph)) + text-direction (sr/serialize-text-direction (:text-direction paragraph)) + text-decoration (sr/serialize-text-decoration (:text-decoration paragraph)) + text-transform (sr/serialize-text-transform (:text-transform paragraph)) + line-height (:line-height paragraph) + letter-spacing (:letter-spacing paragraph) + typography-ref-file (sr/serialize-uuid (:typography-ref-file paragraph)) + typography-ref-id (sr/serialize-uuid (:typography-ref-id paragraph))] + + (.setUint8 dview 4 text-align) + (.setUint8 dview 5 text-direction) + (.setUint8 dview 6 text-decoration) + (.setUint8 dview 7 text-transform) + + (.setFloat32 dview 8 line-height) + (.setFloat32 dview 12 letter-spacing) + + (.setUint32 dview 16 (aget typography-ref-file 0)) + (.setUint32 dview 20 (aget typography-ref-file 1)) + (.setUint32 dview 24 (aget typography-ref-file 2)) + (.setInt32 dview 28 (aget typography-ref-file 3)) + + (.setUint32 dview 32 (aget typography-ref-id 0)) + (.setUint32 dview 36 (aget typography-ref-id 1)) + (.setUint32 dview 40 (aget typography-ref-id 2)) + (.setInt32 dview 44 (aget typography-ref-id 3))) + + ;; Serialize leaves attributes + (loop [index 0 offset (+ 1 paragraph-attr-size)] + (when (< index num-leaves) + (let [leaf (nth leaves index) + font-style (f/serialize-font-style (:font-style leaf)) + font-size (:font-size leaf) + font-weight (:font-weight leaf) + font-id (f/serialize-font-id (:font-id leaf)) + font-family (hash (:font-family leaf)) + font-variant-id (sr/serialize-uuid (:font-variant-id leaf)) + text-buffer (utf8->buffer (:text leaf)) + text-length (.-byteLength text-buffer)] + + (.setUint8 dview offset font-style) + (.setFloat32 dview (+ offset 4) font-size) + (.setUint32 dview (+ offset 8) font-weight) + (.setUint32 dview (+ offset 12) (aget font-id 0)) + (.setUint32 dview (+ offset 16) (aget font-id 1)) + (.setUint32 dview (+ offset 20) (aget font-id 2)) + (.setInt32 dview (+ offset 24) (aget font-id 3)) + + (.setInt32 dview (+ offset 28) font-family) + + (.setUint32 dview (+ offset 32) (aget font-variant-id 0)) + (.setUint32 dview (+ offset 36) (aget font-variant-id 1)) + (.setUint32 dview (+ offset 40) (aget font-variant-id 2)) + (.setInt32 dview (+ offset 44) (aget font-variant-id 3)) + + (.setInt32 dview (+ offset 48) text-length) + + (recur (inc index) (+ offset leaf-attr-size))))) + + ;; Add text content to buffer + (let [text-offset metadata-size + buffer-u8 (js/Uint8Array. buffer)] + (.set buffer-u8 (js/Uint8Array. text-buffer) text-offset)) + + ;; Allocate memory and set buffer + (let [total-size (.-byteLength buffer) + metadata-offset (mem/alloc-bytes total-size) + heap (mem/get-heap-u8)] + (.set heap (js/Uint8Array. buffer) metadata-offset))) + + (h/call wasm/internal-module "_set_shape_text_content")) diff --git a/frontend/src/app/render_wasm/deserializers.cljs b/frontend/src/app/render_wasm/deserializers.cljs new file mode 100644 index 0000000000..3c7f1f16c0 --- /dev/null +++ b/frontend/src/app/render_wasm/deserializers.cljs @@ -0,0 +1,29 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC +(ns app.render-wasm.deserializers + (:require + [app.common.geom.matrix :as gmt] + [app.common.uuid :as uuid])) + +(defn heap32->entry + [heapu32 heapf32 offset] + (let [id1 (aget heapu32 (+ offset 0)) + id2 (aget heapu32 (+ offset 1)) + id3 (aget heapu32 (+ offset 2)) + id4 (aget heapu32 (+ offset 3)) + + a (aget heapf32 (+ offset 4)) + b (aget heapf32 (+ offset 5)) + c (aget heapf32 (+ offset 6)) + d (aget heapf32 (+ offset 7)) + e (aget heapf32 (+ offset 8)) + f (aget heapf32 (+ offset 9)) + + id (uuid/from-unsigned-parts id1 id2 id3 id4)] + + {:id id + :transform (gmt/matrix a b c d e f)})) + diff --git a/frontend/src/app/render_wasm/mem.cljs b/frontend/src/app/render_wasm/mem.cljs new file mode 100644 index 0000000000..4e5e2bad1b --- /dev/null +++ b/frontend/src/app/render_wasm/mem.cljs @@ -0,0 +1,56 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.render-wasm.mem + (:require + [app.render-wasm.helpers :as h] + [app.render-wasm.wasm :as wasm])) + +(defn ptr8->ptr32 + "Returns a 32-bit (4-byte aligned) pointer of an 8-bit pointer" + [value] + ;; Divides the value by 4 + (bit-shift-right value 2)) + +(defn ptr32->ptr8 + "Returns a 8-bit pointer of a 32-bit (4-byte aligned) pointer" + [value] + ;; Multiplies by 4 + (bit-shift-left value 2)) + +(defn get-list-size + "Returns the size of a list in bytes" + [list list-item-size] + (* list-item-size (count list))) + +(defn alloc-bytes + "Allocates an arbitrary amount of bytes" + [size] + (when (= size 0) + (js/console.trace "Tried to allocate 0 bytes")) + (h/call wasm/internal-module "_alloc_bytes" size)) + +(defn alloc-bytes-32 + "Allocates a 4-byte aligned amount of bytes" + [size] + (when (= size 0) + (js/console.trace "Tried to allocate 0 bytes")) + (ptr8->ptr32 (h/call wasm/internal-module "_alloc_bytes" size))) + +(defn get-heap-u8 + "Returns a Uint8Array view of the heap" + [] + (unchecked-get ^js wasm/internal-module "HEAPU8")) + +(defn get-heap-u32 + "Returns a Uint32Array view of the heap" + [] + (unchecked-get ^js wasm/internal-module "HEAPU32")) + +(defn get-heap-f32 + "Returns a Float32Array view of the heap" + [] + (unchecked-get ^js wasm/internal-module "HEAPF32")) diff --git a/frontend/src/app/render_wasm/performance.cljc b/frontend/src/app/render_wasm/performance.cljc new file mode 100644 index 0000000000..95c39c4468 --- /dev/null +++ b/frontend/src/app/render_wasm/performance.cljc @@ -0,0 +1,41 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.render-wasm.performance + #?(:cljs (:require-macros [app.render-wasm.performance])) + (:require + [cuerdas.core :as str])) + +(defn enabled? + [] + #?(:clj (= (System/getProperty "penpot.wasm.profile-marks") "true") + :cljs false)) + +(defmacro begin-measure + [measure-name] + (when enabled? + (let [measure-name (str/concat measure-name "::begin")] + `(.mark js/performance ~measure-name)))) + +(defmacro end-measure + [measure-name & [detail]] + (when enabled? + (let [begin-name (str/concat measure-name "::begin") + end-name (str/concat measure-name "::end") + detail `(cljs.core/js-obj ~@(mapcat (fn [[k v]] [(name k) v]) detail)) + options `(cljs.core/js-obj "start" ~begin-name "end" ~end-name "detail" ~detail)] + `(do (.mark js/performance ~end-name) + (.measure js/performance ~measure-name ~options))))) + +(defmacro with-measure + "Measures the time of a function call. This should only be called in synchronous functions" + [[measure-name detail] body] + (if-not enabled? + body + `(let [_# (begin-measure ~measure-name) + result# ~body + _# (end-measure ~measure-name ~detail)] + result#))) diff --git a/frontend/src/app/render_wasm/serializers.cljs b/frontend/src/app/render_wasm/serializers.cljs new file mode 100644 index 0000000000..ecd881444f --- /dev/null +++ b/frontend/src/app/render_wasm/serializers.cljs @@ -0,0 +1,300 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns app.render-wasm.serializers + (:require + [app.common.data.macros :as dm] + [app.common.uuid :as uuid] + [cuerdas.core :as str])) + +(defn u8 + [value] + (let [u8-arr (js/Uint8Array. 1)] + (aset u8-arr 0 value) + u8-arr)) + +(defn f32->u8 + [value] + (let [f32-arr (js/Float32Array. 1)] + (aset f32-arr 0 value) + (js/Uint8Array. (.-buffer f32-arr)))) + +(defn i32->u8 + [value] + (let [i32-arr (js/Int32Array. 1)] + (aset i32-arr 0 value) + (js/Uint8Array. (.-buffer i32-arr)))) + +(defn bool->u8 + [value] + (let [result (js/Uint8Array. 1)] + (aset result 0 (if value 1 0)) + result)) + +(defn uuid->u8 + [id] + (let [buffer (uuid/get-u32 id) + u32-arr (js/Uint32Array. 4)] + (aset u32-arr 0 (aget buffer 0)) + (aset u32-arr 1 (aget buffer 1)) + (aset u32-arr 2 (aget buffer 2)) + (aset u32-arr 3 (aget buffer 3)) + (js/Uint8Array. (.-buffer u32-arr)))) + +(defn serialize-uuid + [id] + (if (nil? id) + [uuid/zero] + (let [as-uuid (uuid/uuid id)] + (uuid/get-u32 as-uuid)))) + +(defn heapu32-set-u32 + [value heap offset] + (aset heap offset value)) + +(defn heapu32-set-uuid + [id heap offset] + (let [buffer (uuid/get-u32 id)] + (.set heap buffer offset) + buffer)) + +(defn heapf32-set-matrix + [matrix heap offset] + (let [a (dm/get-prop matrix :a) + b (dm/get-prop matrix :b) + c (dm/get-prop matrix :c) + d (dm/get-prop matrix :d) + e (dm/get-prop matrix :e) + f (dm/get-prop matrix :f)] + (aset heap (+ offset 0) a) + (aset heap (+ offset 1) b) + (aset heap (+ offset 2) c) + (aset heap (+ offset 3) d) + (aset heap (+ offset 4) e) + (aset heap (+ offset 5) f))) + +(defn translate-shape-type + [type] + (case type + :frame 0 + :group 1 + :bool 2 + :rect 3 + :path 4 + :text 5 + :circle 6 + :svg-raw 7 + :image 8)) + +(defn translate-stroke-style + [stroke-style] + (case stroke-style + :dotted 1 + :dashed 2 + :mixed 3 + 0)) + +(defn translate-stroke-cap + [stroke-cap] + (case stroke-cap + :line-arrow 1 + :triangle-arrow 2 + :square-marker 3 + :circle-marker 4 + :diamond-marker 5 + :round 6 + :square 7 + 0)) + + +(defn serialize-path-attrs + [svg-attrs] + (reduce + (fn [acc [key value]] + (str/concat + acc + (str/kebab key) "\0" + value "\0")) "" svg-attrs)) + +(defn translate-blend-mode + [blend-mode] + (case blend-mode + :normal 3 + :darken 16 + :multiply 24 + :color-burn 19 + :lighten 17 + :screen 14 + :color-dodge 18 + :overlay 15 + :soft-light 21 + :hard-light 20 + :difference 22 + :exclusion 23 + :hue 25 + :saturation 26 + :color 27 + :luminosity 28 + 3)) + +(defn translate-constraint-h + [type] + (case type + :left 0 + :right 1 + :leftright 2 + :center 3 + :scale 4)) + +(defn translate-constraint-v + [type] + (case type + :top 0 + :bottom 1 + :topbottom 2 + :center 3 + :scale 4)) + +(defn translate-bool-type + [bool-type] + (case bool-type + :union 0 + :difference 1 + :intersection 2 + :exclusion 3 + 0)) + +(defn translate-blur-type + [blur-type] + (case blur-type + :layer-blur 1 + 0)) + +(defn translate-layout-flex-dir + [flex-dir] + (case flex-dir + :row 0 + :row-reverse 1 + :column 2 + :column-reverse 3)) + +(defn translate-layout-grid-dir + [flex-dir] + (case flex-dir + :row 0 + :column 1)) + +(defn translate-layout-align-items + [align-items] + (case align-items + :start 0 + :end 1 + :center 2 + :stretch 3)) + +(defn translate-layout-align-content + [align-content] + (case align-content + :start 0 + :end 1 + :center 2 + :space-between 3 + :space-around 4 + :space-evenly 5 + :stretch 6)) + +(defn translate-layout-justify-items + [justify-items] + (case justify-items + :start 0 + :end 1 + :center 2 + :stretch 3)) + +(defn translate-layout-justify-content + [justify-content] + (case justify-content + :start 0 + :end 1 + :center 2 + :space-between 3 + :space-around 4 + :space-evenly 5 + :stretch 6)) + +(defn translate-layout-wrap-type + [wrap-type] + (case wrap-type + :wrap 0 + :nowrap 1)) + +(defn translate-grid-track-type + [type] + (case type + :percent 0 + :flex 1 + :auto 2 + :fixed 3)) + +(defn translate-layout-sizing + [value] + (case value + :fill 0 + :fix 1 + :auto 2)) + +(defn translate-align-self + [value] + (when value + (case value + :auto 0 + :start 1 + :end 2 + :center 3 + :stretch 4))) + +(defn translate-justify-self + [value] + (when value + (case value + :auto 0 + :start 1 + :end 2 + :center 3 + :stretch 4))) + +(defn translate-shadow-style + [style] + (case style + :drop-shadow 0 + :inner-shadow 1 + 0)) + +(defn translate-structure-modifier-type + [type] + (case type + :remove-children 1 + :add-children 2)) + +(defn- serialize-enum + [value enum-map] + (get enum-map value 0)) + +(defn serialize-text-align + [text-align] + (serialize-enum text-align {"left" 0 "center" 1 "right" 2 "justify" 3})) + +(defn serialize-text-transform + [text-transform] + (serialize-enum text-transform {"none" 0 "uppercase" 1 "lowercase" 2 "capitalize" 3})) + +(defn serialize-text-decoration + [text-decoration] + (serialize-enum text-decoration {"none" 0 "underline" 1 "line-through" 2 "overline" 3})) + +(defn serialize-text-direction + [text-direction] + (serialize-enum text-direction {"ltr" 0 "rtl" 1})) diff --git a/frontend/src/app/render_wasm/serializers/color.cljs b/frontend/src/app/render_wasm/serializers/color.cljs new file mode 100644 index 0000000000..35fda2b756 --- /dev/null +++ b/frontend/src/app/render_wasm/serializers/color.cljs @@ -0,0 +1,11 @@ +(ns app.render-wasm.serializers.color + (:require + [app.common.math :as mth])) + +(defn hex->u32argb + "Takes a hex color in #rrggbb format, and an opacity value from 0 to 1 and returns its 32-bit argb representation" + [hex opacity] + (let [rgb (js/parseInt (subs hex 1) 16) + a (mth/floor (* (or opacity 1) 0xff))] + ;; rgba >>> 0 so we have an unsigned representation + (unsigned-bit-shift-right (bit-or (bit-shift-left a 24) rgb) 0))) \ No newline at end of file diff --git a/frontend/src/app/render_wasm/serializers/fills.cljs b/frontend/src/app/render_wasm/serializers/fills.cljs new file mode 100644 index 0000000000..f4f395b66e --- /dev/null +++ b/frontend/src/app/render_wasm/serializers/fills.cljs @@ -0,0 +1,39 @@ +(ns app.render-wasm.serializers.fills + (:require + [app.render-wasm.serializers.color :as clr])) + +(def ^:private GRADIENT-STOP-SIZE 8) +(def ^:private GRADIENT-BASE-SIZE 28) +;; TODO: Define in shape model +(def ^:private MAX-GRADIENT-STOPS 16) + +(def GRADIENT-BYTE-SIZE + (+ GRADIENT-BASE-SIZE (* MAX-GRADIENT-STOPS GRADIENT-STOP-SIZE))) + +(defn write-gradient-fill! + [offset heap gradient opacity] + (let [dview (js/DataView. (.-buffer heap)) + start-x (:start-x gradient) + start-y (:start-y gradient) + end-x (:end-x gradient) + end-y (:end-y gradient) + width (or (:width gradient) 0) + stops (take MAX-GRADIENT-STOPS (:stops gradient))] + (.setFloat32 dview offset start-x true) + (.setFloat32 dview (+ offset 4) start-y true) + (.setFloat32 dview (+ offset 8) end-x true) + (.setFloat32 dview (+ offset 12) end-y true) + (.setFloat32 dview (+ offset 16) opacity true) + (.setFloat32 dview (+ offset 20) width true) + (.setUint32 dview (+ offset 24) (count stops) true) + (loop [stops (seq stops) offset (+ offset GRADIENT-BASE-SIZE)] + (if (empty? stops) + offset + (let [stop (first stops) + hex-color (:color stop) + opacity (:opacity stop) + argb (clr/hex->u32argb hex-color opacity) + stop-offset (:offset stop)] + (.setUint32 dview offset argb true) + (.setFloat32 dview (+ offset 4) stop-offset true) + (recur (rest stops) (+ offset GRADIENT-STOP-SIZE))))))) \ No newline at end of file diff --git a/frontend/src/app/render_wasm/shape.cljs b/frontend/src/app/render_wasm/shape.cljs index d38bdd1aa7..6f80a65982 100644 --- a/frontend/src/app/render_wasm/shape.cljs +++ b/frontend/src/app/render_wasm/shape.cljs @@ -8,7 +8,9 @@ (:require [app.common.transit :as t] [app.common.types.shape :as shape] + [app.common.types.shape.layout :as ctl] [app.render-wasm.api :as api] + [beicon.v2.core :as rx] [clojure.core :as c] [cuerdas.core :as str])) @@ -106,51 +108,135 @@ ;; --- SHAPE IMPL -(defn- set-wasm-attrs - [self k v] - (when ^boolean shape/*wasm-sync* - (api/use-shape (:id self)) +(defn set-wasm-single-attr! + [shape k] + (let [v (get shape k)] (case k :parent-id (api/set-parent-id v) :type (api/set-shape-type v) :bool-type (api/set-shape-bool-type v) - :bool-content (api/set-shape-bool-content v) :selrect (api/set-shape-selrect v) - :show-content (if (= (:type self) :frame) + :show-content (if (= (:type shape) :frame) (api/set-shape-clip-content (not v)) (api/set-shape-clip-content false)) :rotation (api/set-shape-rotation v) :transform (api/set-shape-transform v) - :fills (api/set-shape-fills v) - :strokes (api/set-shape-strokes v) + :fills (into [] (api/set-shape-fills v)) + :strokes (into [] (api/set-shape-strokes v)) :blend-mode (api/set-shape-blend-mode v) :opacity (api/set-shape-opacity v) :hidden (api/set-shape-hidden v) :shapes (api/set-shape-children v) :blur (api/set-shape-blur v) + :shadow (api/set-shape-shadows v) :constraints-h (api/set-constraints-h v) :constraints-v (api/set-constraints-v v) - :svg-attrs (when (= (:type self) :path) - (api/set-shape-path-attrs v)) - :masked-group (when (and (= (:type self) :group) (:masked-group self)) - (api/set-masked (:masked-group self))) - :content (cond - (= (:type self) :path) - (api/set-shape-path-content v) + :svg-attrs + (when (= (:type shape) :path) + (api/set-shape-path-attrs v)) - (= (:type self) :svg-raw) - (api/set-shape-svg-raw-content (api/get-static-markup self))) - nil) - ;; when something synced with wasm - ;; is modified, we need to request - ;; a new render. - (api/clear-cache) - (api/request-render "set-wasm-attrs"))) + :masked-group + (when (and (= (:type shape) :group) (:masked-group shape)) + (api/set-masked (:masked-group shape))) + + :content + (cond + (or (= (:type shape) :path) + (= (:type shape) :bool)) + (api/set-shape-path-content v) + + (= (:type shape) :svg-raw) + (api/set-shape-svg-raw-content (api/get-static-markup shape)) + + (= (:type shape) :text) + (into [] (api/set-shape-text-content v))) + + (:layout-item-margin + :layout-item-margin-type + :layout-item-h-sizing + :layout-item-v-sizing + :layout-item-max-h + :layout-item-min-h + :layout-item-max-w + :layout-item-min-w + :layout-item-absolute + :layout-item-z-index) + (api/set-layout-child shape) + + :layout-grid-rows + (api/set-grid-layout-rows v) + + :layout-grid-columns + (api/set-grid-layout-columns v) + + :layout-grid-cells + (api/set-grid-layout-cells v) + + (:layout + :layout-flex-dir + :layout-gap-type + :layout-gap + :layout-align-items + :layout-align-content + :layout-justify-items + :layout-justify-content + :layout-wrap-type + :layout-padding-type + :layout-padding) + (cond + (ctl/grid-layout? shape) + (api/set-grid-layout-data shape) + + (ctl/flex-layout? shape) + (api/set-flex-layout shape)) + + nil))) + +(defn set-wasm-multi-attrs! + [shape properties] + (api/use-shape (:id shape)) + (let [pending + (->> properties + (mapcat #(set-wasm-single-attr! shape %)))] + (if (and pending (seq pending)) + (->> (rx/from pending) + (rx/mapcat identity) + (rx/reduce conj []) + (rx/subs! + (fn [_] + (api/update-shape-tiles) + (api/clear-drawing-cache) + (api/request-render "set-wasm-attrs-pending")))) + (do + (api/update-shape-tiles) + (api/request-render "set-wasm-attrs"))))) + +(defn set-wasm-attrs! + [shape k v] + (let [shape (assoc shape k v)] + (api/use-shape (:id shape)) + (let [pending (set-wasm-single-attr! shape k)] + ;; TODO: set-wasm-attrs is called twice with every set + (if (and pending (seq pending)) + (->> (rx/from pending) + (rx/mapcat identity) + (rx/reduce conj []) + (rx/subs! + (fn [_] + (api/update-shape-tiles) + (api/clear-drawing-cache) + (api/request-render "set-wasm-attrs-pending")))) + (do + (api/update-shape-tiles) + (api/request-render "set-wasm-attrs")))))) (defn- impl-assoc [self k v] - (set-wasm-attrs self k v) + (when ^boolean shape/*wasm-sync* + (binding [shape/*wasm-sync* false] + (set-wasm-attrs! self k v))) + (case k :id (ShapeProxy. v @@ -171,7 +257,10 @@ (defn- impl-dissoc [self k] - (set-wasm-attrs self k nil) + (when ^boolean shape/*wasm-sync* + (binding [shape/*wasm-sync* false] + (set-wasm-attrs! self k nil))) + (case k :id (ShapeProxy. nil diff --git a/frontend/src/app/render_wasm/wasm.cljs b/frontend/src/app/render_wasm/wasm.cljs new file mode 100644 index 0000000000..542d4c49a1 --- /dev/null +++ b/frontend/src/app/render_wasm/wasm.cljs @@ -0,0 +1,4 @@ +(ns app.render-wasm.wasm) + +(defonce internal-frame-id nil) +(defonce internal-module #js {}) \ No newline at end of file diff --git a/frontend/src/app/util/path/tools.cljs b/frontend/src/app/util/path/tools.cljs index 78d1064004..11975774ab 100644 --- a/frontend/src/app/util/path/tools.cljs +++ b/frontend/src/app/util/path/tools.cljs @@ -449,11 +449,13 @@ (defn merge-nodes "Reduces the contiguous segments in points to a single point" [content points] - (let [point->merge-point (-> content - (get-segments points) - (group-segments) - (calculate-merge-points points))] - (-> content - (separate-nodes points) - (replace-points point->merge-point)))) + (let [segments (get-segments content points)] + (if (seq segments) + (let [point->merge-point (-> segments + (group-segments) + (calculate-merge-points points))] + (-> content + (separate-nodes points) + (replace-points point->merge-point))) + content))) diff --git a/frontend/src/app/util/time.cljs b/frontend/src/app/util/time.cljs index 760b32704c..a68e3d2037 100644 --- a/frontend/src/app/util/time.cljs +++ b/frontend/src/app/util/time.cljs @@ -277,6 +277,14 @@ (->> #js {:locale locale} (dfn-format v f)))))) +(defn format-date-locale-short + ([v] (format-date-locale-short v nil)) + ([v {:keys [locale] :or {locale "en"}}] + (when v + (let [locale-obj (obj/get locales locale) + format-str "MMMM do, yyyy"] + (dfn-format (js/Date. v) format-str #js {:locale locale-obj}))))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Measurement Helpers ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/frontend/src/app/worker/export.cljs b/frontend/src/app/worker/export.cljs index de0cc6b50a..7c4a9969dd 100644 --- a/frontend/src/app/worker/export.cljs +++ b/frontend/src/app/worker/export.cljs @@ -421,11 +421,9 @@ :uri uri})) (rx/catch (fn [cause] - (rx/of (ex/raise :type :internal - :code :export-error - :hint "unexpected error on exporting file" - :file-id (:id file) - :cause cause)))))))) + (rx/of {:type :error + :file-id (:id file) + :hint (ex-message cause)}))))))) (= format :legacy-zip) (->> (rx/from files) diff --git a/frontend/src/features.cljs b/frontend/src/features.cljs index 9c30a86244..7f6c9a384d 100644 --- a/frontend/src/features.cljs +++ b/frontend/src/features.cljs @@ -12,9 +12,6 @@ [app.plugins :as plugins] [app.util.timers :as tm])) -(defn ^:export is-components-v2 [] - (features/active-feature? @st/state "components/v2")) - (defn ^:export grid [] (tm/schedule-on-idle #(st/emit! (features/toggle-feature "layout/grid"))) nil) diff --git a/frontend/test/frontend_tests/helpers/pages.cljs b/frontend/test/frontend_tests/helpers/pages.cljs index 7a4e2e0208..8993326237 100644 --- a/frontend/test/frontend_tests/helpers/pages.cljs +++ b/frontend/test/frontend_tests/helpers/pages.cljs @@ -146,8 +146,6 @@ (:objects page) (:id page) current-file-id - true - dwg/prepare-create-group cfsh/prepare-create-artboard-from-selection)] (swap! idmap assoc instance-label (:id group) diff --git a/frontend/test/frontend_tests/logic/components_and_tokens.cljs b/frontend/test/frontend_tests/logic/components_and_tokens.cljs index e441f51d8f..2add7ecf4e 100644 --- a/frontend/test/frontend_tests/logic/components_and_tokens.cljs +++ b/frontend/test/frontend_tests/logic/components_and_tokens.cljs @@ -15,11 +15,11 @@ [app.common.test-helpers.tokens :as ctht] [app.common.types.tokens-lib :as ctob] [app.main.data.helpers :as dsh] - [app.main.data.tokens :as dt] [app.main.data.workspace.libraries :as dwl] [app.main.data.workspace.selection :as dws] - [app.main.ui.workspace.tokens.changes :as wtch] - [app.main.ui.workspace.tokens.update :as wtu] + [app.main.data.workspace.tokens.application :as dwta] + [app.main.data.workspace.tokens.library-edit :as dwtl] + [app.main.data.workspace.tokens.propagation :as dwtp] [cljs.test :as t :include-macros true] [frontend-tests.helpers.pages :as thp] [frontend-tests.helpers.state :as ths] @@ -134,10 +134,10 @@ store (ths/setup-store file) ;; ==== Action - events [(wtch/apply-token {:shape-ids [(cthi/id :frame1)] + events [(dwta/apply-token {:shape-ids [(cthi/id :frame1)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "test-token-2") - :on-update-shape wtch/update-shape-radius-all})] + :on-update-shape dwta/update-shape-radius-all})] step2 (fn [_] (let [events2 [(dwl/sync-file (:id file) (:id file))]] @@ -171,7 +171,7 @@ store (ths/setup-store file) ;; ==== Action - events [(wtch/unapply-token {:shape-ids [(cthi/id :frame1)] + events [(dwta/unapply-token {:shape-ids [(cthi/id :frame1)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "test-token-1")})] @@ -203,14 +203,14 @@ store (ths/setup-store file) ;; ==== Action - events [(dt/set-selected-token-set-name "test-token-set") - (dt/update-token "test-token-1" - {:name "test-token-1" - :type :border-radius - :value 66})] + events [(dwtl/set-selected-token-set-name "test-token-set") + (dwtl/update-token "test-token-1" + {:name "test-token-1" + :type :border-radius + :value 66})] step2 (fn [_] - (let [events2 [(wtu/update-workspace-tokens) + (let [events2 [(dwtp/propagate-workspace-tokens) (dwl/sync-file (:id file) (:id file))]] (tohs/run-store-async store done events2 @@ -242,14 +242,14 @@ store (ths/setup-store file) ;; ==== Action - events [(wtch/apply-token {:shape-ids [(cthi/id :c-frame1)] + events [(dwta/apply-token {:shape-ids [(cthi/id :c-frame1)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "test-token-2") - :on-update-shape wtch/update-shape-radius-all}) - (wtch/apply-token {:shape-ids [(cthi/id :frame1)] + :on-update-shape dwta/update-shape-radius-all}) + (dwta/apply-token {:shape-ids [(cthi/id :frame1)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "test-token-3") - :on-update-shape wtch/update-shape-radius-all})] + :on-update-shape dwta/update-shape-radius-all})] step2 (fn [_] (let [events2 [(dwl/sync-file (:id file) (:id file))]] @@ -283,13 +283,13 @@ store (ths/setup-store file) ;; ==== Action - events [(wtch/unapply-token {:shape-ids [(cthi/id :c-frame1)] + events [(dwta/unapply-token {:shape-ids [(cthi/id :c-frame1)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "test-token-1")}) - (wtch/apply-token {:shape-ids [(cthi/id :frame1)] + (dwta/apply-token {:shape-ids [(cthi/id :frame1)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "test-token-3") - :on-update-shape wtch/update-shape-radius-all})] + :on-update-shape dwta/update-shape-radius-all})] step2 (fn [_] (let [events2 [(dwl/sync-file (:id file) (:id file))]] @@ -359,28 +359,28 @@ store (ths/setup-store file) ;; ==== Action - events [(dt/set-selected-token-set-name "test-token-set") - (dt/update-token "token-radius" - {:name "token-radius" - :value 30}) - (dt/update-token "token-rotation" - {:name "token-rotation" - :value 45}) - (dt/update-token "token-opacity" - {:name "token-opacity" - :value 0.9}) - (dt/update-token "token-stroke-width" - {:name "token-stroke-width" - :value 8}) - (dt/update-token "token-color" - {:name "token-color" - :value "#ff0000"}) - (dt/update-token "token-dimensions" - {:name "token-dimensions" - :value 200})] + events [(dwtl/set-selected-token-set-name "test-token-set") + (dwtl/update-token "token-radius" + {:name "token-radius" + :value 30}) + (dwtl/update-token "token-rotation" + {:name "token-rotation" + :value 45}) + (dwtl/update-token "token-opacity" + {:name "token-opacity" + :value 0.9}) + (dwtl/update-token "token-stroke-width" + {:name "token-stroke-width" + :value 8}) + (dwtl/update-token "token-color" + {:name "token-color" + :value "#ff0000"}) + (dwtl/update-token "token-dimensions" + {:name "token-dimensions" + :value 200})] step2 (fn [_] - (let [events2 [(wtu/update-workspace-tokens) + (let [events2 [(dwtp/propagate-workspace-tokens) (dwl/sync-file (:id file) (:id file))]] (tohs/run-store-async store done events2 diff --git a/frontend/test/frontend_tests/runner.cljs b/frontend/test/frontend_tests/runner.cljs index bca0112e19..9799fb6aa6 100644 --- a/frontend/test/frontend_tests/runner.cljs +++ b/frontend/test/frontend_tests/runner.cljs @@ -10,9 +10,9 @@ [frontend-tests.logic.groups-test] [frontend-tests.plugins.context-shapes-test] [frontend-tests.tokens.logic.token-actions-test] + [frontend-tests.tokens.logic.token-data-test] [frontend-tests.tokens.style-dictionary-test] [frontend-tests.tokens.token-form-test] - [frontend-tests.tokens.token-test] [frontend-tests.util-range-tree-test] [frontend-tests.util-simple-math-test] [frontend-tests.util-snap-data-test])) @@ -39,6 +39,6 @@ 'frontend-tests.util-simple-math-test 'frontend-tests.basic-shapes-test 'frontend-tests.tokens.logic.token-actions-test + 'frontend-tests.tokens.logic.token-data-test 'frontend-tests.tokens.style-dictionary-test - 'frontend-tests.tokens.token-test 'frontend-tests.tokens.token-form-test)) diff --git a/frontend/test/frontend_tests/tokens/helpers/state.cljs b/frontend/test/frontend_tests/tokens/helpers/state.cljs index 25fa2805ba..c5a7f864dc 100644 --- a/frontend/test/frontend_tests/tokens/helpers/state.cljs +++ b/frontend/test/frontend_tests/tokens/helpers/state.cljs @@ -1,8 +1,14 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + (ns frontend-tests.tokens.helpers.state (:require [app.common.types.tokens-lib :as ctob] [app.main.data.helpers :as dsh] - [app.main.ui.workspace.tokens.style-dictionary :as sd] + [app.main.data.style-dictionary :as sd] [beicon.v2.core :as rx] [potok.v2.core :as ptk])) diff --git a/frontend/test/frontend_tests/tokens/helpers/tokens.cljs b/frontend/test/frontend_tests/tokens/helpers/tokens.cljs index eb6c4b7cda..d97089a00d 100644 --- a/frontend/test/frontend_tests/tokens/helpers/tokens.cljs +++ b/frontend/test/frontend_tests/tokens/helpers/tokens.cljs @@ -1,8 +1,14 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + (ns frontend-tests.tokens.helpers.tokens (:require + [app.common.files.tokens :as cft] [app.common.test-helpers.ids-map :as thi] - [app.common.types.tokens-lib :as ctob] - [app.main.ui.workspace.tokens.token :as wtt])) + [app.common.types.tokens-lib :as ctob])) (defn get-token [file name] (some-> (get-in file [:data :tokens-lib]) @@ -14,9 +20,12 @@ (let [first-page-id (get-in file [:data :pages 0]) shape-id (thi/id shape-label) token (get-token file token-label) - applied-attributes (wtt/attributes-map attributes token)] + applied-attributes (cft/attributes-map attributes token)] (update-in file [:data :pages-index first-page-id :objects shape-id :applied-tokens] merge applied-attributes))) + +(defn get-tokens-lib [file] + (get-in file [:data :tokens-lib])) \ No newline at end of file diff --git a/frontend/test/frontend_tests/tokens/logic/token_actions_test.cljs b/frontend/test/frontend_tests/tokens/logic/token_actions_test.cljs index b58a271048..8bccd46fb2 100644 --- a/frontend/test/frontend_tests/tokens/logic/token_actions_test.cljs +++ b/frontend/test/frontend_tests/tokens/logic/token_actions_test.cljs @@ -1,10 +1,16 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + (ns frontend-tests.tokens.logic.token-actions-test (:require [app.common.test-helpers.compositions :as ctho] [app.common.test-helpers.files :as cthf] [app.common.test-helpers.shapes :as cths] [app.common.types.tokens-lib :as ctob] - [app.main.ui.workspace.tokens.changes :as wtch] + [app.main.data.workspace.tokens.application :as dwta] [cljs.test :as t :include-macros true] [frontend-tests.helpers.pages :as thp] [frontend-tests.helpers.state :as ths] @@ -48,10 +54,10 @@ (let [file (setup-file-with-tokens) store (ths/setup-store file) rect-1 (cths/get-shape file :rect-1) - events [(wtch/apply-token {:shape-ids [(:id rect-1)] + events [(dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "borderRadius.md") - :on-update-shape wtch/update-shape-radius-all})]] + :on-update-shape dwta/update-shape-radius-all})]] (tohs/run-store-async store done events (fn [new-state] @@ -73,14 +79,14 @@ (let [file (setup-file-with-tokens) store (ths/setup-store file) rect-1 (cths/get-shape file :rect-1) - events [(wtch/apply-token {:shape-ids [(:id rect-1)] + events [(dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "borderRadius.sm") - :on-update-shape wtch/update-shape-radius-all}) - (wtch/apply-token {:shape-ids [(:id rect-1)] + :on-update-shape dwta/update-shape-radius-all}) + (dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "borderRadius.md") - :on-update-shape wtch/update-shape-radius-all})]] + :on-update-shape dwta/update-shape-radius-all})]] (tohs/run-store-async store done events (fn [new-state] @@ -101,17 +107,17 @@ store (ths/setup-store file) rect-1 (cths/get-shape file :rect-1) events [;; Apply "borderRadius.sm" to all border radius attributes - (wtch/apply-token {:attributes #{:r1 :r2 :r3 :r4} + (dwta/apply-token {:attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "borderRadius.sm") :shape-ids [(:id rect-1)] - :on-update-shape wtch/update-shape-radius-all}) + :on-update-shape dwta/update-shape-radius-all}) ;; Apply single `:r1` attribute to same shape ;; while removing other attributes from the border-radius set ;; but keep `:r4` for testing purposes - (wtch/apply-token {:attributes #{:r1 :r2 :r3} + (dwta/apply-token {:attributes #{:r1 :r2 :r3} :token (toht/get-token file "borderRadius.md") :shape-ids [(:id rect-1)] - :on-update-shape wtch/update-shape-radius-all})]] + :on-update-shape dwta/update-shape-radius-all})]] (tohs/run-store-async store done events (fn [new-state] @@ -133,14 +139,14 @@ store (ths/setup-store file) rect-1 (cths/get-shape file :rect-1) rect-2 (cths/get-shape file :rect-2) - events [(wtch/apply-token {:shape-ids [(:id rect-1)] + events [(dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:r3 :r4} :token (toht/get-token file "borderRadius.sm") - :on-update-shape wtch/update-shape-radius-for-corners}) - (wtch/apply-token {:shape-ids [(:id rect-2)] + :on-update-shape dwta/update-shape-radius-for-corners}) + (dwta/apply-token {:shape-ids [(:id rect-2)] :attributes #{:r1 :r2 :r3 :r4} :token (toht/get-token file "borderRadius.sm") - :on-update-shape wtch/update-shape-radius-all})]] + :on-update-shape dwta/update-shape-radius-all})]] (tohs/run-store-async store done events (fn [new-state] @@ -185,22 +191,22 @@ store (ths/setup-store file) rect-1 (cths/get-shape file :rect-1) rect-2 (cths/get-shape file :rect-2) - events [(wtch/apply-token {:shape-ids [(:id rect-1)] + events [(dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:color} :token (toht/get-token file "color.primary") - :on-update-shape wtch/update-fill}) - (wtch/apply-token {:shape-ids [(:id rect-1)] + :on-update-shape dwta/update-fill}) + (dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:stroke-color} :token (toht/get-token file "color.primary") - :on-update-shape wtch/update-stroke-color}) - (wtch/apply-token {:shape-ids [(:id rect-2)] + :on-update-shape dwta/update-stroke-color}) + (dwta/apply-token {:shape-ids [(:id rect-2)] :attributes #{:color} :token (toht/get-token file "color.secondary") - :on-update-shape wtch/update-fill}) - (wtch/apply-token {:shape-ids [(:id rect-2)] + :on-update-shape dwta/update-fill}) + (dwta/apply-token {:shape-ids [(:id rect-2)] :attributes #{:stroke-color} :token (toht/get-token file "color.secondary") - :on-update-shape wtch/update-stroke-color})]] + :on-update-shape dwta/update-stroke-color})]] (tohs/run-store-async store done events (fn [new-state] @@ -239,10 +245,10 @@ #(ctob/add-token-in-set % "Set A" (ctob/make-token dimensions-token)))) store (ths/setup-store file) rect-1 (cths/get-shape file :rect-1) - events [(wtch/apply-token {:shape-ids [(:id rect-1)] + events [(dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:width :height} :token (toht/get-token file "dimensions.sm") - :on-update-shape wtch/update-shape-dimensions})]] + :on-update-shape dwta/update-shape-dimensions})]] (tohs/run-store-async store done events (fn [new-state] @@ -272,10 +278,10 @@ store (ths/setup-store file) frame-1 (cths/get-shape file :frame-1) frame-2 (cths/get-shape file :frame-2) - events [(wtch/apply-token {:shape-ids [(:id frame-1) (:id frame-2)] + events [(dwta/apply-token {:shape-ids [(:id frame-1) (:id frame-2)] :attributes #{:padding} :token (toht/get-token file "padding.sm") - :on-update-shape wtch/update-layout-padding})]] + :on-update-shape dwta/update-layout-padding})]] (tohs/run-store-async store done events (fn [new-state] @@ -303,10 +309,10 @@ #(ctob/add-token-in-set % "Set A" (ctob/make-token sizing-token)))) store (ths/setup-store file) rect-1 (cths/get-shape file :rect-1) - events [(wtch/apply-token {:shape-ids [(:id rect-1)] + events [(dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:width :height} :token (toht/get-token file "sizing.sm") - :on-update-shape wtch/update-shape-dimensions})]] + :on-update-shape dwta/update-shape-dimensions})]] (tohs/run-store-async store done events (fn [new-state] @@ -344,18 +350,18 @@ rect-1 (cths/get-shape file :rect-1) rect-2 (cths/get-shape file :rect-2) rect-3 (cths/get-shape file :rect-3) - events [(wtch/apply-token {:shape-ids [(:id rect-1)] + events [(dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:opacity} :token (toht/get-token file "opacity.float") - :on-update-shape wtch/update-opacity}) - (wtch/apply-token {:shape-ids [(:id rect-2)] + :on-update-shape dwta/update-opacity}) + (dwta/apply-token {:shape-ids [(:id rect-2)] :attributes #{:opacity} :token (toht/get-token file "opacity.percent") - :on-update-shape wtch/update-opacity}) - (wtch/apply-token {:shape-ids [(:id rect-3)] + :on-update-shape dwta/update-opacity}) + (dwta/apply-token {:shape-ids [(:id rect-3)] :attributes #{:opacity} :token (toht/get-token file "opacity.invalid") - :on-update-shape wtch/update-opacity})]] + :on-update-shape dwta/update-opacity})]] (tohs/run-store-async store done events (fn [new-state] @@ -388,10 +394,10 @@ #(ctob/add-token-in-set % "Set A" (ctob/make-token rotation-token)))) store (ths/setup-store file) rect-1 (cths/get-shape file :rect-1) - events [(wtch/apply-token {:shape-ids [(:id rect-1)] + events [(dwta/apply-token {:shape-ids [(:id rect-1)] :attributes #{:rotation} :token (toht/get-token file "rotation.medium") - :on-update-shape wtch/update-rotation})]] + :on-update-shape dwta/update-rotation})]] (tohs/run-store-async store done events (fn [new-state] @@ -419,10 +425,10 @@ store (ths/setup-store file) rect-with-stroke (cths/get-shape file :rect-1) rect-without-stroke (cths/get-shape file :rect-2) - events [(wtch/apply-token {:shape-ids [(:id rect-with-stroke) (:id rect-without-stroke)] + events [(dwta/apply-token {:shape-ids [(:id rect-with-stroke) (:id rect-without-stroke)] :attributes #{:stroke-width} :token (toht/get-token file "stroke-width.sm") - :on-update-shape wtch/update-stroke-width})]] + :on-update-shape dwta/update-stroke-width})]] (tohs/run-store-async store done events (fn [new-state] @@ -445,9 +451,9 @@ store (ths/setup-store file) rect-1 (cths/get-shape file :rect-1) rect-2 (cths/get-shape file :rect-2) - events [(wtch/toggle-token {:shapes [rect-1 rect-2] + events [(dwta/toggle-token {:shapes [rect-1 rect-2] :token-type-props {:attributes #{:r1 :r2 :r3 :r4} - :on-update-shape wtch/update-shape-radius-all} + :on-update-shape dwta/update-shape-radius-all} :token (toht/get-token file "borderRadius.md")})]] (tohs/run-store-async store done events @@ -476,7 +482,7 @@ rect-without-token (cths/get-shape file :rect-2) rect-with-other-token (cths/get-shape file :rect-3) - events [(wtch/toggle-token {:shapes [rect-with-token rect-without-token rect-with-other-token] + events [(dwta/toggle-token {:shapes [rect-with-token rect-without-token rect-with-other-token] :token (toht/get-token file "borderRadius.sm") :token-type-props {:attributes #{:r1 :r2 :r3 :r4}}})]] (tohs/run-store-async @@ -509,7 +515,7 @@ rect-without-token (cths/get-shape file :rect-2) rect-with-other-token-2 (cths/get-shape file :rect-3) - events [(wtch/toggle-token {:shapes [rect-with-other-token-1 rect-without-token rect-with-other-token-2] + events [(dwta/toggle-token {:shapes [rect-with-other-token-1 rect-without-token rect-with-other-token-2] :token (toht/get-token file "borderRadius.sm") :token-type-props {:attributes #{:r1 :r2 :r3 :r4}}})]] (tohs/run-store-async diff --git a/frontend/test/frontend_tests/tokens/logic/token_data_test.cljs b/frontend/test/frontend_tests/tokens/logic/token_data_test.cljs new file mode 100644 index 0000000000..0329d05f1f --- /dev/null +++ b/frontend/test/frontend_tests/tokens/logic/token_data_test.cljs @@ -0,0 +1,67 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + +(ns frontend-tests.tokens.logic.token-data-test + (:require + [app.common.test-helpers.files :as cthf] + [app.common.types.tokens-lib :as ctob] + [app.main.data.workspace.tokens.library-edit :as dwtl] + [cljs.test :as t :include-macros true] + [frontend-tests.helpers.pages :as thp] + [frontend-tests.helpers.state :as ths] + [frontend-tests.tokens.helpers.state :as tohs] + [frontend-tests.tokens.helpers.tokens :as toht])) + +(t/use-fixtures :each + {:before thp/reset-idmap!}) + +(defn setup-file [] + (cthf/sample-file :file-1 :page-label :page-1)) + +(defn setup-file-with-token-lib + [] + (-> (setup-file) + (assoc-in [:data :tokens-lib] + (-> (ctob/make-tokens-lib) + (ctob/add-set (ctob/make-token-set :name "Set A")))))) + +(t/deftest duplicate-set + (t/async + done + (let [file (setup-file-with-token-lib) + store (ths/setup-store file) + events [(dwtl/duplicate-token-set "Set A" false)]] + + (tohs/run-store-async + store done events + (fn [new-state] + (let [file' (ths/get-file-from-state new-state) + token-lib (toht/get-tokens-lib file') + sets (ctob/get-sets token-lib) + set (ctob/get-set token-lib "Set A")] + + (t/testing "Token lib contains two sets" + (t/is (= (count sets) 2)) + (t/is (some? set))))))))) + +(t/deftest duplicate-non-exist-set + (t/async + done + (let [file (setup-file-with-token-lib) + store (ths/setup-store file) + events [(dwtl/duplicate-token-set "Set B" false)]] + + (tohs/run-store-async + store done events + (fn [new-state] + (let [file' (ths/get-file-from-state new-state) + token-lib (toht/get-tokens-lib file') + sets (ctob/get-sets token-lib) + set (ctob/get-set token-lib "Set B")] + + (t/testing "Token lib contains one set" + (t/is (= (count sets) 1)) + (t/is (nil? set))))))))) \ No newline at end of file diff --git a/frontend/test/frontend_tests/tokens/style_dictionary_test.cljs b/frontend/test/frontend_tests/tokens/style_dictionary_test.cljs index 64841fb654..09d298678f 100644 --- a/frontend/test/frontend_tests/tokens/style_dictionary_test.cljs +++ b/frontend/test/frontend_tests/tokens/style_dictionary_test.cljs @@ -1,8 +1,14 @@ +;; This Source Code Form is subject to the terms of the Mozilla Public +;; License, v. 2.0. If a copy of the MPL was not distributed with this +;; file, You can obtain one at http://mozilla.org/MPL/2.0/. +;; +;; Copyright (c) KALEIDOS INC + (ns frontend-tests.tokens.style-dictionary-test (:require [app.common.transit :as tr] [app.common.types.tokens-lib :as ctob] - [app.main.ui.workspace.tokens.style-dictionary :as sd] + [app.main.data.style-dictionary :as sd] [beicon.v2.core :as rx] [cljs.test :as t :include-macros true] [promesa.core :as p])) @@ -133,3 +139,29 @@ color.value tries to reference missing, which is not defined."))) (fn [err] (t/is (= :error.import/style-dictionary-reference-errors (:error/code (ex-data err)))) (done)))))))) + +(t/deftest single-set-legacy-json-decoding + (let [decode-single-set-legacy-json #'sd/decode-single-set-legacy-json + json {"color" {"red" {"100" {"value" "red" + "type" "color" + "description" ""}}}} + lib (decode-single-set-legacy-json (ctob/ensure-tokens-lib nil) "single_set" json) + get-set-token (fn [set-name token-name] + (some-> (ctob/get-set lib set-name) + (ctob/get-token token-name)))] + (t/is (= '("single_set") (ctob/get-ordered-set-names lib))) + (t/testing "token added" + (t/is (some? (get-set-token "single_set" "color.red.100")))))) + +(t/deftest single-set-dtcg-json-decoding + (let [decode-single-set-json #'sd/decode-single-set-json + json (-> {"color" {"red" {"100" {"$value" "red" + "$type" "color" + "$description" ""}}}}) + lib (decode-single-set-json (ctob/ensure-tokens-lib nil) "single_set" json) + get-set-token (fn [set-name token-name] + (some-> (ctob/get-set lib set-name) + (ctob/get-token token-name)))] + (t/is (= '("single_set") (ctob/get-ordered-set-names lib))) + (t/testing "token added" + (t/is (some? (get-set-token "single_set" "color.red.100")))))) diff --git a/frontend/translations/af.po b/frontend/translations/af.po index 7efb227dc6..aa638fba3b 100644 --- a/frontend/translations/af.po +++ b/frontend/translations/af.po @@ -34,13 +34,13 @@ msgstr "Skep demo rekening" msgid "auth.create-demo-profile" msgstr "Wil jy dit net probeer?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Dit is 'n DEMO-diens, MOENIE vir werklike werk gebruik nie, die projekte " "sal periodiek uitgevee word." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Wagwoord vergeet?" @@ -52,27 +52,27 @@ msgstr "Volle naam" msgid "auth.login-here" msgstr "Meld hier aan" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Meld aan" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -98,7 +98,7 @@ msgstr "Wagwoordherwinningskakel na jou inkassie gestuur." msgid "auth.notifications.team-invitation-accepted" msgstr "Het suksesvol by die span aangesluit" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Wagwoord" @@ -126,11 +126,11 @@ msgstr "Wagwoord vergeet?" msgid "auth.recovery-submit" msgstr "Verander jou wagwoord" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Nog nie 'n rekening nie?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Skep 'n rekening" @@ -143,7 +143,7 @@ msgstr "Skep 'n rekening" msgid "auth.sidebar-tagline" msgstr "Die oopbron-oplossing vir ontwerp en prototipering." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Diensbepalings" @@ -162,7 +162,7 @@ msgstr "Ons het 'n verifikasie-e-pos aan gestuur" msgid "branding-illustrations-marketing-pieces" msgstr "...handelsmerk, illustrasies, bemarkingsstukke, ens." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publiseer" @@ -234,7 +234,7 @@ msgstr "Deel prototipes" msgid "common.share-link.view-all" msgstr "Kies Alles" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Depubliseer" @@ -281,7 +281,7 @@ msgstr "Koppelvlak Deurloop" msgid "dashboard.access-tokens.copied-success" msgstr "Token gekopieer" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Genereer nuwe token" @@ -289,11 +289,11 @@ msgstr "Genereer nuwe token" msgid "dashboard.access-tokens.create.success" msgstr "Toegangstoken is suksesvol geskep." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Druk die knoppie \"Genereer nuwe token\" om een te genereer." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Jy het tot dusver geen tokens nie." @@ -317,23 +317,23 @@ msgstr "90 dae" msgid "dashboard.access-tokens.expiration-never" msgstr "Nooit" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Het verval op %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Verval op %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Geen verval datum nie" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Persoonlike toegangstokens" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Persoonlike toegangtokens funksioneer soos 'n alternatief vir ons " @@ -356,7 +356,7 @@ msgstr "Voeg by as Gedeelde Biblioteek" msgid "dashboard.change-email" msgstr "Verander e-pos" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopieer)" diff --git a/frontend/translations/ar.po b/frontend/translations/ar.po index 1928764b8f..12fb8644f1 100644 --- a/frontend/translations/ar.po +++ b/frontend/translations/ar.po @@ -33,11 +33,11 @@ msgstr "إنشاء حساب تجريبي" msgid "auth.create-demo-profile" msgstr "ترغب في التجربة فحسب؟" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "هذه خدمة تجريبية ، لا تستخدمها للعمل الحقيقي ، سيتم مسح المشاريع بشكل دوري." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "هل نسيت كلمة السر؟" @@ -45,7 +45,7 @@ msgstr "هل نسيت كلمة السر؟" msgid "auth.fullname" msgstr "الاسم الكامل" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "قم بتسجيل الدخول إلى حسابي" @@ -53,31 +53,31 @@ msgstr "قم بتسجيل الدخول إلى حسابي" msgid "auth.login-here" msgstr "تسجيل الدخول هنا" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "تسجيل الدخول" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "Penpot هو أداة تصميم مجانية ومفتوحة المصدر للتعاون بين التصميم والبرمجة" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "Github" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "Gitlabسجل دخولك عن طريق" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "جوجل" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAPسجل دخولك عن طريق" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID سجل دخولك عن طريق" @@ -101,7 +101,7 @@ msgstr "تم إرسال رمز الاسترداد لاستعادة كلمة ال msgid "auth.notifications.team-invitation-accepted" msgstr "تم الانضمام إلى الفريق بنجاح" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "كلمه السر" @@ -129,11 +129,11 @@ msgstr "نسيت كلمة المرور؟" msgid "auth.recovery-submit" msgstr "تغيير كلمة المرور" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "لا تملك حساب بعد؟" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "إنشاء حساب" @@ -146,7 +146,7 @@ msgstr "إنشاء حساب" msgid "auth.sidebar-tagline" msgstr "الحل (مفتوح المصدر) للتصميم والنمذجة." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "شروط الخدمة" @@ -163,7 +163,7 @@ msgstr "لقد أرسلنا رسالة تحقق إلى بريدك الالكتر msgid "branding-illustrations-marketing-pieces" msgstr "...علامة تجارية، رسوم توضيحية، قطع تسويقية، إلخ." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "أنشر" @@ -239,7 +239,7 @@ msgstr "مشاركة النماذج" msgid "common.share-link.view-all" msgstr "اختر الكل" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "إلغاء النشر" @@ -289,7 +289,7 @@ msgstr "جولة في الواجهة" msgid "dashboard.access-tokens.copied-success" msgstr "الرمز منسوخ" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "قم بإنشاء رمز جديد" @@ -297,7 +297,7 @@ msgstr "قم بإنشاء رمز جديد" msgid "dashboard.access-tokens.create.success" msgstr "تم إنشاء رمز الوصول بنجاح." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "اضغط على الزر \"إنشاء رمز جديد\" لإنشاء واحد." @@ -309,7 +309,7 @@ msgstr "أضف كمكتبة مشتركة" msgid "dashboard.change-email" msgstr "تغيير البريد الإلكتروني" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(نسخة)" @@ -427,19 +427,19 @@ msgstr "تضمين أصول المكتبة المشتركة في مكتبات ا msgid "dashboard.export.title" msgstr "صدر الملفات" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "الخط محذوف" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "الغاء الكل" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "لا يزال ليس لديك خطوط مخصصة مثبتة." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "لم يتم إضافة أي خط" @@ -449,7 +449,7 @@ msgstr[3] "عدد قليل من الخطوط المضافة" msgstr[4] "تمت إضافة العديد من الخطوط" msgstr[5] "" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -458,20 +458,19 @@ msgstr "" "عائلة الخطوط على أنها ** عائلة خط واحدة **. يمكنك تحميل الخطوط بالتنسيقات " "التالية: ** TTF و OTF و WOFF ** (ستحتاج إلى تنسيق واحد فقط)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "يجب عليك فقط تحميل الخطوط التي تمتلكها أو لديك ترخيص لاستخدامها في Penpot. " -"اكتشف المزيد في قسم حقوق المحتوى في [شروط خدمة Penpot] " -"(%s). قد ترغب أيضًا في القراءة عن [ترخيص الخطوط] " -"(2)." +"اكتشف المزيد في قسم حقوق المحتوى في [شروط خدمة Penpot] (%s). قد ترغب أيضًا " +"في القراءة عن [ترخيص الخطوط] (2)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "حمل الكل" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -481,7 +480,7 @@ msgstr "" "، نوصي باستخدام [Transfonter] (https://transfonter.org/) لإنشاء خطوط الويب " "وإصلاح الأخطاء. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "استيراد ملفات" @@ -493,11 +492,11 @@ msgstr "لم نستطع استيراد أو إدراج هذا الملف" msgid "dashboard.import.import-error" msgstr "حصل خلل خلال إدراج الملف. لم يتم إدراج الملف على البرنامج." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "%s ملف تم ادراجهم بنجاح." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "تحتوي بعض الملفات على كائنات غير صالحة تمت إزالتها." @@ -537,27 +536,27 @@ msgstr "قم بدعوة للفريق" msgid "dashboard.leave-team" msgstr "ترك الفريق" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "المكتبات & القوالب" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "استعرض المزيد منهم وتعلم كيف تساهم" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "حدثت مشكلة في استيراد النموذج. لم يتم استيراد النموذج." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "المكتبات المشتركة" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "تحميل ملفاتك …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "جاري تحميل الخطوط …" @@ -573,11 +572,11 @@ msgstr "أنقل %s الملفات إلى" msgid "dashboard.move-to-other-team" msgstr "الانتقال إلى فريق آخر" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ ملف جديد" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "ملف جديد" @@ -585,7 +584,7 @@ msgstr "ملف جديد" msgid "dashboard.new-project" msgstr "+ مشروع جديد" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "مشروع جديد" @@ -617,7 +616,7 @@ msgstr "%s الأعضاء" msgid "dashboard.open-in-new-tab" msgstr "فتح ملف في علامة تبويب جديدة" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "الخيارات" @@ -662,7 +661,7 @@ msgstr "حدد لغة واجهة المستخدم" msgid "dashboard.select-ui-theme" msgstr "اختر نمطا" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "إظهار كافة الملفات" @@ -682,7 +681,7 @@ msgstr "تم تكرار ملفك بنجاح" msgid "dashboard.success-duplicate-project" msgstr "تم نسخ مشروعك بنجاح" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "تم نقل ملفك بنجاح" @@ -754,7 +753,7 @@ msgstr "البريد الالكتروني" msgid "dashboard.your-name" msgstr "اسمك" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Penpot الخاص بك" @@ -770,11 +769,11 @@ msgstr "إنتباه" msgid "ds.component-subtitle" msgstr "عناصر سيتم تحديثها:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "إلغاء الأمر" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "حسنا" @@ -782,7 +781,7 @@ msgstr "حسنا" msgid "ds.confirm-title" msgstr "هل أنت متأكد؟" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "موفر المصادقة غير معد ومسجل." @@ -790,15 +789,15 @@ msgstr "موفر المصادقة غير معد ومسجل." msgid "errors.auth.unable-to-login" msgstr "يبدوا أنك غير مصرح لك أو أن الجلسة إنتهت." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "تعذر تحميل الخط٪ s" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "تعذر تحميل الخطوط٪ s" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "لا يمكن للمتصفح إجراء هذه العملية" @@ -810,7 +809,7 @@ msgstr "البريد الإلكتروني مستخدم بالفعل" msgid "errors.email-already-validated" msgstr "متم التحقق من صحة البريد الإلكتروني" -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "لا يمكنك استخدام بريدك الإلكتروني ككلمة مرور" @@ -832,7 +831,7 @@ msgstr "" msgid "errors.feature-not-supported" msgstr "الميزة '٪ s' غير مدعومة." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "حدث خطأ ما." @@ -845,8 +844,7 @@ msgstr "لون غير صالح" msgid "errors.invalid-email" msgstr "أدخل بريدًا إلكترونيًا صالحًا من فضلك" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "يجب أن يتطابق البريد الإلكتروني للتأكيد" @@ -862,7 +860,7 @@ msgstr "دعوة غير صالحة" msgid "errors.invite-invalid.info" msgstr "هذه الدعوة قد تلغى أو قد تنتهي." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "تم تعطيل مصادقة LDAP." @@ -894,7 +892,7 @@ msgstr "يجب أن تتطابق كلمة مرور التأكيد" msgid "errors.password-too-short" msgstr "يجب ألا تقل كلمة المرور عن 8 أحرف" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "هذا الملف الشخصي محظور" @@ -948,12 +946,11 @@ msgstr "خطأ غير متوقع في التحقق" msgid "errors.webhooks.unexpected-status" msgstr "حالة غير متوقعة٪ s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "يبدو أن اسم المستخدم أو كلمة المرور خاطئة." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "كلمة المرور القديمة غير صحيحة" @@ -999,11 +996,11 @@ msgstr "هنا للمساعدة في استفساراتك التقنية." msgid "feedback.twitter-title" msgstr "رد عنوان تويتر" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "حدث خطأ" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "الضبابية" @@ -1011,31 +1008,31 @@ msgstr "الضبابية" msgid "inspect.attributes.blur.value" msgstr "تفتيش قيمة الطمس" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "تفتيش صفات اللون" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLAتتفتيش صفات اللون" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBAفتش اللون" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "املأ" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "تحميل صورة المصدر" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "ارتفاع" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "عرض" @@ -1074,11 +1071,11 @@ msgstr "أعلى" msgid "inspect.attributes.layout.width" msgstr "عرض" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "ظلل" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "لون الحدّ" @@ -1115,127 +1112,127 @@ msgstr "صلب" msgid "inspect.attributes.stroke.width" msgstr "عرض" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "صياغة الحروف" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "عائلة الخط" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "حجم الخط" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "نوع الخط" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "وزن الخط" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "تباعد الحروف" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "ارتفاع الخط" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "زخرفة النص" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "لا شئ" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "يتوسطه خط" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "مسطر" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "تغيير النص" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "أحرف صغيرة" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "لا شئ" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "حالة العنوان" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "الأحرف الكبيرة" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "إذا كنت تريد معرفة المزيد عن فحص التصميم ، فتفضل بزيارة مركز مساعدة لPenpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "شفرة" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "دائرة" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "مكون" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "منحنى" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "لوح الرسم" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "مجموعة" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "صورة" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "قناع" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s محدد" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "مسار" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "رباعي" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "نص" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "معلومات" @@ -1247,7 +1244,7 @@ msgstr "الاختصارات" msgid "labels.accept" msgstr "إقبل" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "إضافة خط مخصص" @@ -1255,7 +1252,7 @@ msgstr "إضافة خط مخصص" msgid "labels.admin" msgstr "مشرف" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "الكل" @@ -1277,19 +1274,19 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "مدخل خاطأ" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "الغاء" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "غلق" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "تعليقات" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "مجتمع" @@ -1297,7 +1294,7 @@ msgstr "مجتمع" msgid "labels.confirm-password" msgstr "تأكيد كلمة المرور" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "استمر" @@ -1309,7 +1306,7 @@ msgstr "تابع مع" msgid "labels.continue-with-penpot" msgstr "يمكنك المتابعة مع حساب Penpot" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "انشاء" @@ -1329,15 +1326,15 @@ msgstr "خطوط مخصصة" msgid "labels.dashboard" msgstr "لوحة التحكم" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "حذف" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "حذف التعليق" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "حذف موضوع" @@ -1349,11 +1346,11 @@ msgstr "حذف الدعوة" msgid "labels.delete-multi-files" msgstr "حذف %s ملفات" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "المسودات" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "تعديل" @@ -1369,7 +1366,7 @@ msgstr "محرر" msgid "labels.expired-invitation" msgstr "منتهي الصلاحية" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "استخراج" @@ -1381,7 +1378,7 @@ msgstr "تعطيل الملاحظات" msgid "labels.feedback-sent" msgstr "تم إرسال الملاحظات" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "عائلة الخط" @@ -1389,19 +1386,19 @@ msgstr "عائلة الخط" msgid "labels.font-providers" msgstr "موفري الخط" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "الأنماط" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "الخطوط" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "مستودع Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "إعطاء ملاحظات" @@ -1409,15 +1406,15 @@ msgstr "إعطاء ملاحظات" msgid "labels.go-back" msgstr "الرجوع للخلف" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "مركز المساعدة" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "إخفاء التعليقات التي تم حلها" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "الخطوط المتوفرة" @@ -1437,7 +1434,7 @@ msgstr "الدعوات" msgid "labels.language" msgstr "اللغة" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "المكتبات والقوالب" @@ -1445,7 +1442,7 @@ msgstr "المكتبات والقوالب" msgid "labels.log-or-sign" msgstr "تسجيل الدخول أو الاشتراك" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "تسجيل خروج" @@ -1461,7 +1458,7 @@ msgstr "الأعضاء" msgid "labels.new-password" msgstr "كلمة مرور جديدة" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "ليس لديك أي إشعارات تعليق معلقة" @@ -1483,7 +1480,7 @@ msgstr "قد لا تكون هذه الصفحة موجودة أو ليس لديك msgid "labels.not-found.main-message" msgstr "عفواً!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "0 ملف" @@ -1546,7 +1543,7 @@ msgstr "الملف الشخصي" msgid "labels.projects" msgstr "المشاريع" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "ملاحظات الإصدار" @@ -1559,7 +1556,7 @@ msgstr "إزالة" msgid "labels.remove-member" msgstr "إزالة العضو" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "اعاده تسميه" @@ -1579,11 +1576,11 @@ msgstr "أعد المحاولة" msgid "labels.role" msgstr "دور" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "حفظ" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "البحث عن الخط" @@ -1615,15 +1612,15 @@ msgstr "مشاركة النموذج الأولي" msgid "labels.shared-libraries" msgstr "المكتبات المشتركة" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "إظهار كافة التعليقات" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "قائمة التعليقات" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "إظهار تعليقاتك فقط" @@ -1631,7 +1628,7 @@ msgstr "إظهار تعليقاتك فقط" msgid "labels.status" msgstr "الحالة" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "الدروس" @@ -1643,15 +1640,15 @@ msgstr "تحديث" msgid "labels.update-team" msgstr "تحديث الفريق" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "رفع" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "تحميل الخطوط المخصصة" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "جارٍ الرفع …" @@ -1659,7 +1656,7 @@ msgstr "جارٍ الرفع …" msgid "labels.viewer" msgstr "مشاهد" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "كتابة تعليق جديد" @@ -1667,7 +1664,7 @@ msgstr "كتابة تعليق جديد" msgid "labels.you" msgstr "(أنت)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "حسابك" @@ -1729,17 +1726,17 @@ msgstr "بحذف حسابك، ستفقد جميع مشاريعك وأرشيفا msgid "modals.delete-account.title" msgstr "هل انت متأكد انك تريد حذف حسابك؟" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "حذف المحادثة" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "هل أنت متأكد أنك تريد حذف هذه المحادثة؟ سيتم حذف جميع التعليقات في هذا " "الموضوع." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "حذف المحادثة" @@ -1767,29 +1764,29 @@ msgstr "هل تريد بالتأكيد حذف %s من الملفات؟" msgid "modals.delete-file-multi-confirm.title" msgstr "حذف %s الملفات" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "هل أنت متأكد أنك تريد حذف نمط هذا الخط؟ لن يتم تحميله إذا تم استخدامه في " "ملف." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "حذف نمط الخط" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "هل أنت متأكد أنك تريد حذف هذا الخط؟ لن يتم تحميله إذا تم استخدامه في ملف." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "حذف الخط" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "هل أنت متأكد أنك تريد حذف هذه الصفحة؟" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "حذف الصفحة" @@ -1944,21 +1941,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "تحديث المكونات في مكتبة مشتركة" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "تحديث المكون" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "إلغاﺀ" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "أنت على وشك تحديث مكون في مكتبة مشتركة. قد يؤثر هذا على الملفات الأخرى التي " "تستخدمها." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "تحديث المكون في المكتبة المشتركة" @@ -2060,15 +2057,15 @@ msgstr "دعوة مع الدور:" msgid "onboarding.newsletter.accept" msgstr "نعم ، اشترك" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "تم إرسال طلب الاشتراك الخاص بك ، وسوف نرسل لك بريدًا إلكترونيًا لتأكيده." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "سياسة الخصوصية." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "هل تريد تلقي أخبار Penpot؟" @@ -2118,7 +2115,7 @@ msgstr "Penpotأهلا بك في" msgid "profile.recovery.go-to-login" msgstr "اذهب إلى تسجيل الدخول" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "مكرر" @@ -2288,7 +2285,7 @@ msgstr "أضف جديد" msgid "shortcuts.cut" msgstr "إقطع" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "تصغير" @@ -2380,7 +2377,7 @@ msgstr "وزع أفقيًا" msgid "shortcuts.hide-ui" msgstr "إظهار / إخفاء واجهة المستخدم" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "تكبير" @@ -2568,15 +2565,15 @@ msgstr "كبر المحدد" msgid "title.dashboard.files" msgstr "%s - Penpotعنوان ملفات لوحة القيادة" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "مزودي أسلوب الخط - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "أسلوب خط لوحة القيادة - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "برامج ملفات القيادة - %s - Penpot" @@ -2584,7 +2581,7 @@ msgstr "برامج ملفات القيادة - %s - Penpot" msgid "title.dashboard.search" msgstr "البحث - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "المكاتب المقسمة - %s - Penpot" @@ -2592,7 +2589,7 @@ msgstr "المكاتب المقسمة - %s - Penpot" msgid "title.default" msgstr "Penpot - صمم حرية الفرق" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "رموز الوصول للحساب" @@ -2632,7 +2629,7 @@ msgstr "خطافات الويب - %s - Penpot" msgid "title.viewer" msgstr "%s -أسلوب العرض - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s -مساحة العمل Penpot" @@ -2738,15 +2735,15 @@ msgstr "محاذاة أعلى (%s)" msgid "workspace.assets.assets" msgstr "أصول" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "كل الأصول" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "الألوان" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "عناصر" @@ -2758,15 +2755,15 @@ msgstr "إيجاد مجموعة" msgid "workspace.assets.create-group-hint" msgstr "\"ستسمى عناصرك تلقائيا ك\"اسم مجموعة\" \"اسم عنصر" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "امسح" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "انسخ" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "انسخ الأصل" @@ -2774,11 +2771,11 @@ msgstr "انسخ الأصل" msgid "workspace.assets.edit" msgstr "التحرير" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "رسومات" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "مجموعة" @@ -2786,23 +2783,19 @@ msgstr "مجموعة" msgid "workspace.assets.group-name" msgstr "اسم المجموعة" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "المكتبات" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "المكتبة المحلية" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "الأصل غير موجود" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "افتح ملف المكتب" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "إعادة تسمية" @@ -2810,7 +2803,7 @@ msgstr "إعادة تسمية" msgid "workspace.assets.rename-group" msgstr "إعادة تسمية المجموعة" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "الخث عن أصل" @@ -2830,7 +2823,7 @@ msgstr[5] "" msgid "workspace.assets.shared-library" msgstr "مكتبة مشتركة" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "الطباعة" @@ -2839,27 +2832,27 @@ msgstr "الطباعة" msgid "workspace.assets.typography.font-id" msgstr "أسلوب الخط" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "الحجم" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "البديل" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "اذهب إلى تحرير نوع ملف المكتبة" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "تباعد الحروف" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "طول الخط" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "أسلوب خط النص" @@ -2867,7 +2860,7 @@ msgstr "أسلوب خط النص" msgid "workspace.assets.typography.text-styles" msgstr "أسلوب خط النص" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "تحويل النص" @@ -2879,11 +2872,11 @@ msgstr "فك التجميع" msgid "workspace.focus.focus-mode" msgstr "وضع التركيز" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "تعطيل التركيز" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "تشغيل التركيز" @@ -3013,33 +3006,32 @@ msgstr "أظهر لوخة أسلوب الخط" msgid "workspace.header.menu.undo" msgstr "الإلغاء" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "إعادة ضبط" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "خطأ في حفظ الملف" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "تم الحفظ" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "حفظ الملف" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "تغييرات غير محفوظة" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "وضع العرض (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "تكبير" @@ -3051,7 +3043,7 @@ msgstr "مقياس الملأ" msgid "workspace.header.zoom-fit" msgstr "تقليص المقياس للتناسب" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "التكبير لتناسب الجميع" @@ -3059,7 +3051,7 @@ msgstr "التكبير لتناسب الجميع" msgid "workspace.header.zoom-full-screen" msgstr "تكبير الشاشة" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "تكبير" @@ -3072,7 +3064,7 @@ msgstr "تحرير التشبيك" msgid "workspace.libraries.add" msgstr "الإضافة" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s الألوان" @@ -3102,31 +3094,31 @@ msgstr "الألوان المؤخرة" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB مكملات" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "حفظ أسلوب اللون" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s العناصر" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "مكتبة الملف" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s الرسومات" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "المكتبات في هذا الملف" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "المكتبات" @@ -3135,51 +3127,47 @@ msgstr "المكتبات" msgid "workspace.libraries.library" msgstr "المكتبة" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "تحديث المكتبة" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "لا يوجد مكتبات مشتركة تحتاج إلى تحديث" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "لا يوجد ما يطابق هذا “%s“" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "لا يوجد مكتبات مشتركة" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "البحث في المكتبات المشتركة" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "مكتبات مشتركة" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "كتابات عديدة" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "إلغاء روابط كل الكتابات" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s الكتابات" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "التحديث" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "رؤية جميع التغييرات" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "التحديثات" @@ -3199,35 +3187,35 @@ msgstr "تطميس المجموعة" msgid "workspace.options.blur-options.title.multiple" msgstr "تطميس المحدد" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "خلفية اللوحة القماشية" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "محتوى المقطع" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "العنصر" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "حاشية" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "النسخ" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "إنشاء حاشية" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "تحرير حاشية" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "أصل" @@ -3275,7 +3263,7 @@ msgstr "أعلى و أسفل" msgid "workspace.options.design" msgstr "تصميم" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "تصدير" @@ -3284,7 +3272,7 @@ msgstr "تصدير" msgid "workspace.options.export-multiple" msgstr "تحديد المصدر" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "لاحقة" @@ -3292,7 +3280,7 @@ msgstr "لاحقة" msgid "workspace.options.exporting-complete" msgstr "تم التصدير" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "جاري التصدير…" @@ -3422,7 +3410,7 @@ msgstr "ملأ المجموعة" msgid "workspace.options.group-stroke" msgstr "ضرب المجموعة" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "طول" @@ -3732,19 +3720,19 @@ msgstr "الطبقات المحددة" msgid "workspace.options.layout-item.advanced-ops" msgstr "خيارات متقدمة" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "أقصى ارتفاع" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "أقصى عرض" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "الحد الأدنو للارتفاع" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "الحد الأدنى للعرض" @@ -3858,11 +3846,11 @@ msgstr "التباعد بين" msgid "workspace.options.layout.top" msgstr "أعلى" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "المزيد من الألوان" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "المزيد من ألوان المكتبة" @@ -3899,7 +3887,7 @@ msgstr "أعلى الشمال" msgid "workspace.options.radius-top-right" msgstr "أعلى اليمين" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "مؤخر" @@ -3907,11 +3895,11 @@ msgstr "مؤخر" msgid "workspace.options.retry" msgstr "أعد المحاولة" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "دوران" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "البخث عن نوع الخط" @@ -3919,7 +3907,7 @@ msgstr "البخث عن نوع الخط" msgid "workspace.options.select-a-shape" msgstr "اختر الشكل أو اللوحة لجر الإتصال الى لوحة أو شكل آخر" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "الألوان المختارة" @@ -3931,43 +3919,43 @@ msgstr "اختر نوع الملأ" msgid "workspace.options.selection-stroke" msgstr "ضرب الإختيار" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "تطميس" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "لون الظل" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "إسقاط الظل" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "التظليل الداخلي" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "الانتشار" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "الظل" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "ظل المجموعة" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "ظلال الإختيار" @@ -3975,7 +3963,7 @@ msgstr "ظلال الإختيار" msgid "workspace.options.show-fill-on-export" msgstr "أظهر في المصدر" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "أظهر في وضع العرض" @@ -3983,7 +3971,7 @@ msgstr "أظهر في وضع العرض" msgid "workspace.options.size" msgstr "مقاس" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "الإعدادات المسبقة للحجم" @@ -4052,7 +4040,7 @@ msgstr "المثلث" msgid "workspace.options.stroke-color" msgstr "لون الضرب" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "عرض الضرب" @@ -4116,11 +4104,11 @@ msgstr "العرض التلقائي" msgid "workspace.options.text-options.grow-fixed" msgstr "مثبت" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "تباعد الحروف" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "ارتفاع الخط" @@ -4184,15 +4172,15 @@ msgstr "الأحرف الكبيرة" msgid "workspace.options.use-play-button" msgstr "استعمل زر التشغيل أعلاه لتشغيل منظر النموذج المبدئي." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "عرض" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X محور" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y محور" @@ -4236,99 +4224,99 @@ msgstr "فصل العقد (%s)" msgid "workspace.path.actions.snap-nodes" msgstr "كسر العقد (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "إضافة تخطيط الثني" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "إضافة تخطيط التشبيك" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "أرسل الى الخلف" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "أرسل الى الخلف" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "انسخ" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "إنشاء تعليق توضيحي" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "تحديد محتوى اللوحة" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "إنشاء نعصر" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "إنشاء عناصر جديدة" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "قطع" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "حذف" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "حذف المخطط" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "فصل المثال" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "فصل الامثلة" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "الفارق" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "ينسخ" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "تحرير" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "استبعاد" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "تسطيح" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Flip horizontal" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "التوجيه الرئسي" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "بداية المخطط" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "النقل الى الأمام" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "النقل الى الأمام" @@ -4337,91 +4325,91 @@ msgstr "النقل الى الأمام" msgid "workspace.shape.menu.go-main" msgstr "انتقل الى ملف العنصر الأصلي" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "مجموعة" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "إخفاء" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "أظهر أو إخف UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "التفاعلات" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "إغلاق" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "قناع" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "معجون" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "طريق" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "إزالة تخطيط المنحنى" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "إعادة ضبط التجاوزات" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "استعادة العنصر الرئيسي" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "اختيار الطبقة" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "العرض" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "العرض في لوحة الاصول" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "أظهر المكون الرئيسي" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "أطهر الصورة المصغرة" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "تعيين كصورة مصغرة" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "تحويل الى المسار" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "فك التجميع" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "اتحاد" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "الغاء القفل" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "كشف القناع" @@ -4430,7 +4418,7 @@ msgstr "كشف القناع" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "تحديث العناصر الرئيسية" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "تحديث العنصر الرئيسي" @@ -4442,11 +4430,11 @@ msgstr "انهيار الشريط الجانبي" msgid "workspace.sidebar.expand" msgstr "توسيع الشريط الجانبي" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "التاريخ" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "الطبقات" @@ -4478,7 +4466,7 @@ msgstr "بسومات" msgid "workspace.sidebar.layers.texts" msgstr "نصوص" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "السمات المستوردةSVG" @@ -4486,11 +4474,11 @@ msgstr "السمات المستوردةSVG" msgid "workspace.sidebar.sitemap" msgstr "صفحات" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "خريطة الموقع" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "أصول" @@ -4498,35 +4486,35 @@ msgstr "أصول" msgid "workspace.toolbar.color-palette" msgstr "لوحة اللون (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "تعليقات (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "منحنى (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "الشكل البيضاوي (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "لوحة (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "صورة (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "تحريك (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "مسار (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "مستطيل (%s)" @@ -4535,7 +4523,7 @@ msgstr "مستطيل (%s)" msgid "workspace.toolbar.shortcuts" msgstr "الإختصار (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "نص (%s)" @@ -4692,19 +4680,19 @@ msgstr "انتهت العملية %s" msgid "workspace.undo.title" msgstr "تاريخ" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "رفض" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "مزيد من المعلومات" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "يوجد تحديثات في المكتبة المشتركة" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "تحديث" diff --git a/frontend/translations/bn.po b/frontend/translations/bn.po index 41ebc8f9e1..57032a8517 100644 --- a/frontend/translations/bn.po +++ b/frontend/translations/bn.po @@ -29,13 +29,13 @@ msgstr "পাসওয়ার্ড নিশ্চিত করুন" msgid "auth.create-demo-account" msgstr "ডেমো অ্যাকাউন্ট তৈরী করুন" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "এটি একটি ডেমো সার্ভিস। প্রয়োজনীয় কোনো কাজে ব্যবহার করবেন না। কিছু সময় পর " "প্রজেক্টগুলো মুছে ফেলা হবে।" -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "পাসওয়ার্ড ভুলে গেছেন?" @@ -47,27 +47,27 @@ msgstr "পুরো নাম" msgid "auth.login-here" msgstr "এখানে লগিন করুন" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "লগিন" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "গিটহাব" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "গিটল্যাব" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "গুগল" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "ওপেনআইডি" diff --git a/frontend/translations/ca.po b/frontend/translations/ca.po index ee9cbd35f4..f7706d45a2 100644 --- a/frontend/translations/ca.po +++ b/frontend/translations/ca.po @@ -38,13 +38,13 @@ msgstr "Creeu un compte de prova" msgid "auth.create-demo-profile" msgstr "Ho voleu provar?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Aquest és un servei de PROVA. NO L'UTILITZEU en treballs reals, ja que els " "projectes s'eliminaran periòdicament." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Heu oblidat la contrasenya?" @@ -56,27 +56,27 @@ msgstr "Nom complet" msgid "auth.login-here" msgstr "Inicieu la sessió aquí." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Entra" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -100,7 +100,7 @@ msgstr "S'ha enviat un enllaç de recuperació de contrasenya al vostre correu." msgid "auth.notifications.team-invitation-accepted" msgstr "Us heu unit a l'equip correctament" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Contrasenya" @@ -128,11 +128,11 @@ msgstr "Heu oblidat la contrasenya?" msgid "auth.recovery-submit" msgstr "Canvieu la contrasenya" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "No teniu un compte?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Creeu un compte" @@ -145,7 +145,7 @@ msgstr "Crea un compte" msgid "auth.sidebar-tagline" msgstr "La solució de codi obert per a dissenyar i prototipar." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Condicions del servei" @@ -153,7 +153,7 @@ msgstr "Condicions del servei" msgid "auth.verification-email-sent" msgstr "S'ha enviat un correu de verificació a" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publica" @@ -225,7 +225,7 @@ msgstr "Compartiu prototips" msgid "common.share-link.view-all" msgstr "Selecciona-ho tot" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Despublica" @@ -299,7 +299,7 @@ msgstr "Afegeix a la biblioteca compartida" msgid "dashboard.change-email" msgstr "Canvia el correu" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(còpia)" @@ -423,25 +423,25 @@ msgstr "" msgid "dashboard.export.title" msgstr "Exporta els fitxers" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "S'ha eliminat la tipografia" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Descarta-ho tot" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Encara no teniu cap tipografia personalitzada instal·lada." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "S'ha afegit 1 tipografia" msgstr[1] "S'han afegit %s tipografies" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -451,21 +451,21 @@ msgstr "" "sola família tipogràfica**. Podeu pujar tipografies en aquests formats: " "**TTF, OTF i WOFF** (només en cal un)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Només podeu pujar tipografies de la vostra propietat o de les que tingueu " "una llicència que us permeti utilitzar-los al Penpot. Teniu més informació " "a la secció de drets de contingut de les [Condicions del servei del " -"Penpot](%s). També podeu llegir sobre les " -"[llicències de les tipografies](https://www.typography.com/faq)." +"Penpot](%s). També podeu llegir sobre les [llicències de les " +"tipografies](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Puja-ho tot" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importa fitxers de Penpot" @@ -477,11 +477,11 @@ msgstr "Vaja! No s'ha pogut importar aquest fitxer" msgid "dashboard.import.import-error" msgstr "S'ha produït un problema en importar el fitxer i no s'ha importat." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "S'han importat %s fitxers correctament." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Alguns fitxers contenen objectes no vàlids que s'han eliminat." @@ -521,29 +521,29 @@ msgstr "Convida a l'equip" msgid "dashboard.leave-team" msgstr "Abandona l'equip" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Biblioteques i plantilles" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Explora'n més i coneix com contribuir-hi" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "" "Hi ha hagut un problema en importar la plantilla. La plantilla no s'ha " "importat." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Biblioteques compartides" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "S'estan carregant els fitxers…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "s'estan carregant les tipografies…" @@ -559,11 +559,11 @@ msgstr "Mou %s fitxers a" msgid "dashboard.move-to-other-team" msgstr "Mou a un altre equip" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Fitxer nou" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Fitxer nou" @@ -571,7 +571,7 @@ msgstr "Fitxer nou" msgid "dashboard.new-project" msgstr "+ Crea un projecte" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Crea un projecte" @@ -603,7 +603,7 @@ msgstr "%s membres" msgid "dashboard.open-in-new-tab" msgstr "Obre el fitxer en una pestanya nova" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opcions" @@ -648,7 +648,7 @@ msgstr "Selecciona la llengua de la interfície" msgid "dashboard.select-ui-theme" msgstr "Selecciona un tema" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Mostra tots els fitxers" @@ -668,7 +668,7 @@ msgstr "S'ha duplicat el fitxer" msgid "dashboard.success-duplicate-project" msgstr "S'ha eliminat el projecte" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "S'ha mogut el fitxer" @@ -724,7 +724,7 @@ msgstr "Correu electrònic" msgid "dashboard.your-name" msgstr "Nom" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "El meu Penpot" @@ -740,11 +740,11 @@ msgstr "Atenció" msgid "ds.component-subtitle" msgstr "Components a actualitzar:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Cancel·la" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "D'acord" @@ -752,7 +752,7 @@ msgstr "D'acord" msgid "ds.confirm-title" msgstr "N'esteu segur?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "L'autenticació del proveïdor no està configurada." @@ -760,7 +760,7 @@ msgstr "L'autenticació del proveïdor no està configurada." msgid "errors.auth.unable-to-login" msgstr "Sembla que no esteu autenticat o que la sessió ha caducat." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "El vostre navegador no pot fer aquesta operació" @@ -772,7 +772,7 @@ msgstr "Aquest correu ja està en ús" msgid "errors.email-already-validated" msgstr "Aquest correu ja està validat." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "No podeu fer servir l'adreça de correu com a contrasenya" @@ -784,7 +784,7 @@ msgstr "El correu «%s» té molts informes de retorn permanents." msgid "errors.email-spam-or-permanent-bounces" msgstr "El correu «%s» s'ha marcat com a brossa o rebot permanent." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Alguna cosa ha anat malament." @@ -792,8 +792,7 @@ msgstr "Alguna cosa ha anat malament." msgid "errors.invalid-color" msgstr "El color no és vàlid" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "El correu de confirmació ha de coincidir" @@ -809,7 +808,7 @@ msgstr "Invitació no vàlida" msgid "errors.invite-invalid.info" msgstr "Aquesta invitació pot estar cancel·lada o caducada." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "L'autenticació LDAP està inhabilitada." @@ -843,7 +842,7 @@ msgstr "La contrasenya de confirmació ha de coincidir" msgid "errors.password-too-short" msgstr "La contrasenya ha de tenir 8 caràcters com a mínim" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "El perfil està bloquejat" @@ -881,12 +880,11 @@ msgstr "S'ha produït un error inesperat." msgid "errors.unexpected-token" msgstr "Token desconegut" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "El nom d'usuari o la contrasenya sembla incorrecte." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "La contrasenya anterior no és correcta" @@ -933,11 +931,11 @@ msgstr "Compte per a ajudar amb dubtes tècnics." msgid "feedback.twitter-title" msgstr "Compte de X d'ajuda" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "S'ha produït un error" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Difuminat" @@ -945,31 +943,31 @@ msgstr "Difuminat" msgid "inspect.attributes.blur.value" msgstr "Valor" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Emplenat" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Baixa la imatge original" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Alçada" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Amplada" @@ -1008,11 +1006,11 @@ msgstr "Superior" msgid "inspect.attributes.layout.width" msgstr "Amplada" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Ombra" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Traç" @@ -1049,119 +1047,119 @@ msgstr "Sòlid" msgid "inspect.attributes.stroke.width" msgstr "Amplada" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografia" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Família tipogràfica" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Mida de la lletra" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Estil de la lletra" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Espaiat de la lletra" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Alçada de la línia" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Decoració del text" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Cap" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Barrat" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Subratllat" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformació del text" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Minúscules" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Cap" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Inicials en majúscules" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Majúscules" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Codi" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Cercle" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Component" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Corba" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Tauler" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grup" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Imatge" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Màscara" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s seleccionats" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Camí" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rectangle" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Text" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Informació" @@ -1173,7 +1171,7 @@ msgstr "Dreceres" msgid "labels.accept" msgstr "Acceptar" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Afegeix tipografia" @@ -1181,7 +1179,7 @@ msgstr "Afegeix tipografia" msgid "labels.admin" msgstr "Administració" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Tots" @@ -1203,19 +1201,19 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Error del servidor (Bad Gateway)" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Cancel·la" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Tanca" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Comentaris" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Comunitat" @@ -1223,7 +1221,7 @@ msgstr "Comunitat" msgid "labels.confirm-password" msgstr "Confirmeu la contrasenya" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Continua" @@ -1239,7 +1237,7 @@ msgstr "Podeu continuar amb un compte de Penpot" msgid "labels.copy-invitation-link" msgstr "Copia l'enllaç" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Crea" @@ -1259,15 +1257,15 @@ msgstr "Tipografies personalitzades" msgid "labels.dashboard" msgstr "Tauler" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Elimina" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Elimina el comentari" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Elimina el fil" @@ -1279,11 +1277,11 @@ msgstr "Esborra invitació" msgid "labels.delete-multi-files" msgstr "Elimina %s fitxers" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Esborranys" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Edita" @@ -1299,7 +1297,7 @@ msgstr "Editor" msgid "labels.expired-invitation" msgstr "Ha caducat" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exporta" @@ -1311,7 +1309,7 @@ msgstr "Opinions desactivades" msgid "labels.feedback-sent" msgstr "S'ha enviat l'opinió" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Família tipogràfica" @@ -1319,19 +1317,19 @@ msgstr "Família tipogràfica" msgid "labels.font-providers" msgstr "Proveïdors de tipografies" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Estils" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Tipografies" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Repositori Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Envia opinions" @@ -1339,15 +1337,15 @@ msgstr "Envia opinions" msgid "labels.go-back" msgstr "Enrere" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Centre d'ajuda" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Amaga els comentaris resolts" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Tipografies instal·lades" @@ -1369,7 +1367,7 @@ msgstr "Invitacions" msgid "labels.language" msgstr "Llengua" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Biblioteques i plantilles" @@ -1377,7 +1375,7 @@ msgstr "Biblioteques i plantilles" msgid "labels.log-or-sign" msgstr "Inicia sessió o registra'm" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Tanca la sessió" @@ -1393,7 +1391,7 @@ msgstr "Membres" msgid "labels.new-password" msgstr "Contrasenya nova" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "No teniu notificacions de comentaris pendents" @@ -1419,7 +1417,7 @@ msgstr "" msgid "labels.not-found.main-message" msgstr "Vaja!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 fitxer" @@ -1470,7 +1468,7 @@ msgstr "Perfil" msgid "labels.projects" msgstr "Projectes" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Notes de la versió" @@ -1488,7 +1486,7 @@ msgstr "Elimina" msgid "labels.remove-member" msgstr "Elimina membre" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Canvia el nom" @@ -1508,15 +1506,15 @@ msgstr "Tornar a intentar-ho" msgid "labels.role" msgstr "Rol" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Desa" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Cerca" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Cerca tipografia" @@ -1552,15 +1550,15 @@ msgstr "Comparteix prototip" msgid "labels.shared-libraries" msgstr "Biblioteques compartides" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Mostra tots els comentaris" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Mostra la llista de comentaris" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Mostra només els meus comentaris" @@ -1568,7 +1566,7 @@ msgstr "Mostra només els meus comentaris" msgid "labels.status" msgstr "Estat" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutorials" @@ -1580,15 +1578,15 @@ msgstr "Actualitza" msgid "labels.update-team" msgstr "Actualitza l'equip" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Puja" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Pugeu tipografies personalitzades" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "S'està pujant…" @@ -1600,7 +1598,7 @@ msgstr "Només lectura" msgid "labels.viewer" msgstr "Visor" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Escriu un comentari nou" @@ -1608,11 +1606,11 @@ msgstr "Escriu un comentari nou" msgid "labels.you" msgstr "(jo)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "El meu compte" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Imatge" @@ -1681,17 +1679,17 @@ msgstr "Si suprimiu el compte, perdreu tots els vostres projectes i arxius actua msgid "modals.delete-account.title" msgstr "Segur que voleu eliminar el compte?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Elimina la conversa" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Segur que voleu eliminar aquesta conversa? S'eliminaran tots els comentaris " "del fil." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Elimina la conversa" @@ -1719,31 +1717,31 @@ msgstr "Segur que voleu eliminar %s fitxers?" msgid "modals.delete-file-multi-confirm.title" msgstr "S'estan eliminant %s fitxers" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Segur que voleu eliminar aquest estil de lletra? No es carregarà si " "s'utilitza en un fitxer." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "S'està eliminant l'estil de tipografia" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Segur que voleu eliminar aquesta tipografia? No es carregarà si s'utilitza " "en un fitxer." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "S'està eliminant la tipografia" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Segur que voleu eliminar la pàgina?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Elimina la pàgina" @@ -1883,7 +1881,7 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Ascendeix a propietari" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publica" @@ -1920,21 +1918,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Actualitza els components en una biblioteca compartida" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Actualitza" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Cancel·la" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Esteu a punt d'actualitzar un component d'una biblioteca compartida. Això " "pot afectar altres fitxers que l'usen." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Actualitza un component en una biblioteca compartida" @@ -1980,17 +1978,17 @@ msgstr "Convida membres" msgid "onboarding.newsletter.accept" msgstr "Sí, subscriu-m'hi" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "S'ha enviat la sol·licitud de subscripció. Us enviarem un correu electrònic " "per confirmar-ho." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Política de privacitat." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Voleu rebre les novetats de Penpot?" @@ -2014,7 +2012,7 @@ msgstr "Penpot" msgid "profile.recovery.go-to-login" msgstr "Vés a l'inici de sessió" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Mixt" @@ -2184,7 +2182,7 @@ msgstr "Crea nou" msgid "shortcuts.cut" msgstr "Retalla" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Disminueix el zoom" @@ -2276,7 +2274,7 @@ msgstr "Distribueix horitzontalment" msgid "shortcuts.hide-ui" msgstr "Mostra/Amaga la interfície" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Amplia" @@ -2560,15 +2558,15 @@ msgstr "Amplia a la selecció" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Proveïdors de tipografies - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Tipografies - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projectes - %s - Penpot" @@ -2576,7 +2574,7 @@ msgstr "Projectes - %s - Penpot" msgid "title.dashboard.search" msgstr "Cerca - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Biblioteques compartides - %s - Penpot" @@ -2616,7 +2614,7 @@ msgstr "Configuració - %s - Penpot" msgid "title.viewer" msgstr "%s - Visor - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -2713,15 +2711,15 @@ msgstr "Alinea la part superior (%s)" msgid "workspace.assets.assets" msgstr "Recursos" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Tots els recursos" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Colors" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Components" @@ -2735,11 +2733,11 @@ msgstr "" "Els elements s'anomenaran automàticament com a \"nom del grup / nom de " "l'element\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Elimina" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplica" @@ -2747,11 +2745,11 @@ msgstr "Duplica" msgid "workspace.assets.edit" msgstr "Edita" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Gràfics" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Agrupa" @@ -2759,19 +2757,15 @@ msgstr "Agrupa" msgid "workspace.assets.group-name" msgstr "Nom del grup" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Biblioteques" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "llibreria local" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "No s'han trobat recursos" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Canvia el nom" @@ -2779,7 +2773,7 @@ msgstr "Canvia el nom" msgid "workspace.assets.rename-group" msgstr "Canvia el nom del grup" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Cerca recursos" @@ -2790,7 +2784,7 @@ msgid_plural "workspace.assets.selected-count" msgstr[0] "%s element seleccionat" msgstr[1] "%s elements seleccionats" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Tipografies" @@ -2799,31 +2793,31 @@ msgstr "Tipografies" msgid "workspace.assets.typography.font-id" msgstr "Tipografia" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Mida" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variant" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Vés al fitxer de la biblioteca d'estils per a editar-lo" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Espaiat de la lletra" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Alçada de la línia" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transforma el text" @@ -2835,11 +2829,11 @@ msgstr "Desagrupa" msgid "workspace.focus.focus-mode" msgstr "Mode d'enfocament" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Enfocament apagat" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Enfocament actiu" @@ -2973,29 +2967,28 @@ msgstr "Canvia al mode clar" msgid "workspace.header.menu.undo" msgstr "Desfés" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Restableix" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "S'ha produït un error en desar" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Desat" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "S'està desant" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Canvis sense desar" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Visor (%s)" @@ -3007,7 +3000,7 @@ msgstr "Emplena - Amplia per a omplir" msgid "workspace.header.zoom-fit" msgstr "Ajusta - Redueix per a encaixar" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Apropa per a omplir-ho tot" @@ -3015,7 +3008,7 @@ msgstr "Apropa per a omplir-ho tot" msgid "workspace.header.zoom-full-screen" msgstr "Pantalla completa" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Apropa la selecció" @@ -3028,7 +3021,7 @@ msgstr "Fet" msgid "workspace.libraries.add" msgstr "Afegeix" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s colors" @@ -3050,31 +3043,31 @@ msgstr "Colors recents" msgid "workspace.libraries.colors.rgb-complementary" msgstr "Complementari d'RGB" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Desa l'estil de color" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s components" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Biblioteca del fitxer" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s gràfics" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTEQUES EN AQUEST FITXER" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTEQUES" @@ -3083,43 +3076,39 @@ msgstr "BIBLIOTEQUES" msgid "workspace.libraries.library" msgstr "BIBLIOTECA" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "No hi ha biblioteques compartides pendents d'actualitzar" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "No s'ha trobat cap coincidència per a “%s“" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "No hi ha biblioteques compartides disponibles" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Cerca biblioteques compartides" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "BIBLIOTEQUES COMPARTIDES" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Diverses tipografies" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Desvincula totes les tipografies" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s tipografies" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Actualitza" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "ACTUALITZACIONS" @@ -3139,15 +3128,15 @@ msgstr "Difuminat del grup" msgid "workspace.options.blur-options.title.multiple" msgstr "Difuminat de selecció" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Fons del llenç" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Trunca el contingut" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Component" @@ -3195,7 +3184,7 @@ msgstr "Superior i inferior" msgid "workspace.options.design" msgstr "Disseny" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exporta" @@ -3204,11 +3193,11 @@ msgstr "Exporta" msgid "workspace.options.export-multiple" msgstr "Exporta la selecció" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgstr "Exporta 1 element" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Sufix" @@ -3216,7 +3205,7 @@ msgstr "Sufix" msgid "workspace.options.exporting-complete" msgstr "Exportació completa" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "S'està exportant…" @@ -3346,7 +3335,7 @@ msgstr "Emplenament del grup" msgid "workspace.options.group-stroke" msgstr "Traç del grup" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Altura" @@ -3728,11 +3717,11 @@ msgstr "espaiat" msgid "workspace.options.layout.top" msgstr "Dalt" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Més colors" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Més llibreries de colors" @@ -3769,7 +3758,7 @@ msgstr "Superior esquerra" msgid "workspace.options.radius-top-right" msgstr "Superior dreta" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Recent" @@ -3777,11 +3766,11 @@ msgstr "Recent" msgid "workspace.options.retry" msgstr "Torna-ho a provar" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotació" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Cerca tipografia" @@ -3791,7 +3780,7 @@ msgstr "" "Seleccioneu una forma, un tauler o un grup per a arrossegar una connexió a " "un altre tauler." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Colors seleccionats" @@ -3803,43 +3792,43 @@ msgstr "Emplenament de selecció" msgid "workspace.options.selection-stroke" msgstr "Traç de la selecció" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Difuminat" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Color de l'ombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Ombra caiguda" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Ombra interior" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Difusió" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Ombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Ombra del grup" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Ombres de selecció" @@ -3847,7 +3836,7 @@ msgstr "Ombres de selecció" msgid "workspace.options.show-fill-on-export" msgstr "Mostra en l'exportació" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Mostra al visor" @@ -3855,7 +3844,7 @@ msgstr "Mostra al visor" msgid "workspace.options.size" msgstr "Mida" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Mides predefinides" @@ -3904,7 +3893,7 @@ msgstr "Fletxa triangular" msgid "workspace.options.stroke-color" msgstr "Color del traç" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Ample del traç" @@ -3968,11 +3957,11 @@ msgstr "Ample automàtic" msgid "workspace.options.text-options.grow-fixed" msgstr "Fix" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Espaiat de la lletra" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Alçada de la línia" @@ -4038,15 +4027,15 @@ msgstr "" "Utilitzeu el botó de «play» de la capçalera per a executar la vista de " "prototip." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Ample" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y" @@ -4098,87 +4087,87 @@ msgstr "Obre" msgid "workspace.plugins.install" msgstr "Instal·la" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Envia-ho al fons" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Envia-ho darrere" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Copia" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Selecciona al tauler" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Crea un component" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Crea components múltiples" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Retalla" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Elimina" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Elimina l'inici del flux" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Desconnecta la instància" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Desenganxa les instàncies" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Diferència" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplica" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Edita" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Exclou" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Aplana" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Volteja horitzontalment" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Volteja verticalment" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Inici del flux" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Porta-ho endavant" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Porta-ho a primer pla" @@ -4187,79 +4176,79 @@ msgstr "Porta-ho a primer pla" msgid "workspace.shape.menu.go-main" msgstr "Vés al fitxer del component principal" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Agrupa" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Amaga" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Mostra/Amaga la interfície" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Intersecció" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Bloca" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Màscara" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Enganxa" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Camí" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Desfés les modificacions" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Selecciona la capa" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Mostra" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Vés al component principal" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Elimina la miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Estableix com a miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transforma en camí" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Desagrupa" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Unió" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Desbloca" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Desemmascara" @@ -4268,15 +4257,15 @@ msgstr "Desemmascara" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Actualitza els components principals" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Actualitza el component principal" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Historial" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Capes" @@ -4312,7 +4301,7 @@ msgstr "Formes" msgid "workspace.sidebar.layers.texts" msgstr "Textos" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Atributs SVG importats" @@ -4320,11 +4309,11 @@ msgstr "Atributs SVG importats" msgid "workspace.sidebar.sitemap" msgstr "Pàgines" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Mapa del lloc" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Recursos" @@ -4332,35 +4321,35 @@ msgstr "Recursos" msgid "workspace.toolbar.color-palette" msgstr "Paleta de colors (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Comentaris (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Corba (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "El·lipse (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Tauler (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Imatge (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Mou (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Camí (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rectangle (%s)" @@ -4369,7 +4358,7 @@ msgstr "Rectangle (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Dreceres (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Text (%s)" @@ -4531,15 +4520,15 @@ msgstr "Operació sobre %s" msgid "workspace.undo.title" msgstr "Historial" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Descarta" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Hi ha actualitzacions a les biblioteques compartides" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Actualitza" diff --git a/frontend/translations/cs.po b/frontend/translations/cs.po index ebf3b792aa..a74450b597 100644 --- a/frontend/translations/cs.po +++ b/frontend/translations/cs.po @@ -1,15 +1,15 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-01-29 22:23+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Czech \n" +"Language-Team: Czech " +"\n" "Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -38,13 +38,13 @@ msgstr "Vytvořit demo účet" msgid "auth.create-demo-profile" msgstr "Chcete si to jen vyzkoušet?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Toto je DEMO služba, NEPOUŽÍVEJTE ji pro skutečnou práci, projekty budou " "pravidelně mazány." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Zapomněli jste heslo?" @@ -52,7 +52,7 @@ msgstr "Zapomněli jste heslo?" msgid "auth.fullname" msgstr "Jméno a příjmení" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Přihlásit se do mého účtu" @@ -60,33 +60,33 @@ msgstr "Přihlásit se do mého účtu" msgid "auth.login-here" msgstr "Přihlaste se zde." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Přihlásit se" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot je bezplatný open-source návrhářský nástroj pro spolupráci v oblasti " "designu a kódu" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -110,7 +110,7 @@ msgstr "Odkaz na obnovení hesla byl zaslán na váš e-mail." msgid "auth.notifications.team-invitation-accepted" msgstr "Připojení k týmu proběhlo úspěšně" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Heslo" @@ -138,19 +138,19 @@ msgstr "Zapomněli jste heslo?" msgid "auth.recovery-submit" msgstr "Změnit heslo" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Ještě nemáte účet?" #: src/app/main/ui/auth/register.cljs:254 msgid "auth.register-account-tagline" -msgstr "Dejte nám vědět, jak bychom vám měli říkat." +msgstr "Řekněte nám, jak bychom vám měli říkat." #: src/app/main/ui/auth/register.cljs:253 msgid "auth.register-account-title" msgstr "Vaše jméno" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Vytvořit účet" @@ -175,7 +175,7 @@ msgstr "Open source řešení pro design a prototypování." msgid "auth.terms-and-privacy-agreement" msgstr "Souhlasím se [smluvními podmínkami](%s) a [zásadami ochrany soukromí](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Všeobecné podmínky poskytování služeb" @@ -189,7 +189,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Ověřovací e-mail jsme odeslali na adresu" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Pracovní email" @@ -198,7 +198,11 @@ msgstr "Pracovní email" msgid "branding-illustrations-marketing-pieces" msgstr "...branding, ilustrace, marketing atd." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/comments.cljs:532 +msgid "comments.mentions.not-found" +msgstr "Pro @%s nebyli nalezeni žádní lidé" + +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Zveřejnit" @@ -271,7 +275,7 @@ msgstr "Sdílet prototypy" msgid "common.share-link.view-all" msgstr "Vybrat vše" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Zrušit zveřejnění" @@ -323,7 +327,7 @@ msgstr "Průvodce rozhraním" msgid "dashboard.access-tokens.copied-success" msgstr "Zkopírovaný token" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Generovat nový token" @@ -331,11 +335,11 @@ msgstr "Generovat nový token" msgid "dashboard.access-tokens.create.success" msgstr "Přístupový token byl úspěšně vytvořen." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Pro vygenerování nového tokenu stiskněte tlačítko \"Generovat nový token\"." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Zatím nemáte žádné tokeny." @@ -359,23 +363,23 @@ msgstr "90 dní" msgid "dashboard.access-tokens.expiration-never" msgstr "Nikdy" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Platnost vypršela %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Platnost vyprší %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Žádné datum vypršení platnosti" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Osobní přístupové tokeny" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Osobní přístupové tokeny fungují jako alternativa k našemu systému " @@ -390,6 +394,10 @@ msgstr "Platnost tokenu vyprší %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "Token nemá žádné datum vypršení platnosti" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Přidat soubor" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Přidat jako sdílenou knihovnu" @@ -398,7 +406,7 @@ msgstr "Přidat jako sdílenou knihovnu" msgid "dashboard.change-email" msgstr "Změnit e-mail" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(zkopírovat)" @@ -434,23 +442,23 @@ msgstr "Duplikovat" msgid "dashboard.duplicate-multi" msgstr "Duplikovat %s soubory" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Jakmile člen projektu vytvoří koncept, zobrazí se zde." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Zatím žádné koncepty." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Jakmile člen projektu vytvoří soubor, zobrazí se zde." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Zatím žádné soubory." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -464,11 +472,11 @@ msgstr "" "Zde se zobrazí knihovny přidané do projektu. Zkuste své soubory sdílet nebo " "je přidat z [Knihovny a šablony](https://penpot.app/libraries-templates)." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Zde se zobrazí knihovny přidané do projektu." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Zatím žádné knihovny." @@ -562,34 +570,34 @@ msgstr "Zahrnout sdílené položky knihovny do knihoven souborů" msgid "dashboard.export.title" msgstr "Exportovat soubory" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Písmo odstraněno" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Odmítnout vše" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Stále nemáte nainstalované žádné vlastní písma." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "Zatím žádná vlastní písma." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "Jakmile člen projektu nahraje vlastní písmo, zobrazí se zde." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "Přidáno 1 písmo" msgstr[1] "%s písma přidány" msgstr[2] "%s písem přidáno" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -599,21 +607,20 @@ msgstr "" "Můžete nahrávat písma v následujících formátech: **TTF, OTF a WOFF** (bude " "potřeba pouze jeden)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Měli byste nahrávat pouze písma, která vlastníte nebo máte licenci k " "použití v Penpotu. Další informace najdete v části Obsahová práva " -"[smluvních podmínek společnosti Penpot](%s). " -"Můžete si také přečíst o [licencování " -"písem](https://www.typography.com/faq)." +"[smluvních podmínek společnosti Penpot](%s). Můžete si také přečíst o " +"[licencování písem](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Nahrát vše" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -624,7 +631,7 @@ msgstr "" "[Transfonter](https://transfonter.org/) ke generování webových písem a " "opravě chyb. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importovat Penpot soubory" @@ -636,21 +643,33 @@ msgstr "Ups! Tento soubor se nepodařilo importovat" msgid "dashboard.import.analyze-error.components-v2" msgstr "Soubor s aktivovanými komponentami v2, ale tento tým je zatím nepodporuje." +#: src/app/main/ui/dashboard.cljs:247 +msgid "dashboard.import.bad-url" +msgstr "Import se nezdařil. Adresa URL šablony je nesprávná" + +#: src/app/main/ui/dashboard.cljs:241 +msgid "dashboard.import.error" +msgstr "Import se nezdařil. Zkuste to prosím znovu" + #: src/app/main/ui/dashboard/import.cljs:292 msgid "dashboard.import.import-error" msgstr "Při importu souboru došlo k problému. Soubor nebyl importován." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 soubor byl úspěšně importován." msgstr[1] "%s soubory byly úspěšně importovány." msgstr[2] "%s souborů bylo úspěšně importováno." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Některé soubory obsahovaly neplatné objekty, které byly odstraněny." +#: src/app/main/ui/dashboard.cljs:248 +msgid "dashboard.import.no-perms" +msgstr "Nemáte oprávnění k importu do tohoto týmu" + #: src/app/main/ui/dashboard/import.cljs:129 msgid "dashboard.import.progress.process-colors" msgstr "Zpracovávání barev" @@ -687,27 +706,27 @@ msgstr "Pozvat do týmu" msgid "dashboard.leave-team" msgstr "Odejít z týmu" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Knihovny a šablony" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Prozkoumejte je víc a zjistěte, jak přispět" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Při importu šablony došlo k problému. Šablona nebyla importována." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Knihovny" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "načítání vašich souborů …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "načítání vašich písem …" @@ -723,11 +742,11 @@ msgstr "Přesunout soubory %s do" msgid "dashboard.move-to-other-team" msgstr "Přesunout do jiného týmu" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Nový soubor" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Nový soubor" @@ -735,7 +754,7 @@ msgstr "Nový soubor" msgid "dashboard.new-project" msgstr "+ Nový projekt" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nový projekt" @@ -747,7 +766,7 @@ msgstr "Nebyly nalezeny žádné shody pro “%s“" msgid "dashboard.no-projects-placeholder" msgstr "Připnuté projekty se zobrazí zde" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Oznámení" @@ -759,6 +778,10 @@ msgstr "Vaše e-mailová adresa byla úspěšně aktualizována" msgid "dashboard.notifications.email-verified-successfully" msgstr "Vaše e-mailová adresa byla úspěšně ověřena" +#: src/app/main/data/profile.cljs:260 +msgid "dashboard.notifications.notifications-saved" +msgstr "Nastavení oznámení bylo aktualizováno" + #: src/app/main/ui/settings/password.cljs:36 msgid "dashboard.notifications.password-saved" msgstr "Heslo bylo úspěšně uloženo!" @@ -775,7 +798,7 @@ msgstr "Počet členů: %s" msgid "dashboard.open-in-new-tab" msgstr "Otevřít soubor na nové kartě" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Možnosti" @@ -803,6 +826,18 @@ msgstr "Nyní jste v tomto týmu divákem." msgid "dashboard.pin-unpin" msgstr "Připnout/Odepnout" +#: src/app/main/ui/dashboard.cljs:208 +msgid "dashboard.plugins.bad-url" +msgstr "Adresa URL pluginu je nesprávná" + +#: src/app/main/ui/dashboard.cljs:206 +msgid "dashboard.plugins.parse-error" +msgstr "Manifest pluginu nelze analyzovat" + +#: src/app/main/ui/dashboard.cljs:169 +msgid "dashboard.plugins.try-plugin" +msgstr "Zkuste plugin: " + #: src/app/main/ui/dashboard/projects.cljs:55 msgid "dashboard.projects-title" msgstr "Projekty" @@ -840,7 +875,67 @@ msgstr "Vybrat jazyk uživatelského rozhraní" msgid "dashboard.select-ui-theme" msgstr "Vyberte téma" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/settings/notifications.cljs:57 +msgid "dashboard.settings.notifications.dashboard-comments.all" +msgstr "Všechny komentáře, zmínky a odpovědi" + +#: src/app/main/ui/settings/notifications.cljs:59 +msgid "dashboard.settings.notifications.dashboard-comments.none" +msgstr "Žádné" + +#: src/app/main/ui/settings/notifications.cljs:58 +msgid "dashboard.settings.notifications.dashboard-comments.partial" +msgstr "Pouze zmínky a odpovědi" + +#: src/app/main/ui/settings/notifications.cljs:54 +msgid "dashboard.settings.notifications.dashboard-comments.title" +msgstr "Komentáře k souboru" + +#: src/app/main/ui/settings/notifications.cljs:53 +msgid "dashboard.settings.notifications.dashboard.title" +msgstr "Oznámení na hlavním panelu" + +#: src/app/main/ui/settings/notifications.cljs:67 +msgid "dashboard.settings.notifications.email-comments.all" +msgstr "Všechny komentáře, zmínky a odpovědi" + +#: src/app/main/ui/settings/notifications.cljs:69 +msgid "dashboard.settings.notifications.email-comments.none" +msgstr "Žádné" + +#: src/app/main/ui/settings/notifications.cljs:68 +msgid "dashboard.settings.notifications.email-comments.partial" +msgstr "Pouze zmínky a odpovědi" + +#: src/app/main/ui/settings/notifications.cljs:64 +msgid "dashboard.settings.notifications.email-comments.title" +msgstr "Komentáře k souboru" + +#: src/app/main/ui/settings/notifications.cljs:76 +msgid "dashboard.settings.notifications.email-invites.all" +msgstr "Všechny typy pozvánek a žádostí" + +#: src/app/main/ui/settings/notifications.cljs:79 +msgid "dashboard.settings.notifications.email-invites.none" +msgstr "Žádné" + +#: src/app/main/ui/settings/notifications.cljs:73 +msgid "dashboard.settings.notifications.email-invites.title" +msgstr "Pozvánky a žádosti" + +#: src/app/main/ui/settings/notifications.cljs:63 +msgid "dashboard.settings.notifications.email.title" +msgstr "E-mailová upozornění" + +#: src/app/main/ui/settings/notifications.cljs:84 +msgid "dashboard.settings.notifications.submit" +msgstr "Aktualizovat nastavení" + +#: src/app/main/ui/settings/notifications.cljs:52 +msgid "dashboard.settings.notifications.title" +msgstr "Oznámení" + +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Zobrazit všechny soubory" @@ -870,7 +965,7 @@ msgstr[2] "Vaše soubory byly úspěšně duplikovány" msgid "dashboard.success-duplicate-project" msgstr "Váš projekt byl úspěšně duplikován" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Váš soubor byl úspěšně přesunut" @@ -914,15 +1009,15 @@ msgstr "Zrušit zveřejnění knihovny" msgid "dashboard.update-settings" msgstr "Aktualizovat nastavení" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "Kreativitě se meze nekladou" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Penpot Free" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "Power up" @@ -981,7 +1076,7 @@ msgstr "E-mail" msgid "dashboard.your-name" msgstr "Vaše jméno" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Váš Penpot" @@ -1001,11 +1096,11 @@ msgstr "Komponenty k aktualizaci:" msgid "ds.confirm-allow" msgstr "Povolit" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Zrušit" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "OK" @@ -1017,7 +1112,7 @@ msgstr "Jste si jisti?" msgid "errors.auth-provider-not-allowed" msgstr "Poskytovatel autorizace není pro tento profil povolen" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Zprostředkovatel ověřování není nakonfigurován." @@ -1025,11 +1120,11 @@ msgstr "Zprostředkovatel ověřování není nakonfigurován." msgid "errors.auth.unable-to-login" msgstr "Zdá se, že nejste ověřeni nebo platnost relace vypršela." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Písmo %s se nepodařilo načíst" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Písma %s se nepodařilo načíst" @@ -1037,7 +1132,7 @@ msgstr "Písma %s se nepodařilo načíst" msgid "errors.cannot-upload" msgstr "Nelze nahrát soubor médií." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Váš prohlížeč tuto operaci nedokáže provést" @@ -1049,7 +1144,7 @@ msgstr "Již použitá e-mailová adresa" msgid "errors.email-already-validated" msgstr "E-mail byl již ověřen." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Jako heslo nelze použít váš e-mail" @@ -1096,7 +1191,7 @@ msgstr "" "který se pokoušíte otevřít. Před otevřením souboru je třeba provést migraci " "pro '%s'." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Něco se pokazilo." @@ -1109,8 +1204,7 @@ msgstr "Chybná barva" msgid "errors.invalid-email" msgstr "Zadejte prosím platný email" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Potvrzovací e-mail se musí shodovat" @@ -1126,7 +1220,7 @@ msgstr "Neplatná pozvánka" msgid "errors.invite-invalid.info" msgstr "Tato pozvánka byla pravděpodobně zrušena nebo vypršela její platnost." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Ověřování LDAP je vypnuto." @@ -1158,6 +1252,10 @@ msgstr "" "Profil, který zvete, má ztlumené e-maily (zprávy o spamu nebo vysoké " "nedoručitelnosti)." +#: src/app/main/errors.cljs:228 +msgid "errors.migration-in-progress" +msgstr "Probíhá migrace" + #: src/app/main/ui/settings/password.cljs #, unused msgid "errors.password-invalid-confirmation" @@ -1172,7 +1270,7 @@ msgstr "Heslo by mělo mít nejméně 8 znaků" msgid "errors.paste-data-validation" msgstr "Neplatná data ve schránce" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Profil je zablokován" @@ -1246,12 +1344,11 @@ msgstr "Při ověřování došlo k neočekávané chybě" msgid "errors.webhooks.unexpected-status" msgstr "Neočekávaný stav %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Uživatelské jméno nebo heslo se zdá být chybné." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Staré heslo je nesprávné" @@ -1299,11 +1396,11 @@ msgstr "Zde vám pomůžeme s vašimi technickými dotazy." msgid "feedback.twitter-title" msgstr "Účet podpory na X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Došlo k chybě" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Rozostření" @@ -1311,31 +1408,31 @@ msgstr "Rozostření" msgid "inspect.attributes.blur.value" msgstr "Hodnota" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Výplň" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Stáhnout zdrojový obrázek" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Výška" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Šířka" @@ -1374,15 +1471,15 @@ msgstr "Nahoře" msgid "inspect.attributes.layout.width" msgstr "Šířka" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Stín" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Velikost a pozice" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Obrys" @@ -1419,143 +1516,143 @@ msgstr "Plná" msgid "inspect.attributes.stroke.width" msgstr "Šířka" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Typografie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Rodina písem" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Velikost písma" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Styl písma" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Tloušťka písma" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Mezery mezi písmeny" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Výška řádku" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Dekorace textu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Žádná" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Přeškrtnutí" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Podtržení" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformace textu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Malá písmena" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Žádná" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "První písmena velká" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Nenastaveno" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Velká písmena" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Pokud se chcete dozvědět více o inspektorovi designu, navštivte centrum " "nápovědy společnosti Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Více informací o inspektorovi" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Vyberte tvar, tabuli nebo skupinu, abyste mohli zkontrolovat jejich " "vlastnosti a kód" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kód" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Kruh" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Komponent" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Křivka" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Tabule" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Skupina" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Obrázek" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Maska" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s vybráno" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Cesta" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Obdélník" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Text" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Informace" @@ -1575,15 +1672,15 @@ msgstr "Přístupové tokeny" msgid "labels.active" msgstr "Aktivní" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Přidat" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Přidat vlastní písmo" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Přidávání..." @@ -1595,7 +1692,7 @@ msgstr "Správce" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Vše" @@ -1617,7 +1714,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Špatná brána" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Zrušit" @@ -1625,27 +1722,27 @@ msgstr "Zrušit" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Zavřít" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Sbalit" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Komentář" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Označit jako vyřešené" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Komentáře" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Komunita" @@ -1653,7 +1750,7 @@ msgstr "Komunita" msgid "labels.confirm-password" msgstr "Potvrďte heslo" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Pokračovat" @@ -1673,7 +1770,7 @@ msgstr "Kopírovat odkaz" msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Vytvořit" @@ -1693,15 +1790,15 @@ msgstr "Vlastní písma" msgid "labels.dashboard" msgstr "Menu" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Smazat" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Smazat komentář" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Smazat vlákno" @@ -1721,15 +1818,15 @@ msgstr "Vývojář" msgid "labels.director" msgstr "Ředitel" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Zahodit" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Pracovní verze" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Upravit" @@ -1749,7 +1846,7 @@ msgstr "Událost" msgid "labels.expired-invitation" msgstr "Platnost vypršela" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exportovat" @@ -1765,7 +1862,7 @@ msgstr "Zpětná vazba byla odeslána" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Rodina písem" @@ -1773,11 +1870,11 @@ msgstr "Rodina písem" msgid "labels.font-providers" msgstr "Poskytovatelé písem" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Styly" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Písma" @@ -1789,11 +1886,11 @@ msgstr "Zakladatel / viceprezident" msgid "labels.freelancer" msgstr "Jsem freelancer" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Úložiště Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Poslat zpětnou vazbu" @@ -1805,19 +1902,23 @@ msgstr "Jít zpět" msgid "labels.graphic-design" msgstr "Grafický design" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Centrum nápovědy" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Skrýt vyřešené komentáře" +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 +msgid "labels.import" +msgstr "Import" + #: src/app/main/ui/dashboard/team.cljs:1018 msgid "labels.inactive" msgstr "Neaktivní" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Nainstalovaná písma" @@ -1843,11 +1944,11 @@ msgstr "Pozvánky" msgid "labels.language" msgstr "Jazyk" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Knihovny a šablony" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Načítání…" @@ -1859,7 +1960,7 @@ msgstr "Přihlásit se ne registrovat" msgid "labels.login" msgstr "Přihlášení" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Odhlásit se" @@ -1879,11 +1980,11 @@ msgstr "Členové" msgid "labels.new-password" msgstr "Nové heslo" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Další" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Vše je aktuální! Zde se zobrazí upozornění na nové komentáře." @@ -1907,7 +2008,11 @@ msgstr "Tato stránka možná neexistuje nebo k ní nemáte oprávnění k pří msgid "labels.not-found.main-message" msgstr "Ups!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/settings/sidebar.cljs:99 +msgid "labels.notifications" +msgstr "Oznámení" + +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 soubor" @@ -1941,7 +2046,7 @@ msgstr "Staré heslo" msgid "labels.only-yours" msgstr "Jen vaše" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Možnosti" @@ -1969,7 +2074,7 @@ msgstr "Heslo" msgid "labels.pending-invitation" msgstr "Nevyřízený" -#: src/app/main/ui/comments.cljs:657, src/app/main/ui/comments.cljs:690, src/app/main/ui/comments.cljs:759 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "Příspěvek" @@ -1993,7 +2098,7 @@ msgstr "Profil" msgid "labels.projects" msgstr "Projekty" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Poznámky k verzi" @@ -2011,7 +2116,7 @@ msgstr "Odstranit" msgid "labels.remove-member" msgstr "Odebrat člena" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Přejmenovat" @@ -2019,23 +2124,23 @@ msgstr "Přejmenovat" msgid "labels.rename-team" msgstr "Přejmenovat tým" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "odpovědi" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "nové odpovědi" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "odpověď" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "nová odpověď" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Odpověď" @@ -2055,15 +2160,15 @@ msgstr "Zkusit znovu" msgid "labels.role" msgstr "Role" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Uložit" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Hledat" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Hledat písmo" @@ -2087,7 +2192,7 @@ msgstr "Provádíme plánovanou údržbu našich systémů." msgid "labels.service-unavailable.main-message" msgstr "Služba je nedostupná" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "Sady" @@ -2107,15 +2212,19 @@ msgstr "Sdílet prototyp" msgid "labels.shared-libraries" msgstr "Knihovny" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Zobrazit všechny komentáře" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Zobrazit seznam komentářů" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 +msgid "labels.show-mentions" +msgstr "Zobrazit pouze vaše zmínky" + +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Zobrazit pouze vaše komentáře" @@ -2143,11 +2252,11 @@ msgstr "Vedoucí týmu" msgid "labels.team-member" msgstr "Člen týmu" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Motivy" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutoriály" @@ -2163,15 +2272,15 @@ msgstr "Aktualizovat" msgid "labels.update-team" msgstr "Aktualizovat tým" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Nahrát" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Nahrát vlastní písma" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Nahrávání…" @@ -2187,7 +2296,7 @@ msgstr "Prohlížeč" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Napsat nový komentář" @@ -2195,7 +2304,7 @@ msgstr "Napsat nový komentář" msgid "labels.you" msgstr "(vy)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Váš účet" @@ -2203,23 +2312,23 @@ msgstr "Váš účet" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Vyberte obrázek" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Přechod" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Obrázek" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "obr" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Zachovat poměr stran" @@ -2237,7 +2346,7 @@ msgstr "Načítání obrázku…" msgid "media.radial" msgstr "Radiální" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Plná" @@ -2288,7 +2397,7 @@ msgstr "Změnit e-mail" msgid "modals.change-email.title" msgstr "Změňte svůj e-mail" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Kopírovat token" @@ -2304,7 +2413,7 @@ msgstr "Jméno" msgid "modals.create-access-token.name.placeholder" msgstr "Název může pomoci zjistit, k čemu token slouží" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Vytvořit token" @@ -2328,15 +2437,15 @@ msgstr "Adresa URL datové části" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Smazat token" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Opravdu chcete tento token smazat?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Smazat token" @@ -2356,25 +2465,25 @@ msgstr "Odebráním účtu ztratíte všechny své aktuální projekty a archivy msgid "modals.delete-account.title" msgstr "Opravdu chcete smazat svůj účet?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Smazat konverzaci" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Opravdu chcete smazat tuto konverzaci? Všechny komentáře v tomto vláknu " "budou smazány." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Smazat konverzaci" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Opravdu chcete smazat tuto anotaci?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Smazat anotaci" @@ -2402,29 +2511,29 @@ msgstr "Opravdu chcete smazat soubory %s?" msgid "modals.delete-file-multi-confirm.title" msgstr "Mazání %s souborů" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Opravdu chcete smazat tento styl písma? Pokud je použit v souboru, nenačte " "se." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Odstranění stylu písma" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "Opravdu chcete smazat toto písmo? Pokud je použito v souboru, nenačte se." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Mazání písma" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Opravdu chcete smazat tuto stránku?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Smazat stránku" @@ -2649,15 +2758,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Nový majitel týmu" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publikovat" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Vaše knihovna je prázdná. Opravdu to chcete publikovat?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Publikovat prázdnou knihovnu" @@ -2715,21 +2824,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Aktualizujte komponenty ve sdílené knihovně" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Aktualizovat" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Zrušit" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Chystáte se aktualizovat komponentu ve sdílené knihovně. To může ovlivnit " "další soubory, které ji používají." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Aktualizovat komponentu ve sdílené knihovně" @@ -2887,27 +2996,27 @@ msgstr "Video tutoriály" msgid "onboarding-v2.before-start.title" msgstr "Než začnete" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Přihlaste se k odběru novinek Penpot a zůstaňte informováni o pokroku ve " "vývoji produktu." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "Zasílejte mi novinky o Penpot (příspěvky na blogu, videonávody, streamy...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Záleží nám na soukromí, zde si můžete přečíst naše " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Budeme vám posílat pouze relevantní e-maily. Z odběru se můžete kdykoli " "odhlásit pomocí odhlašovacího odkazu v kterémkoli z našich newsletterů." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Zasílejte mi aktualizace produktu (nové funkce, verze, opravy...)." @@ -3003,15 +3112,15 @@ msgstr "Později budete moci vytvořit tým." msgid "onboarding.newsletter.accept" msgstr "Ano, přihlásit se k odběru" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "Vaše žádost k odběru byla odeslána, zašleme vám e-mail pro potvrzení." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Zásady ochrany osobních údajů." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Chcete dostávat novinky Penpot?" @@ -3204,7 +3313,7 @@ msgstr "Přejít na přihlášení" msgid "settings.detach" msgstr "Odpojit" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Smíšený" @@ -3402,7 +3511,7 @@ msgstr "Vytvořit nový" msgid "shortcuts.cut" msgstr "Vyjmout" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Oddálit" @@ -3502,7 +3611,7 @@ msgstr "Rozložit vodorovně" msgid "shortcuts.hide-ui" msgstr "Zobrazit/skrýt uživatelské rozhraní" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Přiblížit" @@ -3886,15 +3995,15 @@ msgstr "Přiblížit vybrané" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Poskytovatelé písem - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Písma - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projekty - %s - Penpot" @@ -3902,7 +4011,7 @@ msgstr "Projekty - %s - Penpot" msgid "title.dashboard.search" msgstr "Hledat - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Sdílené knihovny - %s - Penpot" @@ -3910,7 +4019,7 @@ msgstr "Sdílené knihovny - %s - Penpot" msgid "title.default" msgstr "Penpot – Svoboda designu pro týmy" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profil – Přístupové tokeny" @@ -3918,6 +4027,10 @@ msgstr "Profil – Přístupové tokeny" msgid "title.settings.feedback" msgstr "Poskytněte zpětnou vazbu – Penpot" +#: src/app/main/ui/settings/notifications.cljs:45 +msgid "title.settings.notifications" +msgstr "Upozornění – Penpot" + #: src/app/main/ui/settings/options.cljs:76 msgid "title.settings.options" msgstr "Nastavení - Penpot" @@ -3950,7 +4063,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - Režim zobrazení - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -4048,7 +4161,7 @@ msgstr "Rozmístit vertikální mezery (%s)" msgid "workspace.align.vtop" msgstr "Zarovnat nahoru (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Přidat knihovnu" @@ -4057,11 +4170,11 @@ msgstr "Přidat knihovnu" msgid "workspace.assets.assets" msgstr "Podklady" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Všechny podklady" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Barvy" @@ -4069,11 +4182,11 @@ msgstr "Barvy" msgid "workspace.assets.colors.add-color" msgstr "Přidat barvu" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Komponenty" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Přidat komponent" @@ -4087,15 +4200,15 @@ msgstr "" "Vaše položky budou automaticky pojmenovány jako „název skupiny / název " "položky“" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Delete" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplikovat" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Duplikovat hlavní" @@ -4103,19 +4216,19 @@ msgstr "Duplikovat hlavní" msgid "workspace.assets.edit" msgstr "Upravit" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filtr" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafika" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Zobrazení mřížky" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Skupina" @@ -4123,27 +4236,23 @@ msgstr "Skupina" msgid "workspace.assets.group-name" msgstr "Název skupiny" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Knihovny" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Zobrazení seznamu" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "místní knihovna" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Nebyly nalezeny žádné podklady" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Otevřete soubor knihovny" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Přejmenovat" @@ -4151,7 +4260,7 @@ msgstr "Přejmenovat" msgid "workspace.assets.rename-group" msgstr "Přejmenovat skupinu" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Hledat v podkladech" @@ -4168,18 +4277,18 @@ msgstr[2] "Počet vybraných položek: %s" msgid "workspace.assets.shared-library" msgstr "Sdílená knihovna" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 komponenta" msgstr[1] "%s komponenty" msgstr[2] "%s komponent" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Seřadit" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Typografie" @@ -4192,27 +4301,27 @@ msgstr "Přidat typografii" msgid "workspace.assets.typography.font-id" msgstr "Písmo" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Velikost" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Varianta" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Chcete-li upravit, přejděte do souboru knihovny stylů" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Mezery mezi písmeny" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Výška řádku" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4220,7 +4329,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Styly textu" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transformace textu" @@ -4228,55 +4337,55 @@ msgstr "Transformace textu" msgid "workspace.assets.ungroup" msgstr "Zrušit seskupení" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Vytvořit oblast" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Vytvořit tabuli" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Sloučit buňky" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Přidat 1 sloupec vpravo" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Přidat 1 sloupec vlevo" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Smazat sloupec" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Smazat sloupec a tvary" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Duplikovat sloupec" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Přidat 1 řádek níže" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Přidat 1 řádek výše" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Smazat řádek" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Smazat řádek a tvary" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Duplikovat řádek" @@ -4284,11 +4393,11 @@ msgstr "Duplikovat řádek" msgid "workspace.focus.focus-mode" msgstr "Režim soustředění" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Vypnout režim soustředění" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Zapnout režim soustředění" @@ -4446,37 +4555,36 @@ msgstr "Přepnout na světlý motiv" msgid "workspace.header.menu.undo" msgstr "Zpět" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Resetovat" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Chyba při ukládání" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Uloženo" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Ukládání" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Sdílet" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Neuložené změny" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Režim zobrazení (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Přiblížení" @@ -4488,7 +4596,7 @@ msgstr "Zvětšit na celou obrazovku" msgid "workspace.header.zoom-fit" msgstr "Zmenšit na celou obrazovku" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Přiblížit, aby se vše vešlo" @@ -4496,19 +4604,19 @@ msgstr "Přiblížit, aby se vše vešlo" msgid "workspace.header.zoom-full-screen" msgstr "Celá obrazovka" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Přiblížit vybrané" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Upravit mřížku" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Odejít" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Zobrazit možnosti mezer uvnitř všech stran" @@ -4524,7 +4632,7 @@ msgstr "Hotovo" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Lokalizovat" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Vyhledat rozložení mřížky" @@ -4533,7 +4641,7 @@ msgstr "Vyhledat rozložení mřížky" msgid "workspace.libraries.add" msgstr "Přidat" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "barvy %s" @@ -4563,43 +4671,43 @@ msgstr "Nedávné barvy" msgid "workspace.libraries.colors.rgb-complementary" msgstr "Doplňkové RGB" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Uložit styl barev" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s komponenty" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "Nebo přidejte některé z těchto:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "Ve vašem týmu nejsou žádné sdílené knihovny, které můžete hledat" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "nějaké šablony zde" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Knihovna souborů" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s grafika" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "KNIHOVNY V TOMTO SOUBORU" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "KNIHOVNY" @@ -4608,71 +4716,64 @@ msgstr "KNIHOVNY" msgid "workspace.libraries.library" msgstr "KNIHOVNA" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "AKTUALIZACE KNIHOVNY" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Načítání…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "Můžete hledat " -#: src/app/main/ui/workspace/libraries.cljs:391 -msgid "workspace.libraries.more-templates-link" -msgstr "více šablon zde" - -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Neexistují žádné sdílené knihovny, které by potřebovaly aktualizaci" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Nebyly nalezeny žádné shody pro „%s“" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Nejsou k dispozici žádné sdílené knihovny" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Prohledat sdílené knihovny" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "SDÍLENÉ KNIHOVNY" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Připojit knihovnu" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Několik typografií" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Odpojte všechny typografie" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s typografie" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Odpojit knihovnu" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Aktualizace" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "zobrazit všechny změny" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "AKTUALIZACE" @@ -4704,43 +4805,43 @@ msgstr "Rozostření výběru" msgid "workspace.options.blur-options.toggle-blur" msgstr "Přepnout rozostření" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Pozadí plátna" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Oříznout obsah" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Komponent" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Anotace" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Kopírovat" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Vytvořte anotaci" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Upravit anotaci" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Hlavní" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Vyměnit komponent" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "V této knihovně zatím nejsou žádné položky" @@ -4788,7 +4889,7 @@ msgstr "Nahoře a dole" msgid "workspace.options.design" msgstr "Design" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exportovat" @@ -4797,22 +4898,22 @@ msgstr "Exportovat" msgid "workspace.options.export-multiple" msgstr "Exportovat výběr" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Exportovat 1 prvek" msgstr[1] "Exportovat %s prvky" msgstr[2] "Exportovat %s prvků" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "Přidat export" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "Odebrat export" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Přípona" @@ -4820,7 +4921,7 @@ msgstr "Přípona" msgid "workspace.options.exporting-complete" msgstr "Export byl dokončen" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Exportování…" @@ -4844,6 +4945,10 @@ msgstr "Přidat barvu výplně" msgid "workspace.options.fill.remove-fill" msgstr "Odebrat barvu výplně" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "Změňte velikost panelu podle obsahu" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "Přidat počáteční bod" @@ -4970,7 +5075,7 @@ msgstr "Ohraničení skupiny" msgid "workspace.options.guides.title" msgstr "Vodící linky" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Výška" @@ -5293,19 +5398,19 @@ msgstr "Přepnout viditelnost vrstvy" msgid "workspace.options.layout-item.advanced-ops" msgstr "Rozšířené možnosti" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Maximální výška" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Maximální šířka" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Minimální výška" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Minimální šířka" @@ -5419,11 +5524,11 @@ msgstr "místo mezi" msgid "workspace.options.layout.top" msgstr "Nahoře" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Více barev" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Více barev knihovny" @@ -5460,7 +5565,7 @@ msgstr "Nahoře vlevo" msgid "workspace.options.radius-top-right" msgstr "Nahoře vpravo" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Nedávné" @@ -5468,11 +5573,11 @@ msgstr "Nedávné" msgid "workspace.options.retry" msgstr "Opakovat" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Otočit" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Hledat písmo" @@ -5480,7 +5585,7 @@ msgstr "Hledat písmo" msgid "workspace.options.select-a-shape" msgstr "Vyberte tvar, tabuli nebo skupinu a přetáhněte připojení k jiné tabuli." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Vybrané barvy" @@ -5492,55 +5597,55 @@ msgstr "Vyplnění výběru" msgid "workspace.options.selection-stroke" msgstr "Obrys výběru" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "Přidat stín" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Rozostření" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Barva stínu" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Vržený stín" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Vnitřní stín" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "Odebrat stín" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Rozpětí" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Stín" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Stín skupiny" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Stiny výběru" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:176 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 msgid "workspace.options.shadow-options.toggle-shadow" msgstr "Přepnout stín" @@ -5548,7 +5653,7 @@ msgstr "Přepnout stín" msgid "workspace.options.show-fill-on-export" msgstr "Zobrazit v exportech" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Zobrazit v režimu zobrazení" @@ -5556,7 +5661,7 @@ msgstr "Zobrazit v režimu zobrazení" msgid "workspace.options.size" msgstr "Velikost" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Předvolby velikosti" @@ -5625,7 +5730,7 @@ msgstr "Trojúhelník" msgid "workspace.options.stroke-color" msgstr "Barva obrysu" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Šířka obrysu" @@ -5697,11 +5802,11 @@ msgstr "Automatická šířka" msgid "workspace.options.text-options.grow-fixed" msgstr "Pevná" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Mezery mezi písmeny" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Výška řádku" @@ -5765,15 +5870,15 @@ msgstr "Velká písmena" msgid "workspace.options.use-play-button" msgstr "Pomocí tlačítka přehrávání v záhlaví spusťte zobrazení prototypu." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Šířka" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y" @@ -5948,103 +6053,127 @@ msgstr "PLUGIN '%s' JE NAINSTALOVÁN PRO VAŠEHO UŽIVATELE!" msgid "workspace.plugins.try-out.try" msgstr "VYZKOUŠET PLUGIN" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Přidat flexibilní rozložení" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Přidat rozvržení mřížky" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Přidat rozvržení" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Poslat na konec" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Poslat dozadu" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Kopírovat" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/context_menu.cljs:204 +msgid "workspace.shape.menu.copy-css" +msgstr "Kopírovat jako CSS" + +#: src/app/main/ui/workspace/context_menu.cljs:206 +msgid "workspace.shape.menu.copy-css-nested" +msgstr "Kopírovat jako CSS (vnořené vrstvy)" + +#: src/app/main/ui/workspace/context_menu.cljs:189 +msgid "workspace.shape.menu.copy-link" +msgstr "Zkopírovat odkaz do schránky" + +#: src/app/main/ui/workspace/context_menu.cljs:202 +msgid "workspace.shape.menu.copy-paste-as" +msgstr "Kopírovat/Vložit jako..." + +#: src/app/main/ui/workspace/context_menu.cljs:214 +msgid "workspace.shape.menu.copy-props" +msgstr "Kopírovat vlastnosti" + +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Kopírovat jako text" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Vytvořit anotaci" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Výběr na tabuli" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Vytvořit komponent" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Vytvořte více komponent" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Vyjmout" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Smazat" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Smazat počáteční bod" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Odpojit instanci" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Odpojit instance" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Rozdíl" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplikovat" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Upravit" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Vyloučit" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Vyrovnat" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Překlopit vodorovně" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Překlopit svisle" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "začátek" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Posunout dopředu" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Posunout na začátek" @@ -6053,103 +6182,107 @@ msgstr "Posunout na začátek" msgid "workspace.shape.menu.go-main" msgstr "Přejít na hlavní soubor komponentu" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Skupina" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Skrýt" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Zobrazit/skrýt uživatelské rozhraní" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Průnik" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Zamknout" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Maska" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Vložit" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:218 +msgid "workspace.shape.menu.paste-props" +msgstr "Vlastnosti vložit" + +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Cesta" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Odstranit flexibilní rozložení" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Odebrat rozložení mřížky" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Odebrat rozložení" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Přejmenovat" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Obnovit" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Obnovit hlavní komponent" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Vybrat vrstvu" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Zobrazit" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Zobrazit v panelu položek" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Zobrazit hlavní komponent" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Odebrat miniaturu" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Nastavit jako miniaturu" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transformovat na cestu" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Zrušit seskupení" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Sloučení" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Odemknout" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Zrušit masku" @@ -6158,7 +6291,7 @@ msgstr "Zrušit masku" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Aktualizovat hlavní komponenty" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Aktualizovat hlavní komponent" @@ -6170,11 +6303,11 @@ msgstr "Sbalit postranní panel" msgid "workspace.sidebar.expand" msgstr "Rozbalit postranní panel" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Historie" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Vrstvy" @@ -6210,7 +6343,7 @@ msgstr "Tvary" msgid "workspace.sidebar.layers.texts" msgstr "Texty" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Importované atributy SVG" @@ -6222,10 +6355,15 @@ msgstr "Stránky" msgid "workspace.sidebar.sitemap.add-page" msgstr "Přidat stránku" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Mapa stránek" +#: src/app/main/ui/workspace/tokens/token_pill.cljs:47 +#, unused +msgid "workspace.token-set.not-active" +msgstr "Sada tokenů není aktivní" + #: src/app/main/ui/workspace/tokens/theme_select.cljs:84 msgid "workspace.token.active-themes" msgstr "%s aktivních motivů" @@ -6235,31 +6373,43 @@ msgstr "%s aktivních motivů" msgid "workspace.token.add set" msgstr "Přidat sadu" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Aplikováno na" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 msgid "workspace.token.back-to-themes" msgstr "Zpět na seznam motivů" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 msgid "workspace.token.create-new-theme" msgstr "Vytvořte si svůj první motiv hned teď." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 msgid "workspace.token.create-one" msgstr "Vytvořte si." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 -msgid "workspace.token.create-theme-title" -msgstr "Vytvořit motiv" - -#: src/app/main/ui/workspace/tokens/form.cljs:431 +#: src/app/main/ui/workspace/tokens/form.cljs:492 msgid "workspace.token.create-token" msgstr "Vytvořte nový %s token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 +msgid "workspace.token.delete" +msgstr "Smazat token" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "Smazat motiv" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 +msgid "workspace.token.duplicate" +msgstr "Duplikovat token" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 +msgid "workspace.token.edit" +msgstr "Upravit token" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Upravit motiv" @@ -6267,81 +6417,127 @@ msgstr "Upravit motiv" msgid "workspace.token.edit-themes" msgstr "Upravit motivy" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Upravit token" +#: src/app/main/ui/workspace/tokens/form.cljs:544 +msgid "workspace.token.enter-token-description" +msgstr "Přidejte popis (volitelné)" + +#: src/app/main/ui/workspace/tokens/form.cljs:498 +msgid "workspace.token.enter-token-name" +msgstr "Zadejte název tokenu %s" + #: src/app/main/ui/workspace/tokens/sets.cljs #, unused msgid "workspace.token.grouping-set-alert" msgstr "Seskupení sady tokenů zatím není podporováno." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:56 -msgid "workspace.token.new-theme" -msgstr "Nový motiv" +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "Skupina" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "Téma" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 msgid "workspace.token.no-active-theme" msgstr "Žádný motiv není aktivní" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:146 -msgid "workspace.token.no-sets" -msgstr "Žádné sady" +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "K aktivaci/deaktivaci sad musíte být editor" -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "Abyste mohli používat témata, musíte být editor" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "Zatím nejsou definovány žádné sady. Nejprve si jednu vytvořte." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:215, src/app/main/ui/workspace/tokens/sidebar.cljs:221 +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 msgid "workspace.token.no-sets-yet" msgstr "Zatím nejsou žádné sady." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "Nejsou zde žádné motivy." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "Momentálně nemáte žádné motivy." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 -msgid "workspace.token.num-sets" -msgstr "%s sady" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" -msgstr "Původní hodnota: " +msgstr "Původní hodnota: %s" -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "Reference není platná nebo není v žádné aktivní sadě" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" -msgstr "Vyřešená hodnota: " +msgstr "Vyřešená hodnota: %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Uložit motiv" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "Vyberte sadu." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "" "Definujte, jaké sady tokenů by měly být použity jako součást této možnosti " "motivu:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Motiv %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 -msgid "workspace.token.themes" -msgstr "Motivy" +#: src/app/main/ui/workspace/tokens/form.cljs:545 +msgid "workspace.token.token-description" +msgstr "Popis" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/form.cljs:501 +msgid "workspace.token.token-name" +msgstr "Jméno" + +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" není platný název tokenu.\n" +"Názvy tokenů by měly obsahovat pouze písmena a číslice oddělené znakem . a " +"nesmí začínat znakem $." + +#: src/app/main/ui/workspace/tokens/form.cljs:526 +msgid "workspace.token.token-value" +msgstr "Hodnota" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "TOKENY - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 +msgid "workspace.token.tools" +msgstr "Nástroje" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "Hodnota není platná" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "Přejmenováním tohoto tokenu se přeruší jakýkoli odkaz na jeho starý název." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Položky" @@ -6349,39 +6545,39 @@ msgstr "Položky" msgid "workspace.toolbar.color-palette" msgstr "Paleta barev (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Komentáře (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Křivka (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elipsa (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Tabule (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Obrázek (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Přesunout (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Cesta (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Pluginy (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Obdélník (%s)" @@ -6390,7 +6586,7 @@ msgstr "Obdélník (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Zkratky (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Text (%s)" @@ -6398,7 +6594,7 @@ msgstr "Text (%s)" msgid "workspace.toolbar.text-palette" msgstr "Typografie (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Přepnout panel nástrojů" @@ -6556,19 +6752,19 @@ msgstr "Operace nad %s" msgid "workspace.undo.title" msgstr "Historie" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Zrušit" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Více informací" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Ve sdílených knihovnách jsou aktualizace" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Aktualizace" @@ -6628,11 +6824,11 @@ msgstr "Chcete obnovit tuto verzi?" msgid "workspace.versions.snapshot-menu" msgstr "Otevřít nabídku snímku" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "Akce" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "Historie" diff --git a/frontend/translations/da.po b/frontend/translations/da.po index 8f37173350..b3638acc19 100644 --- a/frontend/translations/da.po +++ b/frontend/translations/da.po @@ -34,13 +34,13 @@ msgstr "Lav demokonto" msgid "auth.create-demo-profile" msgstr "Vil du bare prøve det?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Det her er en DEMO service, BRUG IKKE for rigtigt arbejde, projekterne vil " "blive slettet periodevis." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Glemt adgangskode?" @@ -52,27 +52,27 @@ msgstr "Fulde Navn" msgid "auth.login-here" msgstr "Log på her" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Log på" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "Github" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "Gitlab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -96,7 +96,7 @@ msgstr "Gendannelseslink for adgangskoden er sendt til din indbakke." msgid "auth.notifications.team-invitation-accepted" msgstr "Tilsluttet teamet med succes" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Adgangskode" @@ -120,11 +120,11 @@ msgstr "Glemt adgangskode?" msgid "auth.recovery-submit" msgstr "Skift din adgangskode" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Ingen konto?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Opret en konto" @@ -149,7 +149,7 @@ msgstr "Tilføj som Delt Bibliotek" msgid "dashboard.change-email" msgstr "Skift email" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopi)" @@ -173,7 +173,7 @@ msgstr "Dublikér" msgid "dashboard.duplicate-multi" msgstr "Dublikér %s filer" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -183,14 +183,13 @@ msgstr "" "som en **enkelt skrifttypefamilie**. Du kan uploade skrifttyper med " "følgende formater: **TTF, OTF og WOFF** (kun én er nødvendig)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Du bør kun uploade skrifttyper som du ejer eller har licens til at bruge i " "Penpot. Find ud af mere i sektionen om indholdsrettigheder i [Penpot's " -"Terms of Service] (%s). Du kan også læse om " -"[font licensing](2)." +"Terms of Service] (%s). Du kan også læse om [font licensing](2)." #: src/app/main/ui/dashboard/team.cljs:116 msgid "dashboard.invite-profile" @@ -200,11 +199,11 @@ msgstr "Invitér til team" msgid "dashboard.leave-team" msgstr "Forlad team" -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Delte Biblioteker" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "indlæser dine filer…" @@ -220,11 +219,11 @@ msgstr "Flyt %s filer til" msgid "dashboard.move-to-other-team" msgstr "Flyt til andet team" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Ny Fil" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Ny Fil" @@ -232,7 +231,7 @@ msgstr "Ny Fil" msgid "dashboard.new-project" msgstr "+ Nyt projekt" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nyt Projekt" @@ -301,7 +300,7 @@ msgstr "Vælg UI sprog" msgid "dashboard.select-ui-theme" msgstr "Vælg tema" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Vis alle filer" @@ -321,7 +320,7 @@ msgstr "Din fil er blevet dublikeret med succes" msgid "dashboard.success-duplicate-project" msgstr "Dit projekt er blevet dublikeret med succes" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Din fil er blevet flyttet med succes" @@ -373,15 +372,15 @@ msgstr "Email" msgid "dashboard.your-name" msgstr "Dit navn" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Dit Penpot" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Fortryd" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -389,7 +388,7 @@ msgstr "Ok" msgid "ds.confirm-title" msgstr "Er du sikker?" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Din browser kan ikke gøre denne operation" @@ -401,7 +400,7 @@ msgstr "Genopretningspoletten er ugyldig." msgid "labels.custom-fonts" msgstr "Brugerdefinerede skrifttyper" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Skrifttypefamilie" @@ -409,7 +408,7 @@ msgstr "Skrifttypefamilie" msgid "labels.font-providers" msgstr "Skrifttype udbydere" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Skrifttyper" @@ -417,40 +416,40 @@ msgstr "Skrifttyper" msgid "labels.go-back" msgstr "Gå tilbage!" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Installeret skrifttyper" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Søg efter skrifttype" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Upload" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Upload brugerdefinerede skrifttyper" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Uploader..." -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Er du sikker på, at du vil slette denne skrifttype? Den vil ikke indlæse, " "hvis den bliver brugt i en fil." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Sletter skrifttype" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Skrifttype Udbydere - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Skrifttyper - %s - Penpot" diff --git a/frontend/translations/de.po b/frontend/translations/de.po index 6434424778..bf1ae3ed30 100644 --- a/frontend/translations/de.po +++ b/frontend/translations/de.po @@ -1,7 +1,7 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-01-14 12:00+0000\n" -"Last-Translator: Stas Haas \n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" +"Last-Translator: Anonymous \n" "Language-Team: German " "\n" "Language: de\n" @@ -9,7 +9,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -38,13 +38,13 @@ msgstr "Ein Demo-Konto erstellen" msgid "auth.create-demo-profile" msgstr "Wollen Sie es einfach ausprobieren?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Das ist eine DEMO-VERSION, verwenden Sie es NICHT zum Arbeiten, die " "Projekte werden regelmäßig gelöscht." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Passwort vergessen?" @@ -52,7 +52,7 @@ msgstr "Passwort vergessen?" msgid "auth.fullname" msgstr "Vollständiger Name" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "In mein Konto einloggen" @@ -60,33 +60,33 @@ msgstr "In mein Konto einloggen" msgid "auth.login-here" msgstr "Hier anmelden." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Anmelden" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot ist das kostenlose Open-Source-Design-Tool für die Zusammenarbeit " "von Design und Code" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -112,7 +112,7 @@ msgstr "Der Link zur Wiederherstellung des Passworts wurde an Ihre E-Mail gesend msgid "auth.notifications.team-invitation-accepted" msgstr "Sie sind dem Team beigetreten" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Passwort" @@ -140,7 +140,7 @@ msgstr "Passwort vergessen?" msgid "auth.recovery-submit" msgstr "Passwort ändern" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Noch kein Konto?" @@ -154,7 +154,7 @@ msgstr "" msgid "auth.register-account-title" msgstr "Ihr Name" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Konto erstellen" @@ -181,7 +181,7 @@ msgstr "" "Ich stimme den [Nutzungsbedingungen](%s) und der " "[Datenschutzrichtlinie](%s) zu." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Nutzungsbedingungen" @@ -195,7 +195,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Wir haben eine Bestätigungs-E-Mail gesendet an" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Geschäftliche E-Mail-Adresse" @@ -204,7 +204,11 @@ msgstr "Geschäftliche E-Mail-Adresse" msgid "branding-illustrations-marketing-pieces" msgstr "...Branding, Illustrationen, Marketingmaterialien, usw." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/comments.cljs:532 +msgid "comments.mentions.not-found" +msgstr "Es wurden keine Personen für @%s gefunden" + +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Veröffentlichen" @@ -276,7 +280,7 @@ msgstr "Prototypen teilen" msgid "common.share-link.view-all" msgstr "Alle auswählen" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Veröffentlichung aufheben" @@ -330,7 +334,7 @@ msgstr "Benutzeroberfläche erkunden" msgid "dashboard.access-tokens.copied-success" msgstr "Token kopiert" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Neues Token generieren" @@ -338,13 +342,13 @@ msgstr "Neues Token generieren" msgid "dashboard.access-tokens.create.success" msgstr "Der Zugangstoken wurde erfolgreich erstellt." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "" "Drücken Sie die Schaltfläche \"Neuen Token generieren\", um einen zu " "generieren." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Du hast bisher keine Token." @@ -368,23 +372,23 @@ msgstr "90 Tage" msgid "dashboard.access-tokens.expiration-never" msgstr "Nie" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Abgelaufen am %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Läuft ab am %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Kein Ablaufdatum" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Persönliche Zugangstoken" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Persönliche Zugangstoken stellen eine Alternative zu unserem " @@ -399,6 +403,10 @@ msgstr "Der Token läuft am %s ab" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "Der Token hat kein Ablaufdatum" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Datei hinzufügen" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Hinzufügen als gemeinsam genutzte Bibliothek" @@ -407,7 +415,7 @@ msgstr "Hinzufügen als gemeinsam genutzte Bibliothek" msgid "dashboard.change-email" msgstr "E-Mail-Adresse ändern" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(Kopie)" @@ -443,27 +451,43 @@ msgstr "Duplizieren" msgid "dashboard.duplicate-multi" msgstr "%s Dateien duplizieren" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Sobald ein Projektmitglied einen Entwurf erstellt, wird es hier angezeigt." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Noch keine Entwürfe vorhanden." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Sobald ein Projektmitglied eine Datei erstellt, wird es hier angezeigt." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Noch keine Dateien vorhanden." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:77 +#, markdown +msgid "dashboard.empty-placeholder-libraries" +msgstr "" +"Die zum Projekt hinzugefügten Bibliotheken werden hier angezeigt. Versuchen " +"Sie, Ihre Dateien freizugeben oder aus unseren [Bibliotheken & " +"Vorlagen](https://penpot.app/libraries-templates) hinzuzufügen." + +#: src/app/main/ui/dashboard/placeholder.cljs +#, markdown, unused +msgid "dashboard.empty-placeholder-libraries-subtitle" +msgstr "" +"Die zum Projekt hinzugefügten Bibliotheken werden hier angezeigt. Versuchen " +"Sie, Ihre Dateien freizugeben oder aus unseren [Bibliotheken & " +"Vorlagen](https://penpot.app/libraries-templates) hinzuzufügen." + +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Bibliotheken, die dem Projekt hinzugefügt wurden, werden hier erscheinen." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Noch keine Bibliotheken vorhanden." @@ -558,37 +582,37 @@ msgstr "Assets aus geteilten Bibliotheken in die Dateibibliothek aufnehmen" msgid "dashboard.export.title" msgstr "Dateien exportieren" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Schriftart gelöscht" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Alle ablehnen" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "" "Die von Ihnen hochgeladenen benutzerdefinierten Schriftarten werden hier " "angezeigt." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "Noch keine eigenen Schriftarten vorhanden." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "" "Sobald ein Projektmitglied eine benutzerdefinierte Schriftart hochgeladen " "hat, wird sie hier angezeigt." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 Schriftart hinzugefügt" msgstr[1] "%s Schriftarten hinzugefügt" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -599,21 +623,21 @@ msgstr "" "den folgenden Formaten hochladen: **TTF, OTF und WOFF** (nur eine wird " "benötigt)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Sie sollten nur Schriftarten hochladen, die Sie besitzen oder für die Sie " "eine Lizenz zur Verwendung in Penpot verfügen. Weitere Informationen finden " "Sie im Abschnitt über Inhaltsrechte in den [Nutzungsbedingungen von " -"Penpot](%s). Mehr über die [Lizenzierung von " -"Schriftarten erfahren Sie hier](https://www.typography.com/faq)." +"Penpot](%s). Mehr über die [Lizenzierung von Schriftarten erfahren Sie " +"hier](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Alle hochladen" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -624,7 +648,7 @@ msgstr "" "empfehlen wir die Verwendung von [Transfonter](https://transfonter.org/), " "um Webfonts zu generieren und Fehler zu beheben. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Dateien importieren" @@ -638,20 +662,32 @@ msgstr "" "Datei mit Komponenten v2 aktiviert, aber dieses Team unterstützt es noch " "nicht." +#: src/app/main/ui/dashboard.cljs:247 +msgid "dashboard.import.bad-url" +msgstr "Der Import ist fehlgeschlagen. Die URL der Vorlage ist falsch" + +#: src/app/main/ui/dashboard.cljs:241 +msgid "dashboard.import.error" +msgstr "Der Import ist fehlgeschlagen. Bitte versuchen Sie es erneut" + #: src/app/main/ui/dashboard/import.cljs:292 msgid "dashboard.import.import-error" msgstr "" "Beim Importieren der Datei ist ein Fehler aufgetreten. Die Datei wurde " "nicht importiert." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "%s Dateien wurden erfolgreich importiert." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Einige Dateien enthielten ungültige Objekte, die entfernt wurden." +#: src/app/main/ui/dashboard.cljs:248 +msgid "dashboard.import.no-perms" +msgstr "Sie haben nicht die Berechtigung, in dieses Team zu importieren" + #: src/app/main/ui/dashboard/import.cljs:129 msgid "dashboard.import.progress.process-colors" msgstr "Farben werden verarbeitet" @@ -688,29 +724,29 @@ msgstr "Personen einladen" msgid "dashboard.leave-team" msgstr "Team verlassen" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliotheken & Vorlagen" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Entdecken Sie weitere und erfahren Sie, wie Sie beitragen können" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "" "Beim Importieren der Vorlage ist ein Problem aufgetreten. Die Vorlage wurde " "nicht importiert." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Gemeinsam genutzte Bibliotheken" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "laden Ihrer Dateien …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "laden Ihrer Schriftarten …" @@ -726,11 +762,11 @@ msgstr "%s Dateien verschieben" msgid "dashboard.move-to-other-team" msgstr "Zu anderem Team verschieben" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Neue Datei" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Neue Datei" @@ -738,7 +774,7 @@ msgstr "Neue Datei" msgid "dashboard.new-project" msgstr "+ Neues Projekt" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Neues Projekt" @@ -750,7 +786,7 @@ msgstr "Keine Übereinstimmungen für “%s“ gefunden" msgid "dashboard.no-projects-placeholder" msgstr "Angeheftete Projekte werden hier angezeigt" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Benachrichtigungen" @@ -762,6 +798,10 @@ msgstr "Ihre E-Mail-Adresse wurde erfolgreich aktualisiert" msgid "dashboard.notifications.email-verified-successfully" msgstr "Ihre E-Mail-Adresse wurde erfolgreich verifiziert" +#: src/app/main/data/profile.cljs:260 +msgid "dashboard.notifications.notifications-saved" +msgstr "Benachrichtigungseinstellungen aktualisiert" + #: src/app/main/ui/settings/password.cljs:36 msgid "dashboard.notifications.password-saved" msgstr "Passwort wurde erfolgreich gespeichert!" @@ -778,7 +818,7 @@ msgstr "%s Mitglieder" msgid "dashboard.open-in-new-tab" msgstr "Datei in neuem Tab öffnen" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Optionen" @@ -806,6 +846,18 @@ msgstr "Sie sind jetzt ein Zuschauer in diesem Team." msgid "dashboard.pin-unpin" msgstr "Anheften/Lösen" +#: src/app/main/ui/dashboard.cljs:208 +msgid "dashboard.plugins.bad-url" +msgstr "Die URL des Plugins ist falsch" + +#: src/app/main/ui/dashboard.cljs:206 +msgid "dashboard.plugins.parse-error" +msgstr "Das Plugin-Manifest kann nicht ausgewertet werden" + +#: src/app/main/ui/dashboard.cljs:169 +msgid "dashboard.plugins.try-plugin" +msgstr "Plugin ausprobieren: " + #: src/app/main/ui/dashboard/projects.cljs:55 msgid "dashboard.projects-title" msgstr "Projekte" @@ -843,7 +895,67 @@ msgstr "Sprache der Benutzeroberfläche auswählen" msgid "dashboard.select-ui-theme" msgstr "Theme auswählen" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/settings/notifications.cljs:57 +msgid "dashboard.settings.notifications.dashboard-comments.all" +msgstr "Alle Kommentare, Erwähnungen und Antworten" + +#: src/app/main/ui/settings/notifications.cljs:59 +msgid "dashboard.settings.notifications.dashboard-comments.none" +msgstr "Keine" + +#: src/app/main/ui/settings/notifications.cljs:58 +msgid "dashboard.settings.notifications.dashboard-comments.partial" +msgstr "Nur Erwähnungen und Antworten" + +#: src/app/main/ui/settings/notifications.cljs:54 +msgid "dashboard.settings.notifications.dashboard-comments.title" +msgstr "Kommentare in der Datei" + +#: src/app/main/ui/settings/notifications.cljs:53 +msgid "dashboard.settings.notifications.dashboard.title" +msgstr "Dashboard Benachrichtigungen" + +#: src/app/main/ui/settings/notifications.cljs:67 +msgid "dashboard.settings.notifications.email-comments.all" +msgstr "Alle Kommentare, Erwähnungen und Antworten" + +#: src/app/main/ui/settings/notifications.cljs:69 +msgid "dashboard.settings.notifications.email-comments.none" +msgstr "Keine" + +#: src/app/main/ui/settings/notifications.cljs:68 +msgid "dashboard.settings.notifications.email-comments.partial" +msgstr "Nur Erwähnungen und Antworten" + +#: src/app/main/ui/settings/notifications.cljs:64 +msgid "dashboard.settings.notifications.email-comments.title" +msgstr "Kommentare in der Datei" + +#: src/app/main/ui/settings/notifications.cljs:76 +msgid "dashboard.settings.notifications.email-invites.all" +msgstr "Alle Arten von Einladungen und Anfragen" + +#: src/app/main/ui/settings/notifications.cljs:79 +msgid "dashboard.settings.notifications.email-invites.none" +msgstr "Keine" + +#: src/app/main/ui/settings/notifications.cljs:73 +msgid "dashboard.settings.notifications.email-invites.title" +msgstr "Einladungen und Anfragen" + +#: src/app/main/ui/settings/notifications.cljs:63 +msgid "dashboard.settings.notifications.email.title" +msgstr "E-Mail-Benachrichtigungen" + +#: src/app/main/ui/settings/notifications.cljs:84 +msgid "dashboard.settings.notifications.submit" +msgstr "Einstellungen aktualisieren" + +#: src/app/main/ui/settings/notifications.cljs:52 +msgid "dashboard.settings.notifications.title" +msgstr "Benachrichtigungen" + +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Alle Dateien anzeigen" @@ -871,7 +983,7 @@ msgstr[1] "Ihre Dateien wurden erfolgreich dupliziert" msgid "dashboard.success-duplicate-project" msgstr "Ihr Projekt wurde erfolgreich dupliziert" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Ihre Datei wurde erfolgreich verschoben" @@ -915,10 +1027,18 @@ msgstr "Veröffentlichung der Bibliothek aufheben" msgid "dashboard.update-settings" msgstr "Einstellungen aktualisieren" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:970 +msgid "dashboard.upgrade-plan.no-limits" +msgstr "Keine Grenzen für die Kreativität" + +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Penpot Free" +#: src/app/main/ui/dashboard/sidebar.cljs:972 +msgid "dashboard.upgrade-plan.power-up" +msgstr "Power up" + #: src/app/main/ui/dashboard/team.cljs:909 msgid "dashboard.webhooks.active" msgstr "Aktiv" @@ -976,7 +1096,7 @@ msgstr "E-Mail" msgid "dashboard.your-name" msgstr "Ihr Name" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Ihr Penpot" @@ -996,11 +1116,11 @@ msgstr "Zu aktualisierende Komponenten:" msgid "ds.confirm-allow" msgstr "Erlauben" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Abbrechen" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -1012,7 +1132,7 @@ msgstr "Sind Sie sicher?" msgid "errors.auth-provider-not-allowed" msgstr "Auth-Provider für dieses Profil nicht erlaubt" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Authentifizierungsanbieter ist nicht konfiguriert." @@ -1020,11 +1140,11 @@ msgstr "Authentifizierungsanbieter ist nicht konfiguriert." msgid "errors.auth.unable-to-login" msgstr "Anscheinend sind Sie nicht authentifiziert oder die Sitzung ist abgelaufen." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Die Schriftart %s konnte nicht geladen werden" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Die Schriftarten %s konnten nicht geladen werden" @@ -1032,7 +1152,7 @@ msgstr "Die Schriftarten %s konnten nicht geladen werden" msgid "errors.cannot-upload" msgstr "Die Mediendatei kann nicht hochgeladen werden." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Ihr Browser kann diese Funktion nicht ausführen" @@ -1044,7 +1164,7 @@ msgstr "E-Mail-Adresse wird bereits verwendet" msgid "errors.email-already-validated" msgstr "E-Mail-Adresse wurde bereits validiert." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Sie können Ihre E-Mail-Adresse nicht als Passwort verwenden" @@ -1092,7 +1212,7 @@ msgstr "" "und den Funktionen der Datei zu geben. Die Migrationen für '%s' müssen " "durchgeführt werden, bevor die Datei geöffnet werden kann." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Etwas ist schief gelaufen." @@ -1105,8 +1225,7 @@ msgstr "Ungültige Farbe" msgid "errors.invalid-email" msgstr "Geben Sie bitte eine gültige E-Mail-Adresse ein" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Bestätigungs-E-Mail muss übereinstimmen" @@ -1122,7 +1241,7 @@ msgstr "Einladung ist ungültig" msgid "errors.invite-invalid.info" msgstr "Diese Einladung wurde möglicherweise abgebrochen oder ist abgelaufen." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Die LDAP-Authentifizierung ist deaktiviert." @@ -1130,6 +1249,12 @@ msgstr "Die LDAP-Authentifizierung ist deaktiviert." msgid "errors.max-quote-reached" msgstr "Sie haben das Limit von '%s' erreicht. Kontaktieren Sie den Support." +#: src/app/main/ui/dashboard/team.cljs:181, src/app/main/ui/onboarding/team_choice.cljs:100 +msgid "errors.maximum-invitations-by-request-reached" +msgstr "" +"Die maximale (%s) Anzahl von E-Mails, die in einer einzigen Anfrage " +"eingeladen werden können, wurde erreicht" + #: src/app/main/data/workspace/media.cljs:184 msgid "errors.media-too-large" msgstr "Das Bild ist zu groß, um eingefügt zu werden." @@ -1150,6 +1275,10 @@ msgstr "" "In dem von Ihnen eingeladenen Profil sind E-Mails stummgeschaltet " "(Spam-Berichte oder hohe Unzustellbarkeitsberichte)." +#: src/app/main/errors.cljs:228 +msgid "errors.migration-in-progress" +msgstr "Migration wird durchgeführt" + #: src/app/main/ui/settings/password.cljs #, unused msgid "errors.password-invalid-confirmation" @@ -1164,7 +1293,7 @@ msgstr "Das Passwort sollte mindestens 8 Zeichen lang sein" msgid "errors.paste-data-validation" msgstr "Ungültige Daten in der Zwischenablage" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Das Profil ist gesperrt" @@ -1242,12 +1371,11 @@ msgstr "Unerwarteter Fehler bei der Validierung" msgid "errors.webhooks.unexpected-status" msgstr "Unerwarteter Status %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Die E-Mail-Adresse oder das Passwort ist falsch." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Altes Passwort ist falsch" @@ -1296,11 +1424,11 @@ msgstr "Hier helfen wir Ihnen bei technischen Fragen." msgid "feedback.twitter-title" msgstr "X Support-Konto" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Ein Fehler ist aufgetreten" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Weichzeichnen" @@ -1308,31 +1436,31 @@ msgstr "Weichzeichnen" msgid "inspect.attributes.blur.value" msgstr "Wert" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Fläche" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Originalbild herunterladen" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Höhe" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Breite" @@ -1371,15 +1499,15 @@ msgstr "Oben" msgid "inspect.attributes.layout.width" msgstr "Breite" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Schatten" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Größe und Position" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Rahmen" @@ -1416,143 +1544,143 @@ msgstr "Durchgezogen" msgid "inspect.attributes.stroke.width" msgstr "Breite" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Typografie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Schriftart" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Schriftgröße" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Schriftschnitt" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Strichstärke" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Zeichenabstand" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Zeilenabstand" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Textdekoration" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Keine" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Durchgestrichen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Unterstrichen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Texttransformation" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Kleinbuchstaben" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Keine" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Kapitälchen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Nicht gesetzt" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Großbuchstaben" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Für weitere Informationen zum Thema \"Auswerten von " "Design-Spezifikationen\", besuchen Sie bitte das Penpot-Hilfezentrum" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Weitere Informationen zur Inspektion" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Wählen Sie eine Form, ein Board oder eine Gruppe aus, um deren " "Eigenschaften und Code zu überprüfen" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Code" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Kreis" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Komponente" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Kurve" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Zeichenfläche" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Gruppe" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Bild" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Maske" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Ausgewählt(e)" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Pfad" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rechteck" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Text" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Info" @@ -1572,15 +1700,15 @@ msgstr "Zugangstoken" msgid "labels.active" msgstr "Aktiv" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Hinzufügen" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Eigene Schriftart hinzufügen" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Hinzufügen..." @@ -1592,7 +1720,7 @@ msgstr "Admin" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Alles" @@ -1614,7 +1742,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Bad Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Abbrechen" @@ -1622,27 +1750,27 @@ msgstr "Abbrechen" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Schließen" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Zusammenklappen" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Kommentar" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Als gelöst markieren" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Kommentare" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Community" @@ -1650,7 +1778,7 @@ msgstr "Community" msgid "labels.confirm-password" msgstr "Passwort bestätigen" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Weiter" @@ -1670,7 +1798,7 @@ msgstr "Link kopieren" msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Erstellen" @@ -1690,15 +1818,15 @@ msgstr "Eigene Schriftarten" msgid "labels.dashboard" msgstr "Dashboard" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Löschen" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Kommentar löschen" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Thread löschen" @@ -1718,15 +1846,15 @@ msgstr "Developer" msgid "labels.director" msgstr "Geschäftsführer" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Verwerfen" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Entwürfe" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Bearbeiten" @@ -1746,7 +1874,7 @@ msgstr "Veranstaltung" msgid "labels.expired-invitation" msgstr "Abgelaufen" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exportieren" @@ -1762,7 +1890,7 @@ msgstr "Feedback gesendet" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Schriftfamilie" @@ -1770,11 +1898,11 @@ msgstr "Schriftfamilie" msgid "labels.font-providers" msgstr "Schriftenhersteller" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Stile" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Schriftarten" @@ -1786,11 +1914,11 @@ msgstr "Gründer/VP" msgid "labels.freelancer" msgstr "Ich bin ein Freelancer" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Github-Repository" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Feedback geben" @@ -1802,19 +1930,23 @@ msgstr "Zurück" msgid "labels.graphic-design" msgstr "Grafikdesign" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Hilfezentrum" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Erledigte Kommentare ausblenden" +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 +msgid "labels.import" +msgstr "Importieren" + #: src/app/main/ui/dashboard/team.cljs:1018 msgid "labels.inactive" msgstr "Inaktiv" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Installierte Schriftarten" @@ -1840,11 +1972,11 @@ msgstr "Einladungen" msgid "labels.language" msgstr "Sprache" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Bibliotheken & Vorlagen" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Laden…" @@ -1856,7 +1988,7 @@ msgstr "Einloggen oder anmelden" msgid "labels.login" msgstr "Anmelden" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Abmelden" @@ -1876,11 +2008,11 @@ msgstr "Mitglieder" msgid "labels.new-password" msgstr "Neues Passwort" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Weiter" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "" "Sie sind auf dem neuesten Stand! Neue Benachrichtigungen zu Kommentaren " @@ -1908,7 +2040,11 @@ msgstr "" msgid "labels.not-found.main-message" msgstr "Ups!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/settings/sidebar.cljs:99 +msgid "labels.notifications" +msgstr "Benachrichtigungen" + +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 Datei" @@ -1939,7 +2075,7 @@ msgstr "Altes Passwort" msgid "labels.only-yours" msgstr "Nur Ihre" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Optionen" @@ -1967,6 +2103,10 @@ msgstr "Passwort" msgid "labels.pending-invitation" msgstr "Ausstehend" +#: src/app/main/ui/comments.cljs:678 +msgid "labels.post" +msgstr "Versenden" + #: src/app/main/ui/onboarding/questions.cljs:51, src/app/main/ui/viewer.cljs:105 msgid "labels.previous" msgstr "Zurück" @@ -1987,7 +2127,7 @@ msgstr "Profil" msgid "labels.projects" msgstr "Projekte" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Versionshinweise" @@ -2005,7 +2145,7 @@ msgstr "Entfernen" msgid "labels.remove-member" msgstr "Mitglied entfernen" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Umbenennen" @@ -2013,19 +2153,23 @@ msgstr "Umbenennen" msgid "labels.rename-team" msgstr "Team umbenennen" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "Antworten" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:646 +msgid "labels.replies.new" +msgstr "neue Antworten" + +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "Antwort" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "neue Antwort" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Antwort" @@ -2045,15 +2189,15 @@ msgstr "Wiederholen" msgid "labels.role" msgstr "Rolle" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Speichern" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Suchen" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Schriftart suchen" @@ -2077,6 +2221,10 @@ msgstr "Wir befinden uns in der planmäßigen Wartung unserer Systeme." msgid "labels.service-unavailable.main-message" msgstr "Service nicht verfügbar" +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 +msgid "labels.sets" +msgstr "Sets" + #: src/app/main/ui/dashboard/sidebar.cljs:539, src/app/main/ui/dashboard/team.cljs:95, src/app/main/ui/dashboard/team.cljs:109, src/app/main/ui/settings/options.cljs:80, src/app/main/ui/settings/sidebar.cljs:105 msgid "labels.settings" msgstr "Einstellungen" @@ -2093,15 +2241,19 @@ msgstr "Prototyp teilen" msgid "labels.shared-libraries" msgstr "Gemeinsam genutzte Bibliotheken" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Alle Kommentare anzeigen" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Kommentarliste anzeigen" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 +msgid "labels.show-mentions" +msgstr "Nur Ihre Erwähnungen anzeigen" + +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Nur eigene Kommentare anzeigen" @@ -2129,11 +2281,11 @@ msgstr "Teamleiter" msgid "labels.team-member" msgstr "Teammitglied" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Themen" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutorials" @@ -2149,15 +2301,15 @@ msgstr "Aktualisieren" msgid "labels.update-team" msgstr "Team aktualisieren" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Hochladen" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Eigene Schriftarten hochladen" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Hochladen…" @@ -2173,7 +2325,7 @@ msgstr "Zuschauer" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Neuen Kommentar schreiben" @@ -2181,7 +2333,7 @@ msgstr "Neuen Kommentar schreiben" msgid "labels.you" msgstr "(Sie)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Ihr Konto" @@ -2189,23 +2341,23 @@ msgstr "Ihr Konto" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Bild auswählen" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Verlauf" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Bild" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Seitenverhältnis beibehalten" @@ -2223,7 +2375,7 @@ msgstr "Bild laden…" msgid "media.radial" msgstr "Radial" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Einfarbig" @@ -2274,7 +2426,7 @@ msgstr "E-Mail-Adresse ändern" msgid "modals.change-email.title" msgstr "Ihre E-Mail-Adresse ändern" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Token kopieren" @@ -2290,7 +2442,7 @@ msgstr "Name" msgid "modals.create-access-token.name.placeholder" msgstr "Durch den Namen kann man erkennen, wofür der Token verwendet wird" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Token erzeugen" @@ -2314,15 +2466,15 @@ msgstr "Payload-URL" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Token löschen" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Sind Sie sicher, dass Sie diesen Token löschen möchten?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Token löschen" @@ -2344,25 +2496,25 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Sind Sie sicher, dass Sie Ihr Konto löschen möchten?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Konversation löschen" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Sind Sie sicher, dass Sie diese Konversation löschen möchten? Alle " "Kommentare in diesem Thread werden gelöscht." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Konversation löschen" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Sind Sie sicher, dass Sie diese Anmerkung löschen möchten?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Anmerkung löschen" @@ -2390,31 +2542,31 @@ msgstr "Sind Sie sicher, dass Sie %s Dateien löschen möchten?" msgid "modals.delete-file-multi-confirm.title" msgstr "Lösche %s Dateien" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Sind Sie sicher, dass Sie diesen Schriftschnitt löschen möchten? Sie wird " "nicht mehr geladen, wenn sie bereits in einer Datei verwendet wird." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Schriftschnitt löschen" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Sind Sie sicher, dass Sie diese Schriftart löschen möchten? Sie wird nicht " "mehr geladen, wenn sie bereits in einer Datei verwendet wird." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Schriftart löschen" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Sind Sie sicher, dass Sie diese Seite löschen wollen?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Seite löschen" @@ -2530,6 +2682,12 @@ msgstr "" "Einige E-Mails stammen von aktuellen Teammitgliedern. Ihre Einladungen " "werden nicht versendet." +#: src/app/main/ui/dashboard/team.cljs:216 +msgid "modals.invite-team-member.text" +msgstr "" +"Sie können Mitglieder in das Team einladen, damit diese auf diese Datei und " +"alle Team-Dateien zugreifen können." + #: src/app/main/ui/dashboard/team.cljs:212 msgid "modals.invite-team-member.title" msgstr "Mitglieder in das Team einladen" @@ -2618,17 +2776,17 @@ msgstr "Sind Sie sicher, dass Sie diesen Benutzer zum Eigentümer befördern wol msgid "modals.promote-owner-confirm.title" msgstr "Zum Eigentümer befördern" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Veröffentlichen" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "" "Ihre Bibliothek ist leer. Sind Sie sicher, dass Sie es veröffentlichen " "wollen?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Leere Bibliothek veröffentlichen" @@ -2685,22 +2843,22 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Komponenten in einer gemeinsamen Bibliothek aktualisieren" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Aktualisieren" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Abbrechen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Sie sind dabei, eine Komponente in einer geteilten Bibliothek zu " "aktualisieren. Dies kann sich auf andere Dateien auswirken, die diese " "Komponente verwenden." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Komponente aus einer geteilten Bibliothek aktualiseren" @@ -2712,26 +2870,80 @@ msgstr "Diese Seite existiert nicht" msgid "not-found.desc-message.error" msgstr "404-Fehler" +#: src/app/main/ui/static.cljs:135 +msgid "not-found.login.free" +msgstr "" +"Penpot ist das kostenlose und quelloffene Design-Tool für die " +"Zusammenarbeit in Design und Code" + #: src/app/main/ui/auth/recovery_request.cljs:114 msgid "not-found.login.sent-recovery" msgstr "Wir haben eine Wiederherstellungs-E-Mail gesendet an" +#: src/app/main/ui/auth/recovery_request.cljs:116 +msgid "not-found.login.sent-recovery-check" +msgstr "" +"Überprüfen Sie Ihre E-Mail und klicken Sie auf den Link, um ein neues " +"Passwort zu erstellen." + #: src/app/main/ui/static.cljs:149 msgid "not-found.login.signup-free" msgstr "Kostenlos anmelden" +#: src/app/main/ui/static.cljs:150 +msgid "not-found.login.start-using" +msgstr "Und starten Sie Penpot in Sekunden!" + #: src/app/main/ui/static.cljs:64 msgid "not-found.made-with-love" msgstr "Mit LIEBE gemacht und Open Source" +#: src/app/main/ui/static.cljs:291 +msgid "not-found.no-permission.already-requested.file" +msgstr "Sie haben bereits Zugang zu dieser Datei beantragt." + +#: src/app/main/ui/static.cljs:292 +msgid "not-found.no-permission.already-requested.or-others.file" +msgstr "" +"Sie haben bereits Zugang zu dieser Datei oder anderen Dateien oder " +"Projekten dieses Teams beantragt." + +#: src/app/main/ui/static.cljs:298 +msgid "not-found.no-permission.already-requested.or-others.project" +msgstr "" +"Sie haben bereits Zugang zu diesem Projekt oder anderen Projekten oder " +"Dateien dieses Teams beantragt." + +#: src/app/main/ui/static.cljs:297 +msgid "not-found.no-permission.already-requested.project" +msgstr "Sie haben bereits Zugang zu diesem Projekt beantragt." + #: src/app/main/ui/static.cljs:312, src/app/main/ui/static.cljs:321 msgid "not-found.no-permission.ask" msgstr "ZUGANG ANFORDERN" +#: src/app/main/ui/static.cljs:304 +msgid "not-found.no-permission.done.remember" +msgstr "" +"Denken Sie daran, dass Sie in das Team eingeladen werden, wenn der " +"Eigentümer es erlaubt." + +#: src/app/main/ui/static.cljs:303 +msgid "not-found.no-permission.done.success" +msgstr "Ihre Anfrage wurde korrekt abgeschickt!" + #: src/app/main/ui/static.cljs:309 msgid "not-found.no-permission.file" msgstr "Sie haben keinen Zugriff auf diese Datei." +#: src/app/main/ui/static.cljs:51, src/app/main/ui/static.cljs:287, src/app/main/ui/static.cljs:293, src/app/main/ui/static.cljs:299, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:323 +msgid "not-found.no-permission.go-dashboard" +msgstr "Zu deinem Penpot wechseln" + +#: src/app/main/ui/static.cljs:311, src/app/main/ui/static.cljs:320 +msgid "not-found.no-permission.if-approves" +msgstr "Wenn der Besitzer es zulässt, wirst du in das Team eingeladen." + #: src/app/main/ui/static.cljs:249, src/app/main/ui/static.cljs:261 msgid "not-found.no-permission.penpot-file" msgstr "Penpot-Datei" @@ -2754,6 +2966,12 @@ msgstr "" "Um Zugriff auf dieses Projekt zu erhalten, können Sie den Teambesitzer " "fragen." +#: src/app/main/data/common.cljs:93 +msgid "notifications.by-code.maintenance" +msgstr "" +"Wartungsarbeiten: Wir werden innerhalb von 5 Minuten für eine kurze Wartung " +"offline sein." + #: src/app/main/data/common.cljs:83 msgid "notifications.by-code.upgrade-version" msgstr "Eine neue Version ist verfügbar, bitte aktualisieren Sie die Seite" @@ -2811,29 +3029,29 @@ msgstr "Video-Tutorials" msgid "onboarding-v2.before-start.title" msgstr "Bevor Sie beginnen" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Um über den Fortschritt der Produktentwicklung und Neuigkeiten auf dem " "Laufenden zu bleiben, abonnieren Sie den Penpot-Newsletter." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Senden Sie mir Neuigkeiten über Penpot (Blogbeiträge, Video-Tutorials, " "Streamings, ...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Datenschutz ist uns wichtig, hier können Sie das nachlesen " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Wir werden nur relevante E-Mails an Sie senden. Sie können sich jederzeit " "über den Abmeldelink in jedem unserer Newsletter abmelden." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Ich möchte Informationen über Produktaktualisierungen erhalten (neue " @@ -2932,17 +3150,17 @@ msgstr "Sie können später ein Team erstellen." msgid "onboarding.newsletter.accept" msgstr "Ja, abonnieren" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Ihre Abonnementanfrage wurde gesendet, wir senden Ihnen eine E-Mail zur " "Bestätigung." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Datenschutzbestimmungen." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Möchten Sie die Penpot-Nachrichten erhalten?" @@ -3135,7 +3353,7 @@ msgstr "Zur Anmeldung" msgid "settings.detach" msgstr "Trennen" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Mehrere" @@ -3333,7 +3551,7 @@ msgstr "Neues Projekt erstellen" msgid "shortcuts.cut" msgstr "Ausschneiden" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Auszoomen" @@ -3433,7 +3651,7 @@ msgstr "Horizontal verteilen" msgid "shortcuts.hide-ui" msgstr "Benutzeroberfläche ein-/ausblenden" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Einzoomen" @@ -3817,15 +4035,15 @@ msgstr "Zur Auswahl zoomen" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Schriftenhersteller - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Schriftarten - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projekte - %s - Penpot" @@ -3833,7 +4051,7 @@ msgstr "Projekte - %s - Penpot" msgid "title.dashboard.search" msgstr "Suchen - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Gemeinsam genutzte Bibliotheken - %s - Penpot" @@ -3841,7 +4059,7 @@ msgstr "Gemeinsam genutzte Bibliotheken - %s - Penpot" msgid "title.default" msgstr "Penpot - Gestaltungsfreiheit für Teams" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profil - Zugangstokens" @@ -3849,6 +4067,10 @@ msgstr "Profil - Zugangstokens" msgid "title.settings.feedback" msgstr "Feedback geben - Penpot" +#: src/app/main/ui/settings/notifications.cljs:45 +msgid "title.settings.notifications" +msgstr "Benachrichtigungen - Penpot" + #: src/app/main/ui/settings/options.cljs:76 msgid "title.settings.options" msgstr "Einstellungen - Penpot" @@ -3881,7 +4103,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - Ansichtsmodus - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3981,7 +4203,7 @@ msgstr "Vertikal verteilen (%s)" msgid "workspace.align.vtop" msgstr "Oben ausrichten (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Bibliothek hinzufügen" @@ -3990,11 +4212,11 @@ msgstr "Bibliothek hinzufügen" msgid "workspace.assets.assets" msgstr "Assets" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Alle Assets" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Farben" @@ -4002,11 +4224,11 @@ msgstr "Farben" msgid "workspace.assets.colors.add-color" msgstr "Farbe hinzufügen" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Komponenten" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Komponente hinzufügen" @@ -4020,15 +4242,15 @@ msgstr "" "Ihre Elemente werden automatisch nach diesem Schema benannt: \"Gruppenname " "/ Elementname\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Löschen" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplizieren" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Hauptkomponente duplizieren" @@ -4036,19 +4258,19 @@ msgstr "Hauptkomponente duplizieren" msgid "workspace.assets.edit" msgstr "Bearbeiten" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filtern" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafiken" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Rasteransicht" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Gruppieren" @@ -4056,27 +4278,23 @@ msgstr "Gruppieren" msgid "workspace.assets.group-name" msgstr "Name der Gruppe" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Bibliotheken" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Listenansicht" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "lokale Bibliothek" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Keine Assets gefunden" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Bibliotheksdatei öffnen" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Umbenennen" @@ -4084,7 +4302,7 @@ msgstr "Umbenennen" msgid "workspace.assets.rename-group" msgstr "Gruppe umbenennen" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Assets suchen" @@ -4100,46 +4318,50 @@ msgstr[1] "%s Elemente ausgewählt" msgid "workspace.assets.shared-library" msgstr "Geteilte Bibliothek" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 Komponente" msgstr[1] "% Komponenten" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Sortieren" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Textstile" +#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:404 +msgid "workspace.assets.typography.add-typography" +msgstr "Typografie hinzufügen" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs #, unused msgid "workspace.assets.typography.font-id" msgstr "Schriftart" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Größe" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variante" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Wechseln Sie zur Stilbibliotheksdatei, um sie zu bearbeiten" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Zeichenabstand" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Zeilenabstand" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4147,7 +4369,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Textstile" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Texttransformation" @@ -4155,55 +4377,55 @@ msgstr "Texttransformation" msgid "workspace.assets.ungroup" msgstr "Gruppierung aufheben" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Bereich erstellen" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Board erstellen" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Zellen zusammenführen" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "1 Spalte rechts einfügen" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "1 Spalte links einfügen" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Spalte löschen" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Spalte und Formen löschen" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Spalte duplizieren" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "1 Zeile unterhalb einfügen" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "1 Zeile oberhalb einfügen" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Zeile löschen" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Zeile und Formen löschen" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Zeile duplizieren" @@ -4211,11 +4433,11 @@ msgstr "Zeile duplizieren" msgid "workspace.focus.focus-mode" msgstr "Fokus-Modus" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Fokus aus" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Fokus an" @@ -4317,6 +4539,10 @@ msgstr "Datei" msgid "workspace.header.menu.option.help-info" msgstr "Hilfe und Infos" +#: src/app/main/ui/workspace/main_menu.cljs:910 +msgid "workspace.header.menu.option.power-up" +msgstr "Verstärken Sie Ihren Plan" + #: src/app/main/ui/workspace/main_menu.cljs:877 msgid "workspace.header.menu.option.preferences" msgstr "Einstellungen" @@ -4369,37 +4595,36 @@ msgstr "Zum hellen Theme wechseln" msgid "workspace.header.menu.undo" msgstr "Rückgängig" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Zurücksetzen" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Fehler beim Speichern" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Gespeichert" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Speichern" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Teilen" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Ungespeicherte Änderungen" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Ansichtsmodus (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Vergrößern" @@ -4411,7 +4636,7 @@ msgstr "Füllen - Skalieren zum Füllen" msgid "workspace.header.zoom-fit" msgstr "Anpassen - Verkleinern zum Einpassen" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Passend zoomen" @@ -4419,19 +4644,19 @@ msgstr "Passend zoomen" msgid "workspace.header.zoom-full-screen" msgstr "Vollbild" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zur Auswahl zoomen" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Grid bearbeiten" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Beenden" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "4-seitige Abstandsoptionen anzeigen" @@ -4447,7 +4672,7 @@ msgstr "Fertig" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Lokalisieren" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Grid-Layout lokalisieren" @@ -4456,7 +4681,7 @@ msgstr "Grid-Layout lokalisieren" msgid "workspace.libraries.add" msgstr "Hinzufügen" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s Farben" @@ -4486,31 +4711,43 @@ msgstr "Aktuelle Farben" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB-komplementär" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Farbstil speichern" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s Komponenten" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:371 +msgid "workspace.libraries.empty.add-some" +msgstr "Oder probieren Sie einige von diesen aus:" + +#: src/app/main/ui/workspace/libraries.cljs:365 +msgid "workspace.libraries.empty.no-libraries" +msgstr "In Ihrem Team gibt es keine gemeinsamen Bibliotheken, Sie können suchen nach" + +#: src/app/main/ui/workspace/libraries.cljs:369 +msgid "workspace.libraries.empty.some-templates" +msgstr "einige Vorlagen sind hier" + +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Dateibibliothek" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s Grafik(en)" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTHEKEN IN DIESER DATEI" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTHEKEN" @@ -4519,69 +4756,66 @@ msgstr "BIBLIOTHEKEN" msgid "workspace.libraries.library" msgstr "BIBLIOTHEK" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "AKTUALISIERUNGEN DER BIBLIOTHEK" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Laden…" -#: src/app/main/ui/workspace/libraries.cljs:391 -msgid "workspace.libraries.more-templates-link" -msgstr "weitere Vorlagen sind hier" +#: src/app/main/ui/workspace/libraries.cljs:387 +#, unused +msgid "workspace.libraries.more-templates" +msgstr "Sie können Folgendes suchen " -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "" "Es gibt keine gemeinsam genutzte Bibliotheken, die aktualisiert werden " "müssen" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Keine Übereinstimmungen für “%s“ gefunden" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Es sind keine gemeinsam genutzte Bibliotheken verfügbar" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Suche nach gemeinsam genutzten Bibliotheken" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "GEMEINSAM GENUTZTE BIBLIOTHEKEN" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Bibliothek verknüpfen" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Mehrere Textstile" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Verknüpfung aller Textstile aufheben" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s Textstile" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Bibliothek trennen" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Aktualisieren" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "alle Änderungen anzeigen" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "AKTUALISIERUNG" @@ -4609,43 +4843,47 @@ msgstr "Gruppe weichzeichnen" msgid "workspace.options.blur-options.title.multiple" msgstr "Auswahl weichzeichnen" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:108 +msgid "workspace.options.blur-options.toggle-blur" +msgstr "Weichzeichnen ein -und aufblenden" + +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Hintergrundfarbe" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Inhalt beschneiden" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Komponente" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Anmerkung" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Kopie" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Eine Anmerkung erstellen" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Eine Anmerkung bearbeiten" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Hauptkomponente" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Komponente austauschen" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "Es gibt noch keine Assets in dieser Bibliothek" @@ -4693,7 +4931,7 @@ msgstr "Oben & Unten" msgid "workspace.options.design" msgstr "Design" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exportieren" @@ -4702,13 +4940,21 @@ msgstr "Exportieren" msgid "workspace.options.export-multiple" msgstr "Auswahl exportieren" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Ein Element exportieren" msgstr[1] "%s Elemente exportieren" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 +msgid "workspace.options.export.add-export" +msgstr "Export hinzufügen" + +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 +msgid "workspace.options.export.remove-export" +msgstr "Export entfernen" + +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Suffix" @@ -4716,7 +4962,7 @@ msgstr "Suffix" msgid "workspace.options.exporting-complete" msgstr "Export abgeschlossen" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Exportiere…" @@ -4736,6 +4982,14 @@ msgstr "Fläche" msgid "workspace.options.fill.add-fill" msgstr "Füllfarbe hinzufügen" +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:164 +msgid "workspace.options.fill.remove-fill" +msgstr "Füllung entfernen" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "Größe des Boards an den Inhalt anpassen" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "Flow-Startpunkt hinzufügen" @@ -4753,6 +5007,10 @@ msgstr "Flow-Startpunkt" msgid "workspace.options.flows.flow-starts" msgstr "Flow-Startpunkte" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:154 +msgid "workspace.options.flows.remove-flow" +msgstr "Flow entfernen" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:31 msgid "workspace.options.grid.auto" msgstr "Automatisch" @@ -4854,11 +5112,23 @@ msgstr "Gruppe füllen" msgid "workspace.options.group-stroke" msgstr "Gruppe einrahmen" +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:323 +msgid "workspace.options.guides.add-guide" +msgstr "Hilfslinie hinzufügen" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:187 +msgid "workspace.options.guides.remove-guide" +msgstr "Hilfslinie entfernen" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:320 msgid "workspace.options.guides.title" msgstr "Hilfslinien" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:183 +msgid "workspace.options.guides.toggle-guide" +msgstr "Hilfslinie ein -und ausblenden" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Höhe" @@ -5084,6 +5354,15 @@ msgstr "Bei gedrückter Maustaste" msgid "workspace.options.interactions" msgstr "Interaktionen" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:735 +msgid "workspace.options.interactions.add-interaction" +msgstr "Interaktion hinzufügen" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs +#, unused +msgid "workspace.options.interactions.remove-interaction" +msgstr "Interaktion entfernen" + #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:152 msgid "workspace.options.layer-options.blend-mode.color" msgstr "Farbe" @@ -5163,24 +5442,28 @@ msgstr "Ebenen gruppieren" msgid "workspace.options.layer-options.title.multiple" msgstr "Ausgewählte Ebenen" +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197 +msgid "workspace.options.layer-options.toggle-layer" +msgstr "Sichtbarkeit der Ebene ein- und ausschalten" + #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs #, unused msgid "workspace.options.layout-item.advanced-ops" msgstr "Erweiterte Optionen" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Max.Höhe" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Max.Breite" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Min.Höhe" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Min.Breite" @@ -5294,11 +5577,11 @@ msgstr "Abstand zwischen" msgid "workspace.options.layout.top" msgstr "Oben" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Weitere Farben" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Weitere Bibliotheksfarben" @@ -5335,7 +5618,15 @@ msgstr "Oben links" msgid "workspace.options.radius-top-right" msgstr "Oben rechts" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:135 +msgid "workspace.options.radius.hide-all-corners" +msgstr "Unabhängige Ecken einklappen" + +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:136 +msgid "workspace.options.radius.show-single-corners" +msgstr "Unabhängige Ecken anzeigen" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Aktuell" @@ -5343,11 +5634,11 @@ msgstr "Aktuell" msgid "workspace.options.retry" msgstr "Wiederholen" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Drehung" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Schriftart suchen" @@ -5357,7 +5648,7 @@ msgstr "" "Wählen Sie eine Form, Zeichenfläche oder Gruppe aus, um eine Verbindung zu " "einer anderen Zeichenfläche herzustellen." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Ausgewählte Farben" @@ -5369,59 +5660,63 @@ msgstr "Auswahl füllen" msgid "workspace.options.selection-stroke" msgstr "Auswahl einrahmen" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "Schatten hinzufügen" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Weichzeichnen" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Schattenfarbe" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Schlagschatten" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Schatten nach innen" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "Schatten entfernen" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Streuung" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Schatten" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Gruppe schattieren" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Auswahl schattieren" +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 +msgid "workspace.options.shadow-options.toggle-shadow" +msgstr "Schatten ein- und ausblenden" + #: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:193 msgid "workspace.options.show-fill-on-export" msgstr "In Exporten anzeigen" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Im Ansichtsmodus anzeigen" @@ -5429,7 +5724,7 @@ msgstr "Im Ansichtsmodus anzeigen" msgid "workspace.options.size" msgstr "Größe" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Größenvoreinstellungen" @@ -5498,7 +5793,7 @@ msgstr "Dreieck" msgid "workspace.options.stroke-color" msgstr "Konturfarbe" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Konturbreite" @@ -5570,11 +5865,11 @@ msgstr "Automatische Breite" msgid "workspace.options.text-options.grow-fixed" msgstr "Feste Größe" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Zeichenabstand" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Zeilenabstand" @@ -5640,15 +5935,15 @@ msgstr "" "Verwenden Sie die Wiedergabetaste in der Kopfzeile, um die Prototypansicht " "zu wechseln." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Breite" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X-Achse" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y-Achse" @@ -5709,6 +6004,10 @@ msgstr "Noch keine Plugins installiert" msgid "workspace.plugins.error.manifest" msgstr "Das Plugin-Manifest ist falsch." +#: src/app/main/data/plugins.cljs:86, src/app/main/ui/workspace/main_menu.cljs:743, src/app/main/ui/workspace/plugins.cljs:82 +msgid "workspace.plugins.error.need-editor" +msgstr "Sie müssen ein Redakteur sein, um dieses Plugin zu benutzen" + #: src/app/main/ui/workspace/plugins.cljs:192 msgid "workspace.plugins.error.url" msgstr "Das Plugin existiert nicht oder die URL ist nicht korrekt." @@ -5729,6 +6028,28 @@ msgstr "Plugin-Manager" msgid "workspace.plugins.menu.title" msgstr "Plugins" +#: src/app/main/ui/workspace/plugins.cljs:372 +msgid "workspace.plugins.permissions-update.title" +msgstr "DIESES PLUGIN AKTUALISIEREN" + +#: src/app/main/ui/workspace/plugins.cljs:376 +msgid "workspace.plugins.permissions-update.warning" +msgstr "" +"Das Plugin wurde geändert, seit Sie es das letzte Mal geöffnet haben. Es " +"möchte nun auch zugreifen:" + +#: src/app/main/ui/workspace/plugins.cljs:283 +msgid "workspace.plugins.permissions.allow-download" +msgstr "Starten von Dateidownloads." + +#: src/app/main/ui/workspace/plugins.cljs:276 +msgid "workspace.plugins.permissions.comment-read" +msgstr "Ihre Kommentare und Antworten lesen." + +#: src/app/main/ui/workspace/plugins.cljs:270 +msgid "workspace.plugins.permissions.comment-write" +msgstr "Ihre Kommentare lesen und ändern und in Ihrem Namen antworten." + #: src/app/main/ui/workspace/plugins.cljs:243 msgid "workspace.plugins.permissions.content-read" msgstr "Lesen des Inhalts von Dateien, auf die Benutzer Zugriff haben." @@ -5749,6 +6070,10 @@ msgstr "Lesen Ihrer Bibliotheken und Assets." msgid "workspace.plugins.permissions.library-write" msgstr "Lesen und Ändern Ihrer Bibliotheken und Assets." +#: src/app/main/ui/workspace/plugins.cljs:316 +msgid "workspace.plugins.permissions.title" +msgstr "'%s' PLUGIN BENÖTIGT ZUGRIFF AUF:" + #: src/app/main/ui/workspace/plugins.cljs:250 msgid "workspace.plugins.permissions.user-read" msgstr "Lesen der Profil-Informationen des aktuellen Benutzers." @@ -5773,107 +6098,146 @@ msgstr "Plugin wurde korrekt geladen." msgid "workspace.plugins.title" msgstr "Plugins" +#: src/app/main/ui/workspace/plugins.cljs:436 +msgid "workspace.plugins.try-out.cancel" +msgstr "NICHT JETZT" + +#: src/app/main/ui/workspace/plugins.cljs:429 +msgid "workspace.plugins.try-out.message" +msgstr "" +"Möchten Sie einen ersten Eindruck bekommen? Es wird in einem neuen Entwurf " +"für Ihr aktuelles Team geöffnet. (Falls nicht, können Sie es jederzeit in " +"den installierten Plugins einer beliebigen Datei finden.)" + +#: src/app/main/ui/workspace/plugins.cljs:425 +msgid "workspace.plugins.try-out.title" +msgstr "'%s' PLUGIN IST FÜR IHREN BENUTZER INSTALLIERT!" + #: src/app/main/ui/workspace/plugins.cljs:442 msgid "workspace.plugins.try-out.try" msgstr "PLUGIN TESTEN" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Flex-Layout hinzufügen" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Grid-Layout hinzufügen" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Layout hinzufügen" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "In den Hintergrund" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Eins nach hinten" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Kopieren" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/context_menu.cljs:204 +msgid "workspace.shape.menu.copy-css" +msgstr "Als CSS kopieren" + +#: src/app/main/ui/workspace/context_menu.cljs:206 +msgid "workspace.shape.menu.copy-css-nested" +msgstr "Als CSS kopieren (verschachtelte Ebenen)" + +#: src/app/main/ui/workspace/context_menu.cljs:189 +msgid "workspace.shape.menu.copy-link" +msgstr "Link in die Zwischenablage kopieren" + +#: src/app/main/ui/workspace/context_menu.cljs:202 +msgid "workspace.shape.menu.copy-paste-as" +msgstr "Kopieren/Einfügen als ..." + +#: src/app/main/ui/workspace/context_menu.cljs:214 +msgid "workspace.shape.menu.copy-props" +msgstr "Eigenschaften kopieren" + +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Als Text kopieren" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Anmerkung erstellen" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Auswahl auf Zeichenfläche" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Komponente erstellen" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Mehrere Komponenten erstellen" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Ausschneiden" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Löschen" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Startpunkt löschen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Instanz trennen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Instanzen trennen" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Subtrahieren" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplizieren" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Bearbeiten" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Ausschließen" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Pfade reduzieren" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Horizontal spiegeln" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Vertikal spiegeln" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Startpunkt" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Eins nach vorne" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "In den Vordergrund" @@ -5882,103 +6246,107 @@ msgstr "In den Vordergrund" msgid "workspace.shape.menu.go-main" msgstr "Zur Hauptkomponentendatei wechseln" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Gruppieren" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Ausblenden" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Benutzeroberfläche ein-/ausblenden" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Überlappen" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Sperren" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Maskieren" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Einfügen" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:218 +msgid "workspace.shape.menu.paste-props" +msgstr "Eigenschaften einfügen" + +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Pfad" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Flex-Layout entfernen" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Grid-Layout entfernen" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Layout entfernen" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Umbenennen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Änderungen zurücksetzen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Hauptkomponente wiederherstellen" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Ebene auswählen" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Anzeigen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Im Assets-Panel anzeigen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Hauptkomponente anzeigen" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Vorschaubild entfernen" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Als Vorschaubild festlegen" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "In Pfade umwandeln" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Gruppierung aufheben" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Hinzufügen" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Entsperren" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Maske entfernen" @@ -5987,7 +6355,7 @@ msgstr "Maske entfernen" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Hauptkomponenten aktualisieren" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Hauptkomponente aktualisieren" @@ -5999,11 +6367,11 @@ msgstr "Seitenleiste ausblenden" msgid "workspace.sidebar.expand" msgstr "Seitenleiste einblenden" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Verlauf" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Ebenen" @@ -6039,7 +6407,7 @@ msgstr "Formen" msgid "workspace.sidebar.layers.texts" msgstr "Texte" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Importierte SVG-Attribute" @@ -6051,23 +6419,61 @@ msgstr "Seiten" msgid "workspace.sidebar.sitemap.add-page" msgstr "Seite hinzufügen" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Sitemap" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:47 +#, unused +msgid "workspace.token-set.not-active" +msgstr "Token-Set ist nicht aktiv" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:84 +msgid "workspace.token.active-themes" +msgstr "%s aktive Themes" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs +#, unused +msgid "workspace.token.add set" +msgstr "Set hinzufügen" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Angewandt auf" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 +msgid "workspace.token.back-to-themes" +msgstr "Zurück zur Themen-Liste" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 +msgid "workspace.token.create-new-theme" +msgstr "Erstellen Sie jetzt Ihr erstes Theme." + +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 msgid "workspace.token.create-one" msgstr "Ein neues erstellen." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 -msgid "workspace.token.create-theme-title" -msgstr "Theme erstellen" +#: src/app/main/ui/workspace/tokens/form.cljs:492 +msgid "workspace.token.create-token" +msgstr "Neues %s Token erstellen" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 +msgid "workspace.token.delete" +msgstr "Token löschen" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "Theme löschen" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 +msgid "workspace.token.duplicate" +msgstr "Token duplizieren" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 +msgid "workspace.token.edit" +msgstr "Token bearbeiten" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Theme bearbeiten" @@ -6075,36 +6481,129 @@ msgstr "Theme bearbeiten" msgid "workspace.token.edit-themes" msgstr "Themes bearbeiten" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Token bearbeiten" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:56 -msgid "workspace.token.new-theme" -msgstr "Neues Theme" +#: src/app/main/ui/workspace/tokens/form.cljs:544 +msgid "workspace.token.enter-token-description" +msgstr "Eine Beschreibung hinzufügen (optional)" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 +#: src/app/main/ui/workspace/tokens/form.cljs:498 +msgid "workspace.token.enter-token-name" +msgstr "%s Token-Name eingeben" + +#: src/app/main/ui/workspace/tokens/sets.cljs +#, unused +msgid "workspace.token.grouping-set-alert" +msgstr "Die Gruppierung von Token-Sets wird noch nicht unterstützt." + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "Gruppe" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "Theme" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 msgid "workspace.token.no-active-theme" msgstr "Kein Theme aktiviert" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "Sie müssen ein Redakteur sein, um Sets zu aktivieren / deaktivieren" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "Sie müssen ein Redakteur sein, um Themes zu verwenden" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 +msgid "workspace.token.no-sets-create" +msgstr "Es sind noch keine Sets definiert. Erstellen Sie zuerst eines." + +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 +msgid "workspace.token.no-sets-yet" +msgstr "Es sind noch keine Sets vorhanden." + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "Es gibt keine Themes." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 +msgid "workspace.token.no-themes-currently" +msgstr "Sie haben derzeit keine Themes." + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 +#, fuzzy +msgid "workspace.token.original-value" +msgstr "Ursprünglicher Wert: %s" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "Referenz ist ungültig oder befindet sich nicht in einem aktiven Set" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 +#, fuzzy +msgid "workspace.token.resolved-value" +msgstr "Aufgelöster Wert: %s" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Theme speichern" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 +msgid "workspace.token.select-set" +msgstr "Set auswählen." + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 +msgid "workspace.token.set-selection-theme" +msgstr "" +"Legen Sie fest, welche Token-Sets als Teil dieser Theme-Option verwendet " +"werden sollen:" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Theme %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 -msgid "workspace.token.themes" -msgstr "Themes" +#: src/app/main/ui/workspace/tokens/form.cljs:545 +msgid "workspace.token.token-description" +msgstr "Beschreibung" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/form.cljs:501 +msgid "workspace.token.token-name" +msgstr "Name" + +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" sit kein gültiger Token-Name.\n" +"Token-Namen dürfen nur Buchstaben und Ziffern enthalten, die durch . " +"Zeichen (Punkt) getrennt sind und dürfen nicht mit einem $-Zeichen beginnen." + +#: src/app/main/ui/workspace/tokens/form.cljs:526 +msgid "workspace.token.token-value" +msgstr "Wert" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "TOKENS - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 +msgid "workspace.token.tools" +msgstr "Werkzeuge" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "Der Wert ist nicht gültig" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "" +"Die Umbenennung dieses Tokens macht jeden Verweis auf seinen alten Namen " +"kaputt." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Assets" @@ -6112,39 +6611,39 @@ msgstr "Assets" msgid "workspace.toolbar.color-palette" msgstr "Farbpalette (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Kommentare (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Stift (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Ellipse (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Zeichenfläche (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Bild (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Verschieben (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Pfad (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Plugins (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rechteck (%s)" @@ -6153,7 +6652,7 @@ msgstr "Rechteck (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Tastaturkürzel (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Text (%s)" @@ -6161,7 +6660,7 @@ msgstr "Text (%s)" msgid "workspace.toolbar.text-palette" msgstr "Typografien (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Werkzeugleiste ein- und ausblenden" @@ -6319,19 +6818,19 @@ msgstr "Vorgang über %s" msgid "workspace.undo.title" msgstr "Verlauf" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Ignorieren" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Mehr Info" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Es gibt Updates in gemeinsam genutzten Bibliotheken" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Aktualisieren" @@ -6355,14 +6854,65 @@ msgstr "Version wiederherstellen" msgid "workspace.versions.button.save" msgstr "Version speichern" +#: src/app/main/ui/workspace/sidebar/versions.cljs:336 +msgid "workspace.versions.empty" +msgstr "Es sind noch keine Versionen vorhanden" + +#: src/app/main/ui/ds/product/autosaved_milestone.cljs:53 +msgid "workspace.versions.expand-snapshot" +msgstr "Schnappschüsse erweitern" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:309 +msgid "workspace.versions.filter.all" +msgstr "Alle Versionen" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:308 +msgid "workspace.versions.filter.label" +msgstr "Versionen filtern" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:310 +msgid "workspace.versions.filter.mine" +msgstr "Meine Versionen" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:316 +msgid "workspace.versions.filter.user" +msgstr "%s Versionen" + #: src/app/main/ui/workspace/sidebar/versions.cljs:322 msgid "workspace.versions.loading" msgstr "Laden..." -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar/versions.cljs:259 +msgid "workspace.versions.restore-warning" +msgstr "Möchten Sie diese Version wiederherstellen?" + +#, unused +msgid "workspace.versions.snapshot-menu" +msgstr "Schnappschuss-Menü öffnen" + +#: src/app/main/ui/workspace/sidebar.cljs:285 +msgid "workspace.versions.tab.actions" +msgstr "Aktionen" + +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "Verlauf" +#: src/app/main/ui/ds/product/autosaved_milestone.cljs:67, src/app/main/ui/ds/product/user_milestone.cljs:74 +msgid "workspace.versions.version-menu" +msgstr "Version-Menü öffnen" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:365 +#, markdown +msgid "workspace.versions.warning.subtext" +msgstr "" +"Wenn Sie diese Grenze erhöhen möchten, schreiben Sie uns an " +"[support@penpot.app](%s)" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:361 +msgid "workspace.versions.warning.text" +msgstr "Automatisch gespeicherte Versionen werden für %s Tage aufbewahrt." + #, unused msgid "workspace.viewport.click-to-close-path" msgstr "Klicken Sie, um den Pfad zu schließen" diff --git a/frontend/translations/el.po b/frontend/translations/el.po index f8df639a7e..638fca8927 100644 --- a/frontend/translations/el.po +++ b/frontend/translations/el.po @@ -34,13 +34,13 @@ msgstr "Δημιουργία επίδειξης λογαριασμού" msgid "auth.create-demo-profile" msgstr "Θέλετε να το δοκιμάσετε;" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Αυτή είναι μια υπηρεσία DEMO, ΜΗ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ για πραγματική εργασία, τα " "έργα θα σβήνονται περιοδικά." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Ξεχάσατε τον κωδικό;" @@ -52,23 +52,23 @@ msgstr "Πλήρες όνομα" msgid "auth.login-here" msgstr "Συνδεθείτε εδώ" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Συνδεθείτε" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" @@ -94,7 +94,7 @@ msgstr "" msgid "auth.notifications.team-invitation-accepted" msgstr "Μπήκατε στην ομάδα" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Κωδικός " @@ -118,11 +118,11 @@ msgstr "Ξεχάσατε τον κωδικό σας;" msgid "auth.recovery-submit" msgstr "Αλλάξτε τον κωδικό σας" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Δεν έχετε λογαριασμό;" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Δημιουργία λογαριασμού" @@ -147,7 +147,7 @@ msgstr "Προσθήκη ως Κοινόχρηστη βιβλιοθήκη" msgid "dashboard.change-email" msgstr "Αλλαγή email" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(Αντίγραφο)" @@ -175,11 +175,11 @@ msgstr "Πρόσκληση στην ομάδα" msgid "dashboard.leave-team" msgstr "Αφήστε την ομάδα" -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Κοινόχρηστες βιβλιοθήκες" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "φόρτωση των αρχείων σας …" @@ -191,7 +191,7 @@ msgstr "Μετακίνηση" msgid "dashboard.move-to-other-team" msgstr "Μετακίνηση σε άλλη ομάδα" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "Νεο αρχείο" @@ -264,7 +264,7 @@ msgstr "Αλλάξτε τη γλώσσα διεπαφής" msgid "dashboard.select-ui-theme" msgstr "Επιλέξτε ένα θέμα" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Εμφάνιση όλων των αρχείων" @@ -284,7 +284,7 @@ msgstr "Το έργο σας έχει αναπαραχθεί με επιτυχί msgid "dashboard.success-duplicate-project" msgstr "Το έργο σας έχει αναπαραχθεί με επιτυχία" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Το έργο σας μετακινήθηκε με επιτυχία" @@ -332,15 +332,15 @@ msgstr "Email" msgid "dashboard.your-name" msgstr "Το όνομα σου" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Το Penpot σας" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "ακύρωση" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -348,7 +348,7 @@ msgstr "Ok" msgid "ds.confirm-title" msgstr "Είσαι σίγουρος;" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Το πρόγραμμα περιήγησής σας δεν μπορεί να εκτελέσει αυτήν τη λειτουργία" @@ -364,12 +364,11 @@ msgstr "Αυτό το email έχει ήδη επικυρωθεί." msgid "errors.email-has-permanent-bounces" msgstr "Το email «%s» έχει πολλές μόνιμες αναφορές αναπήδησης." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Έχει συμβεί κάτι λάθος." -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Το email επιβεβαίωσης πρέπει να ταιριάζει" @@ -377,7 +376,7 @@ msgstr "Το email επιβεβαίωσης πρέπει να ταιριάζει msgid "errors.invalid-recovery-token" msgstr "Ο κωδικός ανάκτησης δεν είναι έγκυρος." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Ο έλεγχος ταυτότητας LDAP είναι απενεργοποιημένος." @@ -423,12 +422,11 @@ msgstr "Προέκυψε ένα μη αναμενόμενο σφάλμα." msgid "errors.unexpected-token" msgstr "Άγνωστο διακριτικό" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Το όνομα χρήστη ή ο κωδικός πρόσβασης φαίνεται να είναι λάθος." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Ο παλιός κωδικός πρόσβασης είναι λάθος " @@ -451,11 +449,11 @@ msgstr "" msgid "feedback.title" msgstr "Email" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Παρουσιάστηκε σφάλμα" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Θολούρα" @@ -463,31 +461,31 @@ msgstr "Θολούρα" msgid "inspect.attributes.blur.value" msgstr "αξία" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Γέμισμα" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Λήψη εικόνας πηγής" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Υψος" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Πλάτος" @@ -526,11 +524,11 @@ msgstr "Πάνω" msgid "inspect.attributes.layout.width" msgstr "Πλάτος" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Σκιά " -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "περίγραμμα" @@ -567,111 +565,111 @@ msgstr "Στερεός" msgid "inspect.attributes.stroke.width" msgstr "Πλάτος" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Τυπογραφία" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Οικογένεια γραμματοσειρών" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Μέγεθος γραμματοσειράς" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Στυλ γραμματοσειράς" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Διάστημα γραμμάτων" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Ύψος γραμμής" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Διακόσμηση κειμένου" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Κανένα" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "διαγραφή" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "υπογράμμιση" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Μετασχηματισμός κειμένου" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Πεζά γράμματα" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Κανένα" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Πρώτα κεφαλαία" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Κεφαλαία γράμματα" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Κώδικας" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Κύκλος" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Κυρτότητα" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Τραπέζι εργασίας" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Ομάδα" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Εικόνα" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Επιλεγμένα" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Σχέδιο" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Ορθωγώνιο" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Κείμενο" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Πληροφορίες" @@ -683,7 +681,7 @@ msgstr "Αποδέχομαι" msgid "labels.admin" msgstr "Διαχειριστής" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Ολα" @@ -697,11 +695,11 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Bad Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "ακύρωση" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Σχόλια" @@ -717,23 +715,23 @@ msgstr "Δημιουργήστε μια νέα ομάδα" msgid "labels.dashboard" msgstr "πίνακας" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Διαγραφή" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Διαγραφή σχολίου" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Διαγραφή νήματος" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Πρόχειρα" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Edit" @@ -749,7 +747,7 @@ msgstr "Τα σχόλια απενεργοποιήθηκαν" msgid "labels.feedback-sent" msgstr "Εστάλη γνώμη" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Δώστε μας τη γνώμη σας" @@ -757,7 +755,7 @@ msgstr "Δώστε μας τη γνώμη σας" msgid "labels.go-back" msgstr "Πίσω" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Απόκρυψη επιλυμένων σχολίων" @@ -775,7 +773,7 @@ msgstr "Εσωτερικό σφάλμα" msgid "labels.language" msgstr "Γλώσσα" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Αποσύνδεση" @@ -787,7 +785,7 @@ msgstr "Μέλη" msgid "labels.new-password" msgstr "Νέος κωδικός πρόσβασης" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Δεν έχετε εκκρεμείς ειδοποιήσεις σχολίων" @@ -802,7 +800,7 @@ msgstr "" msgid "labels.not-found.main-message" msgstr "Ωχ" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 αρχείο" @@ -844,7 +842,7 @@ msgstr "Εργα" msgid "labels.remove" msgstr "Διαγραφή" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Μετονομασία" @@ -860,7 +858,7 @@ msgstr "Ξαναδοκιμάσετε" msgid "labels.role" msgstr "Ρόλος" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Αποθηκεύση" @@ -892,11 +890,11 @@ msgstr "Μοιραστείτε το link" msgid "labels.shared-libraries" msgstr "Κοινόχρηστες βιβλιοθήκες" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Εμφάνιση όλων των σχολίων" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Εμφάνιση μόνο των δικών σας σχολίων" @@ -912,7 +910,7 @@ msgstr "Ενημερώστε τον εξοπλισμό" msgid "labels.viewer" msgstr "Θεατής" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Γράψτε ένα νέο σχόλιο" @@ -975,17 +973,17 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε το λογαριασμό σας;" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Διαγραφή συζήτησης" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτήν τη συνομιλία; Όλα τα σχόλια " "σε αυτό το νήμα θα διαγραφούν." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Διαγραφή συζήτησης" @@ -1001,11 +999,11 @@ msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετ msgid "modals.delete-file-confirm.title" msgstr "Διαγραφή αρχείου" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή τη σελίδα;" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Διαγραφή σελίδας" @@ -1108,21 +1106,21 @@ msgstr "" msgid "modals.remove-shared-confirm.message" msgstr "Καταργήστε το “%s” ως Κοινόχρηστη βιβλιοθήκη" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Ενημέρωση στοιχείου" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Ακύρωση" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Πρόκειται να ενημερώσετε ένα στοιχείο σε μια κοινόχρηστη βιβλιοθήκη. Αυτό " "μπορεί να επηρεάσει άλλα αρχεία που το χρησιμοποιούν." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Ενημερώστε ένα στοιχείο σε μια κοινόχρηστη βιβλιοθήκη" @@ -1148,7 +1146,7 @@ msgstr "Το email επαλήθευσης εστάλη στο %s. Ελέγξτε msgid "profile.recovery.go-to-login" msgstr "Μεταβείτε στη σύνδεση" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Μικτός " @@ -1221,23 +1219,23 @@ msgstr "Ευθυγραμμίστε την κορυφή (%s)" msgid "workspace.assets.assets" msgstr "Περιουσιακά στοιχεία" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Όλα τα περιουσιακά στοιχεία" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Χρώματα" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Συστατικά" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Διαγραφή" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Αντιγραφή" @@ -1245,27 +1243,23 @@ msgstr "Αντιγραφή" msgid "workspace.assets.edit" msgstr "Επεξεργασία" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Γραφικά" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Βιβλιοθήκες" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Δεν βρέθηκαν στοιχεία" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Μετονομασία" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Αναζήτηση στοιχείων" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Τυπογραφίες" @@ -1274,31 +1268,31 @@ msgstr "Τυπογραφίες" msgid "workspace.assets.typography.font-id" msgstr "Γραμματοσειρά" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Μέγεθος" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Παραλαγή" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Μεταβείτε στο αρχείο βιβλιοθήκης στυλ για επεξεργασία" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Διάστημα γραμμάτων" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Υψος γραμμής" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Μετασχηματισμός κειμένου" @@ -1338,25 +1332,24 @@ msgstr "Εμφάνιση παλέτας χρωμάτων" msgid "workspace.header.menu.show-rules" msgstr "Εμφάνιση κανόνες" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Σφάλμα κατά την αποθήκευση" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Αποθηκεύτηκε" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Aποθήκευση " #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Μη αποθηκευμένες αλλαγές" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Λειτουργία προβολής (%s)" @@ -1365,7 +1358,7 @@ msgstr "Λειτουργία προβολής (%s)" msgid "workspace.libraries.add" msgstr "Προσθήκη" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s χρώματα" @@ -1377,27 +1370,27 @@ msgstr "Βιβλιοθήκη αρχείων" msgid "workspace.libraries.colors.recent-colors" msgstr "Πρόσφατα χρώματα" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Αποθηκεύστε το στυλ χρώματος" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s στοιχεία" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Βιβλιοθήκη αρχείων" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s γραφικά" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "ΒΙΒΛΙΟΘΗΚΕΣ ΣΕ ΑΥΤΟ ΤΟ ΑΡΧΕΙΟ" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "ΒΙΒΛΙΟΘΗΚΕΣ" @@ -1406,43 +1399,39 @@ msgstr "ΒΙΒΛΙΟΘΗΚΕΣ" msgid "workspace.libraries.library" msgstr "ΒΙΒΛΙΟΘΗΚΗ" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Δεν υπάρχουν κοινόχρηστες βιβλιοθήκες που χρειάζονται ενημέρωση" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Δεν βρίσκεται «%s»" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Δεν υπάρχουν διαθέσιμες κοινόχρηστες βιβλιοθήκες" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Αναζήτηση σε κοινόχρηστες βιβλιοθήκες" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "Κοινόχρηστες βιβλιοθήκες" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Πολλαπλές τυπογραφίες" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Αποσύνδεση όλων των τυπογραφιών" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s τυπογραφίες" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Ενημέρωση" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "ΕΝΗΜΕΡΩΣΕΙΣ" @@ -1458,11 +1447,11 @@ msgstr "Θολούρα της ομάδας" msgid "workspace.options.blur-options.title.multiple" msgstr "Θόλωμα επιλογής" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Χρώμα του φόντου" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Συστατικό" @@ -1470,19 +1459,19 @@ msgstr "Συστατικό" msgid "workspace.options.design" msgstr "Σχέδιο" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Εξαγωγή" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgstr "Εξαγωγή σχήματος" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Κατάληξη" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Εξαγωγή ..." @@ -1674,7 +1663,7 @@ msgstr "Πρωτότυπο" msgid "workspace.options.radius" msgstr "Ακτίνα κύκλου" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Περιστροφή" @@ -1692,39 +1681,39 @@ msgstr "Συμπλήρωση επιλογής" msgid "workspace.options.selection-stroke" msgstr "Επιλογή διαδρομής" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Θολούρα" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Σκίαση" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Εσωτερική σκιά" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "Χ" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Υ" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Διάχυση" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Σκιά" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Ομαδική σκιά" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Επιλογή σκιών" @@ -1732,7 +1721,7 @@ msgstr "Επιλογή σκιών" msgid "workspace.options.size" msgstr "Μέγεθος" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Προεπιλογές μεγέθους" @@ -1792,11 +1781,11 @@ msgstr "Αυτόματο πλάτος" msgid "workspace.options.text-options.grow-fixed" msgstr "Σταθερός" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Διάστημα γραμμάτων" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Υψος γραμμής" @@ -1862,107 +1851,107 @@ msgstr "" "Χρησιμοποιήστε το κουμπί αναπαραγωγής στην κεφαλίδα για να εκτελέσετε την " "προβολή πρωτοτύπου." -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Αποστολή προς τα πίσω" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Αποστολή προς τα πίσω" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "αντίγραφο" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Δημιουργία στοιχείου" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Αποκοπή" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Διαγραφή" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Αποσύνδεση παρουσίας" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Αντίγραφο" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Επεξεργασία" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Αναστρέψτε οριζόντια" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Αναστροφή κάθετου" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Φέρτε μπροστά" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Φέρτε μπροστά" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Ομάδα" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Κρύβω" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Κλείδωμα" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Μάσκα" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Επικόλληση" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Επαναφορά παρακάμψεων" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "προβολή" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Κατάργηση ομάδας" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Ξεκλείδωμα" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Ανακάλυψη" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Ιστορικό" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "στρώσεις" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Εισαγόμενα χαρακτηριστικά SVG" @@ -1970,11 +1959,11 @@ msgstr "Εισαγόμενα χαρακτηριστικά SVG" msgid "workspace.sidebar.sitemap" msgstr "Σελίδες" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Χάρτης ιστοτόπου" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Στοιχεία" @@ -1982,39 +1971,39 @@ msgstr "Στοιχεία" msgid "workspace.toolbar.color-palette" msgstr "Παλέτα χρωμάτων (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Σχόλια (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Στροφή (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Έλλειψη (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Artboard (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Εικόνα (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Path (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Ορθογώνιο (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Κείμενο (%s)" @@ -2163,15 +2152,15 @@ msgstr "Λειτουργία άνω του %s" msgid "workspace.undo.title" msgstr "Ιστορία" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Παράβλεψη" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Υπάρχουν ενημερώσεις σε κοινόχρηστες βιβλιοθήκες" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Ενημέρωση" diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 3ac5cb4a32..679a703e32 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "PO-Revision-Date: 2025-01-29 22:23+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: English \n" +"Language-Team: English " +"\n" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -11,10 +11,6 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.10-dev\n" -#: src/app/main/data/common.cljs:87 -msgid "labels.refresh" -msgstr "Refresh" - #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" msgstr "Already have an account?" @@ -40,13 +36,13 @@ msgstr "Create demo account" msgid "auth.create-demo-profile" msgstr "Just wanna try it?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "This is a DEMO service, DO NOT USE for real work, the projects will be " "periodically wiped." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Forgot password?" @@ -54,7 +50,7 @@ msgstr "Forgot password?" msgid "auth.fullname" msgstr "Full Name" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Log into my account" @@ -62,31 +58,31 @@ msgstr "Log into my account" msgid "auth.login-here" msgstr "Login here." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Login" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "Penpot is the free open-source design tool for Design and Code collaboration" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -110,7 +106,7 @@ msgstr "Password recovery link sent to your inbox." msgid "auth.notifications.team-invitation-accepted" msgstr "Joined the team successfully" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Password" @@ -138,7 +134,7 @@ msgstr "Forgot password?" msgid "auth.recovery-submit" msgstr "Change your password" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "No account yet?" @@ -150,7 +146,7 @@ msgstr "Let us know what we should call you on the dashboard and in emails." msgid "auth.register-account-title" msgstr "Your name" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Create an account" @@ -174,7 +170,7 @@ msgstr "The open-source solution for design and prototyping." msgid "auth.terms-and-privacy-agreement" msgstr "I agree to the [terms of service](%s) and [privacy policy](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Terms of service" @@ -188,7 +184,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "We've sent a verification email to" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Work email" @@ -197,11 +193,11 @@ msgstr "Work email" msgid "branding-illustrations-marketing-pieces" msgstr "...branding, illustrations, marketing pieces, etc." -#: src/app/main/ui/comments.cljs:504 +#: src/app/main/ui/comments.cljs:532 msgid "comments.mentions.not-found" msgstr "No people found for @%s" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publish" @@ -273,7 +269,7 @@ msgstr "Share prototypes" msgid "common.share-link.view-all" msgstr "Select All" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Unpublish" @@ -327,7 +323,7 @@ msgstr "Interface Walkthrough" msgid "dashboard.access-tokens.copied-success" msgstr "Copied token" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Generate new token" @@ -335,11 +331,11 @@ msgstr "Generate new token" msgid "dashboard.access-tokens.create.success" msgstr "Access token created successfully." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Press the button \"Generate new token\" to generate one." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "You have no tokens so far." @@ -363,23 +359,23 @@ msgstr "90 days" msgid "dashboard.access-tokens.expiration-never" msgstr "Never" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Expired on %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Expires on %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "No expiration date" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Personal access tokens" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Personal access tokens function like an alternative to our login/password " @@ -394,7 +390,7 @@ msgstr "The token will expire on %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "The token has no expiration date" -#: src/app/main/ui/dashboard/placeholder.cljs:54 +#: src/app/main/ui/dashboard/placeholder.cljs:35 msgid "dashboard.add-file" msgstr "Add file" @@ -406,7 +402,7 @@ msgstr "Add as Shared Library" msgid "dashboard.change-email" msgstr "Change email" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:508 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(copy)" @@ -442,23 +438,23 @@ msgstr "Duplicate" msgid "dashboard.duplicate-multi" msgstr "Duplicate %s files" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Once a project member creates a draft, it will be displayed here." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "No drafts yet." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Once a project member creates a file, it will be displayed here." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "No files yet." -#: src/app/main/ui/dashboard/placeholder.cljs:43 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -474,14 +470,42 @@ msgstr "" "add from our [Libraries & " "templates](https://penpot.app/libraries-templates)." -#: src/app/main/ui/dashboard/placeholder.cljs:39 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Libraries added to the project will appear here." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "No libraries yet." +#: src/app/main/ui/dashboard/placeholder.cljs:44 +msgid "dashboard.empty-project.add-library" +msgstr "Add a Library or a Template" + +#: src/app/main/ui/dashboard/placeholder.cljs:36, src/app/main/ui/dashboard/placeholder.cljs:90 +msgid "dashboard.empty-project.create" +msgstr "Create new file" + +#: src/app/main/ui/dashboard/placeholder.cljs:45 +msgid "dashboard.empty-project.explore" +msgstr "Explore some to add" + +#: src/app/main/ui/dashboard/placeholder.cljs:43 +msgid "dashboard.empty-project.go-to-libraries" +msgstr "Go to Libraries and Templates" + +#: src/app/main/ui/dashboard/placeholder.cljs:39, src/app/main/ui/dashboard/placeholder.cljs:40 +msgid "dashboard.empty-project.import" +msgstr "Import a file" + +#: src/app/main/ui/dashboard/placeholder.cljs:41 +msgid "dashboard.empty-project.import-penpot" +msgstr "Import a .penpot file" + +#: src/app/main/ui/dashboard/placeholder.cljs:37 +msgid "dashboard.empty-project.start" +msgstr "Start building amazing stuff" + #: src/app/main/ui/dashboard/file_menu.cljs:249, src/app/main/ui/dashboard/file_menu.cljs:254 msgid "dashboard.export-binary-multi" msgstr "Download %s Penpot files (.penpot)" @@ -572,33 +596,33 @@ msgstr "Include shared library assets in file libraries" msgid "dashboard.export.title" msgstr "Export files" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Missing font" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Dismiss all" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Custom fonts you upload will appear here." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "No custom fonts yet." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "Once a project member uploads a custom font, it will be displayed here." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 font added" msgstr[1] "%s fonts added" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -608,20 +632,20 @@ msgstr "" "upload fonts with the following formats: **TTF, OTF and WOFF** (only one " "will be needed)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "You should only upload fonts you own or have license to use in Penpot. Find " -"out more in the Content rights section of [Penpot's Terms of " -"Service](%s). You also might want to read about " -"[font licensing](https://www.typography.com/faq)." +"out more in the Content rights section of [Penpot's Terms of Service](%s). " +"You also might want to read about [font " +"licensing](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Upload all" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -632,7 +656,7 @@ msgstr "" "using [Transfonter](https://transfonter.org/) to generate webfonts and fix " "errors. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Import Penpot files" @@ -644,11 +668,11 @@ msgstr "Oops! We couldn't import this file" msgid "dashboard.import.analyze-error.components-v2" msgstr "File with components v2 activated but this team doesn't support it yet." -#: src/app/main/ui/dashboard.cljs:248 +#: src/app/main/ui/dashboard.cljs:247 msgid "dashboard.import.bad-url" msgstr "Import failed. The template URL is incorrect" -#: src/app/main/ui/dashboard.cljs:242 +#: src/app/main/ui/dashboard.cljs:241 msgid "dashboard.import.error" msgstr "Import failed. Please try again" @@ -656,17 +680,17 @@ msgstr "Import failed. Please try again" msgid "dashboard.import.import-error" msgstr "There was a problem importing the file. The file wasn't imported." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 file has been imported successfully." msgstr[1] "%s files have been imported successfully." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Some files containted invalid objects that have been removed." -#: src/app/main/ui/dashboard.cljs:249 +#: src/app/main/ui/dashboard.cljs:248 msgid "dashboard.import.no-perms" msgstr "You don’t have permission to import to this team" @@ -706,30 +730,38 @@ msgstr "Invite people" msgid "dashboard.leave-team" msgstr "Leave team" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Libraries & Templates" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:257 +msgid "dashboard.libraries-and-templates.description" +msgstr "Here you have some Libraries and templates you can add to your project" + +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Explore more of them and know how to contribute" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "There was a problem importing the template. The template wasn't imported." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Libraries" -#: src/app/main/ui/dashboard/placeholder.cljs:64 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "loading your files …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "loading your fonts …" +#: src/app/main/data/comments.cljs:472 +msgid "dashboard.mark-all-as-read.success" +msgstr "Marked all notifications as read" + #: src/app/main/ui/dashboard/file_menu.cljs:291, src/app/main/ui/dashboard/project_menu.cljs:101 msgid "dashboard.move-to" msgstr "Move to" @@ -742,11 +774,11 @@ msgstr "Move %s files to" msgid "dashboard.move-to-other-team" msgstr "Move to other team" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ New File" -#: src/app/main/data/dashboard.cljs:483, src/app/main/data/dashboard.cljs:592 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "New File" @@ -754,31 +786,10 @@ msgstr "New File" msgid "dashboard.new-project" msgstr "+ New project" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:595 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "New Project" -msgid "dashboard.empty-project.create" -msgstr "Create new file" - -msgid "dashboard.empty-project.start" -msgstr "Start building amazing stuff" - -msgid "dashboard.empty-project.import" -msgstr "Import a file" - -msgid "dashboard.empty-project.import-penpot" -msgstr "Import a .penpot file" - -msgid "dashboard.empty-project.add-library" -msgstr "Add a Library or a Template" - -msgid "dashboard.empty-project.explore" -msgstr "Explore some to add" - -msgid "dashboard.empty-project.go-to-libraries" -msgstr "Go to Libraries and Templates" - #: src/app/main/ui/dashboard/search.cljs:77 msgid "dashboard.no-matches-for" msgstr "No matches found for “%s“" @@ -787,7 +798,7 @@ msgstr "No matches found for “%s“" msgid "dashboard.no-projects-placeholder" msgstr "Pinned projects will appear here" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Notifications" @@ -799,7 +810,7 @@ msgstr "Your email address has been updated successfully" msgid "dashboard.notifications.email-verified-successfully" msgstr "Your email address has been verified successfully" -#: src/app/main/ui/settings/notifications.cljs:42 +#: src/app/main/data/profile.cljs:260 msgid "dashboard.notifications.notifications-saved" msgstr "Notification settings updated" @@ -819,7 +830,7 @@ msgstr "%s members" msgid "dashboard.open-in-new-tab" msgstr "Open file in a new tab" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Options" @@ -847,15 +858,15 @@ msgstr "You are now a viewer on this team." msgid "dashboard.pin-unpin" msgstr "Pin/Unpin" -#: src/app/main/ui/dashboard.cljs:212 +#: src/app/main/ui/dashboard.cljs:208 msgid "dashboard.plugins.bad-url" msgstr "The plugin URL is incorrect" -#: src/app/main/ui/dashboard.cljs:210 +#: src/app/main/ui/dashboard.cljs:206 msgid "dashboard.plugins.parse-error" msgstr "Cannot parser the plugin manifest" -#: src/app/main/ui/dashboard.cljs:173 +#: src/app/main/ui/dashboard.cljs:169 msgid "dashboard.plugins.try-plugin" msgstr "Try plugin: " @@ -896,67 +907,67 @@ msgstr "Select UI language" msgid "dashboard.select-ui-theme" msgstr "Select theme" -#: src/app/main/ui/settings/notifications.cljs:76 +#: src/app/main/ui/settings/notifications.cljs:57 msgid "dashboard.settings.notifications.dashboard-comments.all" msgstr "All comments, mentions and replies" -#: src/app/main/ui/settings/notifications.cljs:78 +#: src/app/main/ui/settings/notifications.cljs:59 msgid "dashboard.settings.notifications.dashboard-comments.none" msgstr "None" -#: src/app/main/ui/settings/notifications.cljs:77 +#: src/app/main/ui/settings/notifications.cljs:58 msgid "dashboard.settings.notifications.dashboard-comments.partial" msgstr "Only mentions and replies" -#: src/app/main/ui/settings/notifications.cljs:73 +#: src/app/main/ui/settings/notifications.cljs:54 msgid "dashboard.settings.notifications.dashboard-comments.title" msgstr "File comments" -#: src/app/main/ui/settings/notifications.cljs:72 +#: src/app/main/ui/settings/notifications.cljs:53 msgid "dashboard.settings.notifications.dashboard.title" msgstr "Dashboard Notifications" -#: src/app/main/ui/settings/notifications.cljs:86 +#: src/app/main/ui/settings/notifications.cljs:67 msgid "dashboard.settings.notifications.email-comments.all" msgstr "All comments, mentions and replies" -#: src/app/main/ui/settings/notifications.cljs:88 +#: src/app/main/ui/settings/notifications.cljs:69 msgid "dashboard.settings.notifications.email-comments.none" msgstr "None" -#: src/app/main/ui/settings/notifications.cljs:87 +#: src/app/main/ui/settings/notifications.cljs:68 msgid "dashboard.settings.notifications.email-comments.partial" msgstr "Only mentions and replies" -#: src/app/main/ui/settings/notifications.cljs:83 +#: src/app/main/ui/settings/notifications.cljs:64 msgid "dashboard.settings.notifications.email-comments.title" msgstr "File comments" -#: src/app/main/ui/settings/notifications.cljs:95 +#: src/app/main/ui/settings/notifications.cljs:76 msgid "dashboard.settings.notifications.email-invites.all" msgstr "All types of invites and requests" -#: src/app/main/ui/settings/notifications.cljs:98 +#: src/app/main/ui/settings/notifications.cljs:79 msgid "dashboard.settings.notifications.email-invites.none" msgstr "None" -#: src/app/main/ui/settings/notifications.cljs:92 +#: src/app/main/ui/settings/notifications.cljs:73 msgid "dashboard.settings.notifications.email-invites.title" msgstr "Invites and requests" -#: src/app/main/ui/settings/notifications.cljs:82 +#: src/app/main/ui/settings/notifications.cljs:63 msgid "dashboard.settings.notifications.email.title" msgstr "Email Notifications" -#: src/app/main/ui/settings/notifications.cljs:103 +#: src/app/main/ui/settings/notifications.cljs:84 msgid "dashboard.settings.notifications.submit" msgstr "Update settings" -#: src/app/main/ui/settings/notifications.cljs:71 +#: src/app/main/ui/settings/notifications.cljs:52 msgid "dashboard.settings.notifications.title" msgstr "Notifications" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Show all files" @@ -984,7 +995,7 @@ msgstr[1] "Your files have been duplicated successfully" msgid "dashboard.success-duplicate-project" msgstr "Your project has been duplicated successfully" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Your file has been moved successfully" @@ -1008,6 +1019,10 @@ msgstr "Team members" msgid "dashboard.team-projects" msgstr "Team projects" +#: src/app/main/ui/dashboard/templates.cljs:133 +msgid "dashboard.template.add-to-project" +msgstr "Add to your project" + #: src/app/main/ui/settings/options.cljs:57 msgid "dashboard.theme-change" msgstr "UI theme" @@ -1028,18 +1043,56 @@ msgstr "Unpublish Library" msgid "dashboard.update-settings" msgstr "Update settings" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "No limits on creativity" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Penpot Free" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "Power up" +msgid "subscription.dashboard.power-up.professional.top-title" +msgstr "Professional plan" + +#, markdown +msgid "subscription.dashboard.power-up.professional.bottom-description" +msgstr "Get extra editors and storage, file backup and more with the **Unlimited plan**" + +msgid "subscription.dashboard.power-up.unlimited-plan" +msgstr "Unlimited plan" + +msgid "subscription.dashboard.power-up.unlimited.top-description" +msgstr "Extra editors, storage and autosaved version, file backup and more." + +#, markdown +msgid "subscription.dashboard.power-up.unlimited.bottom-description" +msgstr "Get advanced security, activity logs, dedicated support and more with **Enterprise plan**" + +msgid "subscription.dashboard.power-up.enterprise-plan" +msgstr "Enterprise plan" + +msgid "subscription.dashboard.power-up.unlimited.cta" +msgstr "Take a look" + +msgid "subscription.dashboard.power-up.enterprise.description" +msgstr "Advanced security, activity logs, dedicated support and more." + +msgid "subscription.dashboard.power-up.trial.top-title" +msgstr "Unlimited plan (trial)" + +msgid "subscription.dashboard.power-up.trial.top-description" +msgstr "Extra editors, storage and autosaved version, file backup and more." + +msgid "subscription.dashboard.power-up.trial.bottom-description" +msgstr "Enjoying your trial? Unlock full access forever." + +msgid "subscription.dashboard.power-up.subscribe" +msgstr "Subscribe" + #: src/app/main/ui/dashboard/team.cljs:909 msgid "dashboard.webhooks.active" msgstr "Is active" @@ -1095,7 +1148,7 @@ msgstr "Email" msgid "dashboard.your-name" msgstr "Your name" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Your Penpot" @@ -1115,11 +1168,11 @@ msgstr "Components to update:" msgid "ds.confirm-allow" msgstr "Allow" -#: src/app/main/ui/comments.cljs:629, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Cancel" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -1131,7 +1184,7 @@ msgstr "Are you sure?" msgid "errors.auth-provider-not-allowed" msgstr "Auth provider not allowed for this profile" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Authentication provider not configured." @@ -1139,11 +1192,11 @@ msgstr "Authentication provider not configured." msgid "errors.auth.unable-to-login" msgstr "Looks like you are not authenticated or session expired." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "The font %s could not be loaded" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "The fonts %s could not be loaded" @@ -1151,32 +1204,18 @@ msgstr "The fonts %s could not be loaded" msgid "errors.cannot-upload" msgstr "Cannot upload the media file." -#: src/app/main/ui/comments.cljs:689 +#: src/app/main/ui/comments.cljs:729, src/app/main/ui/comments.cljs:760, src/app/main/ui/comments.cljs:826 msgid "errors.character-limit-exceeded" msgstr "Character limit exceeded" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Your browser cannot do this operation" -#: src/app/main/data/tokens.cljs:199 +#: src/app/main/data/tokens.cljs:246 msgid "errors.drop-token-set-parent-to-child" msgstr "Cannot drop a parent set to an own child path." -msgid "errors.token-set-already-exists" -msgstr "A set with the same name already exists" - -msgid "errors.token-theme-already-exists" -msgstr "Theme Option with the same name exists" - -#: src/app/main/data/tokens.cljs:198 -msgid "errors.token-set-exists-on-drop" -msgstr "Cannot complete drop, a set with same name already exists at path." - -#: src/app/main/data/tokens.cljs:294 -msgid "workspace.token.duplicate-suffix" -msgstr "copy" - #: src/app/main/ui/auth/verify_token.cljs:84, src/app/main/ui/settings/change_email.cljs:29 msgid "errors.email-already-exists" msgstr "Email already used" @@ -1185,7 +1224,7 @@ msgstr "Email already used" msgid "errors.email-already-validated" msgstr "Email already validated." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "You can't use your email as password" @@ -1220,6 +1259,10 @@ msgstr "Must contain at most 1 characters." msgid "errors.field-min-length" msgstr "Must contain at least 1 character." +#: src/app/util/forms.cljs:61 +msgid "errors.field-missing" +msgstr "Empty field" + #: src/app/main/ui/settings/team-form.cljs, src/app/main/ui/auth/register.cljs, src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/onboarding/team_choice.cljs, src/app/main/ui/settings/access_tokens.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/settings/profile.cljs, src/app/main/ui/workspace/sidebar/assets.cljs #, unused msgid "errors.field-not-all-whitespace" @@ -1232,7 +1275,19 @@ msgstr "" "features of the file you are trying to open. Migrations for '%s' need to be " "applied before the file can be opened." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +msgid "errors.deprecated" +msgstr "Sorry! This is an old file that uses a deprecated type of Penpot assets and you can't open it." + +msgid "errors.deprecated.contact.before" +msgstr "Although Penpot no longer support this type of Assets, you can" + +msgid "errors.deprecated.contact.text" +msgstr "contact us" + +msgid "errors.deprecated.contact.after" +msgstr "so we can help you." + +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Something wrong has happened." @@ -1240,25 +1295,16 @@ msgstr "Something wrong has happened." msgid "errors.invalid-color" msgstr "Invalid color" -#: src/app/util/forms.cljs +#: src/app/util/forms.cljs:35, src/app/util/forms.cljs:84 msgid "errors.invalid-data" msgstr "Invalid data" -#: src/app/util/forms.cljs -msgid "errors.field-missing" -msgstr "Empty field" - -#: src/app/util/forms.cljs -msgid "errors.invalid-text" -msgstr "Invalid text" - #: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs, src/app/main/ui/auth/recovery_request.cljs #, unused msgid "errors.invalid-email" msgstr "Enter a valid email please" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Confirmation email must match" @@ -1266,6 +1312,11 @@ msgstr "Confirmation email must match" msgid "errors.invalid-recovery-token" msgstr "The recovery token is invalid." +#: src/app/util/forms.cljs +#, unused +msgid "errors.invalid-text" +msgstr "Invalid text" + #: src/app/main/ui/static.cljs:69 msgid "errors.invite-invalid" msgstr "Invite invalid" @@ -1274,7 +1325,7 @@ msgstr "Invite invalid" msgid "errors.invite-invalid.info" msgstr "This invite might be canceled or may be expired." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP authentication is disabled." @@ -1322,7 +1373,7 @@ msgstr "Password should at least be 8 characters" msgid "errors.paste-data-validation" msgstr "Invalid data in clipboard" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "The profile is blocked" @@ -1350,6 +1401,22 @@ msgstr "The member you try to assign does not exist." msgid "errors.team-leave.owner-cant-leave" msgstr "Owner can't leave team, you must reassign the owner role." +#: src/app/main/data/tokens.cljs:150, src/app/main/data/tokens.cljs:180 +msgid "errors.token-set-already-exists" +msgstr "A set with the same name already exists" + +#: src/app/main/data/tokens.cljs: +msgid "errors.token-set-doesnt-exists" +msgstr "Can't duplicate an unkown set" + +#: src/app/main/data/tokens.cljs:245 +msgid "errors.token-set-exists-on-drop" +msgstr "Cannot complete drop, a set with same name already exists at path." + +#: src/app/main/data/tokens.cljs:79 +msgid "errors.token-theme-already-exists" +msgstr "Theme Option with the same name exists" + #: src/app/main/data/media.cljs:71 msgid "errors.unexpected-error" msgstr "An unexpected error occurred." @@ -1394,12 +1461,11 @@ msgstr "Unexpected error on validating" msgid "errors.webhooks.unexpected-status" msgstr "Unexpected status %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Email or password is incorrect." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Old password is incorrect" @@ -1447,11 +1513,11 @@ msgstr "Here to help with your technical queries." msgid "feedback.twitter-title" msgstr "X support account" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "An error has occurred" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Blur" @@ -1459,31 +1525,31 @@ msgstr "Blur" msgid "inspect.attributes.blur.value" msgstr "Value" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Fill" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Download source image" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Height" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Width" @@ -1522,25 +1588,15 @@ msgstr "Top" msgid "inspect.attributes.layout.width" msgstr "Width" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Shadow" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Size and position" -#: src/app/main/ui/viewer/inspect/attributes/variant.cljs:40 -msgid "inspect.attributes.variant.variant" -msgstr "Variant properties" - -msgid "inspect.attributes.variant.component" -msgstr "Component properties" - -msgid "inspect.attributes.variant.copy" -msgstr "Copy properties" - -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Stroke" @@ -1577,142 +1633,165 @@ msgstr "Solid" msgid "inspect.attributes.stroke.width" msgstr "Width" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Typography" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Font Family" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Font Size" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Font Style" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Font Weight" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Letter Spacing" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Line Height" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Text Decoration" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "None" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Strikethrough" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Underline" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Text Transform" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Lower Case" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "None" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Title Case" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Unset" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Upper Case" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/attributes/variant.cljs:44 +msgid "inspect.attributes.variant" +msgstr "Variant properties" + +msgid "inspect.attributes.variants" +msgstr "Variants properties" + +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "If you want to know more about design inspect visit Penpot's help center" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "More info about inspect" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Select a shape, board or group to inspect their properties and code" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:61 +msgid "inspect.subtitle.copy" +msgstr "Copy" + +#: src/app/main/ui/inspect/right_sidebar.cljs:57 +msgid "inspect.subtitle.main" +msgstr "Main component" + +#: src/app/main/ui/inspect/right_sidebar.cljs:59 +msgid "inspect.subtitle.variant" +msgstr "Variant" + +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Code" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Circle" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Component" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Curve" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Board" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Group" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Image" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Mask" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Selected" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Path" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rectangle" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Text" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Info" +#: src/app/main/ui/dashboard/comments.cljs:95 +msgid "label.mark-all-as-read" +msgstr "Mark all as read" + #: src/app/main/ui/workspace/main_menu.cljs:162 msgid "label.shortcuts" msgstr "Shortcuts" @@ -1729,31 +1808,15 @@ msgstr "Access tokens" msgid "labels.active" msgstr "Active" -#: src/app/main/ui/dashboard/templates.cljs -msgid "labels.show" -msgstr "Show" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "labels.hide" -msgstr "Hide" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "dashboard.libraries-and-templates.description" -msgstr "Here you have some Libraries and templates you can add to your project" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "dashboard.template.add-to-project" -msgstr "Add to your project" - -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Add" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Add custom font" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Adding..." @@ -1765,7 +1828,7 @@ msgstr "Admin" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:64, src/app/main/ui/workspace/tokens/context_menu.cljs:102, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "All" @@ -1787,7 +1850,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Bad Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Cancel" @@ -1795,27 +1858,27 @@ msgstr "Cancel" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Close" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Collapse" -#: src/app/main/ui/comments.cljs:825 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Comment" -#: src/app/main/ui/comments.cljs:829 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Mark as solved" -#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Comments" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Community" @@ -1823,7 +1886,7 @@ msgstr "Community" msgid "labels.confirm-password" msgstr "Confirm password" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Continue" @@ -1835,11 +1898,7 @@ msgstr "Continue with" msgid "labels.continue-with-penpot" msgstr "You can continue with a Penpot account" -#: src/app/main/ui/dashboard/team.cljs:683 -msgid "labels.copy-invitation-link" -msgstr "Copy link" - -#: src/app/main/ui/components/copy_button.cljs:42 +#: src/app/main/ui/components/copy_button.cljs:41 msgid "labels.copy" msgstr "Copy" @@ -1847,11 +1906,15 @@ msgstr "Copy" msgid "labels.copy-color" msgstr "Copy color" +#: src/app/main/ui/dashboard/team.cljs:683 +msgid "labels.copy-invitation-link" +msgstr "Copy link" + #: src/app/main/ui/static.cljs:62 msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Create" @@ -1871,15 +1934,19 @@ msgstr "Custom fonts" msgid "labels.dashboard" msgstr "Dashboard" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Delete" -#: src/app/main/ui/comments.cljs:920 +#: src/app/main/ui/workspace/tokens/sets_context_menu.cljs +msgid "labels.duplicate" +msgstr "Duplicate" + +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Delete comment" -#: src/app/main/ui/comments.cljs:843 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Delete thread" @@ -1899,18 +1966,21 @@ msgstr "Development" msgid "labels.director" msgstr "Director" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Discard" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Drafts" -#: src/app/main/ui/comments.cljs:916, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Edit" +msgid "labels.error" +msgstr "Error" + #, unused msgid "labels.edit-file" msgstr "Edit file" @@ -1927,14 +1997,10 @@ msgstr "Event" msgid "labels.expired-invitation" msgstr "Expired" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Export" -#: src/app/main/ui/exports/assets.cljs:177 -msgid "labels.import" -msgstr "Import" - #: src/app/main/ui/settings/feedback.cljs:48 msgid "labels.feedback-disabled" msgstr "Feedback disabled" @@ -1947,7 +2013,7 @@ msgstr "Feedback sent" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Font Family" @@ -1955,11 +2021,11 @@ msgstr "Font Family" msgid "labels.font-providers" msgstr "Font providers" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Styles" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fonts" @@ -1971,11 +2037,11 @@ msgstr "CEO or Founder" msgid "labels.freelancer" msgstr "Freelancer" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Github repository" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Give feedback" @@ -1987,15 +2053,19 @@ msgstr "Go back" msgid "labels.graphic-design" msgstr "Graphic design" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Help Center" -#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/dashboard/templates.cljs:90 +msgid "labels.hide" +msgstr "Hide" + +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Hide resolved comments" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:355 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 msgid "labels.import" msgstr "Import" @@ -2003,7 +2073,7 @@ msgstr "Import" msgid "labels.inactive" msgstr "Inactive" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Installed fonts" @@ -2029,11 +2099,11 @@ msgstr "Invitations" msgid "labels.language" msgstr "Language" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Libraries & Templates" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:62, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Loading…" @@ -2045,7 +2115,7 @@ msgstr "Log in or sign up" msgid "labels.login" msgstr "Login" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Logout" @@ -2061,7 +2131,7 @@ msgstr "Member" msgid "labels.members" msgstr "Members" -#: src/app/main/ui/comments.cljs:558 +#: src/app/main/ui/comments.cljs:583 msgid "labels.mention" msgstr "Mention" @@ -2069,11 +2139,11 @@ msgstr "Mention" msgid "labels.new-password" msgstr "New password" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Next" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "You're all caught up! New comment notifications will appear here." @@ -2082,9 +2152,8 @@ msgid "labels.no-invitations" msgstr "No pending invitations." #: src/app/main/ui/dashboard/team.cljs:742 -#, markdown -msgid "labels.no-invitations-hint" -msgstr "Click the **Invite people** button to invite people to this team." +msgid "labels.no-invitations-gather-people" +msgstr "Gather your people and build great things together." #: src/app/main/ui/static.cljs #, unused @@ -2099,7 +2168,7 @@ msgstr "Oops!" msgid "labels.notifications" msgstr "Notifications" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 file" @@ -2130,7 +2199,7 @@ msgstr "Old password" msgid "labels.only-yours" msgstr "Only yours" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:835, src/app/main/ui/comments.cljs:899, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Options" @@ -2158,7 +2227,7 @@ msgstr "Password" msgid "labels.pending-invitation" msgstr "Pending" -#: src/app/main/ui/comments.cljs:635 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "Post" @@ -2182,7 +2251,11 @@ msgstr "Profile" msgid "labels.projects" msgstr "Projects" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/data/common.cljs:87 +msgid "labels.refresh" +msgstr "Refresh" + +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Release notes" @@ -2200,7 +2273,7 @@ msgstr "Remove" msgid "labels.remove-member" msgstr "Remove member" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Rename" @@ -2208,23 +2281,23 @@ msgstr "Rename" msgid "labels.rename-team" msgstr "Rename team" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "replies" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "new replies" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "reply" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "new reply" -#: src/app/main/ui/comments.cljs:673 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Reply" @@ -2244,15 +2317,15 @@ msgstr "Retry" msgid "labels.role" msgstr "Role" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Save" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Search" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Search font" @@ -2276,7 +2349,7 @@ msgstr "We are in programmed maintenance of our systems." msgid "labels.service-unavailable.main-message" msgstr "Service Unavailable" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "Sets" @@ -2284,6 +2357,9 @@ msgstr "Sets" msgid "labels.settings" msgstr "Settings" +msgid "subscription.labels" +msgstr "Subscription" + #: src/app/main/ui/viewer/header.cljs:206 msgid "labels.share" msgstr "Share" @@ -2296,7 +2372,11 @@ msgstr "Share prototype" msgid "labels.shared-libraries" msgstr "Libraries" -#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/dashboard/templates.cljs:86 +msgid "labels.show" +msgstr "Show" + +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Show all comments" @@ -2304,11 +2384,11 @@ msgstr "Show all comments" msgid "labels.show-comments-list" msgstr "Show comments list" -#: src/app/main/ui/workspace/comments.cljs:66, src/app/main/ui/workspace/comments.cljs:136 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-mentions" msgstr "Show only your mentions" -#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Show only your comments" @@ -2336,14 +2416,18 @@ msgstr "Team Leader" msgid "labels.team-member" msgstr "Team member" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Themes" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutorials" +#: src/app/main/ui/workspace/tokens/errors.cljs:49 +msgid "labels.unknown-error" +msgstr "Unknown error" + #: src/app/main/ui/dashboard/file_menu.cljs:264 msgid "labels.unpublish-multi-files" msgstr "Unpublish %s files" @@ -2356,15 +2440,15 @@ msgstr "Update" msgid "labels.update-team" msgstr "Update team" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Upload" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Upload custom fonts" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Uploading…" @@ -2380,7 +2464,7 @@ msgstr "Viewer" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:764 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Write new comment" @@ -2388,7 +2472,7 @@ msgstr "Write new comment" msgid "labels.you" msgstr "(you)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Your account" @@ -2396,27 +2480,103 @@ msgstr "Your account" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "labels.unknown-error" -msgstr "Unknown error" +#: src/app/main/ui/ds/product/loader.cljs:21 +msgid "loader.tips.01.message" +msgstr "Keep your designs consistent and easy to update across projects." -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/ds/product/loader.cljs:20 +msgid "loader.tips.01.title" +msgstr "Reusable Components" + +#: src/app/main/ui/ds/product/loader.cljs:23 +msgid "loader.tips.02.message" +msgstr "Work with your team live, share feedback instantly." + +#: src/app/main/ui/ds/product/loader.cljs:22 +msgid "loader.tips.02.title" +msgstr "Real-time Collaboration" + +#: src/app/main/ui/ds/product/loader.cljs:25 +msgid "loader.tips.03.message" +msgstr "Design flexibly with familiar CSS-like layout controls." + +#: src/app/main/ui/ds/product/loader.cljs:24 +msgid "loader.tips.03.title" +msgstr "Auto Layout like CSS" + +#: src/app/main/ui/ds/product/loader.cljs:27 +msgid "loader.tips.04.message" +msgstr "Get CSS and SVG code directly from your designs." + +#: src/app/main/ui/ds/product/loader.cljs:26 +msgid "loader.tips.04.title" +msgstr "Export to Code" + +#: src/app/main/ui/ds/product/loader.cljs:29 +msgid "loader.tips.05.message" +msgstr "Share assets and styles to maintain consistency." + +#: src/app/main/ui/ds/product/loader.cljs:28 +msgid "loader.tips.05.title" +msgstr "Design Libraries" + +#: src/app/main/ui/ds/product/loader.cljs:31 +msgid "loader.tips.06.message" +msgstr "Bring your ideas to life with animations and transitions." + +#: src/app/main/ui/ds/product/loader.cljs:30 +msgid "loader.tips.06.title" +msgstr "Interactive Prototypes" + +#: src/app/main/ui/ds/product/loader.cljs:33 +msgid "loader.tips.07.message" +msgstr "Penpot uses SVG and CSS for seamless development." + +#: src/app/main/ui/ds/product/loader.cljs:32 +msgid "loader.tips.07.title" +msgstr "Web-Standard Formats" + +#: src/app/main/ui/ds/product/loader.cljs:35 +msgid "loader.tips.08.message" +msgstr "Speed up your workflow with handy shortcuts like Shift + A for Auto Layout." + +#: src/app/main/ui/ds/product/loader.cljs:34 +msgid "loader.tips.08.title" +msgstr "Keyboard Shortcuts" + +#: src/app/main/ui/ds/product/loader.cljs:37 +msgid "loader.tips.09.message" +msgstr "Choose the theme that suits your style." + +#: src/app/main/ui/ds/product/loader.cljs:36 +msgid "loader.tips.09.title" +msgstr "Dark & Light Mode" + +#: src/app/main/ui/ds/product/loader.cljs:39 +msgid "loader.tips.10.message" +msgstr "Extend Penpot with community-built plugins for extra functionality." + +#: src/app/main/ui/ds/product/loader.cljs:38 +msgid "loader.tips.10.title" +msgstr "Plugins Support" + +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Choose image" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Gradient" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Image" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Keep aspect ratio" @@ -2434,7 +2594,7 @@ msgstr "Loading image…" msgid "media.radial" msgstr "Radial" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Solid" @@ -2483,7 +2643,7 @@ msgstr "Change email" msgid "modals.change-email.title" msgstr "Change your email" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Copy token" @@ -2499,7 +2659,7 @@ msgstr "Name" msgid "modals.create-access-token.name.placeholder" msgstr "The name can help to know what's the token for" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Create token" @@ -2523,15 +2683,15 @@ msgstr "Payload URL" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Delete token" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Are you sure you want to delete this token?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Delete token" @@ -2551,25 +2711,25 @@ msgstr "By removing your account you’ll lose all your current projects and arc msgid "modals.delete-account.title" msgstr "Are you sure you want to delete your account?" -#: src/app/main/ui/comments.cljs:813 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Delete conversation" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Are you sure you want to delete this conversation? All comments in this " "thread will be deleted." -#: src/app/main/ui/comments.cljs:811 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Delete conversation" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Are you sure you want to delete this annotation?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Delete annotation" @@ -2597,31 +2757,31 @@ msgstr "Are you sure you want to delete %s files?" msgid "modals.delete-file-multi-confirm.title" msgstr "Deleting %s files" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Are you sure you want to delete this font style? It will not load if is " "used in a file." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Deleting font style" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Are you sure you want to delete this font? It will not load if is used in a " "file." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Deleting font" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Are you sure you want to delete this page?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Delete page" @@ -2835,15 +2995,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "New team owner" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publish" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Your library is empty. Are you sure you want to publish it?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Publish empty library" @@ -2898,21 +3058,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Update components in a shared library" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Update" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Cancel" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "You are about to update a component in a shared library. This may affect " "other files that use it." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Update a component in a shared library" @@ -3072,27 +3232,27 @@ msgstr "Video tutorials" msgid "onboarding-v2.before-start.title" msgstr "Before you start" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Subscribe to the Penpot newsletter to stay up to date with the product " "development progress and news." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "Send me news about Penpot (blog posts, video tutorials, streamings...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "We care about privacy, here you can read our " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "We will only send relevant emails to you. You can unsubscribe at any time " "via the unsubscribe link in any of our newsletters." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Send me product updates (new features, releases, fixes...)." @@ -3189,17 +3349,17 @@ msgstr "You will be able to create a team later." msgid "onboarding.newsletter.accept" msgstr "Yes, subscribe" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Your subscription request has been sent, we will send you an email to " "confirm it." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Privacy Policy." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Want to receive Penpot news?" @@ -3392,7 +3552,7 @@ msgstr "Go to login" msgid "settings.detach" msgstr "Detach" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Mixed" @@ -3579,6 +3739,7 @@ msgid "shortcuts.copy-link" msgstr "Copy link" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:106 +#, unused msgid "shortcuts.copy-props" msgstr "Copy properties" @@ -3594,7 +3755,7 @@ msgstr "Create new" msgid "shortcuts.cut" msgstr "Cut" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Zoom out" @@ -3694,7 +3855,7 @@ msgstr "Distribute horizontally" msgid "shortcuts.hide-ui" msgstr "Show / Hide UI" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Zoom in" @@ -3871,10 +4032,12 @@ msgid "shortcuts.paste" msgstr "Paste" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:111 +#, unused msgid "shortcuts.paste-props" msgstr "Paste properties" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:604 +#, unused msgid "shortcuts.plugins" msgstr "Plugins manager" @@ -4086,15 +4249,15 @@ msgstr "Zoom to selected" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Font Providers - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Fonts - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projects - %s - Penpot" @@ -4102,7 +4265,7 @@ msgstr "Projects - %s - Penpot" msgid "title.dashboard.search" msgstr "Search - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Shared Libraries - %s - Penpot" @@ -4110,7 +4273,7 @@ msgstr "Shared Libraries - %s - Penpot" msgid "title.default" msgstr "Penpot - Design Freedom for Teams" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profile - Access tokens" @@ -4118,7 +4281,7 @@ msgstr "Profile - Access tokens" msgid "title.settings.feedback" msgstr "Give feedback - Penpot" -#: src/app/main/ui/settings/notifications.cljs:64 +#: src/app/main/ui/settings/notifications.cljs:45 msgid "title.settings.notifications" msgstr "Notifications - Penpot" @@ -4134,6 +4297,75 @@ msgstr "Password - Penpot" msgid "title.settings.profile" msgstr "Profile - Penpot" +msgid "subscription.settings.section-plan" +msgstr "Your subscription" + +msgid "subscription.settings.other-plans" +msgstr "Other penpot plans" + +msgid "subscription.settings.professional" +msgstr "Professional" + +msgid "subscription.settings.unlimited" +msgstr "Unlimited" + +msgid "subscription.settings.unlimited-trial" +msgstr "Unlimited (trial)" + +msgid "subscription.settings.enterprise" +msgstr "Enterprise" + +msgid "subscription.settings.support-us-since" +msgstr "You support us since %s" + +msgid "subscription.settings.member-since" +msgstr "Penpot member since %s" + +msgid "subscription.settings.price-editor-month" +msgstr "editor per month" + +msgid "subscription.settings.price-organization-month" +msgstr "organization per month" + +msgid "subscription.settings.professional.projects-files" +msgstr "Unlimited projects, files and drafts" + +msgid "subscription.settings.professional.teams-editors" +msgstr "Unlimited teams of up to 8 editors" + +msgid "subscription.settings.professional.storage" +msgstr "10GB of storage and 7-day autosave versions" + +msgid "subscription.settings.benefits.all-professional-benefits" +msgstr "All Professional plan benefits and:" + +msgid "subscription.settings.benefits.all-unlimited-benefits" +msgstr "All Unlimited plan benefits and:" + +msgid "subscription.settings.unlimited.teams" +msgstr "Unlimited teams, no matter your team size" + +msgid "subscription.settings.unlimited.bill" +msgstr "Capped monthly bill" + +msgid "subscription.settings.unlimited.storage" +msgstr "25GB of storage and 30-day autosave versions and file backup" + +msgid "subscription.settings.ulimited.try-it-free" +msgstr "Try it free for 14 days" + +msgid "subscription.settings.manage-your-subscription" +msgstr "Manage your subscription" + +msgid "subscription.settings.enterprise.support" +msgstr "Dedicated support" + +msgid "subscription.settings.enterprise.security" +msgstr "Advanced security" + +msgid "subscription.settings.enterprise.logs" +msgstr "Activity logs" + #: src/app/main/ui/dashboard/team.cljs:779 msgid "title.team-invitations" msgstr "Invitations - %s - Penpot" @@ -4154,7 +4386,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - View mode - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -4254,23 +4486,20 @@ msgstr "Distribute vertical spacing (%s)" msgid "workspace.align.vtop" msgstr "Align top (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Add library" -msgid "workspace.assets.manage-library" -msgstr "Manage library" - #: src/app/main/ui/workspace/sidebar/assets.cljs #, unused msgid "workspace.assets.assets" msgstr "Assets" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "All assets" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Colors" @@ -4278,14 +4507,17 @@ msgstr "Colors" msgid "workspace.assets.colors.add-color" msgstr "Add color" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Components" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Add component" +msgid "workspace.assets.components.num-variants" +msgstr "%s Variants" + #: src/app/main/ui/workspace/sidebar/assets/groups.cljs:127 msgid "workspace.assets.create-group" msgstr "Create a group" @@ -4294,15 +4526,15 @@ msgstr "Create a group" msgid "workspace.assets.create-group-hint" msgstr "Your items are going to be named automatically as \"group name / item name\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Delete" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplicate" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Duplicate main" @@ -4310,19 +4542,19 @@ msgstr "Duplicate main" msgid "workspace.assets.edit" msgstr "Edit" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filter" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Graphics" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Grid view" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Group" @@ -4330,23 +4562,27 @@ msgstr "Group" msgid "workspace.assets.group-name" msgstr "Group name" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "List view" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "local library" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets.cljs:176 +msgid "workspace.assets.manage-library" +msgstr "Manage library" + +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "No assets found" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Open library file" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Rename" @@ -4354,7 +4590,7 @@ msgstr "Rename" msgid "workspace.assets.rename-group" msgstr "Rename group" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Search assets" @@ -4370,17 +4606,17 @@ msgstr[1] "%s items selected" msgid "workspace.assets.shared-library" msgstr "Shared library" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 component" msgstr[1] "%s components" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Sort" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Typographies" @@ -4393,27 +4629,27 @@ msgstr "Add typography" msgid "workspace.assets.typography.font-id" msgstr "Font" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Size" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variant" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Go to style library file to edit" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Letter Spacing" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Line Height" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4421,7 +4657,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Text styles" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Text Transform" @@ -4429,55 +4665,55 @@ msgstr "Text Transform" msgid "workspace.assets.ungroup" msgstr "Ungroup" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Create area" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Create board" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Merge cells" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Add 1 column to the right" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Add 1 column to the left" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Delete column" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Delete column and shapes" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Duplicate column" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Add 1 row below" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Add 1 row above" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Delete row" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Delete row and shapes" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Duplicate row" @@ -4485,11 +4721,11 @@ msgstr "Duplicate row" msgid "workspace.focus.focus-mode" msgstr "Focus mode" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Focus off" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Focus on" @@ -4647,37 +4883,36 @@ msgstr "Switch to light theme" msgid "workspace.header.menu.undo" msgstr "Undo" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Reset" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Error on saving" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Saved" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Saving" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Share" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Unsaved changes" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "View mode (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zoom" @@ -4689,7 +4924,7 @@ msgstr "Fill - Scale to fill" msgid "workspace.header.zoom-fit" msgstr "Fit - Scale down to fit" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Zoom to fit all" @@ -4697,46 +4932,46 @@ msgstr "Zoom to fit all" msgid "workspace.header.zoom-full-screen" msgstr "Full screen" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zoom to selected" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Edit grid" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Exit" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 -msgid "workspace.layout_grid.editor.padding.expand" -msgstr "Show 4 sided padding options" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:337 -msgid "workspace.layout_grid.editor.padding.vertical" -msgstr "Vertical padding" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:351 -msgid "workspace.layout_grid.editor.padding.horizontal" -msgstr "Horizontal padding" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:396 -msgid "workspace.layout_grid.editor.padding.top" -msgstr "Top padding" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:411 -msgid "workspace.layout_grid.editor.padding.right" -msgstr "Right padding" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:426, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:432 msgid "workspace.layout_grid.editor.padding.bottom" msgstr "Bottom padding" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:439 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 +msgid "workspace.layout_grid.editor.padding.expand" +msgstr "Show 4 sided padding options" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:351, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:358 +msgid "workspace.layout_grid.editor.padding.horizontal" +msgstr "Horizontal padding" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:447 msgid "workspace.layout_grid.editor.padding.left" msgstr "Left padding" +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:411, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:417 +msgid "workspace.layout_grid.editor.padding.right" +msgstr "Right padding" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:396, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:402 +msgid "workspace.layout_grid.editor.padding.top" +msgstr "Top padding" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:337, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:343 +msgid "workspace.layout_grid.editor.padding.vertical" +msgstr "Vertical padding" + #: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:59 msgid "workspace.layout_grid.editor.title" msgstr "Editing grid" @@ -4749,7 +4984,7 @@ msgstr "Done" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Locate" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Locate grid layout" @@ -4758,7 +4993,7 @@ msgstr "Locate grid layout" msgid "workspace.libraries.add" msgstr "Add" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s colors" @@ -4788,43 +5023,43 @@ msgstr "Recent colors" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Complementary" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Save color style" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s components" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "Or add some of these to try:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "There are no Shared Libraries at your team, you can look for" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "some templates in here" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "File library" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s graphics" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "LIBRARIES IN THIS FILE" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "LIBRARIES" @@ -4833,63 +5068,64 @@ msgstr "LIBRARIES" msgid "workspace.libraries.library" msgstr "LIBRARY" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "LIBRARY UPDATES" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Loading…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "You can look for " -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "There are no Shared Libraries that need update" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "No matches found for “%s“" -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Search shared libraries" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "SHARED LIBRARIES" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Connect library" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Multiple typographies" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Unlink all typographies" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s typographies" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Disconnect library" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Update" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "see all changes" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "UPDATES" @@ -4925,39 +5161,39 @@ msgstr "Toggle blur" msgid "workspace.options.canvas-background" msgstr "Canvas background" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Clip content" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Component" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Annotation" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Copy" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Create an annotation" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Edit an annotation" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Main" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Swap component" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "There are no assets in this library yet" @@ -5005,7 +5241,7 @@ msgstr "Top & Bottom" msgid "workspace.options.design" msgstr "Design" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Export" @@ -5014,21 +5250,21 @@ msgstr "Export" msgid "workspace.options.export-multiple" msgstr "Export selection" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Export 1 element" msgstr[1] "Export %s elements" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "Add export" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "Remove export" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Suffix" @@ -5036,7 +5272,7 @@ msgstr "Suffix" msgid "workspace.options.exporting-complete" msgstr "Export complete" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Exporting…" @@ -5060,7 +5296,7 @@ msgstr "Add fill color" msgid "workspace.options.fill.remove-fill" msgstr "Remove fill" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:343, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:344 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 msgid "workspace.options.fit-content" msgstr "Resize board to fit content" @@ -5202,7 +5438,7 @@ msgstr "Guides" msgid "workspace.options.guides.toggle-guide" msgstr "Toggle guide" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Height" @@ -5525,19 +5761,19 @@ msgstr "Toggle layer visibility" msgid "workspace.options.layout-item.advanced-ops" msgstr "Advanced options" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Max.Height" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Max.Width" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Min.Height" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Min.Width" @@ -5700,7 +5936,7 @@ msgstr "Collapse independent radius" msgid "workspace.options.radius.show-single-corners" msgstr "Show independent radius" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Recent" @@ -5708,11 +5944,11 @@ msgstr "Recent" msgid "workspace.options.retry" msgstr "Retry" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotation" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Search font" @@ -5736,7 +5972,7 @@ msgstr "Selection stroke" msgid "workspace.options.shadow-options.add-shadow" msgstr "Add shadow" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Blur" @@ -5752,11 +5988,11 @@ msgstr "Drop shadow" msgid "workspace.options.shadow-options.inner-shadow" msgstr "Inner shadow" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" @@ -5764,7 +6000,7 @@ msgstr "Y" msgid "workspace.options.shadow-options.remove-shadow" msgstr "Remove shadow" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Spread" @@ -5788,7 +6024,7 @@ msgstr "Toggle shadow" msgid "workspace.options.show-fill-on-export" msgstr "Show in exports" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Show in view mode" @@ -5796,7 +6032,7 @@ msgstr "Show in view mode" msgid "workspace.options.size" msgstr "Size" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Size presets" @@ -5937,11 +6173,11 @@ msgstr "Auto width" msgid "workspace.options.text-options.grow-fixed" msgstr "Fixed" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Letter Spacing" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Line height" @@ -6005,15 +6241,15 @@ msgstr "Uppercase" msgid "workspace.options.use-play-button" msgstr "Use the play button at the header to run the prototype view." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Width" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X axis" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y axis" @@ -6189,136 +6425,135 @@ msgstr "'%s' PLUGIN IS INSTALLED FOR YOUR USER!" msgid "workspace.plugins.try-out.try" msgstr "TRY PLUGIN" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Add flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Add grid layout" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Add layout" -#: src/app/main/ui/workspace/context_menu.cljs:265 -msgid "workspace.shape.menu.back" -msgstr "Send to back" - -#: src/app/main/ui/workspace/context_menu.cljs:262 -msgid "workspace.shape.menu.backward" -msgstr "Send backward" - -#: src/app/main/ui/workspace/context_menu.cljs:185 -msgid "workspace.shape.menu.copy" -msgstr "Copy" - -#: src/app/main/ui/workspace/context_menu.cljs:203 -msgid "workspace.shape.menu.copy-css" -msgstr "Copy as CSS" - -#: src/app/main/ui/workspace/context_menu.cljs:205 -msgid "workspace.shape.menu.copy-css-nested" -msgstr "Copy as CSS (nested layers)" - -#: src/app/main/ui/workspace/context_menu.cljs:188 -msgid "workspace.shape.menu.copy-link" -msgstr "Copy link" - -#: src/app/main/ui/workspace/context_menu.cljs:201 -msgid "workspace.shape.menu.copy-paste-as" -msgstr "Copy/Paste as ..." - -#: src/app/main/ui/workspace/context_menu.cljs:213 -msgid "workspace.shape.menu.copy-props" -msgstr "Copy properties" - -#: src/app/main/ui/workspace/context_menu.cljs:210 -msgid "workspace.shape.menu.copy-text" -msgstr "Copy as text" - -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 -msgid "workspace.shape.menu.create-annotation" -msgstr "Create annotation" - -#: src/app/main/ui/workspace/context_menu.cljs:364 -msgid "workspace.shape.menu.create-artboard-from-selection" -msgstr "Selection to board" - -#: src/app/main/ui/workspace/context_menu.cljs:561 -msgid "workspace.shape.menu.create-component" -msgstr "Create component" - +#: src/app/main/ui/workspace/context_menu.cljs:587, src/app/main/ui/workspace/sidebar/assets/common.cljs:475, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:771 msgid "workspace.shape.menu.add-variant" msgstr "Create variant" +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:769 msgid "workspace.shape.menu.add-variant-property" msgstr "Add new property" -msgid "workspace.shape.menu.remove-variant-property" -msgstr "Remove property" +#: src/app/main/ui/workspace/context_menu.cljs:266 +msgid "workspace.shape.menu.back" +msgstr "Send to back" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:263 +msgid "workspace.shape.menu.backward" +msgstr "Send backward" + +#: src/app/main/ui/workspace/context_menu.cljs:186 +msgid "workspace.shape.menu.copy" +msgstr "Copy" + +#: src/app/main/ui/workspace/context_menu.cljs:204 +msgid "workspace.shape.menu.copy-css" +msgstr "Copy as CSS" + +#: src/app/main/ui/workspace/context_menu.cljs:206 +msgid "workspace.shape.menu.copy-css-nested" +msgstr "Copy as CSS (nested layers)" + +#: src/app/main/ui/workspace/context_menu.cljs:189 +msgid "workspace.shape.menu.copy-link" +msgstr "Copy link" + +#: src/app/main/ui/workspace/context_menu.cljs:202 +msgid "workspace.shape.menu.copy-paste-as" +msgstr "Copy/Paste as ..." + +#: src/app/main/ui/workspace/context_menu.cljs:214 +msgid "workspace.shape.menu.copy-props" +msgstr "Copy properties" + +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Copy as text" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 +msgid "workspace.shape.menu.create-annotation" +msgstr "Create annotation" + +#: src/app/main/ui/workspace/context_menu.cljs:366 +msgid "workspace.shape.menu.create-artboard-from-selection" +msgstr "Selection to board" + +#: src/app/main/ui/workspace/context_menu.cljs:568 +msgid "workspace.shape.menu.create-component" +msgstr "Create component" + +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Create multiple components" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Cut" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Delete" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Delete flow start" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Detach instance" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Detach instances" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Difference" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplicate" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Edit" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Exclude" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Flatten" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Flip horizontal" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Flip vertical" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Flow start" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Bring forward" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Bring to front" @@ -6327,107 +6562,111 @@ msgstr "Bring to front" msgid "workspace.shape.menu.go-main" msgstr "Go to main component file" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Group" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Hide" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Show / Hide UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Intersection" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Lock" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Mask" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Paste" -#: src/app/main/ui/workspace/context_menu.cljs:217 +#: src/app/main/ui/workspace/context_menu.cljs:218 msgid "workspace.shape.menu.paste-props" msgstr "Paste properties" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Path" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Remove flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Remove grid layout" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Remove layout" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:856 +msgid "workspace.shape.menu.remove-variant-property" +msgstr "Remove property" + +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Rename" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Reset overrides" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Restore main component" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Select layer" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Show" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Show in assets panel" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Show main component" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Remove thumbnail" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Set as thumbnail" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transform to path" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Ungroup" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Union" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Unlock" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Unmask" @@ -6436,7 +6675,7 @@ msgstr "Unmask" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Update main components" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Update main component" @@ -6448,11 +6687,11 @@ msgstr "Collapse sidebar" msgid "workspace.sidebar.expand" msgstr "Expand sidebar" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "History" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Layers" @@ -6488,7 +6727,7 @@ msgstr "Shapes" msgid "workspace.sidebar.layers.texts" msgstr "Texts" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Imported SVG Attributes" @@ -6500,7 +6739,7 @@ msgstr "Pages" msgid "workspace.sidebar.sitemap.add-page" msgstr "Add page" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Sitemap" @@ -6518,83 +6757,63 @@ msgstr "%s active themes" msgid "workspace.token.add set" msgstr "Add set" -#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 -msgid "workspace.token.applied-to" -msgstr "Applied to" - -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 -msgid "workspace.token.back-to-themes" -msgstr "Back to theme list" - -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 -msgid "workspace.token.create-new-theme" -msgstr "Create your first theme now." - -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 -msgid "workspace.token.create-one" -msgstr "Create one." - -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:63, src/app/main/ui/workspace/tokens/modals/themes.cljs:170, src/app/main/ui/workspace/tokens/modals/themes.cljs:279 msgid "workspace.token.add-new-theme" msgstr "Add new theme" -#: src/app/main/ui/workspace/tokens/form.cljs:431 -msgid "workspace.token.create-token" -msgstr "Create new %s token" +#: src/app/main/ui/workspace/tokens/sets_context_menu.cljs:54 +msgid "workspace.token.add-set-to-group" +msgstr "Add set to this group" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:234 -msgid "workspace.token.delete" -msgstr "Delete token" +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Applied to" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 -msgid "workspace.token.delete-theme-title" -msgstr "Delete theme" - -#: src/app/main/ui/workspace/tokens/context_menu.cljs:231 -msgid "workspace.token.duplicate" -msgstr "Duplicate token" - -#: src/app/main/ui/workspace/tokens/context_menu.cljs:235 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:257 msgid "workspace.token.axis" msgstr "Axis" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:235 -msgid "workspace.token.size" -msgstr "Size" +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 +msgid "workspace.token.back-to-themes" +msgstr "Back to theme list" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:235 -msgid "workspace.token.min-size" -msgstr "Min. size" - -#: src/app/main/ui/workspace/tokens/context_menu.cljs:235 -msgid "workspace.token.max-size" -msgstr "Max. size" - -#: src/app/main/ui/workspace/tokens/context_menu.cljs:235 -msgid "workspace.token.gaps" -msgstr "Gaps" - -#: src/app/main/ui/workspace/tokens/context_menu.cljs:235 -msgid "workspace.token.paddings" -msgstr "Paddings" - -#: src/app/main/ui/workspace/tokens/context_menu.cljs:235 -msgid "workspace.token.margins" -msgstr "Margins" - -#: src/app/main/ui/workspace/tokens/context_menu.cljs:235 -msgid "workspace.token.radius" -msgstr "Radius" - -#: src/app/main/ui/workspace/tokens/context_menu.cljs:235 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:241 msgid "workspace.token.color" msgstr "Color" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:218 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 +msgid "workspace.token.create-new-theme" +msgstr "Create your first theme now." + +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 +msgid "workspace.token.create-one" +msgstr "Create one." + +#: src/app/main/ui/workspace/tokens/form.cljs:492 +msgid "workspace.token.create-token" +msgstr "Create new %s token" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 +msgid "workspace.token.delete" +msgstr "Delete token" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 +msgid "workspace.token.delete-theme-title" +msgstr "Delete theme" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 +msgid "workspace.token.duplicate" +msgstr "Duplicate token" + +#: src/app/main/data/tokens.cljs:386 +msgid "workspace.token.duplicate-suffix" +msgstr "copy" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 msgid "workspace.token.edit" msgstr "Edit token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Edit theme" @@ -6602,72 +6821,68 @@ msgstr "Edit theme" msgid "workspace.token.edit-themes" msgstr "Edit themes" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Edit token" -#: src/app/main/ui/workspace/tokens/form.cljs:481 +#: src/app/main/ui/workspace/tokens/form.cljs:544 msgid "workspace.token.enter-token-description" msgstr "Add a description (optional)" -#: src/app/main/ui/workspace/tokens/form.cljs:437 +#: src/app/main/ui/workspace/tokens/form.cljs:498 msgid "workspace.token.enter-token-name" msgstr "Enter %s token name" -#: src/app/main/ui/workspace/tokens/form.cljs:463 -msgid "workspace.token.token-value-enter" -msgstr "Enter a value or alias with {alias}" +#: src/app/main/ui/workspace/tokens/errors.cljs:9 +msgid "workspace.token.error-parse" +msgstr "Import Error: Could not parse JSON." + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:197 +msgid "workspace.token.gaps" +msgstr "Gaps" + +#: src/app/main/ui/workspace/tokens/style_dictionary.cljs +#, unused +msgid "workspace.token.generic-error" +msgstr "Error: " + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:109 +msgid "workspace.token.group-name" +msgstr "Group name" #: src/app/main/ui/workspace/tokens/sets.cljs #, unused msgid "workspace.token.grouping-set-alert" msgstr "Token Set grouping is not supported yet." -#: src/app/main/ui/workspace/tokens/sets_context_menu.cljs -msgid "workspace.token.add-set-to-group" -msgstr "Add set to this group" - -#: src/app/main/ui/workspace/tokens/style_dictionary.cljs -msgid "workspace.token.generic-error" -msgstr "Error: " - -#: src/app/main/ui/workspace/tokens/style_dictionary.cljs -msgid "workspace.token.reference-error" -msgstr "Reference Errors: " - -#: src/app/main/ui/workspace/tokens/style_dictionary.cljs -msgid "workspace.token.token-not-resolved" -msgstr "Could not resolve reference token with the name: %s" - -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.error-parse" -msgstr "Import Error: Could not parse JSON." - -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.invalid-json" -msgstr "Import Error: Invalid token data in JSON." - -#: src/app/main/ui/workspace/tokens/errors.cljs +#: src/app/main/ui/workspace/tokens/errors.cljs:17, src/app/main/ui/workspace/tokens/errors.cljs:21 msgid "workspace.token.import-error" msgstr "Import Error:" -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.self-reference" -msgstr "Token has self reference" +#: src/app/main/ui/workspace/tokens/sidebar.cljs:414, src/app/main/ui/workspace/tokens/sidebar.cljs:415 +msgid "workspace.token.import-tooltip" +msgstr "Importing a JSON file will override all your current tokens, sets and themes" -#: src/app/main/ui/workspace/tokens/errors.cljs +#: src/app/main/ui/workspace/tokens/errors.cljs:29 msgid "workspace.token.invalid-color" msgstr "Invalid color value: %s" -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.missing-references" -msgstr "Missing token references: " +#: src/app/main/ui/workspace/tokens/errors.cljs:13 +msgid "workspace.token.invalid-json" +msgstr "Import Error: Invalid token data in JSON." -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.number-too-large" -msgstr "Invalid token value. The resolved value is too large: %s" +#: src/app/main/ui/workspace/tokens/errors.cljs:16 +msgid "workspace.token.invalid-json-token-name" +msgstr "Import Error: Invalid token name in in JSON." -#: src/app/main/ui/workspace/tokens/errors.cljs +#: src/app/main/ui/workspace/tokens/errors.cljs:18 +msgid "workspace.token.invalid-json-token-name-detail" +msgstr "" +"\"%s\" is not a valid token name.\n" +"Token names should only contain letters and digits separated by . " +"characters and must not start with a $ sign." + +#: src/app/main/ui/workspace/tokens/errors.cljs:41, src/app/main/ui/workspace/tokens/errors.cljs:45 msgid "workspace.token.invalid-value" msgstr "Invalid token value: %s" @@ -6679,153 +6894,207 @@ msgstr "Opacity must be between 0 and 100% or 0 and 1 (e.g. 50% or 0.5)." msgid "workspace.token.stroke-width-range" msgstr "Stroke width must be greater than or equal to 0." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:179 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 msgid "workspace.token.label.group" msgstr "Group" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:179 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:197 msgid "workspace.token.label.group-optional" msgstr "Optional" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:191 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:199 msgid "workspace.token.label.group-placeholder" msgstr "Add group (i.e. Mode)" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:187 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 msgid "workspace.token.label.theme" msgstr "Theme" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:200 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:208 msgid "workspace.token.label.theme-placeholder" msgstr "Add a theme (i.e. Light)" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 -msgid "workspace.token.no-active-theme" -msgstr "No theme active" +#: src/app/main/ui/workspace/tokens/context_menu.cljs:189 +msgid "workspace.token.margins" +msgstr "Margins" -#: src/app/main/ui/workspace/tokens/sets.cljs:91 -msgid "workspace.token.set-edit-placeholder" -msgstr "Enter name (use '/' for groups)" +#: src/app/main/ui/workspace/tokens/context_menu.cljs:222 +msgid "workspace.token.max-size" +msgstr "Max. size" -#: src/app/main/ui/workspace/tokens/sets.cljs:103 -msgid "workspace.token.no-permisions-set" -msgstr "You need to be an editor to activate / deactivate sets" +#: src/app/main/ui/workspace/tokens/context_menu.cljs:216 +msgid "workspace.token.min-size" +msgstr "Min. size" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:200 -msgid "workspace.token.no-permission-themes" -msgstr "You need to be an editor to use themes" +#: src/app/main/ui/workspace/tokens/errors.cljs:37 +msgid "workspace.token.missing-references" +msgstr "Missing token references: " -#: src/app/main/ui/workspace/tokens/modals/themes.cljs +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:154 msgid "workspace.token.no-active-sets" msgstr "No active sets" -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 +msgid "workspace.token.no-active-theme" +msgstr "No theme active" + +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "You need to be an editor to activate / deactivate sets" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "You need to be an editor to use themes" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "There are no sets defined yet. Create one first." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:215, src/app/main/ui/workspace/tokens/sidebar.cljs:221 +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 msgid "workspace.token.no-sets-yet" msgstr "There are no sets yet." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "There are no themes." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "You currently have no themes." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:153 msgid "workspace.token.num-active-sets" msgstr "%s active sets" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:147 -msgid "workspace.token.sets-hint" -msgstr "Edit theme and manage sets" +#: src/app/main/ui/workspace/tokens/errors.cljs:33 +msgid "workspace.token.number-too-large" +msgstr "Invalid token value. The resolved value is too large: %s" -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/errors.cljs:45 +msgid "workspace.token.opacity-range" +msgstr "Opacity must be between 0 and 100% or 0 and 1 (e.g. 50% or 0.5)." + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" msgstr "Original value: %s" -#: src/app/main/ui/workspace/tokens/token_pill.cljs:120 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:177 +msgid "workspace.token.paddings" +msgstr "Paddings" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:237 +msgid "workspace.token.radius" +msgstr "Radius" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 msgid "workspace.token.ref-not-valid" msgstr "Reference is not valid or is not in any active set" -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/style_dictionary.cljs +#, unused +msgid "workspace.token.reference-error" +msgstr "Reference Errors: " + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" msgstr "Resolved value: %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Save theme" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "Select set." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/errors.cljs:25 +msgid "workspace.token.self-reference" +msgstr "Token has self reference" + +#: src/app/main/ui/workspace/tokens/sets.cljs:98 +msgid "workspace.token.set-edit-placeholder" +msgstr "Enter name (use '/' for groups)" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "Define what token sets should be used as part of this theme option:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:148 +msgid "workspace.token.sets-hint" +msgstr "Edit theme and manage sets" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:210 +msgid "workspace.token.size" +msgstr "Size" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Theme %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:101 +msgid "workspace.token.themes-description" +msgstr "" +"Here you can manage your themes, enable / disable them and configure its " +"active sets." + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:46, src/app/main/ui/workspace/tokens/modals/themes.cljs:99 msgid "workspace.token.themes-list" msgstr "Themes list" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:45, src/app/main/ui/workspace/tokens/modals/themes.cljs:91 -msgid "workspace.token.themes-description" -msgstr "Here you can manage your themes, enable / disable them and configure its active sets." - -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:112 -msgid "workspace.token.group-name" -msgstr "Group name" - -#: src/app/main/ui/workspace/tokens/form.cljs:482 +#: src/app/main/ui/workspace/tokens/form.cljs:545 msgid "workspace.token.token-description" msgstr "Description" -#: src/app/main/ui/workspace/tokens/form.cljs:440 +#: src/app/main/ui/workspace/tokens/form.cljs:501 msgid "workspace.token.token-name" msgstr "Name" -#: src/app/main/ui/workspace/tokens/form.cljs:56 +#: src/app/main/ui/workspace/tokens/form.cljs:59 msgid "workspace.token.token-name-validation-error" msgstr "" " is not a valid token name.\n" "Token names should only contain letters and digits separated by . " "characters and must not start with a $ sign." -#: src/app/main/ui/workspace/tokens/form.cljs:464 +#: src/app/main/ui/workspace/tokens/style_dictionary.cljs:259 +msgid "workspace.token.token-not-resolved" +msgstr "Could not resolve reference token with the name: %s" + +#: src/app/main/ui/workspace/tokens/form.cljs:526 msgid "workspace.token.token-value" msgstr "Value" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:279 +#: src/app/main/ui/workspace/tokens/form.cljs:525 +msgid "workspace.token.token-value-enter" +msgstr "Enter a value or alias with {alias}" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 msgid "workspace.token.tokens-section-title" msgstr "TOKENS - %s" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:348 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:345 +msgid "workspace.token.inactive-set" +msgstr "Inactive" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:340 +msgid "workspace.token.inactive-set-description" +msgstr "This set is not active. Change theme or activate this set to see changes in the viewport" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 msgid "workspace.token.tools" msgstr "Tools" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:415 -msgid "workspace.token.import-tooltip" -msgstr "Importing a JSON file will override all your current tokens, sets and themes" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:123 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 msgid "workspace.token.value-not-valid" msgstr "The value is not valid" -#: src/app/main/ui/workspace/tokens/form.cljs:458 +#: src/app/main/ui/workspace/tokens/form.cljs:520 msgid "workspace.token.warning-name-change" msgstr "Renaming this token will break any reference to its old name." -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Assets" @@ -6833,43 +7102,43 @@ msgstr "Assets" msgid "workspace.toolbar.color-palette" msgstr "Color Palette (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Comments (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Curve (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Ellipse (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:128, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Board (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:128, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:131 msgid "workspace.toolbar.frame-first-time" msgstr "Create board. Click and drag to define its size. (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Image (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Move (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Path (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Plugins (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rectangle (%s)" @@ -6878,7 +7147,7 @@ msgstr "Rectangle (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Shortcuts (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Text (%s)" @@ -6886,7 +7155,7 @@ msgstr "Text (%s)" msgid "workspace.toolbar.text-palette" msgstr "Typographies (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Toggle toolbar" @@ -7044,19 +7313,19 @@ msgstr "Operation over %s" msgid "workspace.undo.title" msgstr "History" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Dismiss" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "More info" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "There are updates in shared libraries" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Update" @@ -7116,11 +7385,11 @@ msgstr "Do you want to restore this version?" msgid "workspace.versions.snapshot-menu" msgstr "Open snapshot menu" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "Actions" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "History" @@ -7143,68 +7412,14 @@ msgstr "Autosaved versions will be kept for %s days." msgid "workspace.viewport.click-to-close-path" msgstr "Click to close the path" -msgid "dashboard.mark-all-as-read.success" -msgstr "Marked all notifications as read" +msgid "workspace.notification-pill.detail" +msgstr "Details" -msgid "label.mark-all-as-read" -msgstr "Mark all as read" +msgid "dashboard.import.import-error.disclaimer" +msgstr "Not all files have been imported" -msgid "loader.tips.01.title" -msgstr "Reusable Components" +msgid "dashboard.import.import-error.message1" +msgstr "The following files have errors:" -msgid "loader.tips.01.message" -msgstr "Keep your designs consistent and easy to update across projects." - -msgid "loader.tips.02.title" -msgstr "Real-time Collaboration" - -msgid "loader.tips.02.message" -msgstr "Work with your team live, share feedback instantly." - -msgid "loader.tips.03.title" -msgstr "Auto Layout like CSS" - -msgid "loader.tips.03.message" -msgstr "Design flexibly with familiar CSS-like layout controls." - -msgid "loader.tips.04.title" -msgstr "Export to Code" - -msgid "loader.tips.04.message" -msgstr "Get CSS and SVG code directly from your designs." - -msgid "loader.tips.05.title" -msgstr "Design Libraries" - -msgid "loader.tips.05.message" -msgstr "Share assets and styles to maintain consistency." - -msgid "loader.tips.06.title" -msgstr "Interactive Prototypes" - -msgid "loader.tips.06.message" -msgstr "Bring your ideas to life with animations and transitions." - -msgid "loader.tips.07.title" -msgstr "Web-Standard Formats" - -msgid "loader.tips.07.message" -msgstr "Penpot uses SVG and CSS for seamless development." - -msgid "loader.tips.08.title" -msgstr "Keyboard Shortcuts" - -msgid "loader.tips.08.message" -msgstr "Speed up your workflow with handy shortcuts like Shift + A for Auto Layout." - -msgid "loader.tips.09.title" -msgstr "Dark & Light Mode" - -msgid "loader.tips.09.message" -msgstr "Choose the theme that suits your style." - -msgid "loader.tips.10.title" -msgstr "Plugins Support" - -msgid "loader.tips.10.message" -msgstr "Extend Penpot with community-built plugins for extra functionality." +msgid "dashboard.import.import-error.message2" +msgstr "Files with errors will not be uploaded." diff --git a/frontend/translations/es.po b/frontend/translations/es.po index b88dcc9b09..f9a319e923 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "PO-Revision-Date: 2025-01-29 22:23+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Spanish \n" +"Language-Team: Spanish " +"\n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" @@ -38,13 +38,13 @@ msgstr "Crear cuenta de prueba" msgid "auth.create-demo-profile" msgstr "¿Quieres probar?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Este es un servicio de DEMOSTRACIÓN. NO USAR para trabajo real, los " "proyectos serán borrados periodicamente." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "¿Olvidaste tu contraseña?" @@ -52,7 +52,7 @@ msgstr "¿Olvidaste tu contraseña?" msgid "auth.fullname" msgstr "Nombre completo" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Entrar en mi cuenta" @@ -60,33 +60,33 @@ msgstr "Entrar en mi cuenta" msgid "auth.login-here" msgstr "Inicia sesión aquí." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Entrar" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot es la herramienta de diseño libre y open-source para la colaboración " "entre Diseño y Código" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -112,7 +112,7 @@ msgstr "Hemos enviado a tu buzón un enlace para recuperar tu contraseña." msgid "auth.notifications.team-invitation-accepted" msgstr "Te uniste al equipo" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Contraseña" @@ -140,7 +140,7 @@ msgstr "¿Olvidaste tu contraseña?" msgid "auth.recovery-submit" msgstr "Cambiar tu contraseña" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "¿No tienes una cuenta?" @@ -152,7 +152,7 @@ msgstr "Cuéntanos cómo quieres que nos dirijamos a tí." msgid "auth.register-account-title" msgstr "Tu nombre" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Crear una cuenta" @@ -177,7 +177,7 @@ msgstr "La solución de código abierto para diseñar y prototipar." msgid "auth.terms-and-privacy-agreement" msgstr "Yo acepto los [términos de servicio](%s) y la [política de privacidad](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Términos de servicio" @@ -191,7 +191,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Hemos enviado un email de verificación a" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Correo electrónico" @@ -200,11 +200,11 @@ msgstr "Correo electrónico" msgid "branding-illustrations-marketing-pieces" msgstr "diseño de marca, ilustraciones, piezas de marketing..." -#: src/app/main/ui/comments.cljs:504 +#: src/app/main/ui/comments.cljs:532 msgid "comments.mentions.not-found" msgstr "No se encuentra miembros con @%s" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publicar" @@ -276,7 +276,7 @@ msgstr "Compartir prototipos" msgid "common.share-link.view-all" msgstr "Selecctionar todas" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Despublicar" @@ -330,7 +330,7 @@ msgstr "Recorrido por el interfaz" msgid "dashboard.access-tokens.copied-success" msgstr "Token copiado" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Generar nuevo token" @@ -338,11 +338,11 @@ msgstr "Generar nuevo token" msgid "dashboard.access-tokens.create.success" msgstr "Access token creado con éxito." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Pulsa el botón \"Generar nuevo token\" para generar uno." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Todavía no tienes ningún token." @@ -366,23 +366,23 @@ msgstr "90 días" msgid "dashboard.access-tokens.expiration-never" msgstr "Nunca" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Expiró el %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Expira el %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Sin fecha de expiración" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Access tokens personales" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Los access tokens personales funcionan como una alternativa a nuestro " @@ -397,7 +397,7 @@ msgstr "El token expirará el %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "El token no tiene fecha de expiración" -#: src/app/main/ui/dashboard/placeholder.cljs:48 +#: src/app/main/ui/dashboard/placeholder.cljs:35 msgid "dashboard.add-file" msgstr "Añadir archivo" @@ -409,7 +409,7 @@ msgstr "Añadir como Biblioteca Compartida" msgid "dashboard.change-email" msgstr "Cambiar correo" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(copia)" @@ -445,23 +445,23 @@ msgstr "Duplicar" msgid "dashboard.duplicate-multi" msgstr "Duplicar %s archivos" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Cuando un miembro del equipo cree algún borrador, este aparecerá aquí." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Aún no hay borradores." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Cuando un miembro del equipo cree algún archivo, este aparecerá aquí." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Aún no hay archivos." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -477,14 +477,42 @@ msgstr "" "alguna plantilla ve a [Bibliotecas y " "plantillas](https://penpot.app/libraries-templates)." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Las bibliotecas añadidas al proyecto aparecerán aquí." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Aún no existen librerías compartidas." +#: src/app/main/ui/dashboard/placeholder.cljs:44 +msgid "dashboard.empty-project.add-library" +msgstr "Añade una Biblioteca o Plantilla" + +#: src/app/main/ui/dashboard/placeholder.cljs:36, src/app/main/ui/dashboard/placeholder.cljs:90 +msgid "dashboard.empty-project.create" +msgstr "Crear un nuevo archivo" + +#: src/app/main/ui/dashboard/placeholder.cljs:45 +msgid "dashboard.empty-project.explore" +msgstr "Explora algunas para añadir" + +#: src/app/main/ui/dashboard/placeholder.cljs:43 +msgid "dashboard.empty-project.go-to-libraries" +msgstr "Ir a Bibliotecas y Plantillas" + +#: src/app/main/ui/dashboard/placeholder.cljs:39, src/app/main/ui/dashboard/placeholder.cljs:40 +msgid "dashboard.empty-project.import" +msgstr "Importa un fichero" + +#: src/app/main/ui/dashboard/placeholder.cljs:41 +msgid "dashboard.empty-project.import-penpot" +msgstr "Importa un fichero .penpot" + +#: src/app/main/ui/dashboard/placeholder.cljs:37 +msgid "dashboard.empty-project.start" +msgstr "Empieza a crear cosas increíbles" + #: src/app/main/ui/dashboard/file_menu.cljs:249, src/app/main/ui/dashboard/file_menu.cljs:254 msgid "dashboard.export-binary-multi" msgstr "Descargar %s archivos Penpot (.penpot)" @@ -575,35 +603,35 @@ msgstr "Incluir librerias compartidas dentro de las librerias del fichero" msgid "dashboard.export.title" msgstr "Exportar ficheros" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Fuente no encontrada" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Ignorar todas" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Las fuentes personalizadas que subas aparecerán aquí." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "Aún no hay fuentes personalizadas." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "" "Cuando un miembro del equipo suba una fuente personalizada, esta aparecerá " "aquí." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 fuente añadida" msgstr[1] "%s fuentes añadidas" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -613,22 +641,21 @@ msgstr "" "como una **única familia de fuentes**. Se pueden cargar fuentes con los " "siguientes formatos: **TTF, OTF and WOFF** (con uno es suficiente)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Sólo deberías cargar fuentes que te pertenecen o de las que tienes una " "licencia que te permita usarlas en Penpot. Encuentra más información en la " -"sección de Derechos de Contenido: [Penpot's Terms of " -"Service](%s). También te puede interesar leer " -"más sobre licencias tipográficas: [font " +"sección de Derechos de Contenido: [Penpot's Terms of Service](%s). También " +"te puede interesar leer más sobre licencias tipográficas: [font " "licensing](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Cargar todas" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -639,7 +666,7 @@ msgstr "" "[Transfonter](https://transfonter.org/) para generar fuentes web y corregir " "posibles errores." -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importar archivos Penpot" @@ -653,11 +680,11 @@ msgstr "" "Fichero exportado con componentes-v2 pero el equipo actual no lo soporta " "aún." -#: src/app/main/ui/dashboard.cljs:248 +#: src/app/main/ui/dashboard.cljs:247 msgid "dashboard.import.bad-url" msgstr "La importación ha fallado. La URL de la plantilla es incorrecta" -#: src/app/main/ui/dashboard.cljs:242 +#: src/app/main/ui/dashboard.cljs:241 msgid "dashboard.import.error" msgstr "La importación ha fallado. Intentalo de nuevo, por favor" @@ -665,17 +692,17 @@ msgstr "La importación ha fallado. Intentalo de nuevo, por favor" msgid "dashboard.import.import-error" msgstr "Hubo un problema importando el fichero. No ha podido ser importado." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 fichero se ha importado correctamente." msgstr[1] "%s ficheros se han importado correctamente." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Algunos ficheros contenían objetos erroneos que no han sido importados." -#: src/app/main/ui/dashboard.cljs:249 +#: src/app/main/ui/dashboard.cljs:248 msgid "dashboard.import.no-perms" msgstr "No tienes permisos para importar en este equipo" @@ -715,30 +742,38 @@ msgstr "Invitar a la gente" msgid "dashboard.leave-team" msgstr "Abandonar equipo" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliotecas y plantillas" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:257 +msgid "dashboard.libraries-and-templates.description" +msgstr "Aquí tienes algunas Bibliotecas y plantillas que puedes añadir a tu proyecto" + +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Explora más y descubre cómo contribuir" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Hubo un problema importando la plantilla. No ha podido ser importada." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Bibliotecas" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "cargando tus ficheros …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "cargando tus fuentes …" +#: src/app/main/data/comments.cljs:472 +msgid "dashboard.mark-all-as-read.success" +msgstr "Se han marcado todas las noficaciones como leídas" + #: src/app/main/ui/dashboard/file_menu.cljs:291, src/app/main/ui/dashboard/project_menu.cljs:101 msgid "dashboard.move-to" msgstr "Mover a" @@ -751,11 +786,11 @@ msgstr "Mover %s archivos a" msgid "dashboard.move-to-other-team" msgstr "Mover a otro equipo" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Nuevo Archivo" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Nuevo Archivo" @@ -763,31 +798,10 @@ msgstr "Nuevo Archivo" msgid "dashboard.new-project" msgstr "+ Nuevo proyecto" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nuevo Proyecto" -msgid "dashboard.empty-project.create" -msgstr "Crear un nuevo archivo" - -msgid "dashboard.empty-project.start" -msgstr "Empieza a crear cosas increíbles" - -msgid "dashboard.empty-project.import" -msgstr "Importa un fichero" - -msgid "dashboard.empty-project.import-penpot" -msgstr "Importa un fichero .penpot" - -msgid "dashboard.empty-project.add-library" -msgstr "Añade una Biblioteca o Plantilla" - -msgid "dashboard.empty-project.explore" -msgstr "Explora algunas para añadir" - -msgid "dashboard.empty-project.go-to-libraries" -msgstr "Ir a Bibliotecas y Plantillas" - #: src/app/main/ui/dashboard/search.cljs:77 msgid "dashboard.no-matches-for" msgstr "No se encuentra “%s“" @@ -796,7 +810,7 @@ msgstr "No se encuentra “%s“" msgid "dashboard.no-projects-placeholder" msgstr "Los proyectos fijados aparecerán aquí" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Notificaciones" @@ -808,7 +822,7 @@ msgstr "Tu dirección de correo ha sido actualizada" msgid "dashboard.notifications.email-verified-successfully" msgstr "Tu dirección de correo ha sido verificada" -#: src/app/main/ui/settings/notifications.cljs:42 +#: src/app/main/data/profile.cljs:260 msgid "dashboard.notifications.notifications-saved" msgstr "Configuración de notificaciones actualizada" @@ -828,7 +842,7 @@ msgstr "%s integrantes" msgid "dashboard.open-in-new-tab" msgstr "Abrir en una pestaña nueva" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opciones" @@ -856,15 +870,15 @@ msgstr "Ahora eres lector del equipo." msgid "dashboard.pin-unpin" msgstr "Anclar/Desanclar" -#: src/app/main/ui/dashboard.cljs:212 +#: src/app/main/ui/dashboard.cljs:208 msgid "dashboard.plugins.bad-url" msgstr "La URL de la extensión es incorrecta" -#: src/app/main/ui/dashboard.cljs:210 +#: src/app/main/ui/dashboard.cljs:206 msgid "dashboard.plugins.parse-error" msgstr "No se puede analizar el manifiest de la extensión" -#: src/app/main/ui/dashboard.cljs:173 +#: src/app/main/ui/dashboard.cljs:169 msgid "dashboard.plugins.try-plugin" msgstr "Prueba la extensión: " @@ -905,67 +919,67 @@ msgstr "Cambiar el idioma de la interfaz" msgid "dashboard.select-ui-theme" msgstr "Selecciona un tema" -#: src/app/main/ui/settings/notifications.cljs:76 +#: src/app/main/ui/settings/notifications.cljs:57 msgid "dashboard.settings.notifications.dashboard-comments.all" msgstr "Todos los comentarios, menciones y respuestas" -#: src/app/main/ui/settings/notifications.cljs:78 +#: src/app/main/ui/settings/notifications.cljs:59 msgid "dashboard.settings.notifications.dashboard-comments.none" msgstr "Ninguna" -#: src/app/main/ui/settings/notifications.cljs:77 +#: src/app/main/ui/settings/notifications.cljs:58 msgid "dashboard.settings.notifications.dashboard-comments.partial" msgstr "Sólo menciones y respuestas" -#: src/app/main/ui/settings/notifications.cljs:73 +#: src/app/main/ui/settings/notifications.cljs:54 msgid "dashboard.settings.notifications.dashboard-comments.title" msgstr "Comentarios de ficheros" -#: src/app/main/ui/settings/notifications.cljs:72 +#: src/app/main/ui/settings/notifications.cljs:53 msgid "dashboard.settings.notifications.dashboard.title" msgstr "Notificaciones en el panel" -#: src/app/main/ui/settings/notifications.cljs:86 +#: src/app/main/ui/settings/notifications.cljs:67 msgid "dashboard.settings.notifications.email-comments.all" msgstr "Todos los comentarios, menciones y respuestas" -#: src/app/main/ui/settings/notifications.cljs:88 +#: src/app/main/ui/settings/notifications.cljs:69 msgid "dashboard.settings.notifications.email-comments.none" msgstr "Ninguna" -#: src/app/main/ui/settings/notifications.cljs:87 +#: src/app/main/ui/settings/notifications.cljs:68 msgid "dashboard.settings.notifications.email-comments.partial" msgstr "Sólo menciones y respuestas" -#: src/app/main/ui/settings/notifications.cljs:83 +#: src/app/main/ui/settings/notifications.cljs:64 msgid "dashboard.settings.notifications.email-comments.title" msgstr "Comentarios de ficheros" -#: src/app/main/ui/settings/notifications.cljs:95 +#: src/app/main/ui/settings/notifications.cljs:76 msgid "dashboard.settings.notifications.email-invites.all" msgstr "Todas las invitaciones y solicitudes" -#: src/app/main/ui/settings/notifications.cljs:98 +#: src/app/main/ui/settings/notifications.cljs:79 msgid "dashboard.settings.notifications.email-invites.none" msgstr "Ninguna" -#: src/app/main/ui/settings/notifications.cljs:92 +#: src/app/main/ui/settings/notifications.cljs:73 msgid "dashboard.settings.notifications.email-invites.title" msgstr "Invitaciones y solicitudes" -#: src/app/main/ui/settings/notifications.cljs:82 +#: src/app/main/ui/settings/notifications.cljs:63 msgid "dashboard.settings.notifications.email.title" msgstr "Notificaciones de correo electrónico" -#: src/app/main/ui/settings/notifications.cljs:103 +#: src/app/main/ui/settings/notifications.cljs:84 msgid "dashboard.settings.notifications.submit" msgstr "Actualizar configuración" -#: src/app/main/ui/settings/notifications.cljs:71 +#: src/app/main/ui/settings/notifications.cljs:52 msgid "dashboard.settings.notifications.title" msgstr "Notificaciones" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Ver todos los archivos" @@ -993,7 +1007,7 @@ msgstr[1] "Tus archivos han sido duplicado con éxito" msgid "dashboard.success-duplicate-project" msgstr "Tu proyecto ha sido duplicado con éxito" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Tu archivo ha sido movido con éxito" @@ -1017,6 +1031,10 @@ msgstr "Integrantes del equipo" msgid "dashboard.team-projects" msgstr "Proyectos del equipo" +#: src/app/main/ui/dashboard/templates.cljs:133 +msgid "dashboard.template.add-to-project" +msgstr "Añadir a tu proyecto" + #: src/app/main/ui/settings/options.cljs:57 msgid "dashboard.theme-change" msgstr "Tema visual" @@ -1037,18 +1055,56 @@ msgstr "Despublicar Biblioteca" msgid "dashboard.update-settings" msgstr "Actualizar opciones" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "Sin límites a la creatividad" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Penpot Gratis" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "Mejora" +msgid "subscription.dashboard.power-up.professional.top-title" +msgstr "Plan Professional" + +#, markdown +msgid "subscription.dashboard.power-up.professional.bottom-description" +msgstr "Consigue editores y almacenamiento adicionales, copias de seguridad de archivos y mucho más con el **Plan ilimitado**" + +msgid "subscription.dashboard.power-up.unlimited-plan" +msgstr "Plan ilimitado" + +msgid "subscription.dashboard.power-up.unlimited.top-description" +msgstr "Editores adicionales, almacenamiento y versión autoguardada, copia de seguridad de archivos y mucho más." + +#, markdown +msgid "subscription.dashboard.power-up.unlimited.bottom-description" +msgstr "Obtenga seguridad avanzada, registros de actividad, asistencia dedicada y mucho más con el **Plan de empresa**" + +msgid "subscription.dashboard.power-up.enterprise-plan" +msgstr "Plan Enterprise" + +msgid "subscription.dashboard.power-up.unlimited.cta" +msgstr "Echa un vistazo" + +msgid "subscription.dashboard.power-up.enterprise.description" +msgstr "Seguridad avanzada, registros de actividad, asistencia dedicada y mucho más." + +msgid "subscription.dashboard.power-up.trial.top-title" +msgstr "Plan Unlimited (Prueba)" + +msgid "subscription.dashboard.power-up.trial.top-description" +msgstr "Editores adicionales, almacenamiento y versión autoguardada, copia de seguridad de archivos y mucho más." + +msgid "subscription.dashboard.power-up.trial.bottom-description" +msgstr "¿Disfrutas de la prueba? Desbloquea el acceso completo para siempre." + +msgid "subscription.dashboard.power-up.subscribe" +msgstr "Suscríbete" + #: src/app/main/ui/dashboard/team.cljs:909 msgid "dashboard.webhooks.active" msgstr "Activo" @@ -1104,7 +1160,7 @@ msgstr "Correo" msgid "dashboard.your-name" msgstr "Tu nombre" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Tu Penpot" @@ -1124,11 +1180,11 @@ msgstr "Componentes a actualizar:" msgid "ds.confirm-allow" msgstr "Permitir" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Cancelar" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -1140,7 +1196,7 @@ msgstr "¿Está Seguro?" msgid "errors.auth-provider-not-allowed" msgstr "El proveedor de autenticación no permitido para este perfil de usuario" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Proveedor de autenticación no configurado." @@ -1148,11 +1204,11 @@ msgstr "Proveedor de autenticación no configurado." msgid "errors.auth.unable-to-login" msgstr "Parece que no has iniciado sesión, o la sesión ha expirado." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "No se ha podido cargar la fuente %s" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "No se han podido cargar las fuentes %s" @@ -1160,11 +1216,11 @@ msgstr "No se han podido cargar las fuentes %s" msgid "errors.cannot-upload" msgstr "No se puede cargar el archivo multimedia." -#: src/app/main/ui/comments.cljs:689 +#: src/app/main/ui/comments.cljs:729, src/app/main/ui/comments.cljs:760, src/app/main/ui/comments.cljs:826 msgid "errors.character-limit-exceeded" msgstr "Se ha superado el límite de caracteres" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Tu navegador no puede realizar esta operación" @@ -1176,7 +1232,7 @@ msgstr "Este correo ya está en uso" msgid "errors.email-already-validated" msgstr "Este correo ya está validado." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "No puedes usar tu correo electrónico como contraseña" @@ -1211,6 +1267,10 @@ msgstr "Debe contener como máximo 1 caracter." msgid "errors.field-min-length" msgstr "Debe contener como mínimo 1 caracter." +#: src/app/util/forms.cljs:61 +msgid "errors.field-missing" +msgstr "Campo vacio" + #: src/app/main/ui/settings/team-form.cljs, src/app/main/ui/auth/register.cljs, src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/onboarding/team_choice.cljs, src/app/main/ui/settings/access_tokens.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/settings/profile.cljs, src/app/main/ui/workspace/sidebar/assets.cljs #, unused msgid "errors.field-not-all-whitespace" @@ -1223,7 +1283,19 @@ msgstr "" "del fichero que se esta intentando abrir. Falta aplicar migraciones para " "'%s' antes de poder abrir el fichero." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +msgid "errors.deprecated" +msgstr "¡Lo sentimos! Este es un fichero antiguo que utiliza un tipo de recurso de Penpot obsoleto, y no puedes abrirlo." + +msgid "errors.deprecated.contact.before" +msgstr "Aunque Penpot ya no da soporte a este tipo de Recursos, puedes" + +msgid "errors.deprecated.contact.text" +msgstr "contactar con nosotros" + +msgid "errors.deprecated.contact.after" +msgstr "para que podamos ayudarte." + +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Ha ocurrido algún error." @@ -1231,25 +1303,16 @@ msgstr "Ha ocurrido algún error." msgid "errors.invalid-color" msgstr "Color no válido" -#: src/app/util/forms.cljs +#: src/app/util/forms.cljs:35, src/app/util/forms.cljs:84 msgid "errors.invalid-data" msgstr "Datos no válidos" -#: src/app/util/forms.cljs -msgid "errors.field-missing" -msgstr "Campo vacio" - -#: src/app/util/forms.cljs -msgid "errors.invalid-text" -msgstr "Texto no válido" - #: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs, src/app/main/ui/auth/recovery_request.cljs #, unused msgid "errors.invalid-email" msgstr "Por favor, escribe un email válido" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "El correo de confirmación debe coincidir" @@ -1257,6 +1320,11 @@ msgstr "El correo de confirmación debe coincidir" msgid "errors.invalid-recovery-token" msgstr "El código de recuperación no es válido." +#: src/app/util/forms.cljs +#, unused +msgid "errors.invalid-text" +msgstr "Texto no válido" + #: src/app/main/ui/static.cljs:69 msgid "errors.invite-invalid" msgstr "Invitación inválida" @@ -1265,7 +1333,7 @@ msgstr "Invitación inválida" msgid "errors.invite-invalid.info" msgstr "Esta invitación puede haber sido cancelada o ha expirado." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "La autheticacion via LDAP esta deshabilitada." @@ -1317,7 +1385,7 @@ msgstr "La contraseña debe tener 8 caracteres como mínimo" msgid "errors.paste-data-validation" msgstr "Datos inválidos en el portapapeles" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "El perfil esta blockeado" @@ -1351,6 +1419,24 @@ msgstr "" "El propietario no puede salir del equipo, tienes que asignar la propiedad a " "otra persona." +#: src/app/main/data/tokens.cljs:150, src/app/main/data/tokens.cljs:180 +msgid "errors.token-set-already-exists" +msgstr "Ya existe un set con el mismo nombre" + +#: src/app/main/data/tokens.cljs: +msgid "errors.token-set-doesnt-exists" +msgstr "No se puede duplicar un set que no existe." + +#: src/app/main/data/tokens.cljs:245 +msgid "errors.token-set-exists-on-drop" +msgstr "" +"No se ha podido mover el set, un set con el mismo nombre ya existe en la " +"esa ruta." + +#: src/app/main/data/tokens.cljs:79 +msgid "errors.token-theme-already-exists" +msgstr "Ya existe un theme con este nombre" + #: src/app/main/data/media.cljs:71 msgid "errors.unexpected-error" msgstr "Ha ocurrido un error inesperado." @@ -1395,12 +1481,11 @@ msgstr "Error inesperado al validar" msgid "errors.webhooks.unexpected-status" msgstr "Estado inesperado %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "El email o la contraseña son incorrectos." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "La contraseña anterior no es correcta" @@ -1449,11 +1534,11 @@ msgstr "Cuenta habilitada para responder todas tus dudas técnicas." msgid "feedback.twitter-title" msgstr "Cuenta de X para soporte" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Ha ocurrido un error" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Desenfocado" @@ -1461,31 +1546,31 @@ msgstr "Desenfocado" msgid "inspect.attributes.blur.value" msgstr "Valor" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Relleno" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Descargar imagen original" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Altura" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Ancho" @@ -1524,25 +1609,15 @@ msgstr "Arriba" msgid "inspect.attributes.layout.width" msgstr "Ancho" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Sombra" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Tamaño y posición" -#: src/app/main/ui/viewer/inspect/attributes/variant.cljs:40 -msgid "inspect.attributes.variant.variant" -msgstr "Propiedades de la variante" - -msgid "inspect.attributes.variant.component" -msgstr "Propiedades del componente" - -msgid "inspect.attributes.variant.copy" -msgstr "Propiedades de la copia" - -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Borde" @@ -1579,144 +1654,167 @@ msgstr "Sólido" msgid "inspect.attributes.stroke.width" msgstr "Ancho" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografía" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Familia tipográfica" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Tamaño de fuente" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Estilo de fuente" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Grosor de fuente" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Espaciado de letras" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Interlineado" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Decoración de texto" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Ninguna" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Tachar" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Subrayar" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformación de texto" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Minúsculas" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Ninguna" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Primera en mayúscula" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Sin asignar" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Mayúsculas" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/attributes/variant.cljs:44 +msgid "inspect.attributes.variant" +msgstr "Propiedades de la variante" + +msgid "inspect.attributes.variants" +msgstr "Propiedades de las variantes" + +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Si quieres saber más sobre la inspección puedes visitar el centro de ayuda " "de Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Más información sobre la inspección" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Elige una forma, tablero o grupo para inspeccionar sus propiedades y código" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:61 +msgid "inspect.subtitle.copy" +msgstr "Copia" + +#: src/app/main/ui/inspect/right_sidebar.cljs:57 +msgid "inspect.subtitle.main" +msgstr "Componente principal" + +#: src/app/main/ui/inspect/right_sidebar.cljs:59 +msgid "inspect.subtitle.variant" +msgstr "Variante" + +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Código" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Círculo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Componente" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Curva" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Mesa de trabajo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grupo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Imagen" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Máscara" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Seleccionado" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Trazado" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rectángulo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Texto" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Información" +#: src/app/main/ui/dashboard/comments.cljs:95 +msgid "label.mark-all-as-read" +msgstr "Marcar todo como leído" + #: src/app/main/ui/workspace/main_menu.cljs:162 msgid "label.shortcuts" msgstr "Atajos de teclado" @@ -1733,15 +1831,15 @@ msgstr "Access tokens" msgid "labels.active" msgstr "Activo" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Añadir" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Añadir fuente personalizada" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Añadiendo..." @@ -1753,7 +1851,7 @@ msgstr "Administración" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Todo" @@ -1775,7 +1873,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Error del servidor (Bad Gateway)" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Cancelar" @@ -1783,27 +1881,27 @@ msgstr "Cancelar" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Cerrar" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Colapsar" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Comentario" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Marcar como resuelto" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Comentarios" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Comunidad" @@ -1811,7 +1909,7 @@ msgstr "Comunidad" msgid "labels.confirm-password" msgstr "Confirmar contraseña" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Continuar" @@ -1823,11 +1921,7 @@ msgstr "Continúa con" msgid "labels.continue-with-penpot" msgstr "Puedes continuar con una cuenta de Penpot" -#: src/app/main/ui/dashboard/team.cljs:683 -msgid "labels.copy-invitation-link" -msgstr "Copiar enlace" - -#: src/app/main/ui/components/copy_button.cljs:42 +#: src/app/main/ui/components/copy_button.cljs:41 msgid "labels.copy" msgstr "Copiar" @@ -1835,11 +1929,15 @@ msgstr "Copiar" msgid "labels.copy-color" msgstr "Copiar color" +#: src/app/main/ui/dashboard/team.cljs:683 +msgid "labels.copy-invitation-link" +msgstr "Copiar enlace" + #: src/app/main/ui/static.cljs:62 msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Crear" @@ -1859,15 +1957,19 @@ msgstr "Fuentes personalizadas" msgid "labels.dashboard" msgstr "Panel" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Borrar" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/workspace/tokens/sets_context_menu.cljs +msgid "labels.duplicate" +msgstr "Duplicar" + +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Eliminar comentario" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Eliminar hilo" @@ -1887,18 +1989,21 @@ msgstr "Desarrollo" msgid "labels.director" msgstr "Director" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Descartar" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Borradores" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Editar" +msgid "labels.error" +msgstr "Error" + #, unused msgid "labels.edit-file" msgstr "Editar archivo" @@ -1915,7 +2020,7 @@ msgstr "Evento" msgid "labels.expired-invitation" msgstr "Expirada" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exportar" @@ -1931,7 +2036,7 @@ msgstr "Opinión enviada" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Familia de fuente" @@ -1939,11 +2044,11 @@ msgstr "Familia de fuente" msgid "labels.font-providers" msgstr "Proveedores de fuentes" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Estilos" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fuentes" @@ -1955,11 +2060,11 @@ msgstr "CEO o Fundador" msgid "labels.freelancer" msgstr "Autónomo" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Repositorio de Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Danos tu opinión" @@ -1971,15 +2076,19 @@ msgstr "Volver" msgid "labels.graphic-design" msgstr "Diseño gráfico" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Centro de ayuda" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/dashboard/templates.cljs:90 +msgid "labels.hide" +msgstr "Ocultar" + +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Ocultar comentarios resueltos" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:355 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 msgid "labels.import" msgstr "Importar" @@ -1987,7 +2096,7 @@ msgstr "Importar" msgid "labels.inactive" msgstr "Inactivo" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Fuentes instaladas" @@ -2013,11 +2122,11 @@ msgstr "Invitaciones" msgid "labels.language" msgstr "Idioma" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Bibliotecas y Plantillas" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Cargando…" @@ -2029,7 +2138,7 @@ msgstr "Entra o regístrate" msgid "labels.login" msgstr "Entrar" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Salir" @@ -2045,7 +2154,7 @@ msgstr "Integrante" msgid "labels.members" msgstr "Integrantes" -#: src/app/main/ui/comments.cljs:558 +#: src/app/main/ui/comments.cljs:583 msgid "labels.mention" msgstr "Mencionar" @@ -2053,11 +2162,11 @@ msgstr "Mencionar" msgid "labels.new-password" msgstr "Nueva contraseña" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Siguiente" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "¡Ya estás al día! Nuevas notificaciones de comentarios aparecerán aquí." @@ -2066,9 +2175,8 @@ msgid "labels.no-invitations" msgstr "No hay invitaciones pendientes." #: src/app/main/ui/dashboard/team.cljs:742 -#, markdown -msgid "labels.no-invitations-hint" -msgstr "Pulsa el botón 'Invitar al equipo' para añadir más integrantes al equipo." +msgid "labels.no-invitations-gather-people" +msgstr "Reúne a tu gente y construid juntos grandes cosas." #: src/app/main/ui/static.cljs #, unused @@ -2083,7 +2191,7 @@ msgstr "¡Uy!" msgid "labels.notifications" msgstr "Notificaciones" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 archivo" @@ -2114,7 +2222,7 @@ msgstr "Contraseña anterior" msgid "labels.only-yours" msgstr "Sólo los tuyos" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Opciones" @@ -2142,7 +2250,7 @@ msgstr "Contraseña" msgid "labels.pending-invitation" msgstr "Pendiente" -#: src/app/main/ui/comments.cljs:657, src/app/main/ui/comments.cljs:690, src/app/main/ui/comments.cljs:759 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "Publicar" @@ -2166,7 +2274,7 @@ msgstr "Perfil" msgid "labels.projects" msgstr "Proyectos" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Notas de versión" @@ -2184,7 +2292,7 @@ msgstr "Quitar" msgid "labels.remove-member" msgstr "Eliminar integrante" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Renombrar" @@ -2192,23 +2300,23 @@ msgstr "Renombrar" msgid "labels.rename-team" msgstr "Renombra el equipo" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "respuestas" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "nuevas respuestas" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "respuesta" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "nueva respuesta" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Responder" @@ -2228,15 +2336,15 @@ msgstr "Reintentar" msgid "labels.role" msgstr "Rol" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Guardar" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Buscar" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Buscar fuente" @@ -2260,7 +2368,7 @@ msgstr "Estamos en una operación de mantenimiento programado de nuestros sistem msgid "labels.service-unavailable.main-message" msgstr "El servicio no está disponible" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "Sets" @@ -2268,6 +2376,9 @@ msgstr "Sets" msgid "labels.settings" msgstr "Configuración" +msgid "subscription.labels" +msgstr "Suscripción" + #: src/app/main/ui/viewer/header.cljs:206 msgid "labels.share" msgstr "Compartir" @@ -2280,19 +2391,23 @@ msgstr "Compartir prototipo" msgid "labels.shared-libraries" msgstr "Bibliotecas" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/dashboard/templates.cljs:86 +msgid "labels.show" +msgstr "Mostrar" + +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Mostrar todos los comentarios" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Mostrar lista de comentarios" -#: src/app/main/ui/workspace/comments.cljs:66, src/app/main/ui/workspace/comments.cljs:136 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-mentions" msgstr "Mostrar sólo tus menciones" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Mostrar sólo tus comentarios" @@ -2320,14 +2435,18 @@ msgstr "Líder de equipo" msgid "labels.team-member" msgstr "Miembro de equipo" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Temas" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutoriales" +#: src/app/main/ui/workspace/tokens/errors.cljs:49 +msgid "labels.unknown-error" +msgstr "Error desconocido" + #: src/app/main/ui/dashboard/file_menu.cljs:264 msgid "labels.unpublish-multi-files" msgstr "Despublicar %s archivos" @@ -2340,15 +2459,15 @@ msgstr "Actualizar" msgid "labels.update-team" msgstr "Actualiza el equipo" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Cargar" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Cargar fuente" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Subiendo…" @@ -2364,7 +2483,7 @@ msgstr "Lector" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Escribir un nuevo comentario" @@ -2372,7 +2491,7 @@ msgstr "Escribir un nuevo comentario" msgid "labels.you" msgstr "(tú)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Tu cuenta" @@ -2380,27 +2499,109 @@ msgstr "Tu cuenta" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "labels.unknown-error" -msgstr "Error desconocido" +#: src/app/main/ui/ds/product/loader.cljs:21 +msgid "loader.tips.01.message" +msgstr "" +"Mantén tus diseños consistentes y fáciles de actualizar en todos los " +"proyectos." -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/ds/product/loader.cljs:20 +msgid "loader.tips.01.title" +msgstr "Componentes Reutilizables" + +#: src/app/main/ui/ds/product/loader.cljs:23 +msgid "loader.tips.02.message" +msgstr "Trabaja con tu equipo en vivo, comparte feedback al instante." + +#: src/app/main/ui/ds/product/loader.cljs:22 +msgid "loader.tips.02.title" +msgstr "Colaboración en Tiempo Real" + +#: src/app/main/ui/ds/product/loader.cljs:25 +msgid "loader.tips.03.message" +msgstr "Diseña de forma flexible con controles de diseño similares a CSS." + +#: src/app/main/ui/ds/product/loader.cljs:24 +msgid "loader.tips.03.title" +msgstr "Auto Layout como CSS" + +#: src/app/main/ui/ds/product/loader.cljs:27 +msgid "loader.tips.04.message" +msgstr "Obtén código CSS y SVG directamente de tus diseños." + +#: src/app/main/ui/ds/product/loader.cljs:26 +msgid "loader.tips.04.title" +msgstr "Exportar a Código" + +#: src/app/main/ui/ds/product/loader.cljs:29 +msgid "loader.tips.05.message" +msgstr "Comparte recursos y estilos para mantener la consistencia." + +#: src/app/main/ui/ds/product/loader.cljs:28 +msgid "loader.tips.05.title" +msgstr "Bibliotecas de Diseño" + +#: src/app/main/ui/ds/product/loader.cljs:31 +msgid "loader.tips.06.message" +msgstr "Da vida a tus ideas con animaciones y transiciones." + +#: src/app/main/ui/ds/product/loader.cljs:30 +msgid "loader.tips.06.title" +msgstr "Prototipos Interactivos" + +#: src/app/main/ui/ds/product/loader.cljs:33 +msgid "loader.tips.07.message" +msgstr "Penpot usa SVG y CSS para un desarrollo sin problemas." + +#: src/app/main/ui/ds/product/loader.cljs:32 +msgid "loader.tips.07.title" +msgstr "Formatos Web Estándar" + +#: src/app/main/ui/ds/product/loader.cljs:35 +msgid "loader.tips.08.message" +msgstr "" +"Acelera tu flujo de trabajo con atajos útiles como Shift + A para Auto " +"Layout." + +#: src/app/main/ui/ds/product/loader.cljs:34 +msgid "loader.tips.08.title" +msgstr "Atajos de Teclado" + +#: src/app/main/ui/ds/product/loader.cljs:37 +msgid "loader.tips.09.message" +msgstr "Elige el tema que mejor se adapte a tu estilo." + +#: src/app/main/ui/ds/product/loader.cljs:36 +msgid "loader.tips.09.title" +msgstr "Modo Claro y Oscuro" + +#: src/app/main/ui/ds/product/loader.cljs:39 +msgid "loader.tips.10.message" +msgstr "" +"Extiende Penpot con plugins creados por la comunidad para funcionalidad " +"extra." + +#: src/app/main/ui/ds/product/loader.cljs:38 +msgid "loader.tips.10.title" +msgstr "Soporte de Plugins" + +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Elegir imagen" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Gradiente" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Imagen" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Mantener la proporción" @@ -2418,7 +2619,7 @@ msgstr "Cargando imagen…" msgid "media.radial" msgstr "Radial" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Sólido" @@ -2467,7 +2668,7 @@ msgstr "Cambiar correo" msgid "modals.change-email.title" msgstr "Cambiar tu correo" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Copiar token" @@ -2483,7 +2684,7 @@ msgstr "Nombre" msgid "modals.create-access-token.name.placeholder" msgstr "El nombre te pude ayudar a saber para qué se utiliza el token" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Crear token" @@ -2507,15 +2708,15 @@ msgstr "Payload URL" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Borrar token" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "¿Seguro que deseas borrar este token?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Borrar token" @@ -2535,25 +2736,25 @@ msgstr "Si borras tu cuenta perderás todos tus proyectos y archivos." msgid "modals.delete-account.title" msgstr "¿Seguro que quieres borrar tu cuenta?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Eliminar conversación" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "¿Seguro que quieres eliminar esta conversación? Todos los comentarios en " "este hilo serán eliminados." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Eliminar conversación" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "¿Seguro que quieres borrar esta nota?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Borrar nota" @@ -2581,31 +2782,31 @@ msgstr "¿Seguro que quieres borrar %s archivos?" msgid "modals.delete-file-multi-confirm.title" msgstr "Borrando %s archivos" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Estas seguro de querer eliminar esta estilo de fuente? Dejara de cargar si " "es usada en algun fichero." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Eliminando estilo de fuente" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "¿Seguro que quieres eliminar esta fuente? Si está siendo usada en algún " "fichero no se cargará." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Eliminando fuente" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "¿Seguro que quieres borrar esta página?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Borrar página" @@ -2819,15 +3020,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Nueva propiedad del equipo" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publicar" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Tu biblioteca está vacía. ¿Seguro que quieres publicarla?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Publicar biblioteca vacía" @@ -2882,21 +3083,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Actualizar componentes en biblioteca" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Actualizar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Cancelar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Vas a actualizar un componente en una biblioteca compartida. Esto puede " "afectar a otros archivos que la usen." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Actualizar un componente en biblioteca" @@ -3058,30 +3259,30 @@ msgstr "Tutoriales de video" msgid "onboarding-v2.before-start.title" msgstr "Antes de comenzar" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Suscríbete a la newsletter de Penpot para estar al día de los progresos del " "producto y noticias." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Quiero recibir noticias sobre Penpot (artículos del blog, vídeo tutoriales, " "directos...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Nos importa la privacidad, aquí puedes leer nuestra " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Sólo te enviaremos emails relevantes para ti. Puedes desuscribirte en " "cualquier momento usando el vínculo de desuscripción en cualquiera de " "nuestras newsletters." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Quiero recibir información sobre actualizaciones del producto (nuevas " @@ -3179,17 +3380,17 @@ msgstr "Podrás crear un equipo después." msgid "onboarding.newsletter.accept" msgstr "Si, suscribirme" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Tu solicitud de suscripción ha sido enviada, te haremos una confirmación a " "tu email." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Política de Privacidad." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "¿Quieres recibir noticias sobre Penpot?" @@ -3209,51 +3410,6 @@ msgstr "Estoy echando un vistazo" msgid "onboarding.questions.reasons.fit" msgstr "Estoy buscando una herramienta que se ajuste a mis necesidades" -#: src/app/main/ui/onboarding/questions.cljs:113 -msgid "onboarding.questions.lets-get-started" -msgstr "¡Empecemos!" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "labels.show" -msgstr "Mostrar" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "labels.hide" -msgstr "Ocultar" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "dashboard.libraries-and-templates.description" -msgstr "Aquí tienes algunas Bibliotecas y plantillas que puedes añadir a tu proyecto" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "dashboard.template.add-to-project" -msgstr "Añadir a tu proyecto" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "labels.add" -msgstr "Añadir" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "labels.add-to-your-project" -msgstr "Añadir a tu proyecto" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "labels.show-hide" -msgstr "Mostrar/Ocultar" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "labels.show" -msgstr "Mostrar" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "labels.hide" -msgstr "Ocultar" - -#: src/app/main/ui/dashboard/templates.cljs -msgid "dashboard.libraries-and-templates.description" -msgstr "Aquí tienes algunas Bibliotecas y plantillas que puedes añadir a tu proyecto" -msgstr "Averiguar si Penpot es una buena opción para mi equipo" - #: src/app/main/ui/onboarding/questions.cljs:97 msgid "onboarding.questions.reasons.testing" msgstr "Probar antes de self-hosting" @@ -3423,7 +3579,7 @@ msgstr "Ir al login" msgid "settings.detach" msgstr "Desacoplar" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Varios" @@ -3609,6 +3765,11 @@ msgstr "Copiar" msgid "shortcuts.copy-link" msgstr "Copiar enlace" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:106 +#, unused +msgid "shortcuts.copy-props" +msgstr "Copiar propiedades" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:95 msgid "shortcuts.create-component" msgstr "Crear componente" @@ -3621,7 +3782,7 @@ msgstr "Crear nuevo" msgid "shortcuts.cut" msgstr "Cortar" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Reducir zoom" @@ -3721,7 +3882,7 @@ msgstr "Distribuir horizontalmente" msgid "shortcuts.hide-ui" msgstr "Mostrar/ocultar interfaz" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Aumentar zoom" @@ -3897,6 +4058,16 @@ msgstr " o " msgid "shortcuts.paste" msgstr "Pegar" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:111 +#, unused +msgid "shortcuts.paste-props" +msgstr "Pegar propiedades" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:604 +#, unused +msgid "shortcuts.plugins" +msgstr "Gestor de extensiones" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:165 msgid "shortcuts.prev-frame" msgstr "Tablero anterior" @@ -4061,18 +4232,6 @@ msgstr "Mostrar/ocultar paleta de textos" msgid "shortcuts.toggle-theme" msgstr "Cambiar tema" -#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:604 -msgid "shortcuts.plugins" -msgstr "Gestor de extensiones" - -#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:106 -msgid "shortcuts.copy-props" -msgstr "Copiar propiedades" - -#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:111 -msgid "shortcuts.paste-props" -msgstr "Pegar propiedades" - #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:205 msgid "shortcuts.toggle-visibility" msgstr "Mostrar/ocultar elemento" @@ -4117,15 +4276,15 @@ msgstr "Zoom a selección" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Proveedores de fuentes - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Fuentes - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Proyectos - %s - Penpot" @@ -4133,7 +4292,7 @@ msgstr "Proyectos - %s - Penpot" msgid "title.dashboard.search" msgstr "Buscar - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Bibliotecas Compartidas - %s - Penpot" @@ -4141,7 +4300,7 @@ msgstr "Bibliotecas Compartidas - %s - Penpot" msgid "title.default" msgstr "Penpot - Diseño Libre para Equipos" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Perfil - Access tokens" @@ -4149,7 +4308,7 @@ msgstr "Perfil - Access tokens" msgid "title.settings.feedback" msgstr "Danos tu opinión - Penpot" -#: src/app/main/ui/settings/notifications.cljs:64 +#: src/app/main/ui/settings/notifications.cljs:45 msgid "title.settings.notifications" msgstr "Notificaciones - Penpot" @@ -4165,6 +4324,72 @@ msgstr "Contraseña - Penpot" msgid "title.settings.profile" msgstr "Perfil - Penpot" +msgid "subscription.settings.section-plan" +msgstr "Tu suscripción" + +msgid "subscription.settings.other-plans" +msgstr "Otros planes de penpot" + +msgid "subscription.settings.professional" +msgstr "Professional" + +msgid "subscription.settings.unlimited" +msgstr "Unlimited" + +msgid "subscription.settings.enterprise" +msgstr "Enterprise" + +msgid "subscription.settings.support-us-since" +msgstr "Nos apoyas desde %s" + +msgid "subscription.settings.member-since" +msgstr "Miembro de penpot desde %s" + +msgid "subscription.settings.price-editor-month" +msgstr "editor por mes" + +msgid "subscription.settings.price-organization-month" +msgstr "organización por mes" + +msgid "subscription.settings.professional.projects-files" +msgstr "Proyectos, archivos y borradores ilimitados" + +msgid "subscription.settings.professional.teams-editors" +msgstr "Equipos ilimitados de hasta 8 redactores" + +msgid "subscription.settings.professional.storage" +msgstr "10 GB de almacenamiento y versiones de autoguardado de 7 días" + +msgid "subscription.settings.benefits.all-professional-benefits" +msgstr "Todas las prestaciones del plan Professional y:" + +msgid "subscription.settings.benefits.all-unlimited-benefits" +msgstr "Todas las prestaciones del plan Unlimited y:" + +msgid "subscription.settings.unlimited.teams" +msgstr "Equipos ilimitados, independientemente de su tamaño" + +msgid "subscription.settings.unlimited.bill" +msgstr "Factura mensual limitada" + +msgid "subscription.settings.unlimited.storage" +msgstr "25 GB de almacenamiento y 30 días de autoguardado de versiones y copias de seguridad de archivos" + +msgid "subscription.settings.ulimited.try-it-free" +msgstr "Pruébalo gratis durante 14 días" + +msgid "subscription.settings.manage-your-subscription" +msgstr "Gestionar tu suscripción" + +msgid "subscription.settings.enterprise.support" +msgstr "Apoyo específico" + +msgid "subscription.settings.enterprise.security" +msgstr "Seguridad avanzada" + +msgid "subscription.settings.enterprise.logs" +msgstr "Registros de actividad" + #: src/app/main/ui/dashboard/team.cljs:779 msgid "title.team-invitations" msgstr "Invitaciones - %s - Penpot" @@ -4185,7 +4410,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - Modo de visualización - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -4285,23 +4510,20 @@ msgstr "Distribuir espacio vertical (%s)" msgid "workspace.align.vtop" msgstr "Alinear arriba (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Añadir biblioteca" -msgid "workspace.assets.manage-library" -msgstr "Gestionar biblioteca" - #: src/app/main/ui/workspace/sidebar/assets.cljs #, unused msgid "workspace.assets.assets" msgstr "Recursos" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Todos" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Colores" @@ -4309,14 +4531,17 @@ msgstr "Colores" msgid "workspace.assets.colors.add-color" msgstr "Añadir color" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Componentes" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Añadir componente" +msgid "workspace.assets.components.num-variants" +msgstr "%s Variantes" + #: src/app/main/ui/workspace/sidebar/assets/groups.cljs:127 msgid "workspace.assets.create-group" msgstr "Crear un grupo" @@ -4327,15 +4552,15 @@ msgstr "" "Tus elementos se renombrarán automáticamente a \"nombre grupo / nombre " "elemento\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Borrar" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplicar" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Duplicar principal" @@ -4343,19 +4568,19 @@ msgstr "Duplicar principal" msgid "workspace.assets.edit" msgstr "Editar" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filtrar" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Gráficos" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Ver como rejilla" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Agrupar" @@ -4363,23 +4588,27 @@ msgstr "Agrupar" msgid "workspace.assets.group-name" msgstr "Nombre del grupo" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Ver como lista" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "biblioteca local" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets.cljs:176 +msgid "workspace.assets.manage-library" +msgstr "Gestionar biblioteca" + +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "No se encontraron recursos" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Abrir el fichero de la biblioteca" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Renombrar" @@ -4387,7 +4616,7 @@ msgstr "Renombrar" msgid "workspace.assets.rename-group" msgstr "Renombrar grupo" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Buscar recursos" @@ -4403,17 +4632,17 @@ msgstr[1] "%s elementos seleccionados" msgid "workspace.assets.shared-library" msgstr "Biblioteca compartida" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 componente" msgstr[1] "%s componentes" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Ordenar" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Tipografías" @@ -4426,27 +4655,27 @@ msgstr "Añadir tipografía" msgid "workspace.assets.typography.font-id" msgstr "Fuente" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Tamaño" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variante" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Ir al archivo de la biblioteca del estilo para editar" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Interletrado" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Interlineado" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4454,7 +4683,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Estilos de texto" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transformar texto" @@ -4462,55 +4691,55 @@ msgstr "Transformar texto" msgid "workspace.assets.ungroup" msgstr "Desagrupar" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Crear area" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Crear tablero" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Fusionar celdas" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Añadir 1 columna a la derecha" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Añadir 1 columna a la izquierda" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Borrar columna" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Borrar columna con el contenido" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Duplicar columna" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Añadir 1 fila debajo" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Añadir 1 fila encima" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Borrar fila" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Borrar fila con el contenido" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Duplicar fila" @@ -4518,11 +4747,11 @@ msgstr "Duplicar fila" msgid "workspace.focus.focus-mode" msgstr "Modo foco" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Desactivar modo foco" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Activar modo foco" @@ -4680,37 +4909,36 @@ msgstr "Cambiar a tema claro" msgid "workspace.header.menu.undo" msgstr "Deshacer" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Restablecer" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Error al guardar" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Guardado" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Guardando" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Compartir" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Cambios sin guardar" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Modo de visualización (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zoom" @@ -4722,7 +4950,7 @@ msgstr "Escalar para rellenar" msgid "workspace.header.zoom-fit" msgstr "Escalar para ajustar" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Zoom abarcar todo" @@ -4730,46 +4958,46 @@ msgstr "Zoom abarcar todo" msgid "workspace.header.zoom-full-screen" msgstr "Pantalla completa" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zoom a selección" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Editar rejilla" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Salir" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 -msgid "workspace.layout_grid.editor.padding.expand" -msgstr "Mostrar el padding a 4 lados" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:337 -msgid "workspace.layout_grid.editor.padding.vertical" -msgstr "Padding vertical" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:351 -msgid "workspace.layout_grid.editor.padding.horizontal" -msgstr "Padding horizontal" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:396 -msgid "workspace.layout_grid.editor.padding.top" -msgstr "Padding superior" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:411 -msgid "workspace.layout_grid.editor.padding.right" -msgstr "Padding derecho" - -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:426, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:432 msgid "workspace.layout_grid.editor.padding.bottom" msgstr "Padding inferior" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:439 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 +msgid "workspace.layout_grid.editor.padding.expand" +msgstr "Mostrar el padding a 4 lados" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:351, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:358 +msgid "workspace.layout_grid.editor.padding.horizontal" +msgstr "Padding horizontal" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:447 msgid "workspace.layout_grid.editor.padding.left" msgstr "Padding izquierdo" +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:411, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:417 +msgid "workspace.layout_grid.editor.padding.right" +msgstr "Padding derecho" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:396, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:402 +msgid "workspace.layout_grid.editor.padding.top" +msgstr "Padding superior" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:337, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:343 +msgid "workspace.layout_grid.editor.padding.vertical" +msgstr "Padding vertical" + #: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:59 msgid "workspace.layout_grid.editor.title" msgstr "Editando rejilla" @@ -4782,7 +5010,7 @@ msgstr "Hecho" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Mostrar" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Mostrar grid layout" @@ -4791,7 +5019,7 @@ msgstr "Mostrar grid layout" msgid "workspace.libraries.add" msgstr "Añadir" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s colores" @@ -4821,43 +5049,43 @@ msgstr "Colores recientes" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Complementario" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Guardar estilo de color" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s componentes" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "O añadir algunas de éstas para probar:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "No hay Bibliotecas Compartidas en tu equipo, puedes buscar" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "algunas plantillas aquí" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Biblioteca del archivo" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s gráficos" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTECAS EN ESTE ARCHIVO" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTECAS" @@ -4866,63 +5094,64 @@ msgstr "BIBLIOTECAS" msgid "workspace.libraries.library" msgstr "BIBLIOTECA" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "ACTUALIZACIONES DE BIBLIOTECAS" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Cargando…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "Puedes buscar " -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "No hay bibliotecas que necesiten ser actualizadas" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "No se encuentra “%s“" -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Buscar bibliotecas compartidas" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "BIBLIOTECAS COMPARTIDAS" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Conectar biblioteca" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Varias tipografías" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Desvincular todas las tipografías" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s tipografías" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Desconectar biblioteca" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Actualizar" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "ver todos los cambios" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "ACTUALIZACIONES" @@ -4954,43 +5183,43 @@ msgstr "Desenfoque de la selección" msgid "workspace.options.blur-options.toggle-blur" msgstr "Mostrar/ocultar desenfoque" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Color de fondo" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Truncar contenido" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Componente" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Nota" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Copia" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Crear una nota" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Editar una nota" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Principal" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Intercambiar componente" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "Aún no hay recursos en esta biblioteca" @@ -5038,7 +5267,7 @@ msgstr "Arriba y Abajo" msgid "workspace.options.design" msgstr "Diseño" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exportar" @@ -5047,21 +5276,21 @@ msgstr "Exportar" msgid "workspace.options.export-multiple" msgstr "Exportar selección" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Exportar 1 elemento" msgstr[1] "Exportar %s elementos" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "Añadir exportación" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "Eliminar exportación" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Sufijo" @@ -5069,7 +5298,7 @@ msgstr "Sufijo" msgid "workspace.options.exporting-complete" msgstr "Exportación completa" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Exportando…" @@ -5093,7 +5322,7 @@ msgstr "Añadir color de relleno" msgid "workspace.options.fill.remove-fill" msgstr "Eliminar relleno" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:343, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:344 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 msgid "workspace.options.fit-content" msgstr "Redimensionar para ajustar al contenido" @@ -5235,7 +5464,7 @@ msgstr "Guías" msgid "workspace.options.guides.toggle-guide" msgstr "Mostrar/ocultar guía" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Altura" @@ -5558,19 +5787,19 @@ msgstr "Mostrar/ocultar capa" msgid "workspace.options.layout-item.advanced-ops" msgstr "Opciones avanzadas" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Altura.Max" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Ancho.Max" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Altura.Min" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Ancho.Min" @@ -5684,11 +5913,11 @@ msgstr "espaciar" msgid "workspace.options.layout.top" msgstr "Arriba" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Más colores" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Más colores de la biblioteca" @@ -5733,7 +5962,7 @@ msgstr "Colapsar radios individuales" msgid "workspace.options.radius.show-single-corners" msgstr "Mostrar radios individuales" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Recientes" @@ -5741,11 +5970,11 @@ msgstr "Recientes" msgid "workspace.options.retry" msgstr "Reintentar" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotación" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Buscar fuente" @@ -5755,7 +5984,7 @@ msgstr "" "Selecciona una figura, tablero o grupo para arrastrar una conexión a otro " "tablero." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Colores seleccionados" @@ -5767,55 +5996,55 @@ msgstr "Relleno de selección" msgid "workspace.options.selection-stroke" msgstr "Borde de selección" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "Añadir sombra" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Desenfoque" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Color de sombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Sombra arrojada" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Sombra interior" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "Eliminar sombra" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Difusión" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Sombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Sombra del grupo" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Sombras de la seleccíón" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:176 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 msgid "workspace.options.shadow-options.toggle-shadow" msgstr "Mostrar/ocultar sombra" @@ -5823,7 +6052,7 @@ msgstr "Mostrar/ocultar sombra" msgid "workspace.options.show-fill-on-export" msgstr "Mostrar al exportar" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Mostrar en modo visualización" @@ -5831,7 +6060,7 @@ msgstr "Mostrar en modo visualización" msgid "workspace.options.size" msgstr "Tamaño" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Tamaños predefinidos" @@ -5900,7 +6129,7 @@ msgstr "Triángulo" msgid "workspace.options.stroke-color" msgstr "Color del trazo" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Ancho del trazo" @@ -5972,11 +6201,11 @@ msgstr "Ancho automático" msgid "workspace.options.text-options.grow-fixed" msgstr "Fijo" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Espaciado entre letras" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Altura de línea" @@ -6040,15 +6269,15 @@ msgstr "Mayúsculas" msgid "workspace.options.use-play-button" msgstr "Usa el botón de play de la cabecera para arrancar la vista de prototipo." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Ancho" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "eje X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "eje Y" @@ -6226,137 +6455,135 @@ msgstr "¡LA EXTENSIÓN '%s' HA SIDO INSTALADA PARA TU USUARIO!" msgid "workspace.plugins.try-out.try" msgstr "PROBAR PLUGIN" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Añadir flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Añadir grid layout" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Añadir layout" -#: src/app/main/ui/workspace/context_menu.cljs:265 -msgid "workspace.shape.menu.back" -msgstr "Enviar al fondo" - -#: src/app/main/ui/workspace/context_menu.cljs:262 -msgid "workspace.shape.menu.backward" -msgstr "Enviar atrás" - -#: src/app/main/ui/workspace/context_menu.cljs:185 -msgid "workspace.shape.menu.copy" -msgstr "Copiar" - -#: src/app/main/ui/workspace/context_menu.cljs:203 -msgid "workspace.shape.menu.copy-css" -msgstr "Copiar como CSS" - -#: src/app/main/ui/workspace/context_menu.cljs:205 -msgid "workspace.shape.menu.copy-css-nested" -msgstr "Copiar como CSS (capas anidadas)" - -#: src/app/main/ui/workspace/context_menu.cljs:188 -msgid "workspace.shape.menu.copy-link" -msgstr "Copiar enlace" - -#: src/app/main/ui/workspace/context_menu.cljs:201 -msgid "workspace.shape.menu.copy-paste-as" -msgstr "Copiar/Pegar como ..." - -#: src/app/main/ui/workspace/context_menu.cljs:213 -msgid "workspace.shape.menu.copy-props" -msgstr "Copiar propiedades" - -#: src/app/main/ui/workspace/context_menu.cljs:210 -msgid "workspace.shape.menu.copy-text" -msgstr "Copiar como texto" - -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 -msgid "workspace.shape.menu.create-annotation" -msgstr "Crear una nota" - -#: src/app/main/ui/workspace/context_menu.cljs:364 -msgid "workspace.shape.menu.create-artboard-from-selection" -msgstr "Tablero de selección" - -#: src/app/main/ui/workspace/context_menu.cljs:561 -msgid "workspace.shape.menu.create-component" -msgstr "Crear componente" - +#: src/app/main/ui/workspace/context_menu.cljs:587, src/app/main/ui/workspace/sidebar/assets/common.cljs:475, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:771 msgid "workspace.shape.menu.add-variant" msgstr "Crear variante" +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:769 msgid "workspace.shape.menu.add-variant-property" msgstr "Añadir nueva propiedad" -msgid "workspace.shape.menu.remove-variant-property" -msgstr "Eliminar propiedad" +#: src/app/main/ui/workspace/context_menu.cljs:266 +msgid "workspace.shape.menu.back" +msgstr "Enviar al fondo" +#: src/app/main/ui/workspace/context_menu.cljs:263 +msgid "workspace.shape.menu.backward" +msgstr "Enviar atrás" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:186 +msgid "workspace.shape.menu.copy" +msgstr "Copiar" + +#: src/app/main/ui/workspace/context_menu.cljs:204 +msgid "workspace.shape.menu.copy-css" +msgstr "Copiar como CSS" + +#: src/app/main/ui/workspace/context_menu.cljs:206 +msgid "workspace.shape.menu.copy-css-nested" +msgstr "Copiar como CSS (capas anidadas)" + +#: src/app/main/ui/workspace/context_menu.cljs:189 +msgid "workspace.shape.menu.copy-link" +msgstr "Copiar enlace" + +#: src/app/main/ui/workspace/context_menu.cljs:202 +msgid "workspace.shape.menu.copy-paste-as" +msgstr "Copiar/Pegar como ..." + +#: src/app/main/ui/workspace/context_menu.cljs:214 +msgid "workspace.shape.menu.copy-props" +msgstr "Copiar propiedades" + +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Copiar como texto" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 +msgid "workspace.shape.menu.create-annotation" +msgstr "Crear una nota" + +#: src/app/main/ui/workspace/context_menu.cljs:366 +msgid "workspace.shape.menu.create-artboard-from-selection" +msgstr "Tablero de selección" + +#: src/app/main/ui/workspace/context_menu.cljs:568 +msgid "workspace.shape.menu.create-component" +msgstr "Crear componente" + +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Crear múltiples componentes" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Cortar" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Eliminar" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Eliminar inicio de flujo" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Desacoplar instancia" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Desacoplar instancias" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Diferencia" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplicar" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Editar" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Exclusión" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Aplanar" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Voltear horizontal" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Voltear vertical" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Inicio de flujo" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Mover hacia delante" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Mover al frente" @@ -6365,107 +6592,111 @@ msgstr "Mover al frente" msgid "workspace.shape.menu.go-main" msgstr "Ir al archivo del componente principal" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Agrupar" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Ocultar" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Mostrar/Ocultar Interfaz" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Intersección" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Bloquear" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Crear máscara" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Pegar" -#: src/app/main/ui/workspace/context_menu.cljs:217 +#: src/app/main/ui/workspace/context_menu.cljs:218 msgid "workspace.shape.menu.paste-props" msgstr "Pegar propiedades" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Ruta" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Eliminar flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Eliminar grid layout" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Eliminar layout" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:856 +msgid "workspace.shape.menu.remove-variant-property" +msgstr "Eliminar propiedad" + +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Renombrar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Deshacer modificaciones" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Restaurar componente principal" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Seleccionar capa" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Mostrar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Ver en el panel de recursos" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Ver componente principal" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Quitar miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Poner como miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Convertir en vector" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Desagrupar" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Unión" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Desbloquear" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Quitar máscara" @@ -6474,7 +6705,7 @@ msgstr "Quitar máscara" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Actualizar componentes" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Actualizar componente principal" @@ -6486,11 +6717,11 @@ msgstr "Cerrar barra lateral" msgid "workspace.sidebar.expand" msgstr "Abrir barra lateral" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Historial" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Capas" @@ -6526,7 +6757,7 @@ msgstr "Formas" msgid "workspace.sidebar.layers.texts" msgstr "Textos" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Atributos del SVG Importado" @@ -6538,7 +6769,7 @@ msgstr "Páginas" msgid "workspace.sidebar.sitemap.add-page" msgstr "Añadir página" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Mapa del sitio" @@ -6556,47 +6787,55 @@ msgstr "%s temas activos" msgid "workspace.token.add set" msgstr "Añadir set" -#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 -msgid "workspace.token.applied-to" -msgstr "Aplicado a" - -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 -msgid "workspace.token.back-to-themes" -msgstr "Volver al listado de temas" - -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 -msgid "workspace.token.create-new-theme" -msgstr "Crea un nuevo tema ahora." - -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 -msgid "workspace.token.create-one" -msgstr "Crear uno." - -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:63, src/app/main/ui/workspace/tokens/modals/themes.cljs:170, src/app/main/ui/workspace/tokens/modals/themes.cljs:279 msgid "workspace.token.add-new-theme" msgstr "Añadir nuevo tema" -#: src/app/main/ui/workspace/tokens/form.cljs:431 +#: src/app/main/ui/workspace/tokens/sets_context_menu.cljs:54 +msgid "workspace.token.add-set-to-group" +msgstr "Añadir un set a este grupo" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Aplicado a" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 +msgid "workspace.token.back-to-themes" +msgstr "Volver al listado de temas" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 +msgid "workspace.token.create-new-theme" +msgstr "Crea un nuevo tema ahora." + +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 +msgid "workspace.token.create-one" +msgstr "Crear uno." + +#: src/app/main/ui/workspace/tokens/form.cljs:492 msgid "workspace.token.create-token" msgstr "Crear un token de %s" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:228 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 msgid "workspace.token.delete" msgstr "Eliminar token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "Borrar theme" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:225 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 msgid "workspace.token.duplicate" msgstr "Duplicar token" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:212 +#: src/app/main/data/tokens.cljs:386 +msgid "workspace.token.duplicate-suffix" +msgstr "copiar" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 msgid "workspace.token.edit" msgstr "Editar token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Editar tema" @@ -6604,72 +6843,64 @@ msgstr "Editar tema" msgid "workspace.token.edit-themes" msgstr "Editar temas" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Editar token" -#: src/app/main/ui/workspace/tokens/form.cljs:481 +#: src/app/main/ui/workspace/tokens/form.cljs:544 msgid "workspace.token.enter-token-description" msgstr "Añade una Descripción (opcional)" -#: src/app/main/ui/workspace/tokens/form.cljs:437 +#: src/app/main/ui/workspace/tokens/form.cljs:498 msgid "workspace.token.enter-token-name" msgstr "Introduce un nombre para el token %s" -#: src/app/main/ui/workspace/tokens/form.cljs:463 -msgid "workspace.token.token-value-enter" -msgstr "Introduce un valor o un alias usando {alias}" +#: src/app/main/ui/workspace/tokens/errors.cljs:9 +msgid "workspace.token.error-parse" +msgstr "Error al importar: No se pudo procesar el JSON." + +#: src/app/main/ui/workspace/tokens/style_dictionary.cljs +#, unused +msgid "workspace.token.generic-error" +msgstr "Error: " + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:109 +msgid "workspace.token.group-name" +msgstr "Nombre del grupo" #: src/app/main/ui/workspace/tokens/sets.cljs #, unused msgid "workspace.token.grouping-set-alert" msgstr "La agrupación de sets aun no está soportada." -#: src/app/main/ui/workspace/tokens/sets_context_menu.cljs -msgid "workspace.token.add-set-to-group" -msgstr "Añadir un set a este grupo" - -#: src/app/main/ui/workspace/tokens/style_dictionary.cljs -msgid "workspace.token.generic-error" -msgstr "Error: " - -#: src/app/main/ui/workspace/tokens/style_dictionary.cljs -msgid "workspace.token.reference-error" -msgstr "Errores en referencias: " - -#: src/app/main/ui/workspace/tokens/style_dictionary.cljs -msgid "workspace.token.token-not-resolved" -msgstr "No se pudo resolver el token de referencia con el nombre: %s" - -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.error-parse" -msgstr "Error al importar: No se pudo procesar el JSON." - -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.invalid-json" -msgstr "Error al importar: Datos de token no válidos en JSON." - -#: src/app/main/ui/workspace/tokens/errors.cljs +#: src/app/main/ui/workspace/tokens/errors.cljs:17, src/app/main/ui/workspace/tokens/errors.cljs:21 msgid "workspace.token.import-error" msgstr "Error al importar:" -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.self-reference" -msgstr "El token tiene una autoreferencia" +#: src/app/main/ui/workspace/tokens/sidebar.cljs:414, src/app/main/ui/workspace/tokens/sidebar.cljs:415 +msgid "workspace.token.import-tooltip" +msgstr "Al importar un fichero JSON sobreescribirás todos tus tokens, sets y themes" -#: src/app/main/ui/workspace/tokens/errors.cljs +#: src/app/main/ui/workspace/tokens/errors.cljs:29 msgid "workspace.token.invalid-color" msgstr "Valor de color no válido: %s" -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.missing-references" -msgstr "Referéncias de tokens no encontradas:" +#: src/app/main/ui/workspace/tokens/errors.cljs:13 +msgid "workspace.token.invalid-json" +msgstr "Error al importar: Datos de token no válidos en JSON." -#: src/app/main/ui/workspace/tokens/errors.cljs -msgid "workspace.token.number-too-large" -msgstr "Valor de token no valido. El valor resuelto es muy grande: %s" +#: src/app/main/ui/workspace/tokens/errors.cljs:16 +msgid "workspace.token.invalid-json-token-name" +msgstr "Error al importar: Nombre de token no válido en JSON." -#: src/app/main/ui/workspace/tokens/errors.cljs +#: src/app/main/ui/workspace/tokens/errors.cljs:18 +msgid "workspace.token.invalid-json-token-name-detail" +msgstr "" +"\"%s\" no es un nombre de token válido.\n" +"Los nombres de token solo pueden contener letras y dígitos separados por " +"caracteres . y no pueden empezar con un signo $." + +#: src/app/main/ui/workspace/tokens/errors.cljs:41, src/app/main/ui/workspace/tokens/errors.cljs:45 msgid "workspace.token.invalid-value" msgstr "Valor de token no válido: %s" @@ -6681,138 +6912,168 @@ msgstr "La opacidad debe estar entre 0 y 100% o 0 y 1 (p.e. 50% o 0.5)." msgid "workspace.token.stroke-width-range" msgstr "Stroke width debe ser mayor o igual a 0." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:179 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 msgid "workspace.token.label.group" msgstr "Grupo" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:179 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:197 msgid "workspace.token.label.group-optional" msgstr "Opcional" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:191 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:199 msgid "workspace.token.label.group-placeholder" msgstr "Añade un grupo (p. ej. Modo)" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:187 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 msgid "workspace.token.label.theme" msgstr "Tema" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:200 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:208 msgid "workspace.token.label.theme-placeholder" msgstr "Añade un Tema (p. ej. Claro)" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 -msgid "workspace.token.no-active-theme" -msgstr "No hay temas activos" +#: src/app/main/ui/workspace/tokens/errors.cljs:37 +msgid "workspace.token.missing-references" +msgstr "Referéncias de tokens no encontradas:" -#: src/app/main/ui/workspace/tokens/sets.cljs:91 -msgid "workspace.token.set-edit-placeholder" -msgstr "Añade un nombre - usa '/' para grupos" - -#: src/app/main/ui/workspace/tokens/sets.cljs:103 -msgid "workspace.token.no-permisions-set" -msgstr "Debes ser editor para activar / desactivar sets" - -#: src/app/main/ui/workspace/tokens/sidebar.cljs:200 -msgid "workspace.token.no-permission-themes" -msgstr "Debes ser editor para usar temas" - -#: src/app/main/ui/workspace/tokens/modals/themes.cljs +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:154 msgid "workspace.token.no-active-sets" msgstr "No hay sets activos" -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 +msgid "workspace.token.no-active-theme" +msgstr "No hay temas activos" + +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "Debes ser editor para activar / desactivar sets" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "Debes ser editor para usar temas" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "Aun no hay sets definidos. Crea uno primero" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "No hay temas." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "Actualmente no existen temas." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:153 msgid "workspace.token.num-active-sets" msgstr "%s sets activos" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:147 -msgid "workspace.token.sets-hint" -msgstr "Editar tema y gestionar sets" +#: src/app/main/ui/workspace/tokens/errors.cljs:33 +msgid "workspace.token.number-too-large" +msgstr "Valor de token no valido. El valor resuelto es muy grande: %s" -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/errors.cljs:45 +msgid "workspace.token.opacity-range" +msgstr "La opacidad debe estar entre 0 y 100% o 0 y 1 (p.e. 50% o 0.5)." + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" msgstr "Valor original: %s" -#: src/app/main/ui/workspace/tokens/token_pill.cljs:120 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 msgid "workspace.token.ref-not-valid" msgstr "La referencia no es válida o no se encuentra en ningún set activo." -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/style_dictionary.cljs +#, unused +msgid "workspace.token.reference-error" +msgstr "Errores en referencias: " + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" msgstr "Valor resuelto: %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Guardar tema" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "Selecciona set" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/errors.cljs:25 +msgid "workspace.token.self-reference" +msgstr "El token tiene una autoreferencia" + +#: src/app/main/ui/workspace/tokens/sets.cljs:98 +msgid "workspace.token.set-edit-placeholder" +msgstr "Añade un nombre - usa '/' para grupos" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "Define que sets de tokens deberian formar parte de este tema:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:148 +msgid "workspace.token.sets-hint" +msgstr "Editar tema y gestionar sets" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Tema %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:101 +msgid "workspace.token.themes-description" +msgstr "" +"Aquí puedes gestionar tus temas, activarlos / desactivarlos y configurar " +"los sets activos en cada uno." + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:46, src/app/main/ui/workspace/tokens/modals/themes.cljs:99 msgid "workspace.token.themes-list" msgstr "Lista de temas" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:45, src/app/main/ui/workspace/tokens/modals/themes.cljs:91 -msgid "workspace.token.themes-description" -msgstr "Aquí puedes gestionar tus temas, activarlos / desactivarlos y configurar los sets activos en cada uno." - -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:112 -msgid "workspace.token.group-name" -msgstr "Nombre del grupo" - -#: src/app/main/ui/workspace/tokens/form.cljs:482 +#: src/app/main/ui/workspace/tokens/form.cljs:545 msgid "workspace.token.token-description" msgstr "Descripción" -#: src/app/main/ui/workspace/tokens/form.cljs:440 +#: src/app/main/ui/workspace/tokens/form.cljs:501 msgid "workspace.token.token-name" msgstr "Nombre" -#: src/app/main/ui/workspace/tokens/form.cljs:464 +#: src/app/main/ui/workspace/tokens/style_dictionary.cljs:259 +msgid "workspace.token.token-not-resolved" +msgstr "No se pudo resolver el token de referencia con el nombre: %s" + +#: src/app/main/ui/workspace/tokens/form.cljs:526 msgid "workspace.token.token-value" msgstr "Valor" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:348 +#: src/app/main/ui/workspace/tokens/form.cljs:525 +msgid "workspace.token.token-value-enter" +msgstr "Introduce un valor o un alias usando {alias}" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:345 +msgid "workspace.token.inactive-set" +msgstr "Inactivo" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:340 +msgid "workspace.token.inactive-set-description" +msgstr "Este set no está activo. Cambia el tema o activa este set para ver los cambios en el viewport" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 msgid "workspace.token.tools" msgstr "Herramientas" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:415 -msgid "workspace.token.import-tooltip" -msgstr "Al importar un fichero JSON sobreescribirás todos tus tokens, sets y themes" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:123 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 msgid "workspace.token.value-not-valid" msgstr "El valor no es válido" -#: src/app/main/ui/workspace/tokens/form.cljs:458 +#: src/app/main/ui/workspace/tokens/form.cljs:520 msgid "workspace.token.warning-name-change" msgstr "Al renombrar este token se romperán las referencias al nombre anterior" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Recursos" @@ -6820,43 +7081,43 @@ msgstr "Recursos" msgid "workspace.toolbar.color-palette" msgstr "Paleta de colores (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Comentarios (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Curva (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elipse (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:128, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Tablero (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:128, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:131 msgid "workspace.toolbar.frame-first-time" msgstr "Crear tablero. Click y arrastrar para definir el tamaño. (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Imagen (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Mover (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Ruta (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Extensiones (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rectángulo (%s)" @@ -6865,7 +7126,7 @@ msgstr "Rectángulo (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Atajos de teclado (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Texto (%s)" @@ -6873,7 +7134,7 @@ msgstr "Texto (%s)" msgid "workspace.toolbar.text-palette" msgstr "Tipografías (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Alternar barra de herramientas" @@ -7031,19 +7292,19 @@ msgstr "Operación sobre %s" msgid "workspace.undo.title" msgstr "Histórico" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Ignorar" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Más información" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Hay actualizaciones en bibliotecas compartidas" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Actualizar" @@ -7103,11 +7364,11 @@ msgstr "¿Quieres restaurar esta versión?" msgid "workspace.versions.snapshot-menu" msgstr "Abrir menu de versiones" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "Acciones" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "Histórico" @@ -7128,81 +7389,14 @@ msgstr "Los autoguardados duran %s días." msgid "workspace.viewport.click-to-close-path" msgstr "Pulsar para cerrar la ruta" -msgid "dashboard.mark-all-as-read.success" -msgstr "Se han marcado todas las noficaciones como leídas" +msgid "workspace.notification-pill.detail" +msgstr "Detalles" -msgid "label.mark-all-as-read" -msgstr "Marcar todo como leído" +msgid "dashboard.import.import-error.disclaimer" +msgstr "No todos los ficheros han sido importados" -msgid "workspace.versions.tab.actions" -msgstr "Acciones" +msgid "dashboard.import.import-error.message1" +msgstr "Estos ficheros tienen errores:" -msgid "loader.tips.01.title" -msgstr "Componentes Reutilizables" - -msgid "loader.tips.01.message" -msgstr "Mantén tus diseños consistentes y fáciles de actualizar en todos los proyectos." - -msgid "loader.tips.02.title" -msgstr "Colaboración en Tiempo Real" - -msgid "loader.tips.02.message" -msgstr "Trabaja con tu equipo en vivo, comparte feedback al instante." - -msgid "loader.tips.03.title" -msgstr "Auto Layout como CSS" - -msgid "loader.tips.03.message" -msgstr "Diseña de forma flexible con controles de diseño similares a CSS." - -msgid "loader.tips.04.title" -msgstr "Exportar a Código" - -msgid "loader.tips.04.message" -msgstr "Obtén código CSS y SVG directamente de tus diseños." - -msgid "loader.tips.05.title" -msgstr "Bibliotecas de Diseño" - -msgid "loader.tips.05.message" -msgstr "Comparte recursos y estilos para mantener la consistencia." - -msgid "loader.tips.06.title" -msgstr "Prototipos Interactivos" - -msgid "loader.tips.06.message" -msgstr "Da vida a tus ideas con animaciones y transiciones." - -msgid "loader.tips.07.title" -msgstr "Formatos Web Estándar" - -msgid "loader.tips.07.message" -msgstr "Penpot usa SVG y CSS para un desarrollo sin problemas." - -msgid "loader.tips.08.title" -msgstr "Atajos de Teclado" - -msgid "loader.tips.08.message" -msgstr "Acelera tu flujo de trabajo con atajos útiles como Shift + A para Auto Layout." - -msgid "loader.tips.09.title" -msgstr "Modo Claro y Oscuro" - -msgid "loader.tips.09.message" -msgstr "Elige el tema que mejor se adapte a tu estilo." - -msgid "loader.tips.10.title" -msgstr "Soporte de Plugins" - -msgid "loader.tips.10.message" -msgstr "Extiende Penpot con plugins creados por la comunidad para funcionalidad extra." - -msgid "errors.token-set-already-exists" -msgstr "Ya existe un set con el mismo nombre" - -msgid "errors.token-theme-already-exists" -msgstr "Ya existe un theme con este nombre" - -#: src/app/main/data/tokens.cljs:198 -msgid "errors.token-set-exists-on-drop" -msgstr "No se ha podido mover el set, un set con el mismo nombre ya existe en la esa ruta." +msgid "dashboard.import.import-error.message2" +msgstr "Los ficheros con error no serán importados." diff --git a/frontend/translations/es_419.po b/frontend/translations/es_419.po index 2073959ce3..357f49b69c 100644 --- a/frontend/translations/es_419.po +++ b/frontend/translations/es_419.po @@ -34,13 +34,13 @@ msgstr "Crear cuenta demo" msgid "auth.create-demo-profile" msgstr "¿Solo quieres probarlo?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Este es un servicio DEMO, NO LO UTILICE para trabajos reales, los proyectos " "se borrarán periódicamente." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "¿Has olvidado tu contraseña?" @@ -52,27 +52,27 @@ msgstr "Nombre completo" msgid "auth.login-here" msgstr "Inicie sesión aquí" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Iniciar sesión" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "Open ID" @@ -98,7 +98,7 @@ msgstr "" msgid "auth.notifications.team-invitation-accepted" msgstr "Se unió al equipo con éxito" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Contraseña" @@ -126,11 +126,11 @@ msgstr "¿Has olvidado tu contraseña?" msgid "auth.recovery-submit" msgstr "cambia tu contraseña" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "¿No tienes cuenta aún?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Crea una cuenta" @@ -143,7 +143,7 @@ msgstr "Crea una cuenta" msgid "auth.sidebar-tagline" msgstr "La solución de código abierto para diseño y creación de prototipos." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Términos de servicio" @@ -162,7 +162,7 @@ msgstr "Hemos enviado un correo electrónico de verificación" msgid "branding-illustrations-marketing-pieces" msgstr "...marca, ilustraciones, piezas de marketing, etc." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publicar" @@ -234,7 +234,7 @@ msgstr "Compartir prototipos" msgid "common.share-link.view-all" msgstr "Seleccionar todo" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Despublicar" @@ -288,7 +288,7 @@ msgstr "Tutorial de la interfaz" msgid "dashboard.access-tokens.copied-success" msgstr "Token copiado" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Generar nuevo token" @@ -296,11 +296,11 @@ msgstr "Generar nuevo token" msgid "dashboard.access-tokens.create.success" msgstr "Token de acceso creado correctamente." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Presione el botón \"Generar nuevo token\" para generar uno." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "No tienes tokens hasta el momento." @@ -324,23 +324,23 @@ msgstr "90 días" msgid "dashboard.access-tokens.expiration-never" msgstr "Nunca" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Expirado el %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Vence el %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Sin fecha de vencimiento" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Tokens de acceso personal" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Los tokens de acceso personal funcionan como una alternativa a nuestro " @@ -363,7 +363,7 @@ msgstr "Agregar como biblioteca compartida" msgid "dashboard.change-email" msgstr "Cambiar el correo electrónico" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(copiar)" @@ -501,27 +501,27 @@ msgstr "Invitar a la gente" msgid "dashboard.leave-team" msgstr "dejar el equipo" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliotecas y plantillas" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Explore más de ellos y sepa cómo contribuir" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Hubo un problema al importar la plantilla. La plantilla no fue importada." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Bibliotecas" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "cargando tus archivos…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "cargando tus fuentes…" @@ -537,11 +537,11 @@ msgstr "Mover %s archivos a" msgid "dashboard.move-to-other-team" msgstr "Pasar a otro equipo" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Nuevo archivo" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Archivo nuevo" @@ -549,7 +549,7 @@ msgstr "Archivo nuevo" msgid "dashboard.new-project" msgstr "+ Nuevo proyecto" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nuevo proyecto" diff --git a/frontend/translations/eu.po b/frontend/translations/eu.po index fae56a29ed..7f63c84ced 100644 --- a/frontend/translations/eu.po +++ b/frontend/translations/eu.po @@ -34,13 +34,13 @@ msgstr "Sortu probak egiteko kontua" msgid "auth.create-demo-profile" msgstr "Probatu egin nahi al duzu?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Hau PROBAK EGITEKO zerbitzua da. EZ ERABILI benetako lana egiteko, hemengo " "proiektuak noizean behin ezabatu egingo dira." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Pasahitza ahaztu duzu?" @@ -52,27 +52,27 @@ msgstr "Izen osoa" msgid "auth.login-here" msgstr "Sartu" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Sartu" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -96,7 +96,7 @@ msgstr "Eposta mezu bat bidali dizugu zure pasahitza berreskuratzeko." msgid "auth.notifications.team-invitation-accepted" msgstr "Taldera ondo gehitu zara" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Pasahitza" @@ -124,11 +124,11 @@ msgstr "Pasahitza ahaztu duzu?" msgid "auth.recovery-submit" msgstr "Aldatu pasahitza" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Ez duzu konturik?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Sortu kontua" @@ -141,7 +141,7 @@ msgstr "Sortu kontua" msgid "auth.sidebar-tagline" msgstr "Diseinuak eta prototipoak egiteko kode irekiko soluzioa." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Zerbitzuaren erabilpen-baldintzak" @@ -149,7 +149,7 @@ msgstr "Zerbitzuaren erabilpen-baldintzak" msgid "auth.verification-email-sent" msgstr "Egiaztapen mezu bat bidali dugu helbide honetara" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Argitaratu" @@ -219,7 +219,7 @@ msgstr "Partekatu prototipoak" msgid "common.share-link.view-all" msgstr "Aukeratu guztiak" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Argitaraketa atzera bota" @@ -277,7 +277,7 @@ msgstr "Gehitu partekatutako liburutegi bezala" msgid "dashboard.change-email" msgstr "Eposta aldatu" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopia)" @@ -397,25 +397,25 @@ msgstr "Sartu partekatutako liburutegiak fitxategiaren liburutegietan" msgid "dashboard.export.title" msgstr "Esportatu fitxategiak" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Letra-tipoa ondo ezabatu da" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Baztertu guztiak" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Ez duzu pertsonalizatutako letra-tiporik." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "Letra-tipo 1 gehitu da" msgstr[1] "%s letra-tipo gehitu dira" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -425,22 +425,21 @@ msgstr "" "honetako letra-tipoak kargatu daitezke: **TTF, OTF and WOFF** (batekin " "nahikoa da)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Zureak diren edo Penpoten erabiltzeko lizentzia duzun letra-tipoak bakarrik " "kargatu ditzakezu. Informazio gehiago lortzeko irakurri Edukiaren " -"eskubideen atala: [Penpoten erabilpen " -"baldintzak](%s). Letra-tipoen lizentzien " -"inguruan irakurtzea ere interesgarria izan daiteke: [letra-tipoen " -"lizentziak](https://www.typography.com/faq)." +"eskubideen atala: [Penpoten erabilpen baldintzak](%s). Letra-tipoen " +"lizentzien inguruan irakurtzea ere interesgarria izan daiteke: " +"[letra-tipoen lizentziak](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Kargatu guztiak" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -450,7 +449,7 @@ msgstr "" "dezakezu. Gainera, weberako letra-tipoak sortzeko " "[Transfonter](https://transfonter.org/) erabiltzea gomendatzen dugu. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Inportatu Penpot fitxategiak" @@ -462,11 +461,11 @@ msgstr "Ezin izan dugu fitxategia inportatu" msgid "dashboard.import.import-error" msgstr "Errorea gertatu da fitxategia inportatzean. Ezin izan da inportatu." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "%s fitxategi ondo inportatu dira." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Fitxategi batzuk inportatu ez diren objektu akasdunak dituzte." @@ -506,27 +505,27 @@ msgstr "Gonbidatu taldera" msgid "dashboard.leave-team" msgstr "Utzi taldea" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Liburutegi eta txantiloiak" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Gehiago ikusi eta ikasi nola lagundu" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Arazo bat egon da txantiloia inportatzean. Ezin izan da inportatu." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Partekatutako liburutegiak" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "zure fitxategiak kargatzen…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "zure letra-tipoak kargatzen…" @@ -542,11 +541,11 @@ msgstr "Mugitu %s fitxategi" msgid "dashboard.move-to-other-team" msgstr "Mugitu beste talde batera" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Fitxategi berria" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Fitxategi berria" @@ -554,7 +553,7 @@ msgstr "Fitxategi berria" msgid "dashboard.new-project" msgstr "+ Proiektu berria" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Proiektu berria" @@ -586,7 +585,7 @@ msgstr "%s kide" msgid "dashboard.open-in-new-tab" msgstr "Ireki fitxa berrian" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Aukerak" @@ -631,7 +630,7 @@ msgstr "Aldatu hizkuntza" msgid "dashboard.select-ui-theme" msgstr "Aukeratu gaia" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Ikusi fitxategi guztiak" @@ -651,7 +650,7 @@ msgstr "Zure fitxategia ondo bikoiztu da" msgid "dashboard.success-duplicate-project" msgstr "Zure proiektua ondo bikoiztu da" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Zure fitxategia ondo mugitu da" @@ -745,7 +744,7 @@ msgstr "Eposta" msgid "dashboard.your-name" msgstr "Izena" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Zure Penpot" @@ -761,11 +760,11 @@ msgstr "Oharra" msgid "ds.component-subtitle" msgstr "Eguneratzeko dauden osagaiak:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Utzi" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ados" @@ -773,7 +772,7 @@ msgstr "Ados" msgid "ds.confirm-title" msgstr "Ziur?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Saioa hasteko hornitzailea ez dago konfiguratuta." @@ -781,15 +780,15 @@ msgstr "Saioa hasteko hornitzailea ez dago konfiguratuta." msgid "errors.auth.unable-to-login" msgstr "Badirudi ez zarela sartu edo zure saioa iraungi egin dela." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Ezin izan da %s letra-tipoa kargatu" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Ezin izan dira %s letra-tipoak kargatu" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Zure nabigatzaileak ezin du hori egin" @@ -801,7 +800,7 @@ msgstr "Eposta helbide hori erabilita dago" msgid "errors.email-already-validated" msgstr "Eposta helbide hori egiaztatuta dago." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Ezin duzu zure eposta helbidea pasahitz gisa erabiliz" @@ -826,7 +825,7 @@ msgstr "" msgid "errors.feature-not-supported" msgstr "Ezaugarria ezin da erabili: '%s'." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Erroreren bat gertatu da." @@ -839,8 +838,7 @@ msgstr "Kolorea ez da zuzena" msgid "errors.invalid-email" msgstr "Mesedez, idatzi eposta helbide zuzen bat" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Egiaztapenereko epostak bat etorri behar du aurrekoarekin" @@ -856,7 +854,7 @@ msgstr "Gonbidapena ez da zuzena" msgid "errors.invite-invalid.info" msgstr "Gonbidapen hau bertan behera utzi dute edo iraungi egin da." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP bidez sartzea desgaituta dago." @@ -894,7 +892,7 @@ msgstr "Pasahitzaren egiaztapenak bat etorri behar du aurrekoarekin" msgid "errors.password-too-short" msgstr "Pasahitzak gutxienez 8 karaktere izan behar ditu" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Profila blokeatuta dago" @@ -958,12 +956,11 @@ msgstr "Errore ezezaguna balidazioan" msgid "errors.webhooks.unexpected-status" msgstr "Espero ez zen egoera %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Izena edo pasahitza ez dira zuzenak." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Aurreko pasahitza ez da zuzena" @@ -1009,11 +1006,11 @@ msgstr "Zure zalantza teknikoak erantzuteko kontua." msgid "feedback.twitter-title" msgstr "Laguntzarako X kontua" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Errore bat gertatu da" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Desenfokatuta" @@ -1021,31 +1018,31 @@ msgstr "Desenfokatuta" msgid "inspect.attributes.blur.value" msgstr "Balioa" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Betegarria" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Deskargatu jatorrizko irudia" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Altuera" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Zabalera" @@ -1084,15 +1081,15 @@ msgstr "Goian" msgid "inspect.attributes.layout.width" msgstr "Zabalera" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Itzala" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Tamaina eta posizioa" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Ertza" @@ -1129,139 +1126,139 @@ msgstr "Solidoa" msgid "inspect.attributes.stroke.width" msgstr "Zabalera" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Letra-tipo" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Letra-tipo familia" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Letra-tipoaren tamaina" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Letra-tipoaren estiloa" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Letra tipoaren lodiera" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Hizkien tartea" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Lerroartea" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Testuaren apainketa" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Bat ere ez" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Marratu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Azpimarratu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Testua eraldatu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Letra xeheak" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Bat ere ez" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Lehenengoa letra larriz" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Letra larriz" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Diseinua ikuskatzeari buruz gehiago jakin nahi baduzu zoaz Penpoten " "laguntza zentrora" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Informazio gehiago ikuskatzeari buruz" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Aukeratu forma bat, taula bat edo talde bat beren propietateak eta kodea " "ikuskatzeko" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kodea" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Borobila" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Osagaia" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Kurba" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Mahaigaina" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Taldea" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Irudia" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Maskara" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s aukeratuta" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Trazadura" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Laukia" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Testua" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Informazioa" @@ -1277,7 +1274,7 @@ msgstr "Onartu" msgid "labels.active" msgstr "Aktibo" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Gehitu letra-tipo pertsonalizatua" @@ -1285,7 +1282,7 @@ msgstr "Gehitu letra-tipo pertsonalizatua" msgid "labels.admin" msgstr "Kudeaketa" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Guztia" @@ -1307,19 +1304,19 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Zerbitzariaren errorea (Bad Gateway)" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Utzi" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Itxi" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Iruzkinak" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Komunitatea" @@ -1327,7 +1324,7 @@ msgstr "Komunitatea" msgid "labels.confirm-password" msgstr "Berretsi pasahitza" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Jarraitu" @@ -1343,7 +1340,7 @@ msgstr "Penpot kontu batekin jarraitu dezakezu" msgid "labels.copy-invitation-link" msgstr "Kopiatu esteka" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Sortu" @@ -1363,15 +1360,15 @@ msgstr "Pertsonalizatutako letra-tipoak" msgid "labels.dashboard" msgstr "Lanlekua" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Ezabatu" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Ezabatu iruzkina" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Ezabatu haria" @@ -1383,11 +1380,11 @@ msgstr "Ezabatu gonbidapena" msgid "labels.delete-multi-files" msgstr "Ezabatu %s fitxategi" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Zirriborroak" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Editatu" @@ -1403,7 +1400,7 @@ msgstr "Edizioa" msgid "labels.expired-invitation" msgstr "Iraungita" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Esportatu" @@ -1415,7 +1412,7 @@ msgstr "Iritziak jasotzeko osagaia desgaituta dago" msgid "labels.feedback-sent" msgstr "Iritzia ondo bidali da" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Letra-tipo familia" @@ -1423,19 +1420,19 @@ msgstr "Letra-tipo familia" msgid "labels.font-providers" msgstr "Letra-tipo hornitzaileak" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Estiloak" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Letra-tipoak" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "GitHubeko errepositorioa" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Eman zure iritzia" @@ -1443,11 +1440,11 @@ msgstr "Eman zure iritzia" msgid "labels.go-back" msgstr "Itzuli" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Laguntza zentroa" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Ezkutatu ebatzitzako iruzkinak" @@ -1455,7 +1452,7 @@ msgstr "Ezkutatu ebatzitzako iruzkinak" msgid "labels.inactive" msgstr "Inaktibo" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Instalatutako letra-tipoak" @@ -1477,7 +1474,7 @@ msgstr "Gonbidapenak" msgid "labels.language" msgstr "Hizkuntzak" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Liburutegi eta Txantiloiak" @@ -1485,7 +1482,7 @@ msgstr "Liburutegi eta Txantiloiak" msgid "labels.log-or-sign" msgstr "Sartu edo eman izena" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Irten" @@ -1501,7 +1498,7 @@ msgstr "Kideak" msgid "labels.new-password" msgstr "Pasahitz berria" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Ez duzu iruzkinen inguruko jakinarazpenik." @@ -1523,7 +1520,7 @@ msgstr "Orrialde hau ez da existitzen edo ez duzu ikusteko baimenik." msgid "labels.not-found.main-message" msgstr "Atx!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "Fitxategi 1" @@ -1574,7 +1571,7 @@ msgstr "Profila" msgid "labels.projects" msgstr "Proiektuak" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Bertsioaren oharrak" @@ -1592,7 +1589,7 @@ msgstr "Kendu" msgid "labels.remove-member" msgstr "Kendu kidea" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Berrizendatu" @@ -1612,11 +1609,11 @@ msgstr "Berriz saiatu" msgid "labels.role" msgstr "Rola" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Gorde" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Bilatu letra-tipoa" @@ -1648,15 +1645,15 @@ msgstr "Partekatu prototipoa" msgid "labels.shared-libraries" msgstr "Partekatutako liburutegiak" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Erakutsi iruzkin guztiak" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Erakutsi iruzkinen zerrenda" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Erakutsi zure iruzkinak bakarrik" @@ -1664,7 +1661,7 @@ msgstr "Erakutsi zure iruzkinak bakarrik" msgid "labels.status" msgstr "Egoera" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutorialak" @@ -1680,15 +1677,15 @@ msgstr "Eguneratu" msgid "labels.update-team" msgstr "Eguneratu taldea" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Kargatu" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Kargatu letra-tipoa" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Kargatzen…" @@ -1704,7 +1701,7 @@ msgstr "Bistarazlea" msgid "labels.webhooks" msgstr "Webhookak" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Idatzi iruzkin berria" @@ -1712,7 +1709,7 @@ msgstr "Idatzi iruzkin berria" msgid "labels.you" msgstr "(zu)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "zure kontua" @@ -1794,17 +1791,17 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Zure kontua benetan ezabatu nahi duzu?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Ezabatu elkarrizketa" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Benetan elkarrizketa hau ezabatu nahi al duzu? Iruzkin guztiak ezabatu " "egingo dira." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Ezabatu elkarrizketa" @@ -1832,31 +1829,31 @@ msgstr "Benetan %s fitxategi ezabatu egin nahi dituzu?" msgid "modals.delete-file-multi-confirm.title" msgstr "%s fitxategi ezabatzen" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Benetan letra-tipo estilo hau ezabatu egin nahi duzu? Ez da kargatuko " "fitxategiren baten erabiltzen baduzu." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Letra-tipo estiloa ezabatzen" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Benetan letra-tipo hau ezabatu egin nahi duzu? Ez da kargatuko fitxategiren " "baten erabiltzen baduzu." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Letra-tipoa ezabatzen" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Benetan orrialde hau ezabatu egin nahi duzu?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Ezabatu orrialdea" @@ -2067,21 +2064,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Eguneratu liburutegiaren osagaiak" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Eguneratu" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Utzi" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Partekatutako liburutegi baten osagai bat eguneratzera zoaz. Honek berau " "darabilten beste fitxategi batzuengan eragina izan dezake." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Eguneratu liburutegiaren osagaia" @@ -2135,30 +2132,30 @@ msgstr "Bideo tutorialak" msgid "onboarding-v2.before-start.title" msgstr "Hasi aurretik" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Harpidetu Penpoten buletinera produktuaren garapenaren inguruko albisteak " "ezagutzeko." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Bidali Penpoti buruzko albisteak (blogeko artikuluak, bideo-tutorialak, " "zuzenekoak...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Zure pribatutasuna zaintzen dugu, hemen irakurri dezakezu gure " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Zuretzat garrantzitsuak diren mezuak bakarrik bidaliko dizkizugu. " "Harpidetza zuk nahi duzunean eten dezakezu buletinean dagoen esteka " "erabiliz." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Bidali produktuaren eguneraketak (ezaugarri berriak, bertsioak, " @@ -2220,17 +2217,17 @@ msgstr "Gonbidatu rol honekin:" msgid "onboarding.newsletter.accept" msgstr "Bai, harpidetu" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Zure harpidetza eskaera ondo bidali du, berrespen mezu bat jasoko duzu zure " "helbidean." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Pribatutasun politika." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Penpoti buruzko albisteak jaso nahi dituzu?" @@ -2280,7 +2277,7 @@ msgstr "Penpot" msgid "profile.recovery.go-to-login" msgstr "Sartu" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Batzuk" @@ -2466,7 +2463,7 @@ msgstr "Sortu berria" msgid "shortcuts.cut" msgstr "Moztu" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Jaitsi zooma" @@ -2566,7 +2563,7 @@ msgstr "Banatu horizontalki" msgid "shortcuts.hide-ui" msgstr "Erakutsi/ezkutatu interfazea" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Zooma handitu" @@ -2898,15 +2895,15 @@ msgstr "Zooma aukeraketara" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Letra-tipoen hornitzaileak - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Letra-tipoak - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Proiektuak - %s - Penpot" @@ -2914,7 +2911,7 @@ msgstr "Proiektuak - %s - Penpot" msgid "title.dashboard.search" msgstr "Bilatu - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Partekatutako liburutegiak - %s - Penpot" @@ -2958,7 +2955,7 @@ msgstr "Webhookak - %s - Penpot" msgid "title.viewer" msgstr "%s - Ikusteko modua - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3063,15 +3060,15 @@ msgstr "Lerrokatu goian (%s)" msgid "workspace.assets.assets" msgstr "Baliabideak" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Guztiak" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Koloreak" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Osagaiak" @@ -3085,15 +3082,15 @@ msgstr "" "Zure elementuak berrizendatu egingo dira: \"taldearen izena / elementuaren " "izena\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Ezabatu" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Bikoiztu" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Bikoiztu nagusia" @@ -3101,11 +3098,11 @@ msgstr "Bikoiztu nagusia" msgid "workspace.assets.edit" msgstr "Editatu" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafikoak" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Taldekatu" @@ -3113,19 +3110,15 @@ msgstr "Taldekatu" msgid "workspace.assets.group-name" msgstr "Taldearen izena" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Liburutegiak" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "liburutegi lokala" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Ez da baliabiderik aurkitu" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Izena aldatu" @@ -3133,7 +3126,7 @@ msgstr "Izena aldatu" msgid "workspace.assets.rename-group" msgstr "Berrizendatu taldea" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Bilatu baliabideak" @@ -3144,7 +3137,7 @@ msgid_plural "workspace.assets.selected-count" msgstr[0] "%s elementu aukeratuta" msgstr[1] "Ez da elementurik aukeratu" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Letra-tipoak" @@ -3153,27 +3146,27 @@ msgstr "Letra-tipoak" msgid "workspace.assets.typography.font-id" msgstr "Letra-tipoak" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Tamaina" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Aldaerak" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Joan estilo liburutegiaren fitxategira editatzeko" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Hizkien tartea" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Lerroaren altuera" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3181,7 +3174,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Testuen estiloak" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Testua eraldatu" @@ -3193,11 +3186,11 @@ msgstr "Banatu" msgid "workspace.focus.focus-mode" msgstr "Foku-modua" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Fokua kendu" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Fokua gehitu" @@ -3323,29 +3316,28 @@ msgstr "Erakutsi letra-tipoen paleta" msgid "workspace.header.menu.undo" msgstr "Desegin" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Berrezarri" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Errorea gordetzean" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Gordeta" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Gordetzen" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Gorde gabeko aldaketak" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Ikusteko modua (%s)" @@ -3357,7 +3349,7 @@ msgstr "Bete - Eskala betetzeko" msgid "workspace.header.zoom-fit" msgstr "Egokitu - Eskalatu egokitzeko" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Zoom dena ikusteko" @@ -3365,7 +3357,7 @@ msgstr "Zoom dena ikusteko" msgid "workspace.header.zoom-full-screen" msgstr "Pantaila osoa" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zooma aukeraketara" @@ -3374,7 +3366,7 @@ msgstr "Zooma aukeraketara" msgid "workspace.libraries.add" msgstr "Gehitu" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s kolore" @@ -3396,31 +3388,31 @@ msgstr "Azken koloreak" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Osagarria" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Gorde kolorearen estiloa" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s osagai" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Fitxategien liburutegia" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s grafiko" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "FITXATEGI HONETAKO LIBURUTEGIAK" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "LIBURUTEGIAK" @@ -3429,43 +3421,39 @@ msgstr "LIBURUTEGIAK" msgid "workspace.libraries.library" msgstr "LIBURUTEGIA" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Ez dago eguneraketa behar duen partekatutako liburutegirik" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Ez da ezer aurkitu bilaketa honentzat: \"%s\"" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Ez dago partekatutako liburutegirik" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Bilatu partekatutako liburutegiak" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "Partekatutako liburutegiak" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Letra-tipo anitz" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Kendu esteka letra-tipo guztiei" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s letra-tipo" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Eguneratu" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "EGUNERAKETAK" @@ -3485,15 +3473,15 @@ msgstr "Taldea lausotu" msgid "workspace.options.blur-options.title.multiple" msgstr "Aukeraketa lausotu" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Mihisearen atzeko planoa" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Edukia aukeratu" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Osagaia" @@ -3541,7 +3529,7 @@ msgstr "Goian eta behean" msgid "workspace.options.design" msgstr "Diseinua" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Esportatu" @@ -3550,13 +3538,13 @@ msgstr "Esportatu" msgid "workspace.options.export-multiple" msgstr "Esportatu aukeraketa" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Esportatu elementu 1" msgstr[1] "Esportatu %s elementu" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Aurrizkia" @@ -3564,7 +3552,7 @@ msgstr "Aurrizkia" msgid "workspace.options.exporting-complete" msgstr "Esportazioa osatu da" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Esportazen…" @@ -3694,7 +3682,7 @@ msgstr "Taldea bete" msgid "workspace.options.group-stroke" msgstr "Taldea trazatu" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Altuera" @@ -4004,19 +3992,19 @@ msgstr "Aukeratutako geruzak" msgid "workspace.options.layout-item.advanced-ops" msgstr "Aukera aurreratuak" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Gehieneko altuera" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Gehieneko zabalera" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Gutxieneko altuera" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Gutxieneko zabalera" @@ -4130,11 +4118,11 @@ msgstr "Tarteko espazioa" msgid "workspace.options.layout.top" msgstr "Goian" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Kolore gehiago" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Liburutegiko kolore gehiago" @@ -4171,7 +4159,7 @@ msgstr "Goian ezkerrean" msgid "workspace.options.radius-top-right" msgstr "Goian eskuman" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Azkenak" @@ -4179,11 +4167,11 @@ msgstr "Azkenak" msgid "workspace.options.retry" msgstr "Berriz saiatu" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Biraketa" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Bilatu letra-tipoa" @@ -4193,7 +4181,7 @@ msgstr "" "Aukeratu forma bat, arbel bat edo talde bat eta arrastatu konexioa beste " "arbel batera." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Aukeratutako koloreak" @@ -4205,43 +4193,43 @@ msgstr "Aukeraketa bete" msgid "workspace.options.selection-stroke" msgstr "Aukeraketa trazatu" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Lausotu" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Itzalaren kolorea" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Kendu itzala" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Barruko itzala" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Banatu" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Itzala" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Taldearen itzala" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Aukeraketaren itzalak" @@ -4249,7 +4237,7 @@ msgstr "Aukeraketaren itzalak" msgid "workspace.options.show-fill-on-export" msgstr "Erakutsi esportazioan" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Erakutsi ikusteko moduan" @@ -4257,7 +4245,7 @@ msgstr "Erakutsi ikusteko moduan" msgid "workspace.options.size" msgstr "Tamaina" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Aurredefinitutako tamaina" @@ -4306,7 +4294,7 @@ msgstr "Hiruki gezia" msgid "workspace.options.stroke-color" msgstr "Trazuaren kolorea" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Marraren zabalera" @@ -4370,11 +4358,11 @@ msgstr "Zabalera automatikoa" msgid "workspace.options.text-options.grow-fixed" msgstr "Finkoa" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Hizkien tartea" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Lerroaren altuera" @@ -4438,15 +4426,15 @@ msgstr "Letra larriak" msgid "workspace.options.use-play-button" msgstr "Erabili goiburuko play botoia prototipoa ikusteko." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Zabalera" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y" @@ -4490,87 +4478,87 @@ msgstr "Banatu nodoak (%s)" msgid "workspace.path.actions.snap-nodes" msgstr "Atxikitu nodoak (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Gehitu flex diseinua" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Atzera bota" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Atzera bidali" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Kopiatu" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Aukeraketa arbelera" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Sortu osagaia" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Ebaki" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Ezabatu" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Ezabatu fluxuaren hasiera" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Askatu instantzia" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Askatu instantziak" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Diferentzia" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Bikoiztu" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Editatu" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Baztertu" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Lautu" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Irauli horizontalki" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Irauli bertikalki" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Fluxuaren hasiera" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Ekarri aurrera" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Ekarri aurrera" @@ -4579,91 +4567,91 @@ msgstr "Ekarri aurrera" msgid "workspace.shape.menu.go-main" msgstr "Joan osagai nagusiaren fitxategira" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Taldea" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Ezkutatu" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Erakutsi/Ezkuatu interfazea" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Ebakidura" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Blokeatu" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Maskara aplikatu" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Itsatsi" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Bidea" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Ezabatu flex diseinua" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Berrezarri gainidazketak" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Berrezarri osagai nagusia" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Aukeratu geruza" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Erakutsi" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Ikusi baliabideen panelean" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Erakutsi osagai nagusia" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Ezabatu iruditxoa" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Ezarri iruditxo gisa" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Eraldatu bidera" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Banatu" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Batu" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Desblokeatu" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Desegin maskara" @@ -4672,7 +4660,7 @@ msgstr "Desegin maskara" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Eguneratu osagai nagusiak" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Eguneratu osagai nagusia" @@ -4684,11 +4672,11 @@ msgstr "Itxi alboko barra" msgid "workspace.sidebar.expand" msgstr "Ireki alboko barra" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Historikoa" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Geruzak" @@ -4724,7 +4712,7 @@ msgstr "Formak" msgid "workspace.sidebar.layers.texts" msgstr "Testuak" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Inportatutako SVG atributuak" @@ -4732,11 +4720,11 @@ msgstr "Inportatutako SVG atributuak" msgid "workspace.sidebar.sitemap" msgstr "Orrialdeak" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Web mapa" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Baliabideak" @@ -4744,35 +4732,35 @@ msgstr "Baliabideak" msgid "workspace.toolbar.color-palette" msgstr "Kolore paleta (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Iruzkinak (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Kurba (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elipsea (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Arbela (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Irudia (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Mugitu (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Bidea (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Laukia (%s)" @@ -4781,7 +4769,7 @@ msgstr "Laukia (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Lasterteklak (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Testua (%s)" @@ -4934,15 +4922,15 @@ msgstr "Honen gaineko eragiketa: %s" msgid "workspace.undo.title" msgstr "Historia" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Baztertu" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Eguneraketak daude partekatutako liburutegietan" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Eguneratu" diff --git a/frontend/translations/fa.po b/frontend/translations/fa.po index 85d6fabd6d..e1889182ad 100644 --- a/frontend/translations/fa.po +++ b/frontend/translations/fa.po @@ -38,13 +38,13 @@ msgstr "ایجاد حساب دمو" msgid "auth.create-demo-profile" msgstr "فقط می‌خواهید آن را امتحان کنید؟" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "این یک سرویس آزمایشی است، برای کار واقعی استفاده نکنید، پروژه‌ها به صورت " "دوره‌ای پاک می‌شوند." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "کلمه‌عبور را فراموش کرده‌اید؟" @@ -52,7 +52,7 @@ msgstr "کلمه‌عبور را فراموش کرده‌اید؟" msgid "auth.fullname" msgstr "نام کامل" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "ورود به حسابِ من" @@ -60,33 +60,33 @@ msgstr "ورود به حسابِ من" msgid "auth.login-here" msgstr "ورود از اینجا." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "ورود" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot یک ابزار طراحی و همکاری در کد نویسی است که رایگان و کد آن متن باز " "است." -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "گیتهاب" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "گیتلب" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "گوگل" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -110,7 +110,7 @@ msgstr "لینک بازیابی رمزعبور به صندوق ورودی شما msgid "auth.notifications.team-invitation-accepted" msgstr "با موفقیت به تیم پیوست" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "کلمه‌عبور" @@ -138,7 +138,7 @@ msgstr "رمزعبور را فراموش کرده‌اید؟" msgid "auth.recovery-submit" msgstr "رمزعبور خود را تغییر دهید" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "هنوز حسابی ندارید؟" @@ -150,7 +150,7 @@ msgstr "اطلاع دهید که شما را با چه نامی در ایمیل msgid "auth.register-account-title" msgstr "نام شما" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "ایجاد حساب‌کاربری" @@ -176,7 +176,7 @@ msgstr "" "من با قوانین و مقررات این سرویس و چگونگی مراقبت از اطلاعات شخصی در این " "سرویس را قبول میکنم." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "شرایط استفاده از خدمات" @@ -191,11 +191,11 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "ما یک ایمیل تأیید ارسال کردیم به" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "ایمیلِ کار" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "انتشار" @@ -267,7 +267,7 @@ msgstr "اشتراک‌گذاری پروتوتایپ‌ها" msgid "common.share-link.view-all" msgstr "انتخاب همه" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "لغو انتشار" @@ -319,7 +319,7 @@ msgstr "گذری در رابط کاربریِ برنامه" msgid "dashboard.access-tokens.copied-success" msgstr "توکن دسترسی با موفقیت کپی شد" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "ایجاد توکن دسترسی جدید" @@ -327,11 +327,11 @@ msgstr "ایجاد توکن دسترسی جدید" msgid "dashboard.access-tokens.create.success" msgstr "توکن دسترسی با موفقیت ایجاد شد." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "برای ایجاد توکن دسترسی جدید دکمه «ایجاد توکن دسترسی جدید» توکن را کلیک کنید." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "شما تا به حال هیچ توکن دسترسی نداشتید." @@ -355,23 +355,23 @@ msgstr "۹۰ روز" msgid "dashboard.access-tokens.expiration-never" msgstr "هیچ گاه (بدون تاریخ انقضا)" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "تاریخ انقضای توکن دسترسی %s بوده" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "تاریخ انقضا %s میباشد" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "بدون تاریخ انقضا" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "توکنِ دسترسیِ شخصی" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "توکن های دسترسی شخصی میتوانند به عنوان جایگزینی به جای رمز عبور و نام " @@ -393,7 +393,7 @@ msgstr "افزودن به‌عنوان کتابخانه مشترک" msgid "dashboard.change-email" msgstr "تغییر ایمیل" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(کپی)" @@ -515,25 +515,25 @@ msgstr "دارایی‌های کتابخانه مشترک را در کتابخا msgid "dashboard.export.title" msgstr "خروجی از فایل‌ها" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "فونت حذف شد" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "ردکردن همه" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "شما هنوز هیچ فونت سفارشی‌ای نصب نکرده‌اید." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "۱ فونت اضافه شد" msgstr[1] "%s فونت اضافه شد" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -543,20 +543,20 @@ msgstr "" "فرمت‌های زیر بارگذاری کنید: **TTF، OTF و WOFF** (فقط یکی مورد نیاز خواهد " "بود)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "شما فقط باید فونت‌هایی را که مالک آنها هستید یا مجوز استفاده از آنها را در " -"Penpot دارید آپلود کنید. در بخش حقوق محتوا [شرایط خدمات Penpot] " -"(%s) اطلاعات بیشتری کسب کنید. همچنین ممکن است " -"بخواهید درباره [مجوز فونت] (https://www.typography.com/faq) مطالعه کنید." +"Penpot دارید آپلود کنید. در بخش حقوق محتوا [شرایط خدمات Penpot] (%s) " +"اطلاعات بیشتری کسب کنید. همچنین ممکن است بخواهید درباره [مجوز فونت] " +"(https://www.typography.com/faq) مطالعه کنید." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "آپلود همه" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "ایمپورت کردن فایل‌های پن‌پات" @@ -568,11 +568,11 @@ msgstr "اوه! ما نتوانستیم این فایل را ایمپورت کن msgid "dashboard.import.import-error" msgstr "مشکلی در ایمپورت کردن فایل وجود داشت. فایل ایمپورت نشد." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "فایل‌های %s با موفقیت ایمپورت شد." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "برخی از فایل‌ها حاوی آبجکت‌های نامعتبر بودند که حذف شده‌اند." @@ -612,27 +612,27 @@ msgstr "دعوت به تیم" msgid "dashboard.leave-team" msgstr "خروج از تیم" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "کتابخانه‌ها و قالب‌ها" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "بیشتر آنها را کاوش کنید و بدانید که چگونه مشارکت کنید" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "مشکلی در ایمپورت کردن قالب وجود داشت. قالب ایمپورت نشد." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "کتابخانه‌های مشترک" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "در حال بارگذاری فایل‌های شما …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "در حال بارگیری فونت‌های شما …" @@ -648,11 +648,11 @@ msgstr "انتقال فایل‌های %s به" msgid "dashboard.move-to-other-team" msgstr "انتقال به تیم دیگر" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ فایل جدید" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "فایل جدید" @@ -660,7 +660,7 @@ msgstr "فایل جدید" msgid "dashboard.new-project" msgstr "+ پروژه جدید" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "پروژه جدید" @@ -692,7 +692,7 @@ msgstr "اعضای %s" msgid "dashboard.open-in-new-tab" msgstr "باز کردن فایل در تب جدید" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "گزینه‌ها" @@ -737,7 +737,7 @@ msgstr "زبان رابط کاربری را انتخاب کنید" msgid "dashboard.select-ui-theme" msgstr "انتخاب تم" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "نمایش همه فایل‌ها" @@ -757,7 +757,7 @@ msgstr "فایل شما با موفقیت duplicate شد" msgid "dashboard.success-duplicate-project" msgstr "پروژه شما با موفقیت duplicate شد" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "فایل شما با موفقیت منتقل شد" @@ -813,7 +813,7 @@ msgstr "ایمیل" msgid "dashboard.your-name" msgstr "نام شما" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "پن‌پات شما" @@ -829,11 +829,11 @@ msgstr "توجه" msgid "ds.component-subtitle" msgstr "کامپوننت‌ها برای به‌روزرسانی:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "لغو" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "بله" @@ -841,7 +841,7 @@ msgstr "بله" msgid "ds.confirm-title" msgstr "مطمئنی؟" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "ارائه دهنده احراز هویت پیکربندی نشده است." @@ -849,15 +849,15 @@ msgstr "ارائه دهنده احراز هویت پیکربندی نشده اس msgid "errors.auth.unable-to-login" msgstr "به نظر می‌رسد شما احراز هویت نشده‌اید یا جلسه منقضی شده است." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "فونت %s بارگیری نشد" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "فونت‌های %s بارگیری نشدند" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "مرورگر شما نمی‌تواند این عملیات را انجام دهد" @@ -869,11 +869,11 @@ msgstr "ایمیل قبلا استفاده شده است" msgid "errors.email-already-validated" msgstr "ایمیل قبلاً تأیید شده است." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "شما نمی‌توانید از ایمیل خود به عنوان رمزعبور استفاده کنید" -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "اشتباهی رخ داده است." @@ -881,8 +881,7 @@ msgstr "اشتباهی رخ داده است." msgid "errors.invalid-color" msgstr "رنگ نامعتبر" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "ایمیل تأیید باید مطابقت داشته باشد" @@ -898,7 +897,7 @@ msgstr "دعوت نامعتبر" msgid "errors.invite-invalid.info" msgstr "این دعوت ممکن است لغو یا منقضی شده باشد." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "احراز هویت LDAP غیرفعال است." @@ -924,7 +923,7 @@ msgstr "رمزعبور تأیید باید مطابقت داشته باشد" msgid "errors.password-too-short" msgstr "رمزعبور باید حداقل 8 کاراکتر باشد" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "پروفایل مسدود شده" @@ -952,12 +951,11 @@ msgstr "یک خطای غیرمنتظره رخ داد." msgid "errors.unexpected-token" msgstr "توکن ناشناخته" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "به نظر می‌رسد نام‌کاربری یا رمزعبور اشتباه است." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "رمزعبور قدیمی اشتباه است" @@ -1005,11 +1003,11 @@ msgstr "اینجا برای کمک به سوالات فنی شما." msgid "feedback.twitter-title" msgstr "حساب پشتیبانی در توییتر" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "خطایی رخ داده است" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "محو" @@ -1017,31 +1015,31 @@ msgstr "محو" msgid "inspect.attributes.blur.value" msgstr "مقدار" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "پر" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "دانلود تصویر منبع" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "ارتفاع" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "عرض" @@ -1080,11 +1078,11 @@ msgstr "بالا" msgid "inspect.attributes.layout.width" msgstr "عرض" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "سایه" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "استروک" @@ -1121,107 +1119,107 @@ msgstr "جامد" msgid "inspect.attributes.stroke.width" msgstr "عرض" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "تایپوگرافی" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "خانواده فونت" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "اندازه فونت" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "استایل فونت" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "فاصله بین حروف" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "ارتفاع خط" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "هیچ‌یک" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "خط‌زیر" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "تبدیل متن" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "حروف کوچک" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "هیچ‌یک" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "حروف بزرگ" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "کد" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "دایره" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "کامپوننت" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "منحنی" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "آرت‌برد" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "گروه" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "تصویر" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "ماسک" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s انتخاب شد" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "مسیر" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "مستطیل" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "متن" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "اطلاعات" @@ -1233,7 +1231,7 @@ msgstr "میانبرها" msgid "labels.accept" msgstr "تایید" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "اضافه کردن فونت سفارشی" @@ -1241,7 +1239,7 @@ msgstr "اضافه کردن فونت سفارشی" msgid "labels.admin" msgstr "مدیر" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "همه" @@ -1259,19 +1257,19 @@ msgstr "" "به نظر می‌رسد باید کمی صبر کنید و دوباره تلاش کنید; ما در حال انجام تعمیرات " "کوچک روی سرورهای خود هستیم." -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "لغو" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "بستن" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "نظرات" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "انجمن" @@ -1279,7 +1277,7 @@ msgstr "انجمن" msgid "labels.confirm-password" msgstr "تایید رمزعبور" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "ادامه" @@ -1291,7 +1289,7 @@ msgstr "ادامه دادن با" msgid "labels.continue-with-penpot" msgstr "شما می‌توانید با یک حساب Penpot ادامه دهید" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "ایجاد" @@ -1311,15 +1309,15 @@ msgstr "فونت‌های سفارشی" msgid "labels.dashboard" msgstr "داشبورد" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "حذف" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "حذف نظر" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "حذف موضوع" @@ -1331,11 +1329,11 @@ msgstr "حذف دعوت" msgid "labels.delete-multi-files" msgstr "حذف فایل‌های %s" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "پیش‌نویس‌ها" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "ویرایش" @@ -1351,7 +1349,7 @@ msgstr "ویرایشگر" msgid "labels.expired-invitation" msgstr "منقضی شده" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "اکسپورت" @@ -1363,7 +1361,7 @@ msgstr "بازخورد غیرفعال شد" msgid "labels.feedback-sent" msgstr "بازخورد ارسال شد" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "خانواده فونت" @@ -1371,19 +1369,19 @@ msgstr "خانواده فونت" msgid "labels.font-providers" msgstr "ارائه‌دهندگان فونت" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "استایل‌ها" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "فونت‌ها" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "مخزن Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "بازخورد بده" @@ -1391,15 +1389,15 @@ msgstr "بازخورد بده" msgid "labels.go-back" msgstr "برگرد" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "مرکز کمک" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "پنهان کردن نظرات حل شده" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "فونت‌های نصب‌شده" @@ -1421,7 +1419,7 @@ msgstr "دعوت‌نامه‌ها" msgid "labels.language" msgstr "زبان" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "کتابخانه‌ها و قالب‌ها" @@ -1429,7 +1427,7 @@ msgstr "کتابخانه‌ها و قالب‌ها" msgid "labels.log-or-sign" msgstr "ورود یا ثبت نام" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "خروج" @@ -1445,7 +1443,7 @@ msgstr "اعضا" msgid "labels.new-password" msgstr "رمزعبور جدید" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "هیچ اعلان نظر معلقی ندارید" @@ -1467,7 +1465,7 @@ msgstr "ممکن است این صفحه وجود نداشته باشد یا شم msgid "labels.not-found.main-message" msgstr "اوپس!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "۱ فایل" @@ -1518,7 +1516,7 @@ msgstr "پروفایل" msgid "labels.projects" msgstr "پروژه‌ها" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "یادداشت‌های انتشار" @@ -1531,7 +1529,7 @@ msgstr "حذف" msgid "labels.remove-member" msgstr "حذف عضو" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "تغییرنام" @@ -1551,11 +1549,11 @@ msgstr "امتحان دوباره" msgid "labels.role" msgstr "نقش" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "ذخیره" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "جستجوی فونت" @@ -1587,15 +1585,15 @@ msgstr "به اشتراک گذاشتن پروتوتایپ" msgid "labels.shared-libraries" msgstr "کتابخانه‌های مشترک" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "نمایش همه نظرات" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "نمایش لیست نظرات" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "فقط نظرات خودتان را نشان دهید" @@ -1603,7 +1601,7 @@ msgstr "فقط نظرات خودتان را نشان دهید" msgid "labels.status" msgstr "وضعیت" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "آموزش‌ها" @@ -1615,15 +1613,15 @@ msgstr "به‌روزرسانی" msgid "labels.update-team" msgstr "بروزرسانی تیم" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "بارگذاری" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "آپلود فونت‌های سفارشی" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "درحال بارگذاری…" @@ -1631,7 +1629,7 @@ msgstr "درحال بارگذاری…" msgid "labels.viewer" msgstr "بیننده" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "نظر جدید بنویس" @@ -1639,7 +1637,7 @@ msgstr "نظر جدید بنویس" msgid "labels.you" msgstr "(شما)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "حساب شما" @@ -1699,17 +1697,17 @@ msgstr "" msgid "modals.delete-account.title" msgstr "آیا مطمئن هستید که می‌خواهید حساب خود را حذف کنید؟" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "حذف مکالمه" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "آیا مطمئنید که می‌خواهید این مکالمه را حذف کنید؟ تمامی نظرات این تاپیک حذف " "خواهد شد." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "حذف مکالمه" @@ -1737,31 +1735,31 @@ msgstr "آیا مطمئن هستید که می‌خواهید فایل‌های msgid "modals.delete-file-multi-confirm.title" msgstr "در حال حذف %s فایل‌ها" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "آیا مطمئن هستید که می‌خواهید این سبک فونت را حذف کنید؟ اگر در یک فایل " "استفاده شود، بارگیری نمی‌شود." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "درحال حذف استایل فونت" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "آیا مطمئن هستید که می‌خواهید این فونت را حذف کنید؟ اگر در یک فایل استفاده " "شود، بارگیری نمی‌شود." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "درحال حذف فونت" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "آیا مطمئن هستید که می‌خواهید این صفحه را حذف کنید؟" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "حذف صفحه" @@ -1907,11 +1905,11 @@ msgstr "" "پس از حذف به‌عنوان کتابخانه مشترک، کتابخانه فایل این فایل برای استفاده در " "بین بقیه فایل‌های شما در دسترس نخواهد بود." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "به‌روزرسانی" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "لغو" @@ -1939,7 +1937,7 @@ msgstr "پس از نامگذاری تیم خود، می‌توانید افرا msgid "onboarding.welcome.alt" msgstr "Penpot" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "مخلوط" @@ -2079,11 +2077,11 @@ msgstr "توزیع به صورت عمودی" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "فونت‌ها - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "پروژه‌ها - %s - Penpot" @@ -2091,7 +2089,7 @@ msgstr "پروژه‌ها - %s - Penpot" msgid "title.dashboard.search" msgstr "جستجو - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "کتابخانه‌های مشترک - %s - پن‌پات" @@ -2131,7 +2129,7 @@ msgstr "تنظیمات - %s - پن‌پات" msgid "title.viewer" msgstr "%s - حالت مشاهده - پن‌پات" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -2224,15 +2222,15 @@ msgstr "توزیع فاصله عمودی (%s)" msgid "workspace.assets.assets" msgstr "دارایی‌ها" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "تمام دارایی‌ها" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "رنگ‌ها" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "کامپوننت‌ها" @@ -2244,11 +2242,11 @@ msgstr "ایجاد یک گروه" msgid "workspace.assets.create-group-hint" msgstr "آیتم‌های شما به طور خودکار به عنوان \"نام گروه / نام آیتم\" نامگذاری می‌شوند" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "حذف" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "تکثیر" @@ -2256,23 +2254,19 @@ msgstr "تکثیر" msgid "workspace.assets.edit" msgstr "ویرایش" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "گرافیک" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "گروه" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "کتابخانه‌ها" - -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "تغییرنام" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "تایپوگرافی‌ها" @@ -2281,19 +2275,19 @@ msgstr "تایپوگرافی‌ها" msgid "workspace.assets.typography.font-id" msgstr "فونت" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "اندازه" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "گونه" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "مثال" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "تبدیل متن" @@ -2329,25 +2323,24 @@ msgstr "بازدید" msgid "workspace.header.menu.show-textpalette" msgstr "نمایش پالت فونت‌ها" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "بازنشانی" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "خطا در ذخیره" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "ذخیره‌شد" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "ذخیره‌کردن" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "تغییرات ذخیره نشده" @@ -2361,15 +2354,15 @@ msgstr "افزودن" msgid "workspace.libraries.colors.hsv" msgstr "HSV" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "ذخیره استایل رنگ" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "کتابخانه‌ها" @@ -2378,27 +2371,23 @@ msgstr "کتابخانه‌ها" msgid "workspace.libraries.library" msgstr "کتابخانه" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "هیچ کتابخانه مشترکی وجود ندارد که نیاز به به‌روزرسانی داشته باشد" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "هیچ کتابخانه مشترکی در دسترس نیست" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "جستجوی کتابخانه‌های مشترک" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "کتابخانه‌های مشترک" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "به‌روزرسانی" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "به‌روزرسانی‌ها" @@ -2406,7 +2395,7 @@ msgstr "به‌روزرسانی‌ها" msgid "workspace.options.blur-options.title" msgstr "محو" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "کامپوننت" @@ -2442,15 +2431,15 @@ msgstr "بالا" msgid "workspace.options.design" msgstr "طراحی" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "اکسپورت" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "پسوند" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "درحال گرفتن خروجی…" @@ -2534,7 +2523,7 @@ msgstr "ردیف‌ها" msgid "workspace.options.grid.square" msgstr "مربع" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "بلندی" @@ -2682,7 +2671,7 @@ msgstr "پروتوتایپ" msgid "workspace.options.radius" msgstr "گردی" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "اخیر" @@ -2690,7 +2679,7 @@ msgstr "اخیر" msgid "workspace.options.retry" msgstr "تلاش دوباره" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "چرخش" @@ -2698,19 +2687,19 @@ msgstr "چرخش" msgid "workspace.options.select-a-shape" msgstr "یک شکل، برد یا گروه را برای کشیدن اتصال به تابلوی دیگر انتخاب کنید." -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "محو" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "سایه" @@ -2790,11 +2779,11 @@ msgstr "عرض خودکار" msgid "workspace.options.text-options.grow-fixed" msgstr "درست شد" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "فاصله بین حروف" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "ارتفاع خط" @@ -2845,15 +2834,15 @@ msgstr "حروف بزرگ" msgid "workspace.options.use-play-button" msgstr "از دکمه پخش در هدر برای اجرای نمای پروتوتایپ استفاده کنید." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "پهنا" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y" @@ -2873,63 +2862,63 @@ msgstr "ادغام گره‌ها (%s)" msgid "workspace.path.actions.move-nodes" msgstr "انتقال گره‌ها (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "فرستادن به پشت" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "فرستادن به عقب" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "کپی" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "ایجاد کامپوننت" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "برش" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "حذف" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "تفاوت" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "تکرار" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "ویزایش" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "صاف" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "حرکت افقی" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "چرخش عمودی" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "شروع فلو" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "جلو بیاورید" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "به جلو بیاورید" @@ -2938,83 +2927,83 @@ msgstr "به جلو بیاورید" msgid "workspace.shape.menu.go-main" msgstr "به فایل کامپوننت اصلی بروید" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "گروه" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "مخفی" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "نمایش/پنهان کردن رابط کاربری" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "تقاطع" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "قفل" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "ماسک" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "چسباندن" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "مسیر" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "بازیابی کامپوننت اصلی" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "انتخاب لایه" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "نمایش" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "نمایش در پنل دارایی" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "نمایش کامپوننت اصلی" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "حذف تصویر کوچک" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "تنظیم بعنوان تصویر کوچک" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "تبدیل به مسیر" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "حذف گروه" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "متحد" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "بازکردن قفل" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "حذف ماسک" @@ -3023,7 +3012,7 @@ msgstr "حذف ماسک" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "به‌روزرسانی کامپوننت‌های اصلی" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "به‌روزرسانی کامپوننت اصلی" @@ -3031,11 +3020,11 @@ msgstr "به‌روزرسانی کامپوننت اصلی" msgid "workspace.sidebar.expand" msgstr "گسترش نوار کناری" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "تاریخچه" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "لایه‌ها" @@ -3071,7 +3060,7 @@ msgstr "شکل‌ها" msgid "workspace.sidebar.layers.texts" msgstr "متن‌ها" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "ویژگی‌های SVG ایمپورت شد" @@ -3079,11 +3068,11 @@ msgstr "ویژگی‌های SVG ایمپورت شد" msgid "workspace.sidebar.sitemap" msgstr "صفحات" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "نقشه سایت" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "دارایی‌ها" @@ -3091,35 +3080,35 @@ msgstr "دارایی‌ها" msgid "workspace.toolbar.color-palette" msgstr "پالت رنگ (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "نظرات (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "منحنی (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "بیضی (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "آرت‌بورد (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "تصویر (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "انتقال (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "مسیر (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "مستطیل (%s)" @@ -3128,7 +3117,7 @@ msgstr "مستطیل (%s)" msgid "workspace.toolbar.shortcuts" msgstr "میانبرها (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "متن (%s)" @@ -3277,15 +3266,15 @@ msgstr "عملیات بیش‌از %s" msgid "workspace.undo.title" msgstr "تاریخچه" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "رد" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "به‌روزرسانی در کتابخانه‌های مشترک وجود دارد" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "به‌روزرسانی" diff --git a/frontend/translations/fin_FI.po b/frontend/translations/fin_FI.po index c0f75bb7d4..0421b4baa2 100644 --- a/frontend/translations/fin_FI.po +++ b/frontend/translations/fin_FI.po @@ -34,13 +34,13 @@ msgstr "Luo testikäyttäjä" msgid "auth.create-demo-profile" msgstr "Haluatko vain kokeilla?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Tämä on DEMO versio, ÄLÄ KÄYTÄ oikeaan työhön, projektit tullaan määräajoin " "poistamaan." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Unohditko salasanasi?" @@ -52,27 +52,27 @@ msgstr "Koko nimi" msgid "auth.login-here" msgstr "Kirjaudu sisään" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Kirjaudu" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -96,7 +96,7 @@ msgstr "Salasanan vaihtoon tarvittava linkki lähetetty sähköpostiisi." msgid "auth.notifications.team-invitation-accepted" msgstr "Ryhmään liittyminen onnistui" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Salasana" @@ -124,11 +124,11 @@ msgstr "Unohtuiko salasana?" msgid "auth.recovery-submit" msgstr "Vaihda salasanasi" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Ei käyttäjää?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Luo uusi käyttäjä" @@ -141,7 +141,7 @@ msgstr "Luo uusi käyttäjä" msgid "auth.sidebar-tagline" msgstr "Avoimen lähdekoodin ratkaisu suunnitteluun ja prototyyppien valmistukseen." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Käyttöehdot" @@ -149,7 +149,7 @@ msgstr "Käyttöehdot" msgid "auth.verification-email-sent" msgstr "Lähetimme vahvistussähköpostin osoitteeseen" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Julkaise" @@ -221,7 +221,7 @@ msgstr "Jaa prototyypit" msgid "common.share-link.view-all" msgstr "Valitse kaikki" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Peruuta julkaisu" diff --git a/frontend/translations/fo.po b/frontend/translations/fo.po index f7bc78b2ad..5b5ae4a5cb 100644 --- a/frontend/translations/fo.po +++ b/frontend/translations/fo.po @@ -1,7 +1,7 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-06-17 08:07+0000\n" -"Last-Translator: Anonymous \n" +"PO-Revision-Date: 2025-03-16 23:01+0000\n" +"Last-Translator: Tummas Jóhan Sigvardsen \n" "Language-Team: Faroese " "\n" "Language: fo\n" @@ -9,12 +9,16 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.6-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" msgstr "Hevur tú longu ein brúkara?" +#: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:274 +msgid "auth.check-mail" +msgstr "Kanna tín teldupost" + #: src/app/main/ui/auth/register.cljs:277 msgid "auth.check-your-email" msgstr "" @@ -34,13 +38,13 @@ msgstr "Stovna royndarkonto" msgid "auth.create-demo-profile" msgstr "Vilt tú royna tað?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Hetta er ein ROYNDAR tænasta, IKKI BRÚKA til veruligt arbeiði, " "verkætlanirnar verða slettaðar regluliga." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Gloymt loyniorðið?" @@ -48,31 +52,41 @@ msgstr "Gloymt loyniorðið?" msgid "auth.fullname" msgstr "Fullfíggja navn" +#: src/app/main/ui/auth/login.cljs:282 +msgid "auth.login-account-title" +msgstr "Rita inn á mína konto" + #: src/app/main/ui/auth/register.cljs:137, src/app/main/ui/static.cljs:158, src/app/main/ui/viewer/login.cljs:101 msgid "auth.login-here" -msgstr "Innrita her" +msgstr "Innrita her." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Rita inn" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:285 +msgid "auth.login-tagline" +msgstr "" +"Penpot er eitt ókeypis formgevingstól við opnari keldukotu, at nýta til " +"Formgávu og Forritanar samstarv" + +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -98,7 +112,7 @@ msgstr "Leinkjan til at endurseta títt loyniorð er send til tín postkassa." msgid "auth.notifications.team-invitation-accepted" msgstr "Sameinaðan í toymið var væleydnað" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Loyniorð" @@ -126,19 +140,41 @@ msgstr "Gloymt loyniorð?" msgid "auth.recovery-submit" msgstr "Broyt títt loyniorð" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Onga konto enn?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/register.cljs:254 +msgid "auth.register-account-tagline" +msgstr "" +"Latið okkum frætta, hvat vit skulu navngeva teg á okkara yvirlitsskýggja og " +"í teldupostum." + +#: src/app/main/ui/auth/register.cljs:253 +msgid "auth.register-account-title" +msgstr "Navn títt" + +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Stovna konto" +#: src/app/main/ui/auth/register.cljs:124 +msgid "auth.register-tagline" +msgstr "" +"Við einari ókeypis Penpot konto, kanst tú upprætta óavmarkaðar bólkar og " +"samstarva við aðrar sniðgevar og forritara á so nógvum projektum, ið tygum " +"lystur. " + #: src/app/main/ui/auth/register.cljs:122 msgid "auth.register-title" msgstr "Stovna eina konto" -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth.cljs +#, unused +msgid "auth.sidebar-tagline" +msgstr "Loysnin við opnari keldukotu, at formgeva og frumsniða." + +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Treytir" @@ -146,7 +182,7 @@ msgstr "Treytir" msgid "auth.verification-email-sent" msgstr "Vit hava sent ein váttanar teldupost til" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Gev út" @@ -218,7 +254,7 @@ msgstr "Deil frumsnið" msgid "common.share-link.view-all" msgstr "Vel alt" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Angra útgevan" @@ -269,7 +305,7 @@ msgstr "Legg afturat sum Deilt Savn" msgid "dashboard.change-email" msgstr "Broyt teldupost" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(avrita)" @@ -349,25 +385,25 @@ msgstr "Útflyt deild søvn" msgid "dashboard.export.title" msgstr "Útflyt fílur" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Stavsniði er strika" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Tú hevur enn onki serstavsnið innlagt." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 stavsnið lagt afturat" msgstr[1] "% stavsnið løgd afturat" -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Legg øll afturat" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Innflyt Penpot fílur" @@ -381,7 +417,7 @@ msgstr "" "Har kom ein trupulleiki, tá vit royndu at innflyta fíluna. Fílan var ikki " "innflutt." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "% fílur eru innfluttir." @@ -421,11 +457,11 @@ msgstr "Bjóða við í toymi" msgid "dashboard.leave-team" msgstr "Far úr toymu" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "lesur tínar fílur inn…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "lesur tíni stavsnið inn…" @@ -441,11 +477,11 @@ msgstr "Flyt %s fílur til" msgid "dashboard.move-to-other-team" msgstr "Flyt til eitt annað toymi" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Nýggja fílu" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Nýggja fílu" @@ -453,7 +489,7 @@ msgstr "Nýggja fílu" msgid "dashboard.new-project" msgstr "+ Nýggj verkætlan" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nýggj verkætlan" @@ -485,7 +521,7 @@ msgstr "%s limir" msgid "dashboard.open-in-new-tab" msgstr "Lat fílu upp í nýggjum skiljiblaði" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Valmøguleikar" @@ -530,7 +566,7 @@ msgstr "Vel mál til takførisflatu" msgid "dashboard.select-ui-theme" msgstr "Vel tema" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Vís allar fílurnar" @@ -542,7 +578,7 @@ msgstr "Tín fíla er strikað" msgid "dashboard.success-delete-project" msgstr "Tín verkætlan er strikað" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Tín fíla er flutt" @@ -582,11 +618,11 @@ msgstr "Skriva fyri at leita eftir úrslitum" msgid "ds.alert-ok" msgstr "Ókey" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ókey" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Vangamyndin er stongd" @@ -598,7 +634,7 @@ msgstr "Strikað %s fílur" msgid "labels.edit-file" msgstr "Broyt fílu" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 fíla" diff --git a/frontend/translations/fr.po b/frontend/translations/fr.po index 42a3462790..62c0f98645 100644 --- a/frontend/translations/fr.po +++ b/frontend/translations/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-09-04 10:09+0000\n" -"Last-Translator: Unreal Vision \n" +"PO-Revision-Date: 2025-03-16 23:01+0000\n" +"Last-Translator: Louis Chance \n" "Language-Team: French " "\n" "Language: fr\n" @@ -9,7 +9,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -"X-Generator: Weblate 5.7.2-rc\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -38,13 +38,13 @@ msgstr "Créer un compte de démonstration" msgid "auth.create-demo-profile" msgstr "Vous voulez juste essayer ?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Il s’agit d’un service de DÉMONSTRATION, NE L'UTILISEZ PAS pour du vrai " "travail, les projets seront périodiquement supprimés." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Mot de passe oublié ?" @@ -52,7 +52,7 @@ msgstr "Mot de passe oublié ?" msgid "auth.fullname" msgstr "Nom complet" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Connexion à mon compte" @@ -60,33 +60,33 @@ msgstr "Connexion à mon compte" msgid "auth.login-here" msgstr "Connectez-vous ici." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Se connecter" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot est l'outil de design libre et open-source pour la collaboration " "entre Design et Développement" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -110,7 +110,7 @@ msgstr "Lien de récupération de mot de passe envoyé." msgid "auth.notifications.team-invitation-accepted" msgstr "Vous avez rejoint l’équipe avec succès" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Mot de passe" @@ -138,7 +138,7 @@ msgstr "Mot de passe oublié ?" msgid "auth.recovery-submit" msgstr "Changez votre mot de passe" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Pas encore de compte ?" @@ -152,7 +152,7 @@ msgstr "" msgid "auth.register-account-title" msgstr "Votre nom" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Créer un compte" @@ -179,7 +179,7 @@ msgstr "" "J'accepte les [termes du service](%s) et la [politique de " "confidentialité](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Conditions générales d'utilisation" @@ -193,7 +193,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Nous avons envoyé un e-mail de vérification à" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Email professionnel" @@ -202,7 +202,11 @@ msgstr "Email professionnel" msgid "branding-illustrations-marketing-pieces" msgstr "...image de marque, illustrations, supports marketing, etc." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/comments.cljs:532 +msgid "comments.mentions.not-found" +msgstr "Aucun membre trouvé avec @%s" + +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publier" @@ -274,7 +278,7 @@ msgstr "Partager les prototypes" msgid "common.share-link.view-all" msgstr "Tout sélectionner" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Dépublier" @@ -326,7 +330,7 @@ msgstr "Démonstration de l'interface" msgid "dashboard.access-tokens.copied-success" msgstr "Jeton copié" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Générer un nouveau jeton" @@ -334,11 +338,11 @@ msgstr "Générer un nouveau jeton" msgid "dashboard.access-tokens.create.success" msgstr "Jeton d'accès créé avec succès." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Pressez le bouton \"Générer un nouveau jeton\" pour en générer un." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Vous n'avez pas encore de jeton." @@ -362,23 +366,23 @@ msgstr "90 jours" msgid "dashboard.access-tokens.expiration-never" msgstr "Jamais" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "A expiré le %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Expire le %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Aucune date d'expiration" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Jetons d'accès personnels" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Les jetons d'accès personnels fonctionnent comme une alternative à notre " @@ -393,6 +397,10 @@ msgstr "Le jeton expirera le %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "Le jeton n'a pas de date d'expiration" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Ajouter un fichier" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Ajouter une Bibliothèque Partagée" @@ -401,7 +409,7 @@ msgstr "Ajouter une Bibliothèque Partagée" msgid "dashboard.change-email" msgstr "Changer l'adresse e‑mail" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(copie)" @@ -409,6 +417,10 @@ msgstr "(copie)" msgid "dashboard.create-new-team" msgstr "+ Créer une nouvelle équipe" +#: src/app/main/ui/workspace/main_menu.cljs:623 +msgid "dashboard.create-version-menu" +msgstr "Sauvegarder cette version" + #: src/app/main/ui/components/context_menu_a11y.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:659 msgid "dashboard.default-team-name" msgstr "Votre Penpot" @@ -433,6 +445,22 @@ msgstr "Dupliquer" msgid "dashboard.duplicate-multi" msgstr "Dupliquer %s fichiers" +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 +msgid "dashboard.empty-placeholder-drafts-subtitle" +msgstr "Lorsqu'un membre de l'équipe aura créé un brouillon, il sera affiché ici." + +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 +msgid "dashboard.empty-placeholder-drafts-title" +msgstr "Aucun brouillon pour l'instant." + +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 +msgid "dashboard.empty-placeholder-files-subtitle" +msgstr "Lorsqu'un membre de l'équipe aura créé un fichier, il sera affiché ici." + +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 +msgid "dashboard.empty-placeholder-files-title" +msgstr "Aucun fichier pour l'instant." + #: src/app/main/ui/dashboard/file_menu.cljs:249, src/app/main/ui/dashboard/file_menu.cljs:254 msgid "dashboard.export-binary-multi" msgstr "Télécharger %s fichiers Penpot (.penpot)" @@ -529,25 +557,25 @@ msgstr "" msgid "dashboard.export.title" msgstr "Exporter les fichiers" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Police supprimée" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Tout ignorer" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Les polices personnalisées installées apparaîtront ici." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 police ajoutée" msgstr[1] "%s polices ajoutées" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -557,21 +585,21 @@ msgstr "" "**une seule famille de polices**. Vous pouvez télécharger les polices au " "formats suivants : **TTF, OTF et WOFF** (un seul format est nécessaire)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Ne téléchargez que des polices que vous possédez ou dont la license vous " "permet de les utiliser dans Penpot. Vous trouverez plus d'informations dans " "la section Propriété des Contenus des [conditions générales d'utilisation " -"de Penpot](%s). Vous pouvez également vous " -"renseigner sur les [licenses de polices](https://www.typography.com/faq)." +"de Penpot](%s). Vous pouvez également vous renseigner sur les [licenses de " +"polices](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Uploader tout" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -583,7 +611,7 @@ msgstr "" "recommandons d'utiliser [Transfonter](https://transfonter.org/) pour " "générer des polices web et corriger les erreurs. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importer fichiers" @@ -603,13 +631,13 @@ msgstr "" "Un problème est survenu lors de l'importation du fichier. Le fichier n'a " "pas été importé." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 fichier a été importé avec succès." msgstr[1] "%s fichiers ont été importés avec succès." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Certains fichiers contenaient des objets invalides qui ont été enlevés." @@ -649,29 +677,29 @@ msgstr "Inviter des personnes" msgid "dashboard.leave-team" msgstr "Quitter l’équipe" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliothèques et Modèles" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "En explorez plus et découvrir comment contribuer" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "" "Il y avait un problème pendant l'importation de la modèle. La modèle n'est " "pas importé." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Bibliothèques Partagées" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "chargement de vos fichiers…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "chargement de vos polices…" @@ -687,11 +715,11 @@ msgstr "Déplacer %s fichiers vers" msgid "dashboard.move-to-other-team" msgstr "Déplacer vers une autre équipe" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Nouveau fichier" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Nouveau fichier" @@ -699,7 +727,7 @@ msgstr "Nouveau fichier" msgid "dashboard.new-project" msgstr "+ Nouveau projet" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nouveau projet" @@ -731,7 +759,7 @@ msgstr "%s membres" msgid "dashboard.open-in-new-tab" msgstr "Ouvrir fichier dans un nouvel onglet" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Options" @@ -776,7 +804,7 @@ msgstr "Sélectionnez la langue de l’interface" msgid "dashboard.select-ui-theme" msgstr "Sélectionnez un thème" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Voir tous les fichiers" @@ -800,7 +828,7 @@ msgstr[1] "Vos fichiers ont été dupliqués avec succès" msgid "dashboard.success-duplicate-project" msgstr "Votre projet a été dupliqué avec succès" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Votre fichier a été déplacé avec succès" @@ -896,7 +924,7 @@ msgstr "E‑mail" msgid "dashboard.your-name" msgstr "Votre nom complet" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Votre Penpot" @@ -912,11 +940,11 @@ msgstr "Attention" msgid "ds.component-subtitle" msgstr "Composants à mettre à jour :" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Annuler" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -928,7 +956,7 @@ msgstr "Êtes‑vous sûr ?" msgid "errors.auth-provider-not-allowed" msgstr "Le fournisseur d'authentification n'est pas autorisé pour ce profil" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Fournisseur d'authentification non configuré." @@ -936,11 +964,11 @@ msgstr "Fournisseur d'authentification non configuré." msgid "errors.auth.unable-to-login" msgstr "Il semblerait que vous n'êtes pas authentifié ou que votre session a expiré." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "La police %s n'a pas pu être chargée" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Les polices %s n'ont pas pu être chargées" @@ -948,7 +976,7 @@ msgstr "Les polices %s n'ont pas pu être chargées" msgid "errors.cannot-upload" msgstr "Impossible de télécharger le fichier média." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Votre navigateur ne peut pas effectuer cette opération" @@ -960,7 +988,7 @@ msgstr "Adresse e‑mail déjà utilisée" msgid "errors.email-already-validated" msgstr "Adresse e‑mail déjà validée." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Vous ne pouvez pas utiliser votre adresse e-mail comme mot de passe" @@ -993,7 +1021,7 @@ msgstr "" "celles du fichier que tentez d'ouvrir. Vous devez activer les migrations " "pour '%s' avant de pouvoir ouvrir le fichier." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Un problème s’est produit." @@ -1006,8 +1034,7 @@ msgstr "Couleur invalide" msgid "errors.invalid-email" msgstr "Veuillez entrer une adresse mail valide" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "L’adresse e‑mail de confirmation doit correspondre" @@ -1023,7 +1050,7 @@ msgstr "Invitation invalide" msgid "errors.invite-invalid.info" msgstr "Cette invitation est peut-être été annulée ou a expiré." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Authentification LDAP désactivée." @@ -1067,7 +1094,7 @@ msgstr "Le mot de passe doit contenir au moins 8 caractères" msgid "errors.paste-data-validation" msgstr "Données du presse-papier invalides" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Le profil est bloqué" @@ -1145,12 +1172,11 @@ msgstr "Erreur inattendue lors de la validation" msgid "errors.webhooks.unexpected-status" msgstr "Statut inattendu %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "E-mail ou mot de passe incorrect." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "L’ancien mot de passe est incorrect" @@ -1199,11 +1225,11 @@ msgstr "Nous sommes là pour répondre à vos questions techniques." msgid "feedback.twitter-title" msgstr "Compte d’assistance X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Une erreur s’est produite" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Flou" @@ -1211,31 +1237,31 @@ msgstr "Flou" msgid "inspect.attributes.blur.value" msgstr "Valeur" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Remplir" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Télécharger l’image source" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Hauteur" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Largeur" @@ -1274,15 +1300,15 @@ msgstr "Haut" msgid "inspect.attributes.layout.width" msgstr "Largeur" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Ombre" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Taille et position" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Contour" @@ -1319,141 +1345,141 @@ msgstr "Solide" msgid "inspect.attributes.stroke.width" msgstr "Épaisseur" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Typographie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Police de caractères" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Taille de police" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Style de police" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Graisse de la police" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Interlettrage" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Interlignage" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Décoration de texte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Aucune" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Barré" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Soulignage" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformation de texte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Minuscule" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Aucune" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Premières Lettres en Capitales" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Non assigné" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Capitales" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "Pour en savoir plus sur l'inspection, visitez le centre d'aide de Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Plus d'informations sur l'inspection" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Sélectionnez une forme, un plan de travail ou un groupe pour inspecter " "leurs propriétés et le code" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Code" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Cercle" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Composant" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Courbe" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Plan de travail" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Groupe" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Image" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Masque" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Sélectionné" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Chemin" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rectangle" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Texte" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Information" @@ -1473,7 +1499,7 @@ msgstr "Jetons d'accès" msgid "labels.active" msgstr "Activé" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Ajouter police personnalisée" @@ -1485,7 +1511,7 @@ msgstr "Administration" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Tous" @@ -1507,7 +1533,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Bad Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Annuler" @@ -1515,15 +1541,15 @@ msgstr "Annuler" msgid "labels.canva" msgstr "Canevas" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Fermer" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Commentaires" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Communauté" @@ -1531,7 +1557,7 @@ msgstr "Communauté" msgid "labels.confirm-password" msgstr "Confirmer le mot de passe" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Continuer" @@ -1547,7 +1573,7 @@ msgstr "Vous pouvez continuer avec un compte Penpot" msgid "labels.copy-invitation-link" msgstr "Copier le lien" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Créer" @@ -1567,15 +1593,15 @@ msgstr "Polices personnalisées" msgid "labels.dashboard" msgstr "Tableau de bord" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Supprimer" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Supprimer le commentaire" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Supprimer le fil" @@ -1595,15 +1621,15 @@ msgstr "Développeur" msgid "labels.director" msgstr "Directeur" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Rejeter" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Brouillons" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Modifier" @@ -1623,7 +1649,7 @@ msgstr "Évènement" msgid "labels.expired-invitation" msgstr "Expirée" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exporter" @@ -1639,7 +1665,7 @@ msgstr "Avis envoyé" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Famille de polices" @@ -1647,11 +1673,11 @@ msgstr "Famille de polices" msgid "labels.font-providers" msgstr "Fournisseurs de polices" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Styles" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Polices" @@ -1663,11 +1689,11 @@ msgstr "Fondateur/Direction" msgid "labels.freelancer" msgstr "Je suis freelance" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Dépôt GitHub" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Donnez votre avis" @@ -1679,11 +1705,11 @@ msgstr "Retour" msgid "labels.graphic-design" msgstr "Designer graphique" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Centre d'aide" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Masquer les commentaires résolus" @@ -1691,7 +1717,7 @@ msgstr "Masquer les commentaires résolus" msgid "labels.inactive" msgstr "Inactif" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Polices installées" @@ -1717,7 +1743,7 @@ msgstr "Invitations" msgid "labels.language" msgstr "Langue" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Bibliothèques et modèles" @@ -1725,7 +1751,7 @@ msgstr "Bibliothèques et modèles" msgid "labels.log-or-sign" msgstr "Se connecter ou s'inscrire" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Se déconnecter" @@ -1745,11 +1771,11 @@ msgstr "Membres" msgid "labels.new-password" msgstr "Nouveau mot de passe" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Suivant" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Vous n’avez aucune notification de commentaire en attente." @@ -1775,7 +1801,7 @@ msgstr "" msgid "labels.not-found.main-message" msgstr "Oups !" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 fichier" @@ -1846,7 +1872,7 @@ msgstr "Profil" msgid "labels.projects" msgstr "Projets" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Notes de version" @@ -1864,7 +1890,7 @@ msgstr "Retirer" msgid "labels.remove-member" msgstr "Retirer le membre" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Renommer" @@ -1884,15 +1910,15 @@ msgstr "Réessayer" msgid "labels.role" msgstr "Rôle" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Enregistrer" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Rechercher" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Rechercher une police" @@ -1932,15 +1958,15 @@ msgstr "Partager le prototype" msgid "labels.shared-libraries" msgstr "Bibliothèques Partagées" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Afficher tous les commentaires" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Afficher la liste des commentaires" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Afficher uniquement vos commentaires" @@ -1968,7 +1994,7 @@ msgstr "Chef de projet" msgid "labels.team-member" msgstr "Membre d'une équipe" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutoriels" @@ -1984,15 +2010,15 @@ msgstr "Actualiser" msgid "labels.update-team" msgstr "Mettre à jour l'équipe" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Télécharger" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Télécharger des polices personnalisées" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Téléchargement…" @@ -2008,7 +2034,7 @@ msgstr "Spectateur" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Écrire un nouveau commentaire" @@ -2016,7 +2042,7 @@ msgstr "Écrire un nouveau commentaire" msgid "labels.you" msgstr "(vous)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Votre compte" @@ -2024,23 +2050,23 @@ msgstr "Votre compte" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Choisir image" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Dégradé" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Image" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Conserver le ratio" @@ -2058,7 +2084,7 @@ msgstr "Chargement de l’image…" msgid "media.radial" msgstr "Radial" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Solide" @@ -2110,7 +2136,7 @@ msgstr "Changer adresse e‑mail" msgid "modals.change-email.title" msgstr "Changez votre adresse e‑mail" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Copier le jeton" @@ -2126,7 +2152,7 @@ msgstr "Nom" msgid "modals.create-access-token.name.placeholder" msgstr "Le nom aide à savoir comment le jeton sera utilisé" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Créer un jeton" @@ -2150,15 +2176,15 @@ msgstr "URL de charge utile" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Supprimer le jeton" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Confirmez-vous que vous souhaitez supprimer ce jeton ?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Supprimer le jeton" @@ -2180,25 +2206,25 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Êtes‑vous sûr de vouloir supprimer votre compte ?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Supprimer la conversation" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Êtes‑vous sûr de vouloir supprimer cette conversation ? Tous les " "commentaires de ce fil seront supprimés." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Supprimer une conversation" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Confirmez-vous vouloir supprimer cette note ?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Supprimer la note" @@ -2226,31 +2252,31 @@ msgstr "Êtes-vous sûr de vouloir supprimer %s fichiers ?" msgid "modals.delete-file-multi-confirm.title" msgstr "Suppression de %s fichiers" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Êtes-vous sûr de vouloir supprimer ce style de police ? Il ne sera pas " "chargé si il est utilisé dans un fichier." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Suppression du style de police" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Êtes-vous sûr de vouloir supprimer cette police ? Elle ne se chargera pas " "si elle est utilisée dans un fichier." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Suppression de la police" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Êtes‑vous sûr de vouloir supprimer cette page ?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Supprimer une page" @@ -2454,15 +2480,15 @@ msgstr "Êtes‑vous sûr de vouloir promouvoir cette personne propriétaire ? msgid "modals.promote-owner-confirm.title" msgstr "Promouvoir propriétaire" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publier" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Votre bibliothèque est vide. Voulez-vous la publier quand même ?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Publier la bibliothèque vide" @@ -2517,21 +2543,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Mise à jour des composants dans une bibliothèque partagée" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Actualiser le composant" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Annuler" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Vous êtes sur le point de mettre à jour le composant d’une Bibliothèque " "Partagée. Cela peut affecter d’autres fichiers qui l’utilisent." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Actualiser le composant d’une bibliothèque" @@ -2592,30 +2618,30 @@ msgstr "Tutoriels videos" msgid "onboarding-v2.before-start.title" msgstr "Avant de démarrer" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Abonnez-vous à la newsletter de Penpot pour être tenu informé du " "développement du produit et de notre actualité." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Envoyez-moi des nouvelles de Penpot (articles de blog, tutoriels vidéo, " "streamings...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Nous nous soucions de la vie privée, vous pouvez lire ici notre " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Nous ne vous enverrons que des e-mails pertinents. Vous pouvez vous " "désabonner à tout moment via votre profil d’utilisateur ou via le lien de " "désabonnement dans l’une de nos newsletters." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Envoyez-moi les mises à jour du produit (nouvelles fonctionnalités, " @@ -2718,15 +2744,15 @@ msgstr "Vous pourrez créer une équipe plus tard." msgid "onboarding.newsletter.accept" msgstr "Oui, s'abonner" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "Demande d'abonnement envoyé, vous allez recevoir un e-mail de confirmation." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Politique de confidentialité." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Vous souhaitez recevoir les actualités de Penpot ?" @@ -2907,7 +2933,7 @@ msgstr "Aller à la page de connexion" msgid "settings.detach" msgstr "Détacher" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Divers" @@ -3097,7 +3123,7 @@ msgstr "Créer" msgid "shortcuts.cut" msgstr "Couper" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Dézoomer" @@ -3197,7 +3223,7 @@ msgstr "Répartir horizontalement" msgid "shortcuts.hide-ui" msgstr "Afficher/masquer l'interface utilisateur" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Zoom avant" @@ -3577,15 +3603,15 @@ msgstr "Zoomer sur la sélection" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Fournisseurs de polices - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Polices - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projets - %s - Penpot" @@ -3593,7 +3619,7 @@ msgstr "Projets - %s - Penpot" msgid "title.dashboard.search" msgstr "Rechercher - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Bibliothèques Partagées - %s - Penpot" @@ -3601,7 +3627,7 @@ msgstr "Bibliothèques Partagées - %s - Penpot" msgid "title.default" msgstr "Penpot - Liberté de conception pour les équipes" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profil - Jetons d'accès" @@ -3641,7 +3667,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - Mode spectateur - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3746,15 +3772,15 @@ msgstr "Aligner en haut (%s)" msgid "workspace.assets.assets" msgstr "Ressources" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Toutes" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Couleurs" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Composants" @@ -3768,15 +3794,15 @@ msgstr "" "Vos éléments seront automatiquement nommées comme tels : « nom du groupe / " "nom de l'élément »" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Supprimer" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Dupliquer" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Dupliquer le principal" @@ -3784,15 +3810,15 @@ msgstr "Dupliquer le principal" msgid "workspace.assets.edit" msgstr "Modifier" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filtrer" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Graphiques" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Grouper" @@ -3800,23 +3826,19 @@ msgstr "Grouper" msgid "workspace.assets.group-name" msgstr "Nom du groupe" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Bibliothèques" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "Bibliothèque locale" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Aucune ressource trouvée" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Ouvrir le fichier de la bibliothèque" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Renommer" @@ -3824,7 +3846,7 @@ msgstr "Renommer" msgid "workspace.assets.rename-group" msgstr "Renommer le groupe" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Chercher des ressources" @@ -3840,17 +3862,17 @@ msgstr[1] "%s éléments sélectionnés" msgid "workspace.assets.shared-library" msgstr "Bibliothèque partagée" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 composant" msgstr[1] "%s composants" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Trier" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Typographies" @@ -3859,27 +3881,27 @@ msgstr "Typographies" msgid "workspace.assets.typography.font-id" msgstr "Police" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Taille" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variante" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Accéder au fichier de bibliothèque de styles à modifier" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Interlettrage" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Interlignage" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3887,7 +3909,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Styles de texte" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transformer le texte" @@ -3895,55 +3917,55 @@ msgstr "Transformer le texte" msgid "workspace.assets.ungroup" msgstr "Dissocier" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Créer une zone" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Créer un tableau" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Fusionner les cellules" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Ajouter une colonne à droite" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Ajouter une colonne à gauche" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Supprimer la colonne" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Supprimer la colonne et le contenu" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Dupliquer la colonne" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Ajouter une rangée en-dessous" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Ajouter une rangée au-dessus" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Supprimer la rangée" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Supprimer la rangée et son contenu" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Dupliquer la rangée" @@ -3951,11 +3973,11 @@ msgstr "Dupliquer la rangée" msgid "workspace.focus.focus-mode" msgstr "Mode focus" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Focus désactivé" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Focus activé" @@ -4109,33 +4131,32 @@ msgstr "Basculer vers le thème clair" msgid "workspace.header.menu.undo" msgstr "Annuler" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Réinitialiser" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Erreur d’enregistrement" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Enregistré" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Enregistrement" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Modifications non sauvegardées" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Mode spectateur (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zoom" @@ -4147,7 +4168,7 @@ msgstr "Remplir l’écran" msgid "workspace.header.zoom-fit" msgstr "Ajuster à l’écran" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Zoomer pour montrer tous les éléments" @@ -4155,19 +4176,19 @@ msgstr "Zoomer pour montrer tous les éléments" msgid "workspace.header.zoom-full-screen" msgstr "Plein écran" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zoomer sur la sélection" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Éditer la grille" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Quitter" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Montrer les options de marge intérieure sur les 4 côtés" @@ -4183,7 +4204,7 @@ msgstr "Fait" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Montrer" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Montrer la disposition en grille" @@ -4192,7 +4213,7 @@ msgstr "Montrer la disposition en grille" msgid "workspace.libraries.add" msgstr "Ajouter" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s couleurs" @@ -4222,31 +4243,31 @@ msgstr "Couleurs récentes" msgid "workspace.libraries.colors.rgb-complementary" msgstr "Complémentaire en RVB" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RVBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Enregistrer le style de couleur" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s composants" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Bibliothèque du fichier" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s graphiques" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTHÈQUES DANS CE FICHIER" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTHÈQUES" @@ -4255,63 +4276,59 @@ msgstr "BIBLIOTHÈQUES" msgid "workspace.libraries.library" msgstr "BIBLIOTHÈQUE" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "MISES À JOUR DE LA BIBLIOTHÈQUE" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Chargement…" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Aucune Bibliothèque Partagée n’a besoin d’être mise à jour" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Aucune correspondance pour « %s »" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Aucune Bibliothèque Partagée disponible" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Rechercher des Bibliothèques Partagées" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "BIBLIOTHÈQUES PARTAGÉES" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Connecter librairie" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Plusieurs typographies" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Dissocier toutes les typographies" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s typographies" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Déconnecter librairie" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Actualiser" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "Voir tous les changements" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "MISES À JOUR" @@ -4331,43 +4348,43 @@ msgstr "Flou de groupe" msgid "workspace.options.blur-options.title.multiple" msgstr "Flou de sélection" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Couleur de fond du canvas" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Tronquer le contenu" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Composant" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Note" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Copier" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Créer une note" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Éditer une note" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Principal" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Échanger composant" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "Cette librairie ne contient aucun élément pour le moment" @@ -4415,7 +4432,7 @@ msgstr "Haut & bas" msgid "workspace.options.design" msgstr "Conception" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Export" @@ -4424,13 +4441,13 @@ msgstr "Export" msgid "workspace.options.export-multiple" msgstr "Exporter la sélection" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Exporter 1 élément" msgstr[1] "Exporter %s éléments" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Suffixe" @@ -4438,7 +4455,7 @@ msgstr "Suffixe" msgid "workspace.options.exporting-complete" msgstr "L'export est terminé" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Exportation…" @@ -4576,7 +4593,7 @@ msgstr "Contour de groupe" msgid "workspace.options.guides.title" msgstr "Guides" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Hauteur" @@ -4886,19 +4903,19 @@ msgstr "Calques sélectionnés" msgid "workspace.options.layout-item.advanced-ops" msgstr "Options avancées" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Hauteur max" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Largeur max" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Hauteur min" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Largeur min" @@ -5012,11 +5029,11 @@ msgstr "espace entre" msgid "workspace.options.layout.top" msgstr "En haut" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Plus de couleurs" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Plus de couleurs de la bibliothèque" @@ -5053,7 +5070,7 @@ msgstr "En haut à gauche" msgid "workspace.options.radius-top-right" msgstr "En haut à droite" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Récentes" @@ -5061,11 +5078,11 @@ msgstr "Récentes" msgid "workspace.options.retry" msgstr "Réessayer" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotation" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Rechercher une police" @@ -5075,7 +5092,7 @@ msgstr "" "Sélectionnez une forme, un plan de travail ou un groupe pour faire glisser " "une connexion vers un autre plan de travail." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Couleurs sélectionnées" @@ -5087,43 +5104,43 @@ msgstr "Remplissage de sélection" msgid "workspace.options.selection-stroke" msgstr "Contour de sélection" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Flou" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Couleur de l'ombre" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Ombre portée" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Ombre intérieure" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Diffusion" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Ombre" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Ombre de groupe" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Ombres de la sélection" @@ -5131,7 +5148,7 @@ msgstr "Ombres de la sélection" msgid "workspace.options.show-fill-on-export" msgstr "Afficher à l'export" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Montrer en mode spectateur" @@ -5139,7 +5156,7 @@ msgstr "Montrer en mode spectateur" msgid "workspace.options.size" msgstr "Taille" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Tailles prédéfinies" @@ -5208,7 +5225,7 @@ msgstr "Triangle" msgid "workspace.options.stroke-color" msgstr "Couleur du tracé" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Largeur du tracé" @@ -5272,11 +5289,11 @@ msgstr "Largeur automatique" msgid "workspace.options.text-options.grow-fixed" msgstr "Fixe" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Interlettrage" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Interlignage" @@ -5342,15 +5359,15 @@ msgstr "" "Utilisez le bouton de lecture dans l’en‑tête pour exécuter la vue du " "prototype." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Largeur" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "Axe X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Axe Y" @@ -5438,99 +5455,99 @@ msgstr "Extension correctement chargée." msgid "workspace.plugins.title" msgstr "Extensions" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Ajouter flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Ajouter disposition en grille" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Envoyer au fond" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Éloigner" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Copier" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Créer une note" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Créer un plan de travail depuis la sélection" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Créer un composant" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Créer plusieurs composants" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Couper" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Supprimer" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Supprimer le départ du flux" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Détacher l’instance" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Détacher les instances" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Différence" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Dupliquer" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Modifier" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Exclure" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Aplatir" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Retourner horizontalement" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Retourner verticalement" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Départ du flux" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Avancer" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Amener au premier plan" @@ -5539,95 +5556,95 @@ msgstr "Amener au premier plan" msgid "workspace.shape.menu.go-main" msgstr "Aller au fichier du composant principal" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Groupe" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Masquer" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Montrer/Masquer l'interface" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Intersection" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Bloquer" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Masque" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Coller" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Chemin" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Retirer flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Supprimer la disposition en grille" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Annuler les modifications" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Rétablir le composant principal" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Sélectionner le calque" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Montrer" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Afficher dans le panneau des ressources" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Afficher le composant principal" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Retirer la miniature" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Définir comme miniature" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transformer en chemin" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Dégrouper" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Union" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Débloquer" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Supprimer le masque" @@ -5636,7 +5653,7 @@ msgstr "Supprimer le masque" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Mettre à jour les composants" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Actualiser le composant principal" @@ -5648,11 +5665,11 @@ msgstr "Réduire la barre latérale" msgid "workspace.sidebar.expand" msgstr "Ouvrir la barre latérale" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Historique" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Calques" @@ -5688,7 +5705,7 @@ msgstr "Formes" msgid "workspace.sidebar.layers.texts" msgstr "Textes" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Attributs SVG importés" @@ -5696,11 +5713,11 @@ msgstr "Attributs SVG importés" msgid "workspace.sidebar.sitemap" msgstr "Pages" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Plan du site" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Ressources" @@ -5708,35 +5725,35 @@ msgstr "Ressources" msgid "workspace.toolbar.color-palette" msgstr "Palette de couleurs (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Commentaires (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Courbe (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Ellipse (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Plan de travail (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Image (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Déplacer (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Chemin (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rectangle (%s)" @@ -5745,7 +5762,7 @@ msgstr "Rectangle (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Raccourcis (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Texte (%s)" @@ -5753,7 +5770,7 @@ msgstr "Texte (%s)" msgid "workspace.toolbar.text-palette" msgstr "Polices (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Activer/Désactiver la barre d'outils" @@ -5911,19 +5928,19 @@ msgstr "Opération sur %s" msgid "workspace.undo.title" msgstr "Historique" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Ignorer" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Plus d'information" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Il y a des mises à jour dans les Bibliothèques Partagées" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Actualiser" diff --git a/frontend/translations/gl.po b/frontend/translations/gl.po index 85ae1b4efb..9300a8fc6b 100644 --- a/frontend/translations/gl.po +++ b/frontend/translations/gl.po @@ -34,13 +34,13 @@ msgstr "Crear unha conta de proba" msgid "auth.create-demo-profile" msgstr "Queres probar?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Este é un servizo de DEMOSTRACIÓN. NON O UTILICES para traballos reais, os " "proxectos eliminanse periódicamente." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Esqueciches o teu contrasinal?" @@ -52,27 +52,27 @@ msgstr "Nome completo" msgid "auth.login-here" msgstr "Entra aquí" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Entrar" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "Gitlab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -96,7 +96,7 @@ msgstr "Enviouse ó teu correo electrónico un enlace co que recuperar o contras msgid "auth.notifications.team-invitation-accepted" msgstr "Unícheste ao equipo" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Contrasinal" @@ -124,11 +124,11 @@ msgstr "Esqueceches o teu contrasinal?" msgid "auth.recovery-submit" msgstr "Cambiar o teu contrasinal" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Ainda non tes unha conta?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Crea unha conta" @@ -141,7 +141,7 @@ msgstr "Crea unha conta" msgid "auth.sidebar-tagline" msgstr "A solución de código aberto para deseñar e crear prototipos." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Condicións de servizo" @@ -149,7 +149,7 @@ msgstr "Condicións de servizo" msgid "auth.verification-email-sent" msgstr "Enviamos un correo electrónico de verificación a" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publicar" @@ -221,7 +221,7 @@ msgstr "Compartir prototipos" msgid "common.share-link.view-all" msgstr "Seleccionar todas" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Cancelar publicación" @@ -275,7 +275,7 @@ msgstr "Engadir como Biblioteca Compartida" msgid "dashboard.change-email" msgstr "Cambiar correo electrónico" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(copia)" @@ -397,25 +397,25 @@ msgstr "Incluir os recursos de bibliotecas compartidas na biblioteca do ficheiro msgid "dashboard.export.title" msgstr "Exportar ficheiros" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Fonte eliminada" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Desbotar todas" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Aínda non instalaches as túas propas fontes." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "Engadiuse 1 fonte" msgstr[1] "Engadíronse % fontes" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -425,20 +425,20 @@ msgstr "" "Podes cargar fontes cos seguintes formatos: **TTF, OFT e WOFF** (só se " "precisa un)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Só debes cargar fontes da túa propiedade ou das que teñas licenza para usar " "en Penpot. Atopa máis información na sección de dereitos de contido nas " -"[Condicións do servizo de Penpot](%s). Podes ler " -"máis sobre [licenzas de fontes](https://www.typography.com/faq)." +"[Condicións do servizo de Penpot](%s). Podes ler máis sobre [licenzas de " +"fontes](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Cargar todas" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importar archivos de Penpot" @@ -450,11 +450,11 @@ msgstr "Vaia! Non se puido importar o ficheiro" msgid "dashboard.import.import-error" msgstr "Houbo un problema ao importar o ficheiro. Non se puido importar o ficheiro." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "% ficheiros importáronse correctamente." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Algúns ficheiros contiñan obxectos non válidos que foron eliminados." @@ -494,27 +494,27 @@ msgstr "Invitar ao equipo" msgid "dashboard.leave-team" msgstr "Abandonar o equipo" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliotecas e Modelos" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Explora máis e descubre como contribuír" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Ocorreu un problema ao importar o modelo. Non se importou o modelo." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Bibliotecas compartidas" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "cargando os teus ficheiros …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "cargando as túas fontes …" @@ -530,11 +530,11 @@ msgstr "Mover % ficheiros a" msgid "dashboard.move-to-other-team" msgstr "Mover a outro equipo" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Novo ficheiro" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Novo ficheiro" @@ -542,7 +542,7 @@ msgstr "Novo ficheiro" msgid "dashboard.new-project" msgstr "+ Novo proxecto" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Novo proxecto" @@ -574,7 +574,7 @@ msgstr "%s integrantes" msgid "dashboard.open-in-new-tab" msgstr "Abrir ficheiro nunha nova lapela" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opcións" @@ -615,7 +615,7 @@ msgstr "Escolle idioma da interface" msgid "dashboard.select-ui-theme" msgstr "Escolle un tema" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Mostra todos os ficheiros" @@ -635,7 +635,7 @@ msgstr "Duplicouse o ficheiro" msgid "dashboard.success-duplicate-project" msgstr "Duplicouse o proxecto" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Moveuse o ficheiro" @@ -691,7 +691,7 @@ msgstr "Correo electrónico" msgid "dashboard.your-name" msgstr "Nome" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "O teu Penpot" @@ -707,11 +707,11 @@ msgstr "Atención" msgid "ds.component-subtitle" msgstr "Compoñentes para actualizar:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Cancelar" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -719,7 +719,7 @@ msgstr "Ok" msgid "ds.confirm-title" msgstr "Seguro?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Provedor de autenticación non configurado." @@ -739,7 +739,7 @@ msgstr "Asunto" msgid "feedback.title" msgstr "Correo electrónico" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Desenfoque" @@ -747,27 +747,27 @@ msgstr "Desenfoque" msgid "inspect.attributes.blur.value" msgstr "Valor" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Recheo" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Altura" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Ancho" @@ -806,11 +806,11 @@ msgstr "Enriba" msgid "inspect.attributes.layout.width" msgstr "Ancho" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Sombra" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Bordo" @@ -847,75 +847,75 @@ msgstr "Sólido" msgid "inspect.attributes.stroke.width" msgstr "Ancho" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografía" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Ningunha" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Riscar" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Suliñar" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Ningunha" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Código" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Círculo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Compoñente" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Curva" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "taboleiro" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grupo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Imaxe" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Máscara" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Trazado" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rectángulo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Texto" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Información" @@ -931,7 +931,7 @@ msgstr "Aceptar" msgid "labels.admin" msgstr "Administración" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Todo" @@ -943,23 +943,23 @@ msgstr "e" msgid "labels.back" msgstr "Volver" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Cancelar" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Pechar" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Comentarios" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Continuar" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Crear" @@ -967,15 +967,15 @@ msgstr "Crear" msgid "labels.dashboard" msgstr "Panel" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Eliminar" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Borradores" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Editar" @@ -987,15 +987,15 @@ msgstr "Editor" msgid "labels.expired-invitation" msgstr "Caducada" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exportar" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Estilos" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fontes" @@ -1007,7 +1007,7 @@ msgstr "Invitacións" msgid "labels.language" msgstr "Lingua" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Pechar sesión" @@ -1048,7 +1048,7 @@ msgstr "Proxectos" msgid "labels.remove" msgstr "Retirar" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Mudar o nome" @@ -1060,7 +1060,7 @@ msgstr "Volver tentar" msgid "labels.role" msgstr "Rol" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Gardar" @@ -1084,7 +1084,7 @@ msgstr "Bibliotecas" msgid "labels.status" msgstr "Estado" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Titoriales" @@ -1092,11 +1092,11 @@ msgstr "Titoriales" msgid "labels.update" msgstr "Actualizar" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Cargar" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Cargando…" @@ -1108,11 +1108,11 @@ msgstr "Visor" msgid "labels.you" msgstr "(ti)" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Actualizar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Cancelar" @@ -1292,19 +1292,19 @@ msgstr "Mapa do sitio" msgid "workspace.assets.assets" msgstr "Recursos" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Cores" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Compoñentes" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Eliminar" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplicar" @@ -1312,23 +1312,19 @@ msgstr "Duplicar" msgid "workspace.assets.edit" msgstr "Editar" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Gráficos" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Agrupar" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Bibliotecas" - -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Mudar o nome" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Tipografías" @@ -1337,15 +1333,15 @@ msgstr "Tipografías" msgid "workspace.assets.typography.font-id" msgstr "Fonte" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Tamaño" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variante" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -1369,16 +1365,15 @@ msgstr "Ficheiro" msgid "workspace.header.menu.option.preferences" msgstr "Preferencias" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Restablecer" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Gardado" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Gardando" @@ -1392,11 +1387,11 @@ msgstr "Engadir" msgid "workspace.libraries.colors.hsv" msgstr "HSV" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTECAS" @@ -1405,11 +1400,11 @@ msgstr "BIBLIOTECAS" msgid "workspace.libraries.library" msgstr "BIBLIOTECA" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Actualizar" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "Actualizacións" @@ -1417,7 +1412,7 @@ msgstr "Actualizacións" msgid "workspace.options.blur-options.title" msgstr "Desenfoque" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Compoñente" @@ -1457,7 +1452,7 @@ msgstr "Enriba e Embaixo" msgid "workspace.options.design" msgstr "Deseño" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exportar" @@ -1466,13 +1461,13 @@ msgstr "Exportar" msgid "workspace.options.export-multiple" msgstr "Exportar selección" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Exportar 1 elemento" msgstr[1] "Exportar %s elementos" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Sufixo" @@ -1480,7 +1475,7 @@ msgstr "Sufixo" msgid "workspace.options.exporting-complete" msgstr "Exportación completada" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Exportando…" @@ -1584,7 +1579,7 @@ msgstr "Centro" msgid "workspace.options.text-options.none" msgstr "Nada" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Editar" diff --git a/frontend/translations/ha.po b/frontend/translations/ha.po index b3bb5faee1..0932edb1de 100644 --- a/frontend/translations/ha.po +++ b/frontend/translations/ha.po @@ -1,7 +1,7 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-08-11 20:09+0000\n" -"Last-Translator: Alhassan Atama \n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" +"Last-Translator: Anonymous \n" "Language-Team: Hausa " "\n" "Language: ha\n" @@ -9,7 +9,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.7-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -34,13 +34,13 @@ msgstr "qirqiri taskar gwaji" msgid "auth.create-demo-profile" msgstr "ka na son gwadawa ne kawai?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "wannan aikin gwaji ne kawai,kar ka yi amfani da shi a aikin gaske,lokaci " "zuwa lokaci za ya ringa vacewa ne." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "ka manta lambar tsaro?" @@ -52,27 +52,27 @@ msgstr "cikakken suna" msgid "auth.login-here" msgstr "shiga nan" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "shiga ciki" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "matattarar manazarta" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "wurin nazari" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Gugul" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "shaidar buxewa" @@ -96,7 +96,7 @@ msgstr "an aika maka da saqon matakan da za a bi domin dawo da lambar tsaronka." msgid "auth.notifications.team-invitation-accepted" msgstr "ka zama dan tawaga" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "lambar tsaro" @@ -125,7 +125,7 @@ msgstr "qirqiri sabon kundi" msgid "auth.sidebar-tagline" msgstr "samun hanyar magance matsalar zane-zane." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "dokokin aiki" @@ -144,7 +144,7 @@ msgstr "mun aika maka da saqon tantancewa ta imel" msgid "branding-illustrations-marketing-pieces" msgstr "...branding, illustrations, marketing pieces, etc." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "wallafawa" @@ -214,7 +214,7 @@ msgstr "fenfot" msgid "common.share-link.view-all" msgstr "zavi duka" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "maras wallafa" @@ -264,7 +264,7 @@ msgstr "ma'aunin karvuwar aiki" msgid "dashboard.access-tokens.copied-success" msgstr "kwafar lambar tsaro" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "samo sabuwar lambar tsaro" @@ -272,13 +272,13 @@ msgstr "samo sabuwar lambar tsaro" msgid "dashboard.access-tokens.create.success" msgstr "ka sami lambar tsaron da aka yi." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "" "danna maddanin qasa\"danna qasa\n" "emo sabuwar lambar tsaro\" samar da wani." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "ba ka da wasu lambobin tsaro yanzu." @@ -302,23 +302,23 @@ msgstr "kwanaki 90" msgid "dashboard.access-tokens.expiration-never" msgstr "bai yiwuwa" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "gama aiki kan %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "gama aiki kan %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "ba lokacin daina amfani" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "mallakar lambobin shiga na sirri" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "lambarka ta shiga na a matsayin zabin hanyar shiga/lambar tsaronmuza a iya " @@ -340,7 +340,7 @@ msgstr "tura tamkar fenfot" msgid "dashboard.change-email" msgstr "canza imel" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kwafi)" @@ -456,25 +456,25 @@ msgstr "tura taska ya qunshi bayanan da ke cikin kundin taskoki" msgid "dashboard.export.title" msgstr "fitar da kundayr" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "rashin font" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "goge duka" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "fonts da ka xora nan za ya bayyana." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "an qara font 1" msgstr[1] "%s an qara fonts da yawa" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -483,7 +483,7 @@ msgstr "" "kasawa**gwaurayen font**. Za ka iya xora font ta waxannan hanyoyin: **TTF, " "OTF and WOFF** (xaya kawai ake buqata)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" @@ -492,11 +492,11 @@ msgstr "" "fpntaiki](https://fenfot.app/dokoki.html). Za ka so bayani game " "da[ffonts](https://www.rubutu.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "xora duka" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -506,7 +506,7 @@ msgstr "" "mun aminta da amfani da [taransifota](https://taransifota.org/) domin samo " "webfonts da adana kurakurai. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "shigo da kundin fenfot" @@ -518,13 +518,13 @@ msgstr "kash! mun gaza shigo da kundinka" msgid "dashboard.import.import-error" msgstr "akwi matsala a kundin. ba a shio da kundin ba." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "an shigar kundi 1." msgstr[1] "%s kundaye sun shiga." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "wasu kundayen na dauke da abubuwan da ba su da amfani." @@ -564,27 +564,27 @@ msgstr "neman mutane" msgid "dashboard.leave-team" msgstr "fita tawaga" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "taska da shaidar kamfanoni" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "bincika su da kyau kasan ta yadda za ka bayar da gudunmawa" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "akwai matsala wurin shigo da fejin talla. fejin tallar ba ya xauko." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "taskoki" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "aikin dora kundaye …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "xora abin adonka …" @@ -600,11 +600,11 @@ msgstr "tura %s kundaye a" msgid "dashboard.move-to-other-team" msgstr "tura ma sauran tawaga" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ sabon kundi" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "sabon kundi" @@ -612,7 +612,7 @@ msgstr "sabon kundi" msgid "dashboard.new-project" msgstr "+ sabon aiki" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "sabon aiki" @@ -644,7 +644,7 @@ msgstr "%s memba" msgid "dashboard.open-in-new-tab" msgstr "buxe kundi a sabon wurin buxewa" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "zavi" @@ -689,7 +689,7 @@ msgstr "zavavven harshen UI" msgid "dashboard.select-ui-theme" msgstr "zaven batu" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "duk kundaye" @@ -713,7 +713,7 @@ msgstr[1] "an kwafi kundayenka" msgid "dashboard.success-duplicate-project" msgstr "an kwafi aikinka" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "an tura aikinka" @@ -807,7 +807,7 @@ msgstr "imel" msgid "dashboard.your-name" msgstr "sunanka" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "fenfot na ka" @@ -823,11 +823,11 @@ msgstr "natsu" msgid "ds.component-subtitle" msgstr "zamanantar da sassa:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "goge" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "haka" @@ -835,7 +835,7 @@ msgstr "haka" msgid "ds.confirm-title" msgstr "ka tabbata?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "manhajar tantancewar ba ta tsaru ba." @@ -843,11 +843,11 @@ msgstr "manhajar tantancewar ba ta tsaru ba." msgid "errors.auth.unable-to-login" msgstr "lokacin ya qare ko ba a tantance ka ba." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "ba za a iya xora fonts %s ba" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "ba za a iya xora fonts %s ba" @@ -855,7 +855,7 @@ msgstr "ba za a iya xora fonts %s ba" msgid "errors.cannot-upload" msgstr "kasa xora xan aiken kundi." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "manhajar binciken nan ba ta iya yin wannan aikin" @@ -867,7 +867,7 @@ msgstr "an yi amfani da imel" msgid "errors.email-already-validated" msgstr "an farfaxo da imel." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "ba za ka iya amfani da imel ba a matsayin lambar tsaro ba" @@ -889,7 +889,7 @@ msgstr "" msgid "errors.feature-not-supported" msgstr "sassa '%s' ba za su yi aiki ba." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "wata matsala ta faru." @@ -902,8 +902,7 @@ msgstr "launin bai yi ba" msgid "errors.invalid-email" msgstr "sanya imel mai amfani" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "tabbata imel xinka ya yi daidai" @@ -919,7 +918,7 @@ msgstr "gaiyar ba ta yi ba" msgid "errors.invite-invalid.info" msgstr "za a iya soke gayyata ko ta ki aiki." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP ya gaza tantancewa." @@ -953,7 +952,7 @@ msgstr "tabbata labar tsaro ta yi daidai" msgid "errors.password-too-short" msgstr "lambar tsaro dole ta kai yawan alamu 8" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "bayanan a rufe suke" @@ -1013,12 +1012,11 @@ msgstr "matsalar da ba zata ba lokacin farfaxowa" msgid "errors.webhooks.unexpected-status" msgstr "matsayin da ba zato %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "kuskuren imel ko lambar tsaro." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "tsohuwar lambar tsaro ba daidai ba ce" @@ -1066,11 +1064,11 @@ msgstr "tambayoyin da ke buqatar amsa." msgid "feedback.twitter-title" msgstr "wurin karvar qorafin tiwita" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "afkuwar matsala" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "xige-xige" @@ -1078,31 +1076,31 @@ msgstr "xige-xige" msgid "inspect.attributes.blur.value" msgstr "muhimmanci" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "cika" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "sauke hanyar hoto" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "tsawo" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "faxi" @@ -1141,15 +1139,15 @@ msgstr "sama" msgid "inspect.attributes.layout.width" msgstr "fadi" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "inuwa" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "wurin daxa girma" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "yankewa" @@ -1186,135 +1184,135 @@ msgstr "tauri" msgid "inspect.attributes.stroke.width" msgstr "fadi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "tsara rubutu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "gidan salo" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "girman salo" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "tsarin salo" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "kaurin salon" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "tazarar harafi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "tsawon layi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "kwalliyar rubutu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "babu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "zana layi tsakiyar rubutu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "jan layi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "masarrafin rubu,manya ko qanana" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "qananan baqaqe" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "babu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "yadda ake rubuta batu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "manyan baqaqe" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "domin neman qarin bayani game da fenfot a tuntubi sashen agaji" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "qarin bayani a fagen lura" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "zabar zubi, hukumar masu sa ido akan bangarorinsu da lambobinsu" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "lamba" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "da'ira" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "bangare" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "lankwasa" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "hukuma" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "qungiya" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "hoto" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "marfi" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s zavavve" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "hanya" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "rektangul" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "rubutu" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "bayani" @@ -1334,7 +1332,7 @@ msgstr "lambobi masu xauke da bayani" msgid "labels.active" msgstr "mai amfani" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "inganta font" @@ -1346,7 +1344,7 @@ msgstr "shugaba" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "duk" @@ -1368,7 +1366,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "akwai matsala" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "sokewa" @@ -1376,15 +1374,15 @@ msgstr "sokewa" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "rufewa" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "yabo" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "matattara" @@ -1392,7 +1390,7 @@ msgstr "matattara" msgid "labels.confirm-password" msgstr "tabbatar da lambar tsaro" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "ci gaba" @@ -1408,7 +1406,7 @@ msgstr "za ka iya ci gaba a idanka na fenfot" msgid "labels.copy-invitation-link" msgstr "kwafar hanya" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "yi" @@ -1428,15 +1426,15 @@ msgstr "kwalliya da fenfot" msgid "labels.dashboard" msgstr "dashbod" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "goge" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "goge yabo" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "goge rubutu" @@ -1452,15 +1450,15 @@ msgstr "goge %s kundaye" msgid "labels.developer" msgstr "ma su qirqira" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "vatar" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "adana" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "gyara" @@ -1476,7 +1474,7 @@ msgstr "maigyara" msgid "labels.expired-invitation" msgstr "daina aiki" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "fitarwa" @@ -1492,7 +1490,7 @@ msgstr "aika bayani" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "ire-iren font" @@ -1500,11 +1498,11 @@ msgstr "ire-iren font" msgid "labels.font-providers" msgstr "ma su fenfot" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "salo" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Font" @@ -1516,11 +1514,11 @@ msgstr "mawallafi/VP" msgid "labels.freelancer" msgstr "ni mai zaman kansa ne" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "taskar rubuce-rubuce" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "bada bayani" @@ -1528,11 +1526,11 @@ msgstr "bada bayani" msgid "labels.go-back" msgstr "koma baya" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "sashen taimako" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "voye saqon da aka buxa" @@ -1540,7 +1538,7 @@ msgstr "voye saqon da aka buxa" msgid "labels.inactive" msgstr "maras amfani" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "sanya fenfot" @@ -1566,7 +1564,7 @@ msgstr "gayyata" msgid "labels.language" msgstr "harshe" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "taskoki & allunan talla" @@ -1574,7 +1572,7 @@ msgstr "taskoki & allunan talla" msgid "labels.log-or-sign" msgstr "yi ko shiga" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "fita" @@ -1594,11 +1592,11 @@ msgstr "mambobi" msgid "labels.new-password" msgstr "sabuwar lambar tsaro" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "na gaba" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "an dakatar da kai duka! Alamar sabon sharhi za ta fito nan." @@ -1620,7 +1618,7 @@ msgstr "babu wannan fagen, ko ba ka da izinin shiga." msgid "labels.not-found.main-message" msgstr "alama!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "kundi 1" @@ -1683,7 +1681,7 @@ msgstr "kundi" msgid "labels.projects" msgstr "aiyuka" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "bayar da bayani" @@ -1701,7 +1699,7 @@ msgstr "cire" msgid "labels.remove-member" msgstr "cire mamba" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "sake suna" @@ -1721,11 +1719,11 @@ msgstr "sake gwadawa" msgid "labels.role" msgstr "matsayi" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "ajiye" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "neman font" @@ -1761,15 +1759,15 @@ msgstr "tura manhajar rubutu" msgid "labels.shared-libraries" msgstr "taskoki" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "fito da yabo" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "jerin ire-iren yabo" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "bayyana na ka ra’ayin" @@ -1789,7 +1787,7 @@ msgstr "daraja" msgid "labels.student-teacher" msgstr "malami ko dalibi" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "koyarwa" @@ -1805,15 +1803,15 @@ msgstr "sabunta" msgid "labels.update-team" msgstr "sabunta tawaga" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "xorawa" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Upload custom fonts" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "ana dorawa…" @@ -1829,7 +1827,7 @@ msgstr "ma su kallo" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "rubuta s abon yabo" @@ -1837,7 +1835,7 @@ msgstr "rubuta s abon yabo" msgid "labels.you" msgstr "(kai)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "fagenka" @@ -1891,7 +1889,7 @@ msgstr "sake imel" msgid "modals.change-email.title" msgstr "sake imel xinka" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "kwafar kyauta" @@ -1907,7 +1905,7 @@ msgstr "suna" msgid "modals.create-access-token.name.placeholder" msgstr "sunan zai iya taimakawa wajen sanin menene alama" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "yi sabuwar alama" @@ -1931,15 +1929,15 @@ msgstr "farashin URL" msgid "modals.create-webhook.url.placeholder" msgstr "https://misali.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "goge alama" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "ka tabbata kana son goge wannan alamar?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "goge alama" @@ -1959,23 +1957,23 @@ msgstr "idan ka cire asusunka za ka iya rasa aikin da ka kammala." msgid "modals.delete-account.title" msgstr "ka tabbata ka na son goge asusunka?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "goge fira" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "ka tabbata ka na son goge fira? duk sharhi a nan za a goge matsaloli." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "goge tattaunawa" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "ka tabbata kana son goge wannan bayanin?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "goge bayani" @@ -2003,31 +2001,31 @@ msgstr "ka tabbata kana son goge %s kundaye?" msgid "modals.delete-file-multi-confirm.title" msgstr "gogewa %s kundaye" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "ka tabbata kana son goge wannan salon font din? ba zai xoru ba idan an yi " "amfani da shi a kundi." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "goge salon font" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "ka tabbata kana son goge wannan font xin ? ba zai yi aiki ba idan an yi " "amfani da shi a kundi." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "goge font" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "ka tabbata kana son goge wannan shafin?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "goge shafi" @@ -2215,15 +2213,15 @@ msgstr "kai ke da wannan tawagar yanzu. ka tabbata kana son yin %s sabon mai taw msgid "modals.promote-owner-confirm.title" msgstr "mallakar tawaga" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "wallafa" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "ba komai a taskarka. ka na son wallafa ta?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "wallafa taska maras komai" @@ -2273,21 +2271,21 @@ msgstr "" "ka kusa sabunta taskar ajiyar shir-shirye. zai iya shafar sauran kundayen " "da ke amfani da ita." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "sabunta" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "soke" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "ka kusa sabunta sashe a babbar taska. wannan za ya iya aiki a sauran " "kundayen da ke amfani da ita." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "sabunta sashe a babbar taska" @@ -2343,27 +2341,27 @@ msgstr "koyarwa ta hoto mai motsi" msgid "onboarding-v2.before-start.title" msgstr "kafin ka fara" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "domin jin daxin fenfot , sai ka biya kuxi domin labarai da ci gaban da ake " "samu." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "aiko man da bayanin fenfot (rubutun blog, bidiyon koyarwa, kallo...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "mu na kula da sirri, a nan za ka karanta na mu " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "za mu aika maka da imel mai amfani. za ka iya biya a kowane lokaci za ka " "iya ta kowace hanyar biyanmu." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "aiko man da sabbin abubuwan da aka yi (sabbib fasali, fitowa, gyara...)." @@ -2423,17 +2421,17 @@ msgstr "gayyata tare da bayar da matsayi:" msgid "onboarding.newsletter.accept" msgstr "haka, za a biya" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "an aika maka da saqon buqatar biya, za mu aika maka da saqon imel tabbatar " "da shi." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "dokoki." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "ka buqatar labaran fenfot?" @@ -2519,7 +2517,7 @@ msgstr "je ka hanyar shiga" msgid "settings.detach" msgstr "cire" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "gauraya" @@ -2705,7 +2703,7 @@ msgstr "samar da sabo abu" msgid "shortcuts.cut" msgstr "cire" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "fito da shi waje" @@ -2805,7 +2803,7 @@ msgstr "raba ta tsaye" msgid "shortcuts.hide-ui" msgstr "fito / boye UI" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "zuko ciki" @@ -3157,15 +3155,15 @@ msgstr "Zuko wanda aka zaba" msgid "title.dashboard.files" msgstr "%s - Tukunyar aje biro" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "samar da jerin harufa - %s - Mazubin biruka" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "jerin harufa - %s - Mazubin biruka" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "tsare tsare - %s - Mazubin biruka" @@ -3173,7 +3171,7 @@ msgstr "tsare tsare - %s - Mazubin biruka" msgid "title.dashboard.search" msgstr "nema - %s - Mazubin biruka" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Rababban dakin karatu- %s - Mazubin biruka" @@ -3181,7 +3179,7 @@ msgstr "Rababban dakin karatu- %s - Mazubin biruka" msgid "title.default" msgstr "Mazubin biruka - Tsara yanci ga tawaga" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "karin bayani - Shiga alama" @@ -3221,7 +3219,7 @@ msgstr "gidan yanar gizo - %s - Mazubin biruka" msgid "title.viewer" msgstr "%s - duba kumburi - Mazubin biruka" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Mazubin biruka" @@ -3326,15 +3324,15 @@ msgstr "Daidaita sama(%s)" msgid "workspace.assets.assets" msgstr "kadara" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "duka kadara" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "kala" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Bangarori" @@ -3346,15 +3344,15 @@ msgstr "kirkiri rukuni" msgid "workspace.assets.create-group-hint" msgstr "abubuwanka za a samu su suna nan take kamar \"sunan kungiya/ sunan abubuwan\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "goge" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "maimaita" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "maimaita ainihin" @@ -3362,11 +3360,11 @@ msgstr "maimaita ainihin" msgid "workspace.assets.edit" msgstr "tace" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "zane zane" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "rukuni" @@ -3374,23 +3372,19 @@ msgstr "rukuni" msgid "workspace.assets.group-name" msgstr "sunan kungiya" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "dakunan karatu" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "dakin karatun gida" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "ba'a samu kadara ba" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "bude fiyal din dakin karatu" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "sake suna" @@ -3398,7 +3392,7 @@ msgstr "sake suna" msgid "workspace.assets.rename-group" msgstr "sake sunan kungiyar" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "nemo kadarar" @@ -3414,7 +3408,7 @@ msgstr[1] "%s zababbun abubuwan" msgid "workspace.assets.shared-library" msgstr "rababben dakin karatu" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "rubutun rubutu" @@ -3423,27 +3417,27 @@ msgstr "rubutun rubutu" msgid "workspace.assets.typography.font-id" msgstr "tsarin haruffa" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "girma" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "bambanci" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "tafi zuwa salon dakin karatu don a tace" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "fili a tsakanin haruffa" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "tsawon layi" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3451,7 +3445,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "salon rubutu" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "canja rubutu" @@ -3463,11 +3457,11 @@ msgstr "kashe daga kungiya" msgid "workspace.focus.focus-mode" msgstr "tsarin maida hankali" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "karka maida hankali" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "maida hankali" @@ -3597,33 +3591,32 @@ msgstr "Nuna launukan tsarin rubutu" msgid "workspace.header.menu.undo" msgstr "Cire" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Kara saitawa" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "an samu kuskure wajen adanawa" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "An adana" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Adanawa" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Canja canjan da ba'a adana ba" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "yanayin kallo (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zuko" @@ -3635,7 +3628,7 @@ msgstr "cike - cika sikeli" msgid "workspace.header.zoom-fit" msgstr "dace - ja sikeli ya dace da shi" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "zuko yayi daidai da ko'ina" @@ -3643,7 +3636,7 @@ msgstr "zuko yayi daidai da ko'ina" msgid "workspace.header.zoom-full-screen" msgstr "Cika allon" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "zuko zababbe" @@ -3656,7 +3649,7 @@ msgstr "tace akwati" msgid "workspace.libraries.add" msgstr "tarawa" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s kala" @@ -3686,31 +3679,31 @@ msgstr "kalar yanzu" msgid "workspace.libraries.colors.rgb-complementary" msgstr "Jituwar RGB" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Adana salon kala" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s bangarori" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Ma'adanar fiyal" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s zane zane" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "Ma'adana a wanna fiyal" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "ma'adanai" @@ -3719,51 +3712,47 @@ msgstr "ma'adanai" msgid "workspace.libraries.library" msgstr "ma'adana" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "sabunta ma'adana" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Babu rabben ma'adanai da suke bukatar sabuntawa" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Babu daidaituwa da aka samu na “%s“" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Babu rababbun ma'adanai wanda aka samu" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Duba rabbaun ma'adanai" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "Rabban ma'adanai" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Rubutun rubutu dayawa" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Cire mahadar duka rabutun rubutu" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s Rubutun rubutu" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Sabuntawa" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "Aga duka canjin" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "sabuntawa" @@ -3783,35 +3772,35 @@ msgstr "rukuni" msgid "workspace.options.blur-options.title.multiple" msgstr "zabin dishi dishi" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "bayan zane" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Matse abun ciki" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Bangarori" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Yin sharhin rubutu" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Kwafa" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Kirkiri sharhin rubuta" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Tace sharhin rubutu" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Ainahin" @@ -3859,7 +3848,7 @@ msgstr "sama & kasa" msgid "workspace.options.design" msgstr "zane" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "fitarwa" @@ -3868,13 +3857,13 @@ msgstr "fitarwa" msgid "workspace.options.export-multiple" msgstr "Fitar da zababbun" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Fitarwa 1 Sashi" msgstr[1] "Fitarwa %s sashi-sashi" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Kari na bayan baki" @@ -3882,7 +3871,7 @@ msgstr "Kari na bayan baki" msgid "workspace.options.exporting-complete" msgstr "An gama fitarwa" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Ana fitarwa" @@ -4012,7 +4001,7 @@ msgstr "Cika rukuni" msgid "workspace.options.group-stroke" msgstr "Ja layi a rukuni" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Tsawo" @@ -4322,19 +4311,19 @@ msgstr "dayawa" msgid "workspace.options.layout-item.advanced-ops" msgstr "zabi na ci gaba" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "tsawo mafi yawa" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "fadi mafi yawa" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "tsawo mafi kankanta" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "fadi mafi kankanta" @@ -4448,11 +4437,11 @@ msgstr "sarari tsakani" msgid "workspace.options.layout.top" msgstr "sama" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "kaloli masu yawa" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Ma'ajiyar kaloli masu yawa" @@ -4489,7 +4478,7 @@ msgstr "saman hagu" msgid "workspace.options.radius-top-right" msgstr "saman dama" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "da dimi dimi" @@ -4497,11 +4486,11 @@ msgstr "da dimi dimi" msgid "workspace.options.retry" msgstr "sake" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "juyawa" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "nemo jerin harufa" @@ -4509,7 +4498,7 @@ msgstr "nemo jerin harufa" msgid "workspace.options.select-a-shape" msgstr "zabi surar allo, ko rukuni ta hadu da daya allon." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "zababbabbin kaloli" @@ -4521,43 +4510,43 @@ msgstr "cika zabi" msgid "workspace.options.selection-stroke" msgstr "gigciye zabi" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "dishi dishi" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "inuwar kala" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "ajiye inuwa" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Inuwar ciki" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "bazu" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "inuwa" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "rukunin inuwa" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "inuwar zabi" @@ -4565,7 +4554,7 @@ msgstr "inuwar zabi" msgid "workspace.options.show-fill-on-export" msgstr "fito da shi a ga" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "fito da kaurin sosai" @@ -4573,7 +4562,7 @@ msgstr "fito da kaurin sosai" msgid "workspace.options.size" msgstr "girma" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "yanayin girman yanayin" @@ -4642,7 +4631,7 @@ msgstr "Triangle" msgid "workspace.options.stroke-color" msgstr "gigciye kalar" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "gigciye fadin" @@ -4706,11 +4695,11 @@ msgstr "sarrafaffen fadi" msgid "workspace.options.text-options.grow-fixed" msgstr "dasa" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "tazarar harafi" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "tsahon layi" @@ -4774,15 +4763,15 @@ msgstr "yanayin sama" msgid "workspace.options.use-play-button" msgstr "yi amfani da madanneta ta sama ki tafi da samfuri." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "fadi" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X layi" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y layi" @@ -4826,99 +4815,99 @@ msgstr "raba kauri (%s)" msgid "workspace.path.actions.snap-nodes" msgstr "tsinke kauri (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "kara sassaukan tsarit" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "kara akwatin tsari" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "tura zuwa baya" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "tura zuwa baya" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "kwafi" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "kirkiri hoto mai motsi" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "zababban allo" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "kirkiri abubuwa" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "kirkiri abubuwa da yawa" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "cire" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "goge" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "goge kwararar farko" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "raba yanayin abin" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "raba yanayin abin" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "bambanci" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "maimaita" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "tace" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "kebe" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "mikad da abu" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "kifa ta tsaye" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "kifa ta kwance" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "fara malala" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "kawo ta gaba" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "kawo zuwa gaba" @@ -4927,91 +4916,91 @@ msgstr "kawo zuwa gaba" msgid "workspace.shape.menu.go-main" msgstr "tafi ainihin wurin fal" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "rukuni" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "boye" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "nuna / boye UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "mahada" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "kulle" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "takunkumik" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "manna" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "hanya" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "cire sassaukan tsari" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "sake saita sokewa" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "saita ainihin wurin" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "zabi shimfida" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "nuna" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "nuna ta kusuwar kadara" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "nuna ainihin wurin" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "cire girman babban danyatsa" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "kara kamar girman babban yatsa" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "sauya zuwa hanya" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "raba rukunin" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "hadakan" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "bude" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "bude takunkumi" @@ -5020,7 +5009,7 @@ msgstr "bude takunkumi" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "sabunta ainihin wurin" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "sabunta ainihin wurin" @@ -5032,11 +5021,11 @@ msgstr "ruguza a'ajiyar bayani" msgid "workspace.sidebar.expand" msgstr "kara yankin ma'agiyar bayani" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "labari" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "shafi" @@ -5072,7 +5061,7 @@ msgstr "Siffa" msgid "workspace.sidebar.layers.texts" msgstr "rubutu" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "shigo da shi SVG halaye" @@ -5080,11 +5069,11 @@ msgstr "shigo da shi SVG halaye" msgid "workspace.sidebar.sitemap" msgstr "shafi" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "taswirar wuri" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "kadara" @@ -5092,35 +5081,35 @@ msgstr "kadara" msgid "workspace.toolbar.color-palette" msgstr "farantin kala (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "ra'ayi (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "kwana(%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "siffar kwai (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "allo (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "hoto (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "motsa (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "hanya (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rectangle (%s)" @@ -5129,7 +5118,7 @@ msgstr "Rectangle (%s)" msgid "workspace.toolbar.shortcuts" msgstr "yanke (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "rubutu (%s)" @@ -5282,19 +5271,19 @@ msgstr "yanayi fiye da %s" msgid "workspace.undo.title" msgstr "labari" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "watsar" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "bayanai masu yawa" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "a kwai na zamani a rababban ma'ajiya" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "sabintawas" diff --git a/frontend/translations/he.po b/frontend/translations/he.po index b999d5c2b7..d3a941aa06 100644 --- a/frontend/translations/he.po +++ b/frontend/translations/he.po @@ -1,16 +1,16 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-01-29 22:23+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Hebrew \n" +"Language-Team: Hebrew " +"\n" "Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " "n % 10 == 0) ? 2 : 3));\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -37,11 +37,11 @@ msgstr "יצירת חשבון הדגמה" msgid "auth.create-demo-profile" msgstr "מעניין אותך רק להתנסות?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "זה שירות ניסיוני, לא להשתמש בו לעבודה אמתית, המיזמים יימחקו מדי פעם בפעם." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "שכחת סיסמה?" @@ -49,7 +49,7 @@ msgstr "שכחת סיסמה?" msgid "auth.fullname" msgstr "שם מלא" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "כניסה לחשבון שלי" @@ -57,31 +57,31 @@ msgstr "כניסה לחשבון שלי" msgid "auth.login-here" msgstr "כניסה מכאן." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "כניסה" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "Penpot הוא כלי בקוד פתוח לשיתוף עיצוב וקוד" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "‎OpenID Connect" @@ -105,7 +105,7 @@ msgstr "קישור לשחזור סיסמה נשלח לתיבת הדוא״ל הנ msgid "auth.notifications.team-invitation-accepted" msgstr "הצטרפת לצוות בהצלחה" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "סיסמה" @@ -133,7 +133,7 @@ msgstr "שכחת סיסמה?" msgid "auth.recovery-submit" msgstr "החלפת הסיסמה שלך" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "אין לך חשבון עדיין?" @@ -145,7 +145,7 @@ msgstr "איך נפנה אליך בלוח הבקרה ובהודעות בדוא״ msgid "auth.register-account-title" msgstr "השם שלך" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "יצירת חשבון" @@ -169,7 +169,7 @@ msgstr "הפתרון בקוד פתוח לעיצוב ויצירת אבטיפוס. msgid "auth.terms-and-privacy-agreement" msgstr "[תנאי השירות](%s) ו[מדיניות הפרטיות](%s) מקובלים עליי." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "תנאי השירות" @@ -181,7 +181,7 @@ msgstr "יצירת חשבון חדש מהווה את הסכמתך לתנאי ה msgid "auth.verification-email-sent" msgstr "שלחנו הודעת דוא״ל לאימות אל" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "דוא״ל עבודה" @@ -190,11 +190,11 @@ msgstr "דוא״ל עבודה" msgid "branding-illustrations-marketing-pieces" msgstr "…מיתוג, איורים, חומרים שיווקיים ועוד." -#: src/app/main/ui/comments.cljs:504 +#: src/app/main/ui/comments.cljs:532 msgid "comments.mentions.not-found" msgstr "לא נמצאו אנשים עבור ‎@%s" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "פרסום" @@ -266,7 +266,7 @@ msgstr "שיתוף אבות טיפוס" msgid "common.share-link.view-all" msgstr "בחירה בהכול" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "ביטול פרסום" @@ -316,7 +316,7 @@ msgstr "סיור בנבכי מנשק המשתמש" msgid "dashboard.access-tokens.copied-success" msgstr "האסימון הועתק" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "יצירת אסימון חדש" @@ -324,11 +324,11 @@ msgstr "יצירת אסימון חדש" msgid "dashboard.access-tokens.create.success" msgstr "אסימון הגישה נוצר בהצלחה." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "נא ללחוץ על הכפתור „יצירת אסימון חדש” כדי ליצור אחד חדש." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "אין לך אסימונים עדיין." @@ -352,23 +352,23 @@ msgstr "90 יום" msgid "dashboard.access-tokens.expiration-never" msgstr "לעולם לא" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "התוקף פג ב־%s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "התוקף יפוג ב־%s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "אין תאריך תפוגה" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "אסימוני כניסה אישיים" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "אסימוני גישה אישיים הם דרך חלופית למערכת אימות הכניסה/סיסמה שלנו ומאפשרים " @@ -382,6 +382,10 @@ msgstr "האסימון יפוג ב־%s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "לאסימון אין תאריך תפוגה" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "הוספת קובץ" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "הוספת ספריה משותפת" @@ -390,7 +394,7 @@ msgstr "הוספת ספריה משותפת" msgid "dashboard.change-email" msgstr "החלפת דוא״ל" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(עותק)" @@ -426,23 +430,23 @@ msgstr "שכפול" msgid "dashboard.duplicate-multi" msgstr "שכפול %s קבצים" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "כשאחד או אחת מחברי הצוות יוצרים טיוטה, היא תוצג כאן." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "אין טיוטות עדיין." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "כשחבר או חברה במיזם יוצרים קובץ, הוא יופיע כאן." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "אין קבצים עדיין." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -456,11 +460,11 @@ msgstr "" "ספריות שנוספו למיזם תופענה כאן. כדאי לנסות לשתף את הקבצים שלך או להוסיף " "מ[הספריות והתבניות](https://penpot.app/libraries-templates) שלנו." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "ספריות שנוספו למיזם תופענה כאן." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "אין ספריות עדיין." @@ -546,27 +550,27 @@ msgstr "לכלול משאבי ספריה משותפת בספריות הקבצי msgid "dashboard.export.title" msgstr "ייצוא קבצים" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "הגופן נמחק" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "להתעלם מהכול" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "גופנים שהעלית יופיעו כאן." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "אין גופנים מותאמים אישית עדיין." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "לאחר העלאת גופן בהתאמה אישית על ידי חברים, הוא יוצג כאן." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "נוסף גופן" @@ -574,7 +578,7 @@ msgstr[1] "נוספו 2 גופנים" msgstr[2] "נוספו %s גופנים" msgstr[3] "נוספו %s גופנים" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -583,20 +587,19 @@ msgstr "" "גופנים יחידה**. ניתן להעלות גופנים מהסוגים הבאים: **TTF,‏ OTF ו־WOFF** (אחד " "הסוגים יספיק)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "עליך להעלות גופנים בבעלותך או שיש לך רישיון להשתמש בהם ב־Penpot. ניתן למצוא " -"על כך מידע נוסף בסעיף זכויות התוכן של [תנאי השירות של " -"Penpot](%s). אפשר גם לקרוא גם על [רישוי " -"גופנים](https://www.typography.com/faq)." +"על כך מידע נוסף בסעיף זכויות התוכן של [תנאי השירות של Penpot](%s). אפשר גם " +"לקרוא גם על [רישוי גופנים](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "להעלות הכול" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -605,7 +608,7 @@ msgstr "" "[זה]](https://vertical-metrics.netlify.app/). בנוסף, המלצתנו היא להשתמש " "ב־[Transfonter](https://transfonter.org/) כדי לייצר גופני רשת ולתקן שגיאות. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "ייבוא קובצי Penpot" @@ -617,11 +620,11 @@ msgstr "אופס! לא הצלחנו לייבא את הקובץ הזה" msgid "dashboard.import.analyze-error.components-v2" msgstr "קובץ עם רכיבים בגרסה 2 מופעל אך הצוות הזה לא תומך בזה עדיין." -#: src/app/main/ui/dashboard.cljs:248 +#: src/app/main/ui/dashboard.cljs:247 msgid "dashboard.import.bad-url" msgstr "הייבוא נכשל. כתובת התבנית שגויה" -#: src/app/main/ui/dashboard.cljs:242 +#: src/app/main/ui/dashboard.cljs:241 msgid "dashboard.import.error" msgstr "הייבוא נכשל. נא לנסות שוב" @@ -629,7 +632,7 @@ msgstr "הייבוא נכשל. נא לנסות שוב" msgid "dashboard.import.import-error" msgstr "אירעה תקלה בייבוא הקובץ. הוא לא ייובא." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "קובץ יובא בהצלחה." @@ -637,11 +640,11 @@ msgstr[1] "%s קבצים יובאו בהצלחה." msgstr[2] "%s קבצים יובאו בהצלחה." msgstr[3] "%s קבצים יובאו בהצלחה." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "חלק מהקבצים הכילו פריטים שגויים שהוסרו." -#: src/app/main/ui/dashboard.cljs:249 +#: src/app/main/ui/dashboard.cljs:248 msgid "dashboard.import.no-perms" msgstr "אין לך הרשאה לייבא לצוות הזה" @@ -681,27 +684,27 @@ msgstr "הזמנת אנשים" msgid "dashboard.leave-team" msgstr "עזיבת הצוות" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "ספריות ותבניות" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "עיון ביותר כאלה והסברים כיצד לתרום להן" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "אירעה שגיאה בייבוא התבנית והיא לא ייובאה." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "ספריות משותפות" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "הקבצים שלך נטענים…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "הגופנים שלך נטענים…" @@ -717,11 +720,11 @@ msgstr "העברה של %s קבצים אל" msgid "dashboard.move-to-other-team" msgstr "העברה לצוות אחר" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ קובץ חדש" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "קובץ חדש" @@ -729,7 +732,7 @@ msgstr "קובץ חדש" msgid "dashboard.new-project" msgstr "+ מיזם חדש" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "מיזם חדש" @@ -741,7 +744,7 @@ msgstr "לא נמצאו תוצאות לחיפוש אחר „%s”" msgid "dashboard.no-projects-placeholder" msgstr "מיזמים נעוצים יופיעו כאן" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "התראות" @@ -753,7 +756,7 @@ msgstr "כתובת הדוא״ל שלך עודכנה בהצלחה" msgid "dashboard.notifications.email-verified-successfully" msgstr "כתובת הדוא״ל שלך אומתה בהצלחה" -#: src/app/main/ui/settings/notifications.cljs:42 +#: src/app/main/data/profile.cljs:260 msgid "dashboard.notifications.notifications-saved" msgstr "הגדרות ההתראות עודכנו" @@ -773,7 +776,7 @@ msgstr "%s חברים" msgid "dashboard.open-in-new-tab" msgstr "פתיחת קובץ בלשונית חדשה" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "אפשרויות" @@ -801,15 +804,15 @@ msgstr "מונית לצפות בצוות הזה." msgid "dashboard.pin-unpin" msgstr "נעיצה/שחרור" -#: src/app/main/ui/dashboard.cljs:212 +#: src/app/main/ui/dashboard.cljs:208 msgid "dashboard.plugins.bad-url" msgstr "כתובת התוסף שגויה" -#: src/app/main/ui/dashboard.cljs:210 +#: src/app/main/ui/dashboard.cljs:206 msgid "dashboard.plugins.parse-error" msgstr "לא ניתן לפענח את המניפסט/מצהר של התוסף" -#: src/app/main/ui/dashboard.cljs:173 +#: src/app/main/ui/dashboard.cljs:169 msgid "dashboard.plugins.try-plugin" msgstr "התנסות התוסף: " @@ -850,67 +853,67 @@ msgstr "בחירת שפת מנשק משתמש" msgid "dashboard.select-ui-theme" msgstr "בחירת ערכת עיצוב" -#: src/app/main/ui/settings/notifications.cljs:76 +#: src/app/main/ui/settings/notifications.cljs:57 msgid "dashboard.settings.notifications.dashboard-comments.all" msgstr "כל ההערות, האזכורים והתגובות" -#: src/app/main/ui/settings/notifications.cljs:78 +#: src/app/main/ui/settings/notifications.cljs:59 msgid "dashboard.settings.notifications.dashboard-comments.none" msgstr "אין" -#: src/app/main/ui/settings/notifications.cljs:77 +#: src/app/main/ui/settings/notifications.cljs:58 msgid "dashboard.settings.notifications.dashboard-comments.partial" msgstr "אזכורים ותגובות בלבד" -#: src/app/main/ui/settings/notifications.cljs:73 +#: src/app/main/ui/settings/notifications.cljs:54 msgid "dashboard.settings.notifications.dashboard-comments.title" msgstr "הערות קובץ" -#: src/app/main/ui/settings/notifications.cljs:72 +#: src/app/main/ui/settings/notifications.cljs:53 msgid "dashboard.settings.notifications.dashboard.title" msgstr "התראות לוח בקרה" -#: src/app/main/ui/settings/notifications.cljs:86 +#: src/app/main/ui/settings/notifications.cljs:67 msgid "dashboard.settings.notifications.email-comments.all" msgstr "כל ההערות, האזכורים והתגובות" -#: src/app/main/ui/settings/notifications.cljs:88 +#: src/app/main/ui/settings/notifications.cljs:69 msgid "dashboard.settings.notifications.email-comments.none" msgstr "אין" -#: src/app/main/ui/settings/notifications.cljs:87 +#: src/app/main/ui/settings/notifications.cljs:68 msgid "dashboard.settings.notifications.email-comments.partial" msgstr "אזכורים ותגובות בלבד" -#: src/app/main/ui/settings/notifications.cljs:83 +#: src/app/main/ui/settings/notifications.cljs:64 msgid "dashboard.settings.notifications.email-comments.title" msgstr "הערות קובץ" -#: src/app/main/ui/settings/notifications.cljs:95 +#: src/app/main/ui/settings/notifications.cljs:76 msgid "dashboard.settings.notifications.email-invites.all" msgstr "כל סוגי ההזמנות והבקשות" -#: src/app/main/ui/settings/notifications.cljs:98 +#: src/app/main/ui/settings/notifications.cljs:79 msgid "dashboard.settings.notifications.email-invites.none" msgstr "אין" -#: src/app/main/ui/settings/notifications.cljs:92 +#: src/app/main/ui/settings/notifications.cljs:73 msgid "dashboard.settings.notifications.email-invites.title" msgstr "הזמנות ובקשות" -#: src/app/main/ui/settings/notifications.cljs:82 +#: src/app/main/ui/settings/notifications.cljs:63 msgid "dashboard.settings.notifications.email.title" msgstr "התראות דוא״ל" -#: src/app/main/ui/settings/notifications.cljs:103 +#: src/app/main/ui/settings/notifications.cljs:84 msgid "dashboard.settings.notifications.submit" msgstr "עדכון הגדרות" -#: src/app/main/ui/settings/notifications.cljs:71 +#: src/app/main/ui/settings/notifications.cljs:52 msgid "dashboard.settings.notifications.title" msgstr "התראות" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "הצגת כל הקבצים" @@ -942,7 +945,7 @@ msgstr[3] "הקבצים שלך שוכפלו בהצלחה" msgid "dashboard.success-duplicate-project" msgstr "המיזם שלך שוכפל בהצלחה" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "הקובץ שלך הועבר בהצלחה" @@ -986,15 +989,15 @@ msgstr "ביטול פרסום ספרייה" msgid "dashboard.update-settings" msgstr "עדכון הגדרות" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "ללא מגבלות על יצירתיות" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Penpot חינמי" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "חיזוק" @@ -1052,7 +1055,7 @@ msgstr "דוא״ל" msgid "dashboard.your-name" msgstr "שמך" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "ה־Penpot שלך" @@ -1072,11 +1075,11 @@ msgstr "רכיבים לעדכון:" msgid "ds.confirm-allow" msgstr "לאפשר" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "ביטול" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "אישור" @@ -1088,7 +1091,7 @@ msgstr "להמשיך?" msgid "errors.auth-provider-not-allowed" msgstr "ספק האימות לא מורשה לפרופיל הזה" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "לא מוגדר ספק אימות." @@ -1096,11 +1099,11 @@ msgstr "לא מוגדר ספק אימות." msgid "errors.auth.unable-to-login" msgstr "נראה שלא עברת אימות או שתוקף ההפעלה פג." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "לא ניתן לטעון את הגופן %s" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "לא ניתן לטעון את הגופנים %s" @@ -1108,7 +1111,7 @@ msgstr "לא ניתן לטעון את הגופנים %s" msgid "errors.cannot-upload" msgstr "לא ניתן להעלות את קובץ המדיה." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "הדפדפן שלך לא יכול לבצע את הפעולה הזאת" @@ -1120,7 +1123,7 @@ msgstr "כתובת הדוא״ל כבר בשימוש" msgid "errors.email-already-validated" msgstr "כתובת הדוא״ל כבר אומתה." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "אין לך אפשרות להשתמש בכתובת הדוא״ל שלך כסיסמה" @@ -1166,7 +1169,7 @@ msgstr "" "נראה שאין התאמ בין היכולות הפעילות לבין הקובץ שניסית לפתוח. יש להחיל הסבות " "עבור ‚%s’ לפני שיתאפשר לפתוח את הקובץ הזה." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "קרה משהו לא טוב." @@ -1179,8 +1182,7 @@ msgstr "צבע שגוי" msgid "errors.invalid-email" msgstr "נא למלא כתובת דוא״ל תקפה בבקשה" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "כתובת הדוא״ל לאימות חייבת להיות תואמת" @@ -1196,7 +1198,7 @@ msgstr "ההזמנה שגויה" msgid "errors.invite-invalid.info" msgstr "ההזמנה כנראה בוטלה או שתוקפה פג." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "אימות מול LDAP הושבת." @@ -1242,7 +1244,7 @@ msgstr "הסיסמה חייבת להיות באורך 8 תווים לפחות" msgid "errors.paste-data-validation" msgstr "נתונים שגויים בלוח הגזירים" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "הפרופיל חסום" @@ -1314,12 +1316,11 @@ msgstr "שגיאה לא צפויה בעת תיקוף" msgid "errors.webhooks.unexpected-status" msgstr "המצב %s לא צפוי" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "כתובת הדוא״ל או הסיסמה שגויים." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "הסיסמה הישנה שגויה" @@ -1365,11 +1366,11 @@ msgstr "כאן כדי לסייע בסוגיות טכניות." msgid "feedback.twitter-title" msgstr "חשבון תמיכה ב־X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "אירעה שגיאה" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "טשטוש" @@ -1377,31 +1378,31 @@ msgstr "טשטוש" msgid "inspect.attributes.blur.value" msgstr "ערך" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "הקסדצימלי" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "מילוי" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "הורדת תמונת מקור" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "גובה" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "רוחב" @@ -1440,15 +1441,15 @@ msgstr "עליון" msgid "inspect.attributes.layout.width" msgstr "רוחב" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "צל" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "גודל ומיקום" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "מתאר" @@ -1485,139 +1486,139 @@ msgstr "אחיד" msgid "inspect.attributes.stroke.width" msgstr "רוחב" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "טיפוגרפיה" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "משפחת גופנים" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "גודל גופן" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "סגנון גופן" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "משקל גופן" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "ריווח תווים" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "גובה שורה" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "עיטור טקסט" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "ללא" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "קו חוצה" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "קו תחתי" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "התמרת טקסט" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "אותיות קטנות" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "ללא" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "ראשונות גדולות" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "ביטול הגדרה" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "אותיות גדולות" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "למידע נוסף על חקירת עיצוב אפשר לבקר במרכז העזרה של Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "מידע נוסף על חקירה" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "ניתן לבחור צורה, לוח או קבוצה ולראות את המאפיינים והקוד שלהם" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "קוד" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "עיגול" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "רכיב" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "עיקול" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "לוח" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "קבוצה" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "תמונה" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "מסכה" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s נבחרו" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "נתיב" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "מרובע" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "טקסט" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "מידע" @@ -1637,15 +1638,15 @@ msgstr "אסימוני גישה" msgid "labels.active" msgstr "פעיל" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "הוספה" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "הוספת גופן משלך" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "מתווסף…" @@ -1657,7 +1658,7 @@ msgstr "ניהול" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "הכול" @@ -1679,7 +1680,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "שער גישה שגוי" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "ביטול" @@ -1687,27 +1688,27 @@ msgstr "ביטול" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "סגירה" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "צמצום" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "הערה" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "סימון כפתור" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "הערות" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "קהילה" @@ -1715,7 +1716,7 @@ msgstr "קהילה" msgid "labels.confirm-password" msgstr "אישור סיסמה" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "להמשיך" @@ -1735,7 +1736,7 @@ msgstr "העתקת קישור" msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "יצירה" @@ -1755,15 +1756,15 @@ msgstr "גופנים משלך" msgid "labels.dashboard" msgstr "לוח בקרה" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "מחיקה" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "מחיקת הערה" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "מחיקת שרשור" @@ -1783,15 +1784,15 @@ msgstr "פיתוח" msgid "labels.director" msgstr "הנהלה בכירה" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "התעלמות" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "טיוטות" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "עריכה" @@ -1811,7 +1812,7 @@ msgstr "אירוע" msgid "labels.expired-invitation" msgstr "התוקף פג" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "ייצוא" @@ -1827,7 +1828,7 @@ msgstr "המשוב נשלח" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "משפחת גופנים" @@ -1835,11 +1836,11 @@ msgstr "משפחת גופנים" msgid "labels.font-providers" msgstr "ספקי גופנים" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "סגנונות" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "גופנים" @@ -1851,11 +1852,11 @@ msgstr "מייסד/סגן נשיא" msgid "labels.freelancer" msgstr "יש לי עסק משלי" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "מאגר GitHub" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "הגשת משוב" @@ -1867,15 +1868,15 @@ msgstr "חזרה" msgid "labels.graphic-design" msgstr "עיצוב גרפי" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "מרכז העזרה" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "הסתרת הערות שנפתרו" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:355 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 msgid "labels.import" msgstr "ייבוא" @@ -1883,7 +1884,7 @@ msgstr "ייבוא" msgid "labels.inactive" msgstr "בלתי פעיל" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "גופנים מותקנים" @@ -1909,11 +1910,11 @@ msgstr "הזמנות" msgid "labels.language" msgstr "שפה" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "ספריות ותבניות" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "בטעינה…" @@ -1925,7 +1926,7 @@ msgstr "כניסה או הרשמה" msgid "labels.login" msgstr "כניסה" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "יציאה" @@ -1945,11 +1946,11 @@ msgstr "חברים" msgid "labels.new-password" msgstr "סיסמה חדשה" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "הבאה" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "עברת על הכול! התראות על הערות חדשות תופענה כאן." @@ -1975,7 +1976,7 @@ msgstr "אופס!" msgid "labels.notifications" msgstr "התראות" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "קובץ" @@ -2012,7 +2013,7 @@ msgstr "סיסמה ישנה" msgid "labels.only-yours" msgstr "שלך בלבד" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "אפשרויות" @@ -2040,7 +2041,7 @@ msgstr "סיסמה" msgid "labels.pending-invitation" msgstr "בהמתנה" -#: src/app/main/ui/comments.cljs:657, src/app/main/ui/comments.cljs:690, src/app/main/ui/comments.cljs:759 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "רשומה" @@ -2064,7 +2065,7 @@ msgstr "פרופיל" msgid "labels.projects" msgstr "מיזמים" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "הודעות מהדורה" @@ -2082,7 +2083,7 @@ msgstr "הסרה" msgid "labels.remove-member" msgstr "הסרת חבר" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "שינוי שם" @@ -2090,23 +2091,23 @@ msgstr "שינוי שם" msgid "labels.rename-team" msgstr "שינוי שם לצוות" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "תגובות" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "תגובות חדשות" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "תגובה" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "תגובה חדשה" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "תגובה" @@ -2126,15 +2127,15 @@ msgstr "ניסיון חוזר" msgid "labels.role" msgstr "תפקיד" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "שמירה" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "חיפוש" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "חיפוש גופן" @@ -2158,7 +2159,7 @@ msgstr "אנחנו בהפוגת תחזוקה מתוכננת של המערכות msgid "labels.service-unavailable.main-message" msgstr "השירות אינו זמין" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "סדרות" @@ -2178,19 +2179,19 @@ msgstr "שיתוף אבטיפוס" msgid "labels.shared-libraries" msgstr "ספריות משותפות" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "הצגת כל ההערות" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "הצגת רשימת הערות" -#: src/app/main/ui/workspace/comments.cljs:66, src/app/main/ui/workspace/comments.cljs:136 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-mentions" msgstr "הצגת האזכורים שלך בלבד" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "הצגת ההערות שלך בלבד" @@ -2218,11 +2219,11 @@ msgstr "מוביל או מובילת צוות" msgid "labels.team-member" msgstr "חבר או חברת צוות" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "ערכות עיצוב" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "מדריכים" @@ -2238,15 +2239,15 @@ msgstr "עדכון" msgid "labels.update-team" msgstr "עדכון צוות" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "העלאה" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "העלאת גופנים משלך" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "מתבצעת העלאה…" @@ -2262,7 +2263,7 @@ msgstr "מציג" msgid "labels.webhooks" msgstr "התליות" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "כתיבת הערה חדשה" @@ -2270,7 +2271,7 @@ msgstr "כתיבת הערה חדשה" msgid "labels.you" msgstr "(אני)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "החשבון שלך" @@ -2278,23 +2279,23 @@ msgstr "החשבון שלך" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "בחירת תמונה" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "מדרג" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "תמונה" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "תמונה" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "שמירה על יחס גובה־רוחב" @@ -2312,7 +2313,7 @@ msgstr "התמונה נטענת…" msgid "media.radial" msgstr "מעגלי" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "אחיד" @@ -2360,7 +2361,7 @@ msgstr "החלפת כתובת דוא״ל" msgid "modals.change-email.title" msgstr "החלפת כתובת הדוא״ל שלך" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "העתקת אסימון" @@ -2376,7 +2377,7 @@ msgstr "שם" msgid "modals.create-access-token.name.placeholder" msgstr "השם יכול לסייע לך להבין למה מיועד האסימון" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "יצירת אסימון" @@ -2400,15 +2401,15 @@ msgstr "כתובת מטען" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "מחיקת אסימון" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "למחוק את האסימון הזה?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "מחיקת אסימון" @@ -2428,23 +2429,23 @@ msgstr "הסרת החשבון שלך תוביל לאיבוד כל המיזמים msgid "modals.delete-account.title" msgstr "למחוק את החשבון שלך?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "מחיקת דיון" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "למחוק את הדיון הזה? כל התגובות בשרשור תימחקנה." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "מחיקת דיון" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "למחוק את הסימון הזה?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "מחיקת סימון" @@ -2472,27 +2473,27 @@ msgstr "למחוק %s קבצים?" msgid "modals.delete-file-multi-confirm.title" msgstr "%s קבצים נמחקים" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "למחוק את סגנון הגופן הזה? הוא לא ייטען אם נעשה בו שימוש בקובץ." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "סגנון גופן נמחק" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "למחוק את הגופן הזה? הוא לא ייטען אם נעשה בו שימוש בקובץ." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "גופן נמחק" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "למחוק את העמוד הזה?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "מחיקת עמוד" @@ -2710,15 +2711,15 @@ msgstr "הצוות הזה הוא כרגע בבעלותך. להפוך את %s ל msgid "modals.promote-owner-confirm.title" msgstr "בעלים חדשים לצוות" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "פרסום" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "הספרייה שלך ריקה. לפרסם אותה בכל זאת?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "פרסום ספרייה ריקה" @@ -2779,21 +2780,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "עדכון רכיבים בספרייה משותפת" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "עדכון" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "ביטול" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "פעולה זו תעדכן רכיב בספריה משותפת. זה עשוי להשפיע על הקבצים האחרים שמשתמשים " "בה." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "עדכון רכיב בספריה משותפת" @@ -2945,27 +2946,27 @@ msgstr "מדריכים מצולמים" msgid "onboarding-v2.before-start.title" msgstr "לפני שמתחילים" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "ניתן להירשם לרשימת הדיוור של Penpot כדי להתעדכן בתהליך פיתוח המוצר ובחדשות " "נוספות." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "נא לשלוח לי חדשות על Penpot (בלוגים, מדריכים מצולמים, שידורים…)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "אכפת לנו מפרטיות, כאן ניתן לקרוא את " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "אנו נשלח לך בדוא״ל רק הודעות שרלוונטיות לך. אפשר לבטל את המינוי דרך כפתור " "ביטול המינוי בכל אחת מהודעות הדיוור שלנו." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "נא לשלוח לי עדכונים על המוצר (יכולות חדשות, מהדורות, תיקונים…)." @@ -3059,15 +3060,15 @@ msgstr "אפשר ליצור צוות בהמשך." msgid "onboarding.newsletter.accept" msgstr "כן, להירשם" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "בקשת המינוי שלך נשלחה, נשלח לך הודעה בדוא״ל כדי לאשר אותה." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "מדיניות פרטיות." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "מעניין אותך לקבל חדשות על Penpot?" @@ -3260,7 +3261,7 @@ msgstr "מעבר למסך הכניסה" msgid "settings.detach" msgstr "ניתוק" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "מעורב" @@ -3458,7 +3459,7 @@ msgstr "יצירת חדש" msgid "shortcuts.cut" msgstr "גזירה" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "התרחקות" @@ -3558,7 +3559,7 @@ msgstr "פיזור אופקית" msgid "shortcuts.hide-ui" msgstr "הצגת/הסתרת מנשק משתמש" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "התקרבות" @@ -3942,15 +3943,15 @@ msgstr "התמקדות על הנבחר" msgid "title.dashboard.files" msgstr "%s‏ - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "ספקי גופנים - %s‏ - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "גופנים - %s‏ - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "מיזמים - %s‏ - Penpot" @@ -3958,7 +3959,7 @@ msgstr "מיזמים - %s‏ - Penpot" msgid "title.dashboard.search" msgstr "חיפוש - %s‏ - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "ספריות משותפות - %s‏ - Penpot" @@ -3966,7 +3967,7 @@ msgstr "ספריות משותפות - %s‏ - Penpot" msgid "title.default" msgstr "Penpot - חופש עיצובי לצוותים" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "פרופיל - אסימוני גישה" @@ -3974,7 +3975,7 @@ msgstr "פרופיל - אסימוני גישה" msgid "title.settings.feedback" msgstr "הגשת משוב - Penpot" -#: src/app/main/ui/settings/notifications.cljs:64 +#: src/app/main/ui/settings/notifications.cljs:45 msgid "title.settings.notifications" msgstr "התראות - Penpot" @@ -4010,7 +4011,7 @@ msgstr "התליות - %s‏ - Penpot" msgid "title.viewer" msgstr "%s - מצב תצוגה - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s‏ - Penpot" @@ -4110,7 +4111,7 @@ msgstr "(%s) פיזור בריווח אנכי" msgid "workspace.align.vtop" msgstr "(%s) יישור למעלה" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "הוספת ספרייה" @@ -4119,11 +4120,11 @@ msgstr "הוספת ספרייה" msgid "workspace.assets.assets" msgstr "משאבים" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "כל המשאבים" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "צבעים" @@ -4131,11 +4132,11 @@ msgstr "צבעים" msgid "workspace.assets.colors.add-color" msgstr "הוספת צבע" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "רכיבים" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "הוספת רכיב" @@ -4147,15 +4148,15 @@ msgstr "יצירת קבוצה" msgid "workspace.assets.create-group-hint" msgstr "הפריטים שלך יקבלו אוטומטית שם בסגנון „שם קבוצה / שם פריט”" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "מחיקה" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "שכפול" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "שכפול הראשי" @@ -4163,19 +4164,19 @@ msgstr "שכפול הראשי" msgid "workspace.assets.edit" msgstr "עריכה" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "סינון" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "גרפיקה" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "תצוגת טבלה" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "קבוצה" @@ -4183,27 +4184,23 @@ msgstr "קבוצה" msgid "workspace.assets.group-name" msgstr "שם קבוצה" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "ספריות" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "תצוגת רשימה" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "ספרייה מקומית" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "לא נמצאו משאבים" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "פתיחת קובץ ספרייה" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "שינוי שם" @@ -4211,7 +4208,7 @@ msgstr "שינוי שם" msgid "workspace.assets.rename-group" msgstr "שינוי שם קבוצה" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "חיפוש במשאבים" @@ -4229,7 +4226,7 @@ msgstr[3] "%s פריטים נבחרו" msgid "workspace.assets.shared-library" msgstr "ספרייה משותפת" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "רכיב" @@ -4237,11 +4234,11 @@ msgstr[1] "שני רכיבים" msgstr[2] "%s רכיבים" msgstr[3] "%s רכיבים" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "מיון" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "טיפוגרפיות" @@ -4254,27 +4251,27 @@ msgstr "הוספת טיפוגרפיה" msgid "workspace.assets.typography.font-id" msgstr "גופן" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "גודל" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "הגוון" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "מעבר לקובץ ספריית סגנון כדי לערוך" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "ריווח תווים" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "גובה שורה" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "שצ" @@ -4282,7 +4279,7 @@ msgstr "שצ" msgid "workspace.assets.typography.text-styles" msgstr "סגנונות טקסט" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "התמרת טקסט" @@ -4290,55 +4287,55 @@ msgstr "התמרת טקסט" msgid "workspace.assets.ungroup" msgstr "פירוק קבוצה" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "יצירת שטח" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "יצירת לוח" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "מיזוג תאים" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "הוספת עמודה מימין" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "הוספת עמודה משמאל" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "מחיקת עמודה" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "מחיקת עמודה וצורות" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "שכפול עמודה" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "הוספת שורה מתחת" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "הוספת שורה למעלה" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "מחיקת שורה" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "מחיקת שורה וצורות" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "שכפול שורה" @@ -4346,11 +4343,11 @@ msgstr "שכפול שורה" msgid "workspace.focus.focus-mode" msgstr "מצב מיקוד" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "מיקוד כבוי" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "מיקוד פעיל" @@ -4508,37 +4505,36 @@ msgstr "החלפה לערכת עיצוב בהירה" msgid "workspace.header.menu.undo" msgstr "החזרה" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "איפוס" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "שגיאה בשמירה" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "נשמר" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "בשמירה" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "שיתוף" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "שינויים שלא נשמרו" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "מצב תצוגה (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "תקריב" @@ -4550,7 +4546,7 @@ msgstr "מילוי - שינוי גודל כדי למלא" msgid "workspace.header.zoom-fit" msgstr "התאמה - שינוי גודל כדי להתאים" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "כיוון תקריב כדי להציג הכול" @@ -4558,19 +4554,19 @@ msgstr "כיוון תקריב כדי להציג הכול" msgid "workspace.header.zoom-full-screen" msgstr "מסך מלא" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "התמקדות על הנבחר" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "עריכת רשת" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "יציאה מהמערכת" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "הצגת אפשרויות ריפוד עם 4 צדדים" @@ -4586,7 +4582,7 @@ msgstr "בוצע" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "איתור" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "איתור פריסת הרשת" @@ -4595,7 +4591,7 @@ msgstr "איתור פריסת הרשת" msgid "workspace.libraries.add" msgstr "הוספה" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s צבעים" @@ -4625,43 +4621,43 @@ msgstr "צבעים אחרונים" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB משלים" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "שמירת סגנון צבע" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s רכיבים" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "או להוסיף כמה מאלה לניסיון:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "אין ספריות משותפות בצוות שלך, אפשר לחפש אחר" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "כל מיני תבניות כאן" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "ספריית קבצים" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s גרפיקה" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "ספריות בקובץ הזה" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "ספריות" @@ -4670,71 +4666,64 @@ msgstr "ספריות" msgid "workspace.libraries.library" msgstr "ספרייה" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "עדכוני ספרייה" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "בטעינה…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "אפשר לחפש " -#: src/app/main/ui/workspace/libraries.cljs:391 -msgid "workspace.libraries.more-templates-link" -msgstr "תבניות נוספות כאן" - -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "אין ספריות משותפות שדורשות עדכון" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "לא נמצאו תוצאות לחיפוש אחר „%s”" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "אין ספריות משותפות זמינות" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "חיפוש בספריות המשותפות" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "ספריות משותפות" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "חיבור ספרייה" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "מגוון טיפוגרפיות" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "ניתוק כל הטיפוגרפיות" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s טיפוגרפיות" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "ניתוק ספרייה" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "עדכון" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "הצגת כל השינויים" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "עדכונים" @@ -4766,43 +4755,43 @@ msgstr "טשטוש בחירה" msgid "workspace.options.blur-options.toggle-blur" msgstr "החלת/הסרת טשטוש" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "רקע משטח ציור" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "חיתוך התוכן" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "רכיב" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "הסבר" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "העתקה" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "יצירת הסבר" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "עריכת הסבר" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "ראשי" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "החלפת רכיב" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "עדיין אין נכסים בתיקייה הזאת" @@ -4850,7 +4839,7 @@ msgstr "עליון ותחתון" msgid "workspace.options.design" msgstr "עיצוב" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "ייצוא" @@ -4859,7 +4848,7 @@ msgstr "ייצוא" msgid "workspace.options.export-multiple" msgstr "ייצוא הבחירה" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "ייצוא רכיב" @@ -4867,15 +4856,15 @@ msgstr[1] "ייצוא %s רכיבים" msgstr[2] "ייצוא %s רכיבים" msgstr[3] "ייצוא %s רכיבים" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "הוספת ייצוא" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "הסרת ייצוא" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "סיומת" @@ -4883,7 +4872,7 @@ msgstr "סיומת" msgid "workspace.options.exporting-complete" msgstr "הייצוא הושלם" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "מתבצע ייצוא…" @@ -4907,6 +4896,10 @@ msgstr "הוספת צבע מילוי" msgid "workspace.options.fill.remove-fill" msgstr "הסרת מילוי" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "שינוי גודל הלוח כדי שיתאים לתוכן" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "הוספת תחילת זרימה" @@ -5045,7 +5038,7 @@ msgstr "קווים מנחים" msgid "workspace.options.guides.toggle-guide" msgstr "הצגת/הסתרת קו מנחה" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "גובה" @@ -5368,19 +5361,19 @@ msgstr "הצגת/הסתרת שכבה" msgid "workspace.options.layout-item.advanced-ops" msgstr "אפשרויות מתקדמות" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "גובה מר.‏" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "רוחב מר.‏" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "גובה מז.‏" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "רוחב מז.‏" @@ -5494,11 +5487,11 @@ msgstr "רווח בין לבין" msgid "workspace.options.layout.top" msgstr "עליון" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "צבעים נוספים" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "צבעי ספרייה נוספים" @@ -5543,7 +5536,7 @@ msgstr "צמצום רדיוס עצמאי" msgid "workspace.options.radius.show-single-corners" msgstr "הצגת רדיוס עצמאי" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "אחרונים" @@ -5551,11 +5544,11 @@ msgstr "אחרונים" msgid "workspace.options.retry" msgstr "לנסות שוב" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "סיבוב" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "חיפוש גופן" @@ -5563,7 +5556,7 @@ msgstr "חיפוש גופן" msgid "workspace.options.select-a-shape" msgstr "נא לבחור צורה, לוח או קבוצה כדי לגרור חיבור ללוח אחר." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "צבעים נבחרים" @@ -5575,55 +5568,55 @@ msgstr "מילוי בחירה" msgid "workspace.options.selection-stroke" msgstr "מתאר בחירה" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "הוספת הצללה" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "טשטוש" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "צבע הצללה" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "הטלת צל" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "צל פנימי" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "הסרת הצללה" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "פיזור" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "צל" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "צל של קבוצה" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "צללים של בחירה" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:176 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 msgid "workspace.options.shadow-options.toggle-shadow" msgstr "הצגת/הסתרת הצללה" @@ -5631,7 +5624,7 @@ msgstr "הצגת/הסתרת הצללה" msgid "workspace.options.show-fill-on-export" msgstr "הצגה בייצואים" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "להציג במצב הצגה" @@ -5639,7 +5632,7 @@ msgstr "להציג במצב הצגה" msgid "workspace.options.size" msgstr "גודל" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "תבניות גודל" @@ -5708,7 +5701,7 @@ msgstr "משולש" msgid "workspace.options.stroke-color" msgstr "צבע מתאר" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "עובי מתאר" @@ -5780,11 +5773,11 @@ msgstr "רוחב אוטומטי" msgid "workspace.options.text-options.grow-fixed" msgstr "קבוע" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "ריווח תווים" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "גובה שורה" @@ -5848,15 +5841,15 @@ msgstr "אותיות גדולות" msgid "workspace.options.use-play-button" msgstr "ניתן להשתמש בכפתור הנגינה שבכותרת כדי להריץ את תצוגת האבטיפוס." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "עובי" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "ציר X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "ציר Y" @@ -6030,123 +6023,127 @@ msgstr "תוסף ‚%s’ מותקן למשתמש שלך!" msgid "workspace.plugins.try-out.try" msgstr "התנסות בתוסף" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "הוספת פריסת flex" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "הוספת פריסת רשת" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "הוספת פריסה" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "הרחקה" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "הרחקה לאחור" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "העתקה" -#: src/app/main/ui/workspace/context_menu.cljs:203 +#: src/app/main/ui/workspace/context_menu.cljs:204 msgid "workspace.shape.menu.copy-css" msgstr "העתקה כ־CSS" -#: src/app/main/ui/workspace/context_menu.cljs:205 +#: src/app/main/ui/workspace/context_menu.cljs:206 msgid "workspace.shape.menu.copy-css-nested" msgstr "העתקה כ־CSS (שכבות מקוננות)" -#: src/app/main/ui/workspace/context_menu.cljs:188 +#: src/app/main/ui/workspace/context_menu.cljs:189 msgid "workspace.shape.menu.copy-link" msgstr "העתקת קישור ללוח הגזירים" -#: src/app/main/ui/workspace/context_menu.cljs:201 +#: src/app/main/ui/workspace/context_menu.cljs:202 msgid "workspace.shape.menu.copy-paste-as" msgstr "העתקה/הדבקה בתור…" -#: src/app/main/ui/workspace/context_menu.cljs:213 +#: src/app/main/ui/workspace/context_menu.cljs:214 msgid "workspace.shape.menu.copy-props" msgstr "העתקת מאפיינים" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "העתקה כטקסט" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "יצירת הסבר" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "בחירה ללוח" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "יצירת רכיב" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "יצירת מגוון רכיבים" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "גזירה" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "מחיקה" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "מחיקת התחלת זרימה" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "ניתוק מופע" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "הפרדת מופעים" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "הבדל" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "שכפול" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "עריכה" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "החרגה" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "שיטוח" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "היפוך אופקי" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "היפוך אנכי" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "התחלת זרימה" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "קידום" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "קידום לחזית" @@ -6155,107 +6152,107 @@ msgstr "קידום לחזית" msgid "workspace.shape.menu.go-main" msgstr "מעבר לקובץ הרכיב הראשי" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "קבוצה" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "הסתרה" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "הצגת/הסתרת מנשק משתמש" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "הצלבה" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "נעילה" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "מסכה" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "הדבקה" -#: src/app/main/ui/workspace/context_menu.cljs:217 +#: src/app/main/ui/workspace/context_menu.cljs:218 msgid "workspace.shape.menu.paste-props" msgstr "הדבקת מאפיינים" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "נתיב" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "הסרת פריסת flex" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "הסרת פריסת רשת" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "הסרת פריסה" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "שינוי שם" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "איפוס מעקפים" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "שחזור הרכיב הראשי" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "בחירת שכבה" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "הצגה" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "הצגה בלוח משאבים" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "הצגת הרכיב הראשי" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "הסרת התמונה הממוזערת" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "הגדרה כתמונה ממוזערת" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "המרה לנתיב" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "פירוק קבוצה" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "איחוד" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "שחרור נעילה" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "ביטול מסכה" @@ -6264,7 +6261,7 @@ msgstr "ביטול מסכה" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "עדכון הרכיבים הראשיים" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "עדכון הרכיב הראשי" @@ -6276,11 +6273,11 @@ msgstr "צמצום סרגל צד" msgid "workspace.sidebar.expand" msgstr "הרחבת סרגל צד" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "היסטוריה" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "שכבות" @@ -6316,7 +6313,7 @@ msgstr "צורות" msgid "workspace.sidebar.layers.texts" msgstr "טקסטים" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "מאפייני SVG יובאו" @@ -6328,7 +6325,7 @@ msgstr "עמודים" msgid "workspace.sidebar.sitemap.add-page" msgstr "הוספת עמוד" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "מפת אתר" @@ -6346,43 +6343,43 @@ msgstr "%s ערכות עיצוב פעילות" msgid "workspace.token.add set" msgstr "הוספת סדרה" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "חל על" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 msgid "workspace.token.back-to-themes" msgstr "חזרה לרשימת ערכות העיצוב" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 msgid "workspace.token.create-new-theme" msgstr "אפשר ליצור את ערכת העיצוב הראשונה שלך עכשיו." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 msgid "workspace.token.create-one" msgstr "ליצור אחד." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 -msgid "workspace.token.create-theme-title" -msgstr "יצירת ערכת עיצוב" - -#: src/app/main/ui/workspace/tokens/form.cljs:431 +#: src/app/main/ui/workspace/tokens/form.cljs:492 msgid "workspace.token.create-token" msgstr "יצירת אסימון %s חדש" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:228 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 msgid "workspace.token.delete" msgstr "מחיקת אסימון" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "מחיקת ערכת עיצוב" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:225 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 msgid "workspace.token.duplicate" msgstr "שכפול אסימון" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:212 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 msgid "workspace.token.edit" msgstr "עריכת אסימון" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "עריכת ערכת עיצוב" @@ -6390,15 +6387,15 @@ msgstr "עריכת ערכת עיצוב" msgid "workspace.token.edit-themes" msgstr "עריכת ערכות עיצוב" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "עריכת אסימון" -#: src/app/main/ui/workspace/tokens/form.cljs:481 +#: src/app/main/ui/workspace/tokens/form.cljs:544 msgid "workspace.token.enter-token-description" msgstr "הוספת תיאור (רשות)" -#: src/app/main/ui/workspace/tokens/form.cljs:437 +#: src/app/main/ui/workspace/tokens/form.cljs:498 msgid "workspace.token.enter-token-name" msgstr "נא למלא את שם האסימון %s" @@ -6407,86 +6404,108 @@ msgstr "נא למלא את שם האסימון %s" msgid "workspace.token.grouping-set-alert" msgstr "אין עדיין תמיכה בקיבוץ סדרות אסימונים." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:56 -msgid "workspace.token.new-theme" -msgstr "ערכת עיצוב חדשה" +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "קבוצה" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "ערכת עיצוב" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 msgid "workspace.token.no-active-theme" msgstr "אין ערכת עיצוב פעילה" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:146 -msgid "workspace.token.no-sets" -msgstr "אין סדרות" +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "נדרשות הרשאות עריכה כדי להפעיל / להשבית סדרות" -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "נדרשות הרשאות עריכה כדי להשתמש בערכות עיצוב" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "עדיין לא מוגדרות סדרות. נא ליצור אחת קודם." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:215, src/app/main/ui/workspace/tokens/sidebar.cljs:221 +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 msgid "workspace.token.no-sets-yet" msgstr "אין סדרות עדיין." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "אין ערכות עיצוב." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "אין לך ערכות עיצוב עדיין." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 -msgid "workspace.token.num-sets" -msgstr "%s סדרות" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" -msgstr "ערך מקורי: " +msgstr "ערך מקורי: %s" -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "ההפניה לא תקפה או שאינה באף סדרה פעילה" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" -msgstr "ערך פתור: " +msgstr "ערך פתור: %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "שמירת ערכת עיצוב" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "בחירה ערכה." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "נא להגדיר באילו סדרות אסימונים להשתמש כחלק מאפשרות ערכת העיצוב הזאת:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "ערכת עיצוב %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 -msgid "workspace.token.themes" -msgstr "ערכות עיצוב" - -#: src/app/main/ui/workspace/tokens/form.cljs:482 +#: src/app/main/ui/workspace/tokens/form.cljs:545 msgid "workspace.token.token-description" msgstr "תיאור" -#: src/app/main/ui/workspace/tokens/form.cljs:440 +#: src/app/main/ui/workspace/tokens/form.cljs:501 msgid "workspace.token.token-name" msgstr "שם" -#: src/app/main/ui/workspace/tokens/form.cljs:464 +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" הוא לא שם תקף לאסימון.\n" +"שמות אסימונים אמורים להכיל אותיות וספרות בלבד עם תווי ‚.’ מפרידים ביניהם " +"ואסור לו להתחיל ב־$." + +#: src/app/main/ui/workspace/tokens/form.cljs:526 msgid "workspace.token.token-value" msgstr "ערך" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:348 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "אסימונים - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 msgid "workspace.token.tools" msgstr "כלים" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "הערך לא תקף" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "שינוי שם האסימון הזה יפגע בכל הפניה לשם הישן שלו." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "משאבים" @@ -6494,39 +6513,39 @@ msgstr "משאבים" msgid "workspace.toolbar.color-palette" msgstr "ערכת צבעים (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "הערות (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "עיקול (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "אליפסה (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "לוח (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "תמונה (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "העברה (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "נתיב (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "תוספים (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "ריבוע (%s)" @@ -6535,7 +6554,7 @@ msgstr "ריבוע (%s)" msgid "workspace.toolbar.shortcuts" msgstr "קיצורי דרך (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "טקסט (%s)" @@ -6543,7 +6562,7 @@ msgstr "טקסט (%s)" msgid "workspace.toolbar.text-palette" msgstr "טיפוגרפיות (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "הצגת/הסתרת סרגל כלים" @@ -6701,19 +6720,19 @@ msgstr "פעולה על %s" msgid "workspace.undo.title" msgstr "היסטוריה" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "התעלמות" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "מידע נוסף" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "יש עדכונים בספריות המשותפות" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "עדכון" @@ -6773,11 +6792,11 @@ msgstr "לשחזר את הגרסה הזאת?" msgid "workspace.versions.snapshot-menu" msgstr "פתיחת תפריט תמונת מצב" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "פעולות" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "היסטוריה" diff --git a/frontend/translations/hr.po b/frontend/translations/hr.po index 7a769729f5..036089cf21 100644 --- a/frontend/translations/hr.po +++ b/frontend/translations/hr.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-06-17 08:07+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Croatian " "\n" @@ -10,12 +10,16 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.6-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" msgstr "Već imaš račun?" +#: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:274 +msgid "auth.check-mail" +msgstr "Provjerite e-poštu" + #: src/app/main/ui/auth/register.cljs:277 msgid "auth.check-your-email" msgstr "Provjeri svoj e-mail i klikni na vezu da potvrdiš i počneš koristiti Penpot." @@ -33,13 +37,13 @@ msgstr "Kreiraj demo račun" msgid "auth.create-demo-profile" msgstr "Samo želiš isprobati?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Ovo je DEMO usluga. NEMOJ KORISTITI za pravi rad. Projekti će se povremeno " "brisati." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Zaboravljena lozinka?" @@ -47,31 +51,39 @@ msgstr "Zaboravljena lozinka?" msgid "auth.fullname" msgstr "Puno ime" +#: src/app/main/ui/auth/login.cljs:282 +msgid "auth.login-account-title" +msgstr "Prijavite se na svoj račun" + #: src/app/main/ui/auth/register.cljs:137, src/app/main/ui/static.cljs:158, src/app/main/ui/viewer/login.cljs:101 msgid "auth.login-here" -msgstr "Prijavi se ovdje" +msgstr "Prijavi se ovdje." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Prijava" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:285 +msgid "auth.login-tagline" +msgstr "Penpot je besplatan alat otvorenog koda za dizajn i suradnju na kodu" + +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -95,7 +107,7 @@ msgstr "Veza za oporavak lozinke poslana je u tvoj inbox." msgid "auth.notifications.team-invitation-accepted" msgstr "Uspješno pridružen/a timu" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Lozinka" @@ -123,14 +135,29 @@ msgstr "Zaboravljena lozinka?" msgid "auth.recovery-submit" msgstr "Promjeni lozinku" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Još nemaš račun?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/register.cljs:254 +msgid "auth.register-account-tagline" +msgstr "Recite nam kako bismo Vas trebali zvati na nadzornoj ploči i u e-porukama." + +#: src/app/main/ui/auth/register.cljs:253 +msgid "auth.register-account-title" +msgstr "Vaše ime" + +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Stvori račun" +#: src/app/main/ui/auth/register.cljs:124 +msgid "auth.register-tagline" +msgstr "" +"S besplatnim Penpot računom možete stvoriti neograničen broj timova i " +"surađivati s drugim dizajnerima i programerima na koliko god želite " +"projekata. " + #: src/app/main/ui/auth/register.cljs:122 msgid "auth.register-title" msgstr "Stvori račun" @@ -140,15 +167,39 @@ msgstr "Stvori račun" msgid "auth.sidebar-tagline" msgstr "Open Source rješenje za dizajn i izradu prototipova." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:157 +#, markdown +msgid "auth.terms-and-privacy-agreement" +msgstr "Slažem se s [uvjetima usluge](%s) i [pravilima privatnosti](%s)." + +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Uvjeti pružanja usluge" +#, unused +msgid "auth.terms-privacy-agreement" +msgstr "" +"Prilikom kreiranja novog računa, pristajete našim uvjetima pružanja usluge " +"i politici privatnosti." + #: src/app/main/ui/auth/register.cljs:275 msgid "auth.verification-email-sent" msgstr "Poslali smo e-mail za potvrdu na" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +msgid "auth.work-email" +msgstr "Poslovna e-pošta" + +#: src/app/main/ui/onboarding/questions.cljs +#, unused +msgid "branding-illustrations-marketing-pieces" +msgstr "...branding, ilustracije, marketinški dijelovi, itd." + +#: src/app/main/ui/comments.cljs:532 +msgid "comments.mentions.not-found" +msgstr "Nisu pronađene osobe za @%s" + +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Objavi" @@ -221,7 +272,7 @@ msgstr "Podijeli prototip" msgid "common.share-link.view-all" msgstr "Označi sve" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Poništi objavu" @@ -269,6 +320,81 @@ msgstr "Započni obilazak" msgid "dasboard.walkthrough-hero.title" msgstr "Pregledaj sučelje" +#: src/app/main/ui/settings/access_tokens.cljs:104 +msgid "dashboard.access-tokens.copied-success" +msgstr "Token je kopiran" + +#: src/app/main/ui/settings/access_tokens.cljs:190 +msgid "dashboard.access-tokens.create" +msgstr "Generirajte novi token" + +#: src/app/main/ui/settings/access_tokens.cljs:65 +msgid "dashboard.access-tokens.create.success" +msgstr "Pristupni token uspješno je kreiran." + +#: src/app/main/ui/settings/access_tokens.cljs:288 +msgid "dashboard.access-tokens.empty.add-one" +msgstr "Pritisnite gumb \"Generiraj novi token\" da biste ga generirali." + +#: src/app/main/ui/settings/access_tokens.cljs:287 +msgid "dashboard.access-tokens.empty.no-access-tokens" +msgstr "Za sada nemate token." + +#: src/app/main/ui/settings/access_tokens.cljs:136 +msgid "dashboard.access-tokens.expiration-180-days" +msgstr "180 dana" + +#: src/app/main/ui/settings/access_tokens.cljs:133 +msgid "dashboard.access-tokens.expiration-30-days" +msgstr "30 dana" + +#: src/app/main/ui/settings/access_tokens.cljs:134 +msgid "dashboard.access-tokens.expiration-60-days" +msgstr "60 dana" + +#: src/app/main/ui/settings/access_tokens.cljs:135 +msgid "dashboard.access-tokens.expiration-90-days" +msgstr "90 dana" + +#: src/app/main/ui/settings/access_tokens.cljs:132 +msgid "dashboard.access-tokens.expiration-never" +msgstr "Nikada" + +#: src/app/main/ui/settings/access_tokens.cljs:270 +msgid "dashboard.access-tokens.expired-on" +msgstr "Isteklo %s" + +#: src/app/main/ui/settings/access_tokens.cljs:271 +msgid "dashboard.access-tokens.expires-on" +msgstr "Istječe %s" + +#: src/app/main/ui/settings/access_tokens.cljs:269 +msgid "dashboard.access-tokens.no-expiration" +msgstr "Nema roka isteka" + +#: src/app/main/ui/settings/access_tokens.cljs:185 +msgid "dashboard.access-tokens.personal" +msgstr "Osobni pristupni tokeni" + +#: src/app/main/ui/settings/access_tokens.cljs:186 +msgid "dashboard.access-tokens.personal.description" +msgstr "" +"Osobni tokeni za pristup funkcioniraju kao alternativa našem sustavu " +"provjere autentičnosti prijave/lozinke i mogu se koristiti kako bi se " +"aplikaciji omogućio pristup internom Penpot API-ju" + +#: src/app/main/ui/settings/access_tokens.cljs:143 +msgid "dashboard.access-tokens.token-will-expire" +msgstr "Token će isteći %s" + +#: src/app/main/ui/settings/access_tokens.cljs:144 +msgid "dashboard.access-tokens.token-will-not-expire" +msgstr "Token nema datum isteka" + +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Dodaj datoteku" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Dodaj kao zajedničku biblioteku" @@ -277,7 +403,7 @@ msgstr "Dodaj kao zajedničku biblioteku" msgid "dashboard.change-email" msgstr "Promijeni e-mail" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopiraj)" @@ -285,6 +411,10 @@ msgstr "(kopiraj)" msgid "dashboard.create-new-team" msgstr "+ Kreiraj novi tim" +#: src/app/main/ui/workspace/main_menu.cljs:623 +msgid "dashboard.create-version-menu" +msgstr "Prikvači ovu verziju" + #: src/app/main/ui/components/context_menu_a11y.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:659 msgid "dashboard.default-team-name" msgstr "Tvoj Penpot" @@ -309,13 +439,53 @@ msgstr "Kopija" msgid "dashboard.duplicate-multi" msgstr "Kopiraj %s datoteka" +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 +msgid "dashboard.empty-placeholder-drafts-subtitle" +msgstr "Nakon što član projekta izradi nacrt, on će se prikazati ovdje." + +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 +msgid "dashboard.empty-placeholder-drafts-title" +msgstr "Još nema nacrta." + +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 +msgid "dashboard.empty-placeholder-files-subtitle" +msgstr "Nakon što član projekta stvori datoteku, ona će se prikazati ovdje." + +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 +msgid "dashboard.empty-placeholder-files-title" +msgstr "Još nema datoteka." + +#: src/app/main/ui/dashboard/placeholder.cljs:77 +#, markdown +msgid "dashboard.empty-placeholder-libraries" +msgstr "" +"Ovdje će se pojaviti biblioteke dodane projektu. Pokušajte podijeliti svoje " +"datoteke ili ih dodajte iz naših [biblioteka i " +"predložaka](https://penpot.app/libraries-templates)." + +#: src/app/main/ui/dashboard/placeholder.cljs +#, markdown, unused +msgid "dashboard.empty-placeholder-libraries-subtitle" +msgstr "" +"Ovdje će se pojaviti biblioteke dodane projektu. Pokušajte podijeliti svoje " +"datoteke ili ih dodajte iz naših [biblioteka i " +"predložaka](https://penpot.app/libraries-templates)." + +#: src/app/main/ui/dashboard/placeholder.cljs:73 +msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" +msgstr "Ovdje će se pojaviti biblioteke dodane projektu." + +#: src/app/main/ui/dashboard/placeholder.cljs:70 +msgid "dashboard.empty-placeholder-libraries-title" +msgstr "Još nema biblioteka." + #: src/app/main/ui/dashboard/file_menu.cljs:249, src/app/main/ui/dashboard/file_menu.cljs:254 msgid "dashboard.export-binary-multi" msgstr "Preuzmi %s Penpot datoteke (.penpot)" #: src/app/main/ui/workspace/main_menu.cljs:676 msgid "dashboard.export-frames" -msgstr "Izvezi artboard u PDF…" +msgstr "Izvezi artboard u PDF" #: src/app/main/ui/exports/assets.cljs:199 msgid "dashboard.export-frames.title" @@ -399,26 +569,34 @@ msgstr "Uključi stavke zajedničke biblioteke u biblioteke datoteka" msgid "dashboard.export.title" msgstr "Izvezi datoteke" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Font izbrisan" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Odbaci sve" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Još uvijek nemaš instalirane custom fontove." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:450 +msgid "dashboard.fonts.empty-placeholder-viewer" +msgstr "Još nema prilagođenih fontova." + +#: src/app/main/ui/dashboard/fonts.cljs:451 +msgid "dashboard.fonts.empty-placeholder-viewer-sub" +msgstr "Nakon što član projekta prenese prilagođeni font, on će se prikazati ovdje." + +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 font dodan" msgstr[1] "%s fontova dodano" msgstr[2] "%s fontova dodano" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -427,20 +605,31 @@ msgstr "" "će grupirani kao **jedan font**. Možeš učitati fontove sa sljedećim " "formatima: **TTF, OTF i WOFF** (biti će potreban samo jedan)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Možeš učitavati samo fontove koje posjeduješ ili imaš licencu za korištenje " "u Penpotu. Saznaj više u odjeljku Prava na sadržaj [Penpotovih uvjeta " -"pružanja usluge](%s). Također možeš pročitati o " -"[licenciranju fontova](https://www.typography.com/faq)." +"pružanja usluge](%s). Također možeš pročitati o [licenciranju " +"fontova](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Učitaj sve" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/fonts.cljs:193 +#, markdown +msgid "dashboard.fonts.warning-text" +msgstr "" +"Otkrili smo mogući problem u vašim fontovima povezan s vertikalnom metrikom " +"za različite operativne sustave. Kako biste to provjerili, možete koristiti " +"usluge okomite metrike fonta poput " +"[ove](https://vertical-metrics.netlify.app/). Osim toga, preporučujemo " +"korištenje [Transfonter](https://transfonter.org/) za generiranje " +"web-fontova i ispravljanje pogrešaka. " + +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Uvezi Penpot datoteke" @@ -448,18 +637,30 @@ msgstr "Uvezi Penpot datoteke" msgid "dashboard.import.analyze-error" msgstr "Ups! Nismo mogli uvesti ovu datoteku" +#, unused +msgid "dashboard.import.analyze-error.components-v2" +msgstr "Datoteka s komponentama v2 je aktivirana, ali je ovaj tim još ne podržava." + +#: src/app/main/ui/dashboard.cljs:247 +msgid "dashboard.import.bad-url" +msgstr "Uvoz nije uspio. URL predloška nije točan" + +#: src/app/main/ui/dashboard.cljs:241 +msgid "dashboard.import.error" +msgstr "Uvoz nije uspio. Molimo pokušajte ponovo" + #: src/app/main/ui/dashboard/import.cljs:292 msgid "dashboard.import.import-error" msgstr "Došlo je do problema pri uvozu datoteke. Datoteka nije uvezena." -#: src/app/main/ui/dashboard/import.cljs:466 -msgid "dashboard.import.import-message" -msgstr "%s datoteka je uspješno uvezeno." - -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Neke su datoteke sadržavale nevažeće objekte koji su uklonjeni." +#: src/app/main/ui/dashboard.cljs:248 +msgid "dashboard.import.no-perms" +msgstr "Nemate dopuštenje za uvoz u ovaj tim" + #: src/app/main/ui/dashboard/import.cljs:129 msgid "dashboard.import.progress.process-colors" msgstr "Obrada boja" @@ -496,27 +697,27 @@ msgstr "Pozovi u tim" msgid "dashboard.leave-team" msgstr "Napusti tim" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Biblioteke i predlošci" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Istraži više njih i saznaj kako doprinijeti" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Došlo je do problema prilikom uvoza predloška. Predložak nije uvezen." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Biblioteke" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "učitavanje tvojih datoteka…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "učitavanje tvojih fontova…" @@ -532,11 +733,11 @@ msgstr "Premijesti %s datoteke u" msgid "dashboard.move-to-other-team" msgstr "Premijesti u drugi tim" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Nova datoteka" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Nova datoteka" @@ -544,7 +745,7 @@ msgstr "Nova datoteka" msgid "dashboard.new-project" msgstr "+ Novi projekt" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Novi projekt" @@ -556,6 +757,10 @@ msgstr "Nisu pronađeni rezultati za “%s”" msgid "dashboard.no-projects-placeholder" msgstr "Prikvačeni projekti pojavit će se ovdje" +#: src/app/main/ui/dashboard/comments.cljs:90 +msgid "dashboard.notifications" +msgstr "Obavijesti" + #: src/app/main/ui/auth/verify_token.cljs:34 msgid "dashboard.notifications.email-changed-successfully" msgstr "Tvoja e-mail adresa je uspješno ažurirana" @@ -564,10 +769,18 @@ msgstr "Tvoja e-mail adresa je uspješno ažurirana" msgid "dashboard.notifications.email-verified-successfully" msgstr "Tvoja e-mail adresa je uspješno potvrđena" +#: src/app/main/data/profile.cljs:260 +msgid "dashboard.notifications.notifications-saved" +msgstr "Postavke obavijesti ažurirane" + #: src/app/main/ui/settings/password.cljs:36 msgid "dashboard.notifications.password-saved" msgstr "Lozinka je uspješno spremljena!" +#: src/app/main/ui/dashboard/comments.cljs:44 +msgid "dashboard.notifications.view" +msgstr "Pregledajte obavijesti" + #: src/app/main/ui/dashboard/team.cljs:1133 msgid "dashboard.num-of-members" msgstr "%s članova" @@ -576,7 +789,7 @@ msgstr "%s članova" msgid "dashboard.open-in-new-tab" msgstr "Otvori datoteku u novoj kartici" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Mogućnosti" @@ -584,10 +797,38 @@ msgstr "Mogućnosti" msgid "dashboard.password-change" msgstr "Promjeni lozinku" +#: src/app/main/data/common.cljs:209 +msgid "dashboard.permissions-change.admin" +msgstr "Sada ste administrator ovog tima." + +#: src/app/main/data/common.cljs:208 +msgid "dashboard.permissions-change.editor" +msgstr "Sada ste urednik u ovom timu." + +#: src/app/main/data/common.cljs:210 +msgid "dashboard.permissions-change.owner" +msgstr "Sada ste vlasnik ovog tima." + +#: src/app/main/data/common.cljs:207 +msgid "dashboard.permissions-change.viewer" +msgstr "Sada ste gledatelj u ovom timu." + #: src/app/main/ui/dashboard/pin_button.cljs:24, src/app/main/ui/dashboard/project_menu.cljs:96 msgid "dashboard.pin-unpin" msgstr "Prikvači/Otkvači" +#: src/app/main/ui/dashboard.cljs:208 +msgid "dashboard.plugins.bad-url" +msgstr "URL dodatka nije točan" + +#: src/app/main/ui/dashboard.cljs:206 +msgid "dashboard.plugins.parse-error" +msgstr "Nije moguće analizirati manifest dodatka" + +#: src/app/main/ui/dashboard.cljs:169 +msgid "dashboard.plugins.try-plugin" +msgstr "Isprobajte dodatak: " + #: src/app/main/ui/dashboard/projects.cljs:55 msgid "dashboard.projects-title" msgstr "Projekti" @@ -601,6 +842,10 @@ msgstr "Želiš li ukloniti svoj račun?" msgid "dashboard.remove-shared" msgstr "Ukloni kao zajedničku biblioteku" +#: src/app/main/data/common.cljs:242 +msgid "dashboard.removed-from-team" +msgstr "Niste više dio tima \"%s\"." + #: src/app/main/ui/settings/profile.cljs:78 msgid "dashboard.save-settings" msgstr "Spremi postavke" @@ -621,27 +866,83 @@ msgstr "Odaberite jezik korisničkog sučelja" msgid "dashboard.select-ui-theme" msgstr "Odaberi temu" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/settings/notifications.cljs:57 +msgid "dashboard.settings.notifications.dashboard-comments.all" +msgstr "Svi komentari, spominjanja i odgovori" + +#: src/app/main/ui/settings/notifications.cljs:59 +msgid "dashboard.settings.notifications.dashboard-comments.none" +msgstr "Nijedan" + +#: src/app/main/ui/settings/notifications.cljs:58 +msgid "dashboard.settings.notifications.dashboard-comments.partial" +msgstr "Samo spominjanja i odgovori" + +#: src/app/main/ui/settings/notifications.cljs:54 +msgid "dashboard.settings.notifications.dashboard-comments.title" +msgstr "Komentari datoteke" + +#: src/app/main/ui/settings/notifications.cljs:53 +msgid "dashboard.settings.notifications.dashboard.title" +msgstr "Obavijesti nadzorne ploče" + +#: src/app/main/ui/settings/notifications.cljs:67 +msgid "dashboard.settings.notifications.email-comments.all" +msgstr "Svi komentari, spominjanja i odgovori" + +#: src/app/main/ui/settings/notifications.cljs:69 +msgid "dashboard.settings.notifications.email-comments.none" +msgstr "Nijedan" + +#: src/app/main/ui/settings/notifications.cljs:68 +msgid "dashboard.settings.notifications.email-comments.partial" +msgstr "Samo spominjanja i odgovori" + +#: src/app/main/ui/settings/notifications.cljs:64 +msgid "dashboard.settings.notifications.email-comments.title" +msgstr "Komentari datoteke" + +#: src/app/main/ui/settings/notifications.cljs:76 +msgid "dashboard.settings.notifications.email-invites.all" +msgstr "Sve vrste pozivnica i zahtjeva" + +#: src/app/main/ui/settings/notifications.cljs:79 +msgid "dashboard.settings.notifications.email-invites.none" +msgstr "Nijedan" + +#: src/app/main/ui/settings/notifications.cljs:73 +msgid "dashboard.settings.notifications.email-invites.title" +msgstr "Pozivi i zahtjevi" + +#: src/app/main/ui/settings/notifications.cljs:63 +msgid "dashboard.settings.notifications.email.title" +msgstr "Obavijesti e-poštom" + +#: src/app/main/ui/settings/notifications.cljs:84 +msgid "dashboard.settings.notifications.submit" +msgstr "Ažurirajte postavke" + +#: src/app/main/ui/settings/notifications.cljs:52 +msgid "dashboard.settings.notifications.title" +msgstr "Obavijesti" + +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Prikaži sve datoteke" -#: src/app/main/ui/dashboard/file_menu.cljs:97 -msgid "dashboard.success-delete-file" -msgstr "Tvoja datoteka je uspješno izbrisana" +#: src/app/main/ui/workspace/main_menu.cljs:630 +msgid "dashboard.show-version-history" +msgstr "Povijest verzija" #: src/app/main/ui/dashboard/project_menu.cljs:61 msgid "dashboard.success-delete-project" msgstr "Tvoj projekt je uspješno izbrisan" -#: src/app/main/ui/dashboard/file_menu.cljs:92 -msgid "dashboard.success-duplicate-file" -msgstr "Tvoja datoteka je uspješno duplicirana" - #: src/app/main/ui/dashboard/project_menu.cljs:34 msgid "dashboard.success-duplicate-project" msgstr "Tvoj projekt je uspješno dupliciran" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Tvoja datoteka je uspješno premještena" @@ -685,6 +986,61 @@ msgstr "Poništi objavu biblioteke" msgid "dashboard.update-settings" msgstr "Ažuriraj postavke" +#: src/app/main/ui/dashboard/sidebar.cljs:970 +msgid "dashboard.upgrade-plan.no-limits" +msgstr "Kreativnost nema ograničenja" + +#: src/app/main/ui/dashboard/sidebar.cljs:969 +msgid "dashboard.upgrade-plan.penpot-free" +msgstr "Penpot Free" + +#: src/app/main/ui/dashboard/sidebar.cljs:972 +msgid "dashboard.upgrade-plan.power-up" +msgstr "Power up" + +#: src/app/main/ui/dashboard/team.cljs:909 +msgid "dashboard.webhooks.active" +msgstr "Aktivno" + +#: src/app/main/ui/dashboard/team.cljs:910 +msgid "dashboard.webhooks.active.explain" +msgstr "Kada se ovaj webhook pokrene, bit će isporučene pojedinosti o događaju" + +#: src/app/main/ui/dashboard/team.cljs:954 +msgid "dashboard.webhooks.cant-edit" +msgstr "Možete samo brisati ili mijenjati webhookove koje ste sami izradili." + +#: src/app/main/ui/dashboard/team.cljs:900 +msgid "dashboard.webhooks.content-type" +msgstr "Vrsta sadržaja" + +#: src/app/main/ui/dashboard/team.cljs:933 +msgid "dashboard.webhooks.create" +msgstr "Stvorite webhook" + +#: src/app/main/ui/dashboard/team.cljs:824 +msgid "dashboard.webhooks.create.success" +msgstr "Webhook je uspješno stvoren." + +#: src/app/main/ui/dashboard/team.cljs:930 +msgid "dashboard.webhooks.description" +msgstr "" +"Webhookovi su jednostavan način da se drugim web stranicama i aplikacijama " +"omogući da budu obaviješteni kada se određeni događaji dogode na Penpotu. " +"Poslat ćemo POST zahtjev na svaki URL koji navedete." + +#: src/app/main/ui/dashboard/team.cljs:1059 +msgid "dashboard.webhooks.empty.add-one" +msgstr "Pritisnite gumb \"Dodaj webhook\" da biste ga dodali." + +#: src/app/main/ui/dashboard/team.cljs:1058 +msgid "dashboard.webhooks.empty.no-webhooks" +msgstr "Do sada nije izrađen nijedan webhook." + +#, unused +msgid "dashboard.webhooks.update.success" +msgstr "Webhook je uspješno ažuriran." + #: src/app/main/ui/settings.cljs:33 msgid "dashboard.your-account-title" msgstr "Tvoj korisnički račun" @@ -697,7 +1053,7 @@ msgstr "E-mail" msgid "dashboard.your-name" msgstr "Ime" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Tvoj Penpot" @@ -713,11 +1069,15 @@ msgstr "Pažnja" msgid "ds.component-subtitle" msgstr "Komponente za ažuriranje:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/workspace/plugins.cljs:336, src/app/main/ui/workspace/plugins.cljs:390 +msgid "ds.confirm-allow" +msgstr "Dopusti" + +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Poništi" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "U redu" @@ -725,7 +1085,11 @@ msgstr "U redu" msgid "ds.confirm-title" msgstr "Jesi li siguran/na?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/data/auth.cljs:314 +msgid "errors.auth-provider-not-allowed" +msgstr "Davatelj autentifikacije nije dopušten za ovaj profil" + +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Pružatelj autentifikacije nije konfiguriran." @@ -733,7 +1097,19 @@ msgstr "Pružatelj autentifikacije nije konfiguriran." msgid "errors.auth.unable-to-login" msgstr "Čini se da nisi autentificiran/a ili je sesija istekla." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 +msgid "errors.bad-font" +msgstr "Font %s nije moguće učitati" + +#: src/app/main/data/fonts.cljs:191 +msgid "errors.bad-font-plural" +msgstr "Fontovi %s nisu mogli biti učitani" + +#: src/app/main/data/workspace/media.cljs:198 +msgid "errors.cannot-upload" +msgstr "Nije moguće učitati medijsku datoteku." + +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Tvoj preglednik ne može izvršiti ovu operaciju" @@ -745,10 +1121,14 @@ msgstr "E-mail se već koristi" msgid "errors.email-already-validated" msgstr "E-mail je već potvrđen." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Ne možeš koristiti svoj e-mail kao lozinku" +#: src/app/main/data/auth.cljs:316, src/app/main/ui/auth/register.cljs:54 +msgid "errors.email-domain-not-allowed" +msgstr "Domena nije dopuštena" + #: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:57, src/app/main/ui/auth/register.cljs:60, src/app/main/ui/dashboard/team.cljs:620, src/app/main/ui/settings/change_email.cljs:37 msgid "errors.email-has-permanent-bounces" msgstr "E-pmail «%s» ima mnogo trajnih izvješća o odbijanju." @@ -757,7 +1137,38 @@ msgstr "E-pmail «%s» ima mnogo trajnih izvješća o odbijanju." msgid "errors.email-spam-or-permanent-bounces" msgstr "E-mail «%s» je prijavljen kao neželjena pošta ili je trajno odbijen." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/errors.cljs:242 +msgid "errors.feature-mismatch" +msgstr "" +"Čini se da otvarate datoteku koja ima omogućenu značajku '%s', ali je " +"trenutna verzija penpota ne podržava ili je onemogućena." + +#: src/app/main/errors.cljs:246, src/app/main/errors.cljs:260 +msgid "errors.feature-not-supported" +msgstr "Značajka '%s' nije podržana." + +#: src/app/main/ui/auth/register.cljs, src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/onboarding/team_choice.cljs, src/app/main/ui/setti ngs/access_tokens.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/settings/profile.cljs, src/app/main/ui/workspace/sidebar/assets.cljs +#, unused +msgid "errors.field-max-length" +msgstr "Mora sadržavati najviše 1 znak." + +#, unused +msgid "errors.field-min-length" +msgstr "Mora sadržavati najmanje 1 znak." + +#: src/app/main/ui/settings/team-form.cljs, src/app/main/ui/auth/register.cljs, src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/onboarding/team_choice.cljs, src/app/main/ui/settings/access_tokens.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/settings/profile.cljs, src/app/main/ui/workspace/sidebar/assets.cljs +#, unused +msgid "errors.field-not-all-whitespace" +msgstr "Ime mora sadržavati neki znak osim razmaka." + +#: src/app/main/errors.cljs:238 +msgid "errors.file-feature-mismatch" +msgstr "" +"Čini se da postoji neusklađenost između omogućenih značajki i značajki " +"datoteke koju pokušavate otvoriti. Prije otvaranja datoteke potrebno je " +"primijeniti migracije za '%s'." + +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Dogodilo se nešto loše." @@ -765,8 +1176,12 @@ msgstr "Dogodilo se nešto loše." msgid "errors.invalid-color" msgstr "Pogrešna boja" -#: src/app/main/ui/settings/change_email.cljs +#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs, src/app/main/ui/auth/recovery_request.cljs #, unused +msgid "errors.invalid-email" +msgstr "Unesite valjanu e-poštu" + +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "E-mail za potvrdu mora odgovarati" @@ -782,10 +1197,18 @@ msgstr "Pogrešna pozivnica" msgid "errors.invite-invalid.info" msgstr "Ova pozivnica je možda otkazana ili je istekla." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Onemogućena je LDAP provjera autentičnosti." +#: src/app/main/errors.cljs:254, src/app/main/ui/dashboard/team.cljs:185, src/app/main/ui/onboarding/team_choice.cljs:104 +msgid "errors.max-quote-reached" +msgstr "Dosegli ste kvotu '%s'. Kontaktirajte podršku." + +#: src/app/main/ui/dashboard/team.cljs:181, src/app/main/ui/onboarding/team_choice.cljs:100 +msgid "errors.maximum-invitations-by-request-reached" +msgstr "Dosegnut je najveći (%s) broj e-pošta koje se mogu pozvati u jednom zahtjevu" + #: src/app/main/data/workspace/media.cljs:184 msgid "errors.media-too-large" msgstr "Slika je prevelika za umetanje." @@ -804,6 +1227,10 @@ msgstr "" "Profil koji pozivaš ima isključen e-email (izvješća o neželjenoj pošti ili " "veliki broj odbijanja)." +#: src/app/main/errors.cljs:228 +msgid "errors.migration-in-progress" +msgstr "Migracija u tijeku" + #: src/app/main/ui/settings/password.cljs #, unused msgid "errors.password-invalid-confirmation" @@ -814,6 +1241,14 @@ msgstr "Lozinka za potvrdu mora odgovarati" msgid "errors.password-too-short" msgstr "Lozinka mora sadržavati najmanje 8 znakova" +#: src/app/main/errors.cljs:137 +msgid "errors.paste-data-validation" +msgstr "Nevažeći podaci u međuspremniku" + +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 +msgid "errors.profile-blocked" +msgstr "Profil je blokiran" + #: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:176, src/app/main/ui/dashboard/team.cljs:611, src/app/main/ui/onboarding/team_choice.cljs:96, src/app/main/ui/settings/change_email.cljs:33 msgid "errors.profile-is-muted" msgstr "" @@ -824,6 +1259,10 @@ msgstr "" msgid "errors.registration-disabled" msgstr "Registracija je trenutno onemogućena." +#: src/app/main/errors.cljs:233 +msgid "errors.team-feature-mismatch" +msgstr "Otkrivena nekompatibilna značajka '%s'" + #: src/app/main/ui/dashboard/sidebar.cljs:374, src/app/main/ui/dashboard/team.cljs:387 msgid "errors.team-leave.insufficient-members" msgstr "Nedovoljno članova za napuštanje tima, vjerojatno ga želiš izbrisati." @@ -844,12 +1283,47 @@ msgstr "Došlo je do neočekivane pogreške." msgid "errors.unexpected-token" msgstr "Nepoznati token" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#, unused +msgid "errors.validation" +msgstr "Pogreška provjere valjanosti" + +#: src/app/main/errors.cljs:250 +msgid "errors.version-not-supported" +msgstr "Datoteka ima nekompatibilan broj verzije" + +#: src/app/main/ui/dashboard/team.cljs:844 +msgid "errors.webhooks.connection" +msgstr "Pogreška veze, URL nije dostupan" + +#: src/app/main/ui/dashboard/team.cljs:838 +msgid "errors.webhooks.invalid-uri" +msgstr "URL ne prolazi provjeru valjanosti." + +#: src/app/main/ui/dashboard/team.cljs:998 +msgid "errors.webhooks.last-delivery" +msgstr "Zadnja dostava nije bila uspješna." + +#: src/app/main/ui/dashboard/team.cljs:840, src/app/main/ui/dashboard/team.cljs:1001 +msgid "errors.webhooks.ssl-validation" +msgstr "Pogreška pri SSL provjeri valjanosti." + +#: src/app/main/ui/dashboard/team.cljs:842 +msgid "errors.webhooks.timeout" +msgstr "Istek vremena" + +#: src/app/main/ui/dashboard/team.cljs:836 +msgid "errors.webhooks.unexpected" +msgstr "Neočekivana pogreška prilikom provjere" + +#: src/app/main/ui/dashboard/team.cljs:846, src/app/main/ui/dashboard/team.cljs:1004 +msgid "errors.webhooks.unexpected-status" +msgstr "Neočekivani status %s" + +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Čini se da su korisničko ime ili lozinka pogrešni." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Stara lozinka je netočna" @@ -895,11 +1369,11 @@ msgstr "Ovdje za pomoć za tvoje tehničke upite." msgid "feedback.twitter-title" msgstr "X korisnički račun za podršku" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Došlo je do pogreške" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Zamućenje" @@ -907,31 +1381,31 @@ msgstr "Zamućenje" msgid "inspect.attributes.blur.value" msgstr "Vrijednost" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Ispuna" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Preuzmi izvornu sliku" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Visina" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Širina" @@ -970,11 +1444,15 @@ msgstr "Vrh" msgid "inspect.attributes.layout.width" msgstr "Širina" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Sjena" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 +msgid "inspect.attributes.size" +msgstr "Veličina i položaj" + +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Potez" @@ -1011,119 +1489,141 @@ msgstr "Solidan" msgid "inspect.attributes.stroke.width" msgstr "Širina" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografija" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Font" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Veličina fonta" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Stil fonta" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:118 +msgid "inspect.attributes.typography.font-weight" +msgstr "Težina fonta" + +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Razmak između slova" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Visina linije" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Dekoracija teksta" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Nikakav" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Precrtano" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Podcrtano" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformiraj tekst" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Mala slova" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Nikakav" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Velika i mala slova" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:164 +msgid "inspect.attributes.typography.text-transform.unset" +msgstr "Nepostavljeno" + +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Velika slova" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 +msgid "inspect.empty.help" +msgstr "" +"Ako želite saznati više o pregledu dizajna, posjetite Penpotov centar za " +"pomoć" + +#: src/app/main/ui/inspect/right_sidebar.cljs:166 +msgid "inspect.empty.more-info" +msgstr "Više informacija o inspekciji" + +#: src/app/main/ui/inspect/right_sidebar.cljs:158 +msgid "inspect.empty.select" +msgstr "Odaberite oblik, ploču ili grupu da provjerite njihova svojstva i kod" + +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kod" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Krug" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Komponenta" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Krivulja" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Ploča" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grupa" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Slika" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Maska" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Označeno" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Path" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Pravokutnik" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Tekst" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Informacija" @@ -1135,15 +1635,35 @@ msgstr "Prečaci" msgid "labels.accept" msgstr "Prihvati" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/settings/sidebar.cljs:112 +msgid "labels.access-tokens" +msgstr "Pristupni tokeni" + +#: src/app/main/ui/dashboard/team.cljs:1017 +msgid "labels.active" +msgstr "Aktivan" + +#: src/app/main/ui/workspace/libraries.cljs:176 +msgid "labels.add" +msgstr "Dodati" + +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Dodajte custom font" +#: src/app/main/ui/workspace/libraries.cljs:176 +msgid "labels.adding" +msgstr "Dodavanje..." + #: src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:313, src/app/main/ui/dashboard/team.cljs:554, src/app/main/ui/dashboard/team.cljs:584, src/app/main/ui/onboarding/team_choice.cljs:66 msgid "labels.admin" msgstr "Administrator" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/onboarding/questions.cljs:169 +msgid "labels.adobe-xd" +msgstr "Adobe XD" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Sve" @@ -1165,19 +1685,35 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Loš Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Odbaci" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/onboarding/questions.cljs:171 +msgid "labels.canva" +msgstr "Canva" + +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Zatvori" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 +msgid "labels.collapse" +msgstr "Sažmi" + +#: src/app/main/ui/comments.cljs:881 +msgid "labels.comment" +msgstr "Komentar" + +#: src/app/main/ui/comments.cljs:885 +msgid "labels.comment.mark-as-solved" +msgstr "Označi kao riješeno" + +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Komentari" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Zajenica" @@ -1185,7 +1721,7 @@ msgstr "Zajenica" msgid "labels.confirm-password" msgstr "Potvrdi lozinku" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Nastavi" @@ -1197,7 +1733,15 @@ msgstr "Nastavi sa" msgid "labels.continue-with-penpot" msgstr "Možeš nastaviti s Penpot računom" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/dashboard/team.cljs:683 +msgid "labels.copy-invitation-link" +msgstr "Kopiraj vezu" + +#: src/app/main/ui/static.cljs:62 +msgid "labels.copyright" +msgstr "Kaleidos @2024" + +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Kreiraj" @@ -1217,15 +1761,15 @@ msgstr "Custom fontovi" msgid "labels.dashboard" msgstr "Nadzorna ploča" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Izbriši" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Izbriši komentar" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Izbriši thread" @@ -1237,11 +1781,23 @@ msgstr "Izbriši pozivnicu" msgid "labels.delete-multi-files" msgstr "Izbriši %s datoteka" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/onboarding/questions.cljs:246 +msgid "labels.developer" +msgstr "Razvoj" + +#: src/app/main/ui/onboarding/questions.cljs:260 +msgid "labels.director" +msgstr "Direktor" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 +msgid "labels.discard" +msgstr "Odbaciti" + +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Nacrti" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Uredi" @@ -1253,11 +1809,15 @@ msgstr "Uredi datoteku" msgid "labels.editor" msgstr "Urednik" +#: src/app/main/ui/onboarding/questions.cljs:404 +msgid "labels.event" +msgstr "Događaj" + #: src/app/main/ui/dashboard/team.cljs:705 msgid "labels.expired-invitation" msgstr "Isteklo" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Izvezi" @@ -1269,7 +1829,11 @@ msgstr "Povratne informacije onemogućene" msgid "labels.feedback-sent" msgstr "Povratne informacije poslane" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/onboarding/questions.cljs:165 +msgid "labels.figma" +msgstr "Figma" + +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Font" @@ -1277,19 +1841,27 @@ msgstr "Font" msgid "labels.font-providers" msgstr "Pružatelji fontova" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Stilovi" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fontovi" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/onboarding/questions.cljs:259 +msgid "labels.founder" +msgstr "CEO ili osnivač" + +#: src/app/main/ui/onboarding/questions.cljs:258 +msgid "labels.freelancer" +msgstr "Freelancer" + +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Github repozitorij" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Daj povratnu informaciju" @@ -1297,15 +1869,27 @@ msgstr "Daj povratnu informaciju" msgid "labels.go-back" msgstr "Povratak" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/onboarding/questions.cljs:248 +msgid "labels.graphic-design" +msgstr "Grafički dizajn" + +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Centar za pomoć" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Sakrij riješene komentare" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 +msgid "labels.import" +msgstr "Uvoz" + +#: src/app/main/ui/dashboard/team.cljs:1018 +msgid "labels.inactive" +msgstr "Neaktivan" + +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Instalirani fontovi" @@ -1319,6 +1903,10 @@ msgstr "" msgid "labels.internal-error.main-message" msgstr "Interna pogreška" +#: src/app/main/ui/onboarding/questions.cljs:173 +msgid "labels.invision" +msgstr "InVision" + #: src/app/main/ui/dashboard/sidebar.cljs:525, src/app/main/ui/dashboard/team.cljs:96, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:760 msgid "labels.invitations" msgstr "Pozivnice" @@ -1327,18 +1915,30 @@ msgstr "Pozivnice" msgid "labels.language" msgstr "Jezik" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Biblioteke i predlošci" +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 +msgid "labels.loading" +msgstr "Učitavanje…" + #: src/app/main/ui/viewer/header.cljs:210 msgid "labels.log-or-sign" msgstr "Prijava ili registracija" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/static.cljs:56, src/app/main/ui/static.cljs:134 +msgid "labels.login" +msgstr "Prijava" + +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Odjava" +#: src/app/main/ui/onboarding/questions.cljs:249 +msgid "labels.marketing" +msgstr "Marketing" + #: src/app/main/ui/dashboard/team.cljs:506 msgid "labels.member" msgstr "Član" @@ -1351,9 +1951,13 @@ msgstr "Članovi" msgid "labels.new-password" msgstr "Nova lozinka" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +msgid "labels.next" +msgstr "Sljedeći" + +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" -msgstr "Nemaš obavijesti o komentarima na čekanju" +msgstr "Nemaš obavijesti o komentarima na čekanju." #: src/app/main/ui/dashboard/team.cljs:740 msgid "labels.no-invitations" @@ -1373,7 +1977,11 @@ msgstr "Ova stranica možda ne postoji ili nemaš dopuštenja za pristup." msgid "labels.not-found.main-message" msgstr "Ups!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/settings/sidebar.cljs:99 +msgid "labels.notifications" +msgstr "Obavijesti" + +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 datoteka" @@ -1394,6 +2002,10 @@ msgstr[0] "1 projekt" msgstr[1] "%s projekata" msgstr[2] "%s projekata" +#, unused +msgid "labels.ok" +msgstr "Ok" + #: src/app/main/ui/settings/password.cljs:77 msgid "labels.old-password" msgstr "Stara lozinka" @@ -1403,10 +2015,22 @@ msgstr "Stara lozinka" msgid "labels.only-yours" msgstr "Samo tvoj" +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 +msgid "labels.options" +msgstr "Mogućnosti" + #, unused msgid "labels.or" msgstr "ili" +#: src/app/main/ui/onboarding/questions.cljs:140, src/app/main/ui/onboarding/questions.cljs:209, src/app/main/ui/onboarding/questions.cljs:298, src/app/main/ui/onboarding/questions.cljs:312, src/app/main/ui/onboarding/questions.cljs:383, src/app/main/ui/onboarding/questions.cljs:439 +msgid "labels.other" +msgstr "Ostalo (navesti)" + +#: src/app/main/ui/onboarding/questions.cljs:100, src/app/main/ui/onboarding/questions.cljs:175, src/app/main/ui/onboarding/questions.cljs:251, src/app/main/ui/onboarding/questions.cljs:261, src/app/main/ui/onboarding/questions.cljs:351, src/app/main/ui/onboarding/questions.cljs:408 +msgid "labels.other-short" +msgstr "Ostalo" + #: src/app/main/ui/dashboard/team.cljs:317, src/app/main/ui/dashboard/team.cljs:553, src/app/main/ui/dashboard/team.cljs:1128 msgid "labels.owner" msgstr "Vlasnik" @@ -1419,6 +2043,22 @@ msgstr "Lozinka" msgid "labels.pending-invitation" msgstr "U tijeku" +#: src/app/main/ui/comments.cljs:678 +msgid "labels.post" +msgstr "Objaviti" + +#: src/app/main/ui/onboarding/questions.cljs:51, src/app/main/ui/viewer.cljs:105 +msgid "labels.previous" +msgstr "Prethodno" + +#: src/app/main/ui/onboarding/questions.cljs:245 +msgid "labels.product-design" +msgstr "Dizajn proizvoda ili UX" + +#: src/app/main/ui/onboarding/questions.cljs:250 +msgid "labels.product-management" +msgstr "Upravljanje proizvodima" + #: src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/sidebar.cljs:89 msgid "labels.profile" msgstr "Profil" @@ -1427,10 +2067,15 @@ msgstr "Profil" msgid "labels.projects" msgstr "Projekti" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Release notes" +#: src/app/main/ui/workspace.cljs +#, unused +msgid "labels.reload-file" +msgstr "Ponovno učitaj datoteku" + #: src/app/main/ui/workspace/libraries.cljs, src/app/main/ui/dashboard/team.cljs #, unused msgid "labels.remove" @@ -1440,7 +2085,7 @@ msgstr "Ukloni" msgid "labels.remove-member" msgstr "Ukloni člana" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Preimenuj" @@ -1448,10 +2093,34 @@ msgstr "Preimenuj" msgid "labels.rename-team" msgstr "Preimenuj tim" +#: src/app/main/ui/comments.cljs:641 +msgid "labels.replies" +msgstr "odgovori" + +#: src/app/main/ui/comments.cljs:646 +msgid "labels.replies.new" +msgstr "novi odgovori" + +#: src/app/main/ui/comments.cljs:640 +msgid "labels.reply" +msgstr "odgovor" + +#: src/app/main/ui/comments.cljs:645 +msgid "labels.reply.new" +msgstr "novi odgovor" + +#: src/app/main/ui/comments.cljs:721 +msgid "labels.reply.thread" +msgstr "Odgovor" + #: src/app/main/ui/dashboard/team.cljs:686 msgid "labels.resend-invitation" msgstr "Ponovno pošalji pozivnicu" +#: src/app/main/ui/workspace/sidebar/versions.cljs:133, src/app/main/ui/workspace/sidebar/versions.cljs:263 +msgid "labels.restore" +msgstr "Vratiti" + #: src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:351, src/app/main/ui/static.cljs:428 msgid "labels.retry" msgstr "Pokušaj ponovo" @@ -1460,14 +2129,22 @@ msgstr "Pokušaj ponovo" msgid "labels.role" msgstr "Uloga" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Spremi" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 +msgid "labels.search" +msgstr "Pretraživanje" + +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Pretraži font" +#: src/app/main/ui/onboarding/questions.cljs:85, src/app/main/ui/onboarding/questions.cljs:244, src/app/main/ui/onboarding/questions.cljs:255, src/app/main/ui/onboarding/questions.cljs:265 +msgid "labels.select-option" +msgstr "Odaberite opciju" + #: src/app/main/ui/settings/feedback.cljs:79 msgid "labels.send" msgstr "Pošalji" @@ -1484,10 +2161,18 @@ msgstr "U programiranom smo održavanju naših sustava." msgid "labels.service-unavailable.main-message" msgstr "Usluga je nedostupna" +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 +msgid "labels.sets" +msgstr "Skupovi" + #: src/app/main/ui/dashboard/sidebar.cljs:539, src/app/main/ui/dashboard/team.cljs:95, src/app/main/ui/dashboard/team.cljs:109, src/app/main/ui/settings/options.cljs:80, src/app/main/ui/settings/sidebar.cljs:105 msgid "labels.settings" msgstr "Postavke" +#: src/app/main/ui/viewer/header.cljs:206 +msgid "labels.share" +msgstr "Dijeliti" + #, unused msgid "labels.share-prototype" msgstr "Podijeli prototip" @@ -1496,26 +2181,58 @@ msgstr "Podijeli prototip" msgid "labels.shared-libraries" msgstr "Bibiloteke" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Prikaži sve komentare" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Prikaži listu komentara" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 +msgid "labels.show-mentions" +msgstr "Prikaži samo svoja spominjanja" + +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Prikaži samo tvoje komentare" +#: src/app/main/ui/onboarding/questions.cljs:167 +msgid "labels.sketch" +msgstr "Skica" + +#: src/app/main/ui/onboarding/questions.cljs:56 +msgid "labels.start" +msgstr "Start" + #: src/app/main/ui/dashboard/team.cljs:762 msgid "labels.status" msgstr "Status" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/onboarding/questions.cljs:247 +msgid "labels.student-teacher" +msgstr "Učenik ili učitelj" + +#: src/app/main/ui/onboarding/questions.cljs:256 +msgid "labels.team-leader" +msgstr "Voditelj tima" + +#: src/app/main/ui/onboarding/questions.cljs:257 +msgid "labels.team-member" +msgstr "Član tima" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 +msgid "labels.themes" +msgstr "Teme" + +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Upute" +#: src/app/main/ui/dashboard/file_menu.cljs:264 +msgid "labels.unpublish-multi-files" +msgstr "Poništi objavu datoteka %s" + #: src/app/main/ui/settings/profile.cljs:111 msgid "labels.update" msgstr "Ažuriraj" @@ -1524,23 +2241,31 @@ msgstr "Ažuriraj" msgid "labels.update-team" msgstr "Ažuriraj tim" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Prenesi" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Prenesi custom fontove" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Prijenos…" +#: src/app/main/ui/workspace/sidebar/sitemap.cljs:246 +msgid "labels.view-only" +msgstr "Samo pogled" + #: src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:307, src/app/main/ui/dashboard/team.cljs:556, src/app/main/ui/dashboard/team.cljs:592, src/app/main/ui/onboarding/team_choice.cljs:64 msgid "labels.viewer" msgstr "Promatrač" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/dashboard/sidebar.cljs:532, src/app/main/ui/dashboard/team.cljs:97, src/app/main/ui/dashboard/team.cljs:107, src/app/main/ui/dashboard/team.cljs:928 +msgid "labels.webhooks" +msgstr "Webhookovi" + +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Napiši novi komentar" @@ -1548,14 +2273,59 @@ msgstr "Napiši novi komentar" msgid "labels.you" msgstr "(ti)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Tvoj korisnički račun" +#: src/app/main/ui/onboarding/questions.cljs:403 +msgid "labels.youtube" +msgstr "YouTube" + +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 +msgid "media.choose-image" +msgstr "Odaberite sliku" + +#: src/app/main/ui/workspace/colorpicker.cljs:241 +msgid "media.gradient" +msgstr "Gradijent" + +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +msgid "media.image" +msgstr "Slika" + +#: src/app/main/ui/inspect/attributes/common.cljs:77 +msgid "media.image.short" +msgstr "slika" + +#: src/app/main/ui/workspace/colorpicker.cljs:467 +msgid "media.keep-aspect-ratio" +msgstr "Zadrži omjer slike" + +#: src/app/main/ui/workspace/colorpicker.cljs:228 +#, unused +msgid "media.linear" +msgstr "Linearno" + #: src/app/main/data/media.cljs:49, src/app/main/data/workspace/media.cljs:222, src/app/main/data/workspace/media.cljs:460 msgid "media.loading" msgstr "Učitavanje slike…" +#: src/app/main/ui/workspace/colorpicker.cljs:229 +#, unused +msgid "media.radial" +msgstr "Radijalno" + +#: src/app/main/ui/workspace/colorpicker.cljs:239 +msgid "media.solid" +msgstr "Čvrsto" + +#: src/app/main/data/common.cljs:134 +msgid "modals.add-shared-confirm-empty.hint" +msgstr "" +"Vaša biblioteka je prazna. Nakon dodavanja kao dijeljene biblioteke, " +"sredstva koja stvorite bit će dostupna za korištenje među ostalim " +"datotekama. Jeste li sigurni da je želite objaviti?" + #: src/app/main/data/common.cljs:136 msgid "modals.add-shared-confirm.accept" msgstr "Dodaj kao zajedničku biblioteku" @@ -1596,6 +2366,58 @@ msgstr "Promijeni e-mail" msgid "modals.change-email.title" msgstr "Promijeni svoj e-mail" +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 +msgid "modals.create-access-token.copy-token" +msgstr "Kopiraj token" + +#: src/app/main/ui/settings/access_tokens.cljs:131 +msgid "modals.create-access-token.expiration-date.label" +msgstr "Rok trajanja" + +#: src/app/main/ui/settings/access_tokens.cljs:125 +msgid "modals.create-access-token.name.label" +msgstr "Ime" + +#: src/app/main/ui/settings/access_tokens.cljs:127 +msgid "modals.create-access-token.name.placeholder" +msgstr "Ime može pomoći da se zna čemu služi token" + +#: src/app/main/ui/settings/access_tokens.cljs:179 +msgid "modals.create-access-token.submit-label" +msgstr "Stvori token" + +#: src/app/main/ui/settings/access_tokens.cljs:112 +msgid "modals.create-access-token.title" +msgstr "Generirajte pristupni token" + +#: src/app/main/ui/dashboard/team.cljs:921 +msgid "modals.create-webhook.submit-label" +msgstr "Izradi webhook" + +#: src/app/main/ui/dashboard/team.cljs:886 +msgid "modals.create-webhook.title" +msgstr "Izradi webhook" + +#: src/app/main/ui/dashboard/team.cljs:897 +msgid "modals.create-webhook.url.label" +msgstr "URL tereta" + +#: src/app/main/ui/dashboard/team.cljs:898 +msgid "modals.create-webhook.url.placeholder" +msgstr "https://primjer.com/postreceive" + +#: src/app/main/ui/settings/access_tokens.cljs:259 +msgid "modals.delete-acces-token.accept" +msgstr "Izbriši token" + +#: src/app/main/ui/settings/access_tokens.cljs:258 +msgid "modals.delete-acces-token.message" +msgstr "Jeste li sigurni da želite izbrisati ovaj token?" + +#: src/app/main/ui/settings/access_tokens.cljs:257 +msgid "modals.delete-acces-token.title" +msgstr "Izbriši token" + #: src/app/main/ui/settings/delete_account.cljs:59 msgid "modals.delete-account.cancel" msgstr "Otkaži i zadrži moj račun" @@ -1612,20 +2434,28 @@ msgstr "Uklanjanjem računa izgubit ćeš sve svoje trenutne projekte i arhive." msgid "modals.delete-account.title" msgstr "Jeste li siguran/na da želiš izbrisati svoj račun?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Obriši razgovor" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Jesi li siguran/na da želiš izbrisati ovaj razgovor? Svi komentari u ovoj " "temi biti će izbrisani." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Izbriši razgovor" +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 +msgid "modals.delete-component-annotation.message" +msgstr "Jeste li sigurni da želite izbrisati ovu bilješku?" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 +msgid "modals.delete-component-annotation.title" +msgstr "Izbriši bilješku" + #: src/app/main/ui/dashboard/file_menu.cljs:124 msgid "modals.delete-file-confirm.accept" msgstr "Izbriši datoteku" @@ -1650,31 +2480,31 @@ msgstr "Jesi li siguran/na da želiš izbrisati %s datoteke?" msgid "modals.delete-file-multi-confirm.title" msgstr "Brisanje %s datoteka" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Jesi li siguran/na da želiš izbrisati ovaj stil fonta? Neće se učitati ako " "se koristi u datoteci." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Brisanje fonta" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Jesi li siguran/na da želiš izbrisati ovaj font? Neće se učitati ako se " "koristi u datoteci." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Brisanje fonta" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Jesi li siguran/na da želiš izbrisati ovu stranicu?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Brisanje stranice" @@ -1697,6 +2527,20 @@ msgstr[0] "Izbriši datoteku" msgstr[1] "Izbriši datoteke" msgstr[2] "Izbriši datoteke" +#: src/app/main/ui/delete_shared.cljs:55 +msgid "modals.delete-shared-confirm.activated.no-files-message" +msgid_plural "modals.delete-shared-confirm.activated.no-files-message" +msgstr[0] "Nije aktivirana ni u jednoj datoteci." +msgstr[1] "Nisu aktivirane ni u jednoj datoteci." +msgstr[2] "Nisu aktivirane ni u jednoj datoteci." + +#: src/app/main/ui/delete_shared.cljs:57 +msgid "modals.delete-shared-confirm.activated.scd-message" +msgid_plural "modals.delete-shared-confirm.activated.scd-message" +msgstr[0] "Ova biblioteka je aktivirana ovdje: " +msgstr[1] "Ove biblioteke su aktivirana ovdje: " +msgstr[2] "Ove biblioteke su aktivirana ovdje: " + #: src/app/main/ui/delete_shared.cljs:46 msgid "modals.delete-shared-confirm.message" msgid_plural "modals.delete-shared-confirm.message" @@ -1737,6 +2581,39 @@ msgstr "Jesi li siguran/na da želiš izbrisati ovog člana iz tima?" msgid "modals.delete-team-member-confirm.title" msgstr "Brisanje člana tima" +#: src/app/main/ui/delete_shared.cljs:59 +msgid "modals.delete-unpublish-shared-confirm.activated.hint" +msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint" +msgstr[0] "" +"Sredstva koja su već korištena u ovoj datoteci ostat će ondje (nijedan " +"dizajn neće biti pokvaren)." +msgstr[1] "" +"Sredstva koja su već korištena u tim datotekama ostat će ondje (nijedan " +"dizajn neće biti pokvaren)." +msgstr[2] "" +"Sredstva koja su već korištena u tim datotekama ostat će ondje (nijedan " +"dizajn neće biti pokvaren)." + +#: src/app/main/ui/dashboard/team.cljs:991 +msgid "modals.delete-webhook.accept" +msgstr "Izbriši webhook" + +#: src/app/main/ui/dashboard/team.cljs:990 +msgid "modals.delete-webhook.message" +msgstr "Jeste li sigurni da želite izbrisati ovaj webhook?" + +#: src/app/main/ui/dashboard/team.cljs:989 +msgid "modals.delete-webhook.title" +msgstr "Brisanje webhooka" + +#: src/app/main/ui/dashboard/team.cljs:920 +msgid "modals.edit-webhook.submit-label" +msgstr "Uredi webhook" + +#: src/app/main/ui/dashboard/team.cljs:885 +msgid "modals.edit-webhook.title" +msgstr "Uredi webhook" + #: src/app/main/ui/dashboard/team.cljs:243 msgid "modals.invite-member-confirm.accept" msgstr "Pošalji pozivnicu" @@ -1745,6 +2622,18 @@ msgstr "Pošalji pozivnicu" msgid "modals.invite-member.emails" msgstr "E-mail, odvojeno zarezom" +#: src/app/main/ui/dashboard/team.cljs:223 +msgid "modals.invite-member.repeated-invitation" +msgstr "" +"Neke e-adrese su od trenutačnih članova tima. Njima pozivnice neće biti " +"poslane." + +#: src/app/main/ui/dashboard/team.cljs:216 +msgid "modals.invite-team-member.text" +msgstr "" +"Možete pozvati članove u tim kako bi mogli pristupiti ovoj datoteci i svim " +"datotekama tima." + #: src/app/main/ui/dashboard/team.cljs:212 msgid "modals.invite-team-member.title" msgstr "Pozovi članove u tim" @@ -1759,6 +2648,12 @@ msgstr "" msgid "modals.leave-and-close-confirm.message" msgstr "Jesi li siguran/na da želiš napustiti tim %s?" +#: src/app/main/ui/dashboard/change_owner.cljs:56 +msgid "modals.leave-and-reassign.forbidden" +msgstr "" +"Ne možete napustiti tim ako nema drugog člana kojeg možete promovirati u " +"vlasnika. Možda želite izbrisati tim." + #: src/app/main/ui/dashboard/change_owner.cljs:52 msgid "modals.leave-and-reassign.hint1" msgstr "" @@ -1789,9 +2684,30 @@ msgstr "Jesi li siguran/na da želiš napustiti ovaj tim?" msgid "modals.leave-confirm.title" msgstr "Napuštanje tima" +#: src/app/main/ui/delete_shared.cljs:53 +msgid "modals.move-shared-confirm.accept" +msgid_plural "modals.move-shared-confirm.accept" +msgstr[0] "Premjestiti" +msgstr[1] "Premjestiti" +msgstr[2] "Premjestiti" + +#: src/app/main/ui/delete_shared.cljs:48 +msgid "modals.move-shared-confirm.message" +msgid_plural "modals.move-shared-confirm.message" +msgstr[0] "Jeste li sigurni da želite premjestiti ovu biblioteku?" +msgstr[1] "Jeste li sigurni da želite premjestiti ove biblioteke?" +msgstr[2] "Jeste li sigurni da želite premjestiti ove biblioteke?" + +#: src/app/main/ui/delete_shared.cljs:43 +msgid "modals.move-shared-confirm.title" +msgid_plural "modals.move-shared-confirm.title" +msgstr[0] "Premjesti biblioteku" +msgstr[1] "Premjesti biblioteke" +msgstr[2] "Premjesti biblioteke" + #: src/app/main/ui/workspace/main_menu.cljs:271, src/app/main/ui/workspace/nudge.cljs:47 msgid "modals.nudge-title" -msgstr "Nudge amount" +msgstr "Pomakni za" #: src/app/main/ui/dashboard/team.cljs:374 msgid "modals.promote-owner-confirm.accept" @@ -1813,6 +2729,18 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Novi vlasnik tima" +#: src/app/main/ui/workspace/libraries.cljs:270 +msgid "modals.publish-empty-library.accept" +msgstr "Objavi" + +#: src/app/main/ui/workspace/libraries.cljs:269 +msgid "modals.publish-empty-library.message" +msgstr "Vaša biblioteka je prazna. Jeste li sigurni da je želite objaviti?" + +#: src/app/main/ui/workspace/libraries.cljs:268 +msgid "modals.publish-empty-library.title" +msgstr "Objavi praznu biblioteku" + #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs #, unused msgid "modals.remove-shared-confirm.accept" @@ -1835,10 +2763,6 @@ msgstr "Ukloni “%s” kao zajedničku biblioteku" msgid "modals.small-nudge" msgstr "Mali pomak" -#: src/app/main/ui/delete_shared.cljs:52 -msgid "modals.unpublish-shared-confirm.accept" -msgstr "Poništi objavu" - #: src/app/main/ui/delete_shared.cljs:47 msgid "modals.unpublish-shared-confirm.message" msgid_plural "modals.unpublish-shared-confirm.message" @@ -1865,28 +2789,140 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Ažuriraj komponente u zajedničkoj biblioteci" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Ažuriraj" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Poništi" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Upravo ćeš ažurirati komponentu u zajedničkoj biblioteci. To može utjecati " "na druge datoteke koje ga koriste." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Ažuriraj komponentu u zajedničkoj biblioteci" +#: src/app/main/ui/static.cljs:331 +msgid "not-found.desc-message.doesnt-exist" +msgstr "Ova stranica ne postoji" + +#: src/app/main/ui/static.cljs:330 +msgid "not-found.desc-message.error" +msgstr "404 greška" + +#: src/app/main/ui/static.cljs:135 +msgid "not-found.login.free" +msgstr "" +"Penpot je besplatni dizajnerski alat otvorenog koda za suradnju između " +"dizajna i koda" + +#: src/app/main/ui/auth/recovery_request.cljs:114 +msgid "not-found.login.sent-recovery" +msgstr "Poslali smo e-poštu za oporavak na" + +#: src/app/main/ui/auth/recovery_request.cljs:116 +msgid "not-found.login.sent-recovery-check" +msgstr "Provjerite svoju e-poštu i kliknite na vezu za stvaranje nove lozinke." + +#: src/app/main/ui/static.cljs:149 +msgid "not-found.login.signup-free" +msgstr "Prijavite se besplatno" + +#: src/app/main/ui/static.cljs:150 +msgid "not-found.login.start-using" +msgstr "I počnite koristiti Penpot za nekoliko sekundi!" + +#: src/app/main/ui/static.cljs:64 +msgid "not-found.made-with-love" +msgstr "Napravljeno s LJUBAVLJU i otvorenim kodom" + +#: src/app/main/ui/static.cljs:291 +msgid "not-found.no-permission.already-requested.file" +msgstr "Već ste zatražili pristup ovoj datoteci." + +#: src/app/main/ui/static.cljs:292 +msgid "not-found.no-permission.already-requested.or-others.file" +msgstr "" +"Već ste zatražili pristup ovoj datoteci ili drugim datotekama ili " +"projektima ovog tima." + +#: src/app/main/ui/static.cljs:298 +msgid "not-found.no-permission.already-requested.or-others.project" +msgstr "" +"Već ste zatražili pristup ovom projektu ili drugim projektima ili " +"datotekama ovog tima." + +#: src/app/main/ui/static.cljs:297 +msgid "not-found.no-permission.already-requested.project" +msgstr "Već ste zatražili pristup ovom projektu." + +#: src/app/main/ui/static.cljs:312, src/app/main/ui/static.cljs:321 +msgid "not-found.no-permission.ask" +msgstr "ZATRAŽITE PRISTUP" + +#: src/app/main/ui/static.cljs:304 +msgid "not-found.no-permission.done.remember" +msgstr "Zapamtite da ćete biti pozvani u tim ako vlasnik to dopusti." + +#: src/app/main/ui/static.cljs:303 +msgid "not-found.no-permission.done.success" +msgstr "Vaš zahtjev je ispravno poslan!" + +#: src/app/main/ui/static.cljs:309 +msgid "not-found.no-permission.file" +msgstr "Nemate pristup ovoj datoteci." + +#: src/app/main/ui/static.cljs:51, src/app/main/ui/static.cljs:287, src/app/main/ui/static.cljs:293, src/app/main/ui/static.cljs:299, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:323 +msgid "not-found.no-permission.go-dashboard" +msgstr "Idite na svoj Penpot" + +#: src/app/main/ui/static.cljs:311, src/app/main/ui/static.cljs:320 +msgid "not-found.no-permission.if-approves" +msgstr "Ako vlasnik to dopusti, bit ćete pozvani u tim." + +#: src/app/main/ui/static.cljs:249, src/app/main/ui/static.cljs:261 +msgid "not-found.no-permission.penpot-file" +msgstr "Penpot datoteka" + +#: src/app/main/ui/static.cljs:286, src/app/main/ui/static.cljs:318 +msgid "not-found.no-permission.project" +msgstr "Nemate pristup ovom projektu." + +#: src/app/main/ui/static.cljs:248, src/app/main/ui/static.cljs:259 +msgid "not-found.no-permission.project-name" +msgstr "PROJEKT" + +#: src/app/main/ui/static.cljs:310 +msgid "not-found.no-permission.you-can-ask.file" +msgstr "Za pristup ovoj datoteci možete pitati vlasnika tima." + +#: src/app/main/ui/static.cljs:319 +msgid "not-found.no-permission.you-can-ask.project" +msgstr "Za pristup ovom projektu možete pitati vlasnika tima." + +#: src/app/main/data/common.cljs:93 +msgid "notifications.by-code.maintenance" +msgstr "" +"Pauza za održavanje: usluga će biti nedostupna zbog kratkog održavanja u " +"roku od 5 minuta." + +#: src/app/main/data/common.cljs:83 +msgid "notifications.by-code.upgrade-version" +msgstr "Dostupna je nova verzija, molimo osvježite stranicu" + #: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:636 msgid "notifications.invitation-email-sent" msgstr "Pozivnica je uspješno poslana" +#: src/app/main/ui/dashboard/team.cljs:657 +msgid "notifications.invitation-link-copied" +msgstr "Veza pozivnice je kopirana" + #: src/app/main/ui/settings/delete_account.cljs:24 msgid "notifications.profile-deletion-not-allowed" msgstr "" @@ -1929,6 +2965,30 @@ msgstr "Video tutorijali" msgid "onboarding-v2.before-start.title" msgstr "Prije nego počneš" +#: src/app/main/ui/onboarding/newsletter.cljs:68 +msgid "onboarding-v2.newsletter.desc" +msgstr "" +"Pretplatite se na Penpot newsletter kako biste bili u tijeku s napretkom " +"razvoja proizvoda i novostima." + +#: src/app/main/ui/onboarding/newsletter.cljs:88 +msgid "onboarding-v2.newsletter.news" +msgstr "Šaljite mi vijesti o Penpotu (objave na blogu, video upute, prijenose...)." + +#: src/app/main/ui/onboarding/newsletter.cljs:96 +msgid "onboarding-v2.newsletter.privacy1" +msgstr "Stalo nam je do privatnosti, ovdje možete pročitati naše " + +#: src/app/main/ui/onboarding/newsletter.cljs:102 +msgid "onboarding-v2.newsletter.privacy2" +msgstr "" +"Poslat ćemo vam samo relevantne e-poruke. Pretplatu se možete odjaviti u " +"bilo kojem trenutku putem poveznice za odjavu u bilo kojem od naših brošura." + +#: src/app/main/ui/onboarding/newsletter.cljs:76 +msgid "onboarding-v2.newsletter.updates" +msgstr "Šalji mi ažuriranja proizvoda (nove značajke, izdanja, popravke...)." + #, unused msgid "onboarding-v2.welcome.desc1" msgstr "" @@ -1959,6 +3019,26 @@ msgstr "Vodič za doprinos" msgid "onboarding-v2.welcome.title" msgstr "Dobrodošli u Penpot!" +#: src/app/main/ui/onboarding/team_choice.cljs:254 +msgid "onboarding.choice.team-up.continue-creating-team" +msgstr "Nastavite sa stvaranjem tima" + +#: src/app/main/ui/onboarding/team_choice.cljs:264 +msgid "onboarding.choice.team-up.continue-without-a-team" +msgstr "Nastavi bez tima" + +#: src/app/main/ui/onboarding/team_choice.cljs:193 +msgid "onboarding.choice.team-up.create-team-and-invite" +msgstr "Stvorite tim i pozovite" + +#, unused +msgid "onboarding.choice.team-up.create-team-and-send-invites" +msgstr "Stvorite tim i pošaljite pozivnice" + +#: src/app/main/ui/onboarding/team_choice.cljs:197 +msgid "onboarding.choice.team-up.create-team-and-send-invites-description" +msgstr "Moći ćete pozvati kasnije" + #: src/app/main/ui/onboarding/team_choice.cljs:240 msgid "onboarding.choice.team-up.create-team-desc" msgstr "Nakon što imenuješ svoj tim, moći ćeš pozvati ljude da se pridruže." @@ -1967,6 +3047,14 @@ msgstr "Nakon što imenuješ svoj tim, moći ćeš pozvati ljude da se pridruže msgid "onboarding.choice.team-up.create-team-placeholder" msgstr "Unesi naziv tima" +#: src/app/main/ui/onboarding/team_choice.cljs:194 +msgid "onboarding.choice.team-up.create-team-without-invite" +msgstr "Stvorite tim" + +#, unused +msgid "onboarding.choice.team-up.create-team-without-inviting" +msgstr "Stvorite tim bez pozivanja" + #: src/app/main/ui/dashboard/projects.cljs:95, src/app/main/ui/onboarding/team_choice.cljs:159 msgid "onboarding.choice.team-up.invite-members" msgstr "Pozovi članove" @@ -1981,22 +3069,165 @@ msgstr "" msgid "onboarding.choice.team-up.roles" msgstr "Pozovi s ulogom:" +#: src/app/main/ui/onboarding/team_choice.cljs:257 +msgid "onboarding.choice.team-up.start-without-a-team" +msgstr "Počnite bez tima" + +#: src/app/main/ui/onboarding/team_choice.cljs:259 +msgid "onboarding.choice.team-up.start-without-a-team-description" +msgstr "Kasnije ćete moći stvoriti tim." + #, unused msgid "onboarding.newsletter.accept" msgstr "Da, pretplati se" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "Tvoj zahtjev za pretplatu je poslan, poslat ćemo ti e-mail da ga potvrdiš." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Politika privatnosti." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Želiš primati Penpot novostii?" +#: src/app/main/ui/onboarding/questions.cljs:113 +msgid "onboarding.questions.lets-get-started" +msgstr "Započnimo!" + +#: src/app/main/ui/onboarding/questions.cljs:94 +msgid "onboarding.questions.reasons.alternative" +msgstr "Tražite alternativu za Figmu, XD itd" + +#: src/app/main/ui/onboarding/questions.cljs:88 +msgid "onboarding.questions.reasons.exploring" +msgstr "Samo istražujem" + +#: src/app/main/ui/onboarding/questions.cljs:91 +msgid "onboarding.questions.reasons.fit" +msgstr "Pregledavam je li Penpot dobar za moj tim" + +#: src/app/main/ui/onboarding/questions.cljs:97 +msgid "onboarding.questions.reasons.testing" +msgstr "Testiranje prije samostalnog hostinga" + +#: src/app/main/ui/onboarding/questions.cljs:407 +msgid "onboarding.questions.referer.article" +msgstr "Članak (blog, post, brošura)" + +#: src/app/main/ui/onboarding/questions.cljs:405 +msgid "onboarding.questions.referer.search" +msgstr "Tražilica (Google, Yahoo, Bing)" + +#: src/app/main/ui/onboarding/questions.cljs:406 +msgid "onboarding.questions.referer.social" +msgstr "Društveni mreže (X, Linkedin, FB, itd.)" + +#: src/app/main/ui/onboarding/questions.cljs:349 +msgid "onboarding.questions.start-with.code" +msgstr "Generiranje stvarnog koda iz dizajna" + +#: src/app/main/ui/onboarding/questions.cljs:347 +msgid "onboarding.questions.start-with.ds" +msgstr "Stvaranje sustava dizajna" + +#: src/app/main/ui/onboarding/questions.cljs:345 +msgid "onboarding.questions.start-with.prototyping" +msgstr "Prototipiranje" + +#: src/app/main/ui/onboarding/questions.cljs:341 +msgid "onboarding.questions.start-with.ui" +msgstr "Dizajnirajte UI/UX aplikacije" + +#: src/app/main/ui/onboarding/questions.cljs:343 +msgid "onboarding.questions.start-with.wireframing" +msgstr "Wireframing" + +#: src/app/main/ui/onboarding/questions.cljs:121 +msgid "onboarding.questions.step1.question1" +msgstr "Za što ćete koristiti Penpot?" + +#: src/app/main/ui/onboarding/questions.cljs:128 +msgid "onboarding.questions.step1.question2" +msgstr "Što Vas danas dovodi u Penpot?" + +#: src/app/main/ui/onboarding/questions.cljs:117 +msgid "onboarding.questions.step1.subtitle" +msgstr "" +"Recite nam nešto o sebi kako biste nam pomogli da Penpot radi za Vas. Vaši " +"odgovori pomoći će nam da odredimo prioritet novih značajki i uputit će Vas " +"u pravom smjeru za početak." + +#: src/app/main/ui/onboarding/questions.cljs:115 +msgid "onboarding.questions.step1.title" +msgstr "Pomozite nam da Vas upoznamo" + +#: src/app/main/ui/onboarding/questions.cljs:196 +msgid "onboarding.questions.step2.title" +msgstr "Koji od ovih alata najviše koristite?" + +#: src/app/main/ui/onboarding/questions.cljs:289 +msgid "onboarding.questions.step3.question1" +msgstr "Kakvim se poslom bavite?" + +#: src/app/main/ui/onboarding/questions.cljs:303 +msgid "onboarding.questions.step3.question2" +msgstr "Koja je Vaša uloga?" + +#: src/app/main/ui/onboarding/questions.cljs:317 +msgid "onboarding.questions.step3.question3" +msgstr "Kolika je veličina Vaše tvrtke?" + +#: src/app/main/ui/onboarding/questions.cljs:287 +msgid "onboarding.questions.step3.title" +msgstr "Recite nam nešto o svom poslu" + +#: src/app/main/ui/onboarding/questions.cljs:370 +msgid "onboarding.questions.step4.title" +msgstr "Gdje biste željeli započeti?" + +#: src/app/main/ui/onboarding/questions.cljs:428 +msgid "onboarding.questions.step5.title" +msgstr "Kako ste čuli za Penpot?" + +#: src/app/main/ui/onboarding/questions.cljs:268 +msgid "onboarding.questions.team-size.11-30" +msgstr "11-30" + +#: src/app/main/ui/onboarding/questions.cljs:269 +msgid "onboarding.questions.team-size.2-10" +msgstr "2-10" + +#: src/app/main/ui/onboarding/questions.cljs:267 +msgid "onboarding.questions.team-size.31-50" +msgstr "31-50" + +#: src/app/main/ui/onboarding/questions.cljs:270 +msgid "onboarding.questions.team-size.freelancer" +msgstr "Ja sam freelancer" + +#: src/app/main/ui/onboarding/questions.cljs:266 +msgid "onboarding.questions.team-size.more-than-50" +msgstr "Više od 50" + +#: src/app/main/ui/onboarding/questions.cljs:271 +msgid "onboarding.questions.team-size.personal-project" +msgstr "Radim na osobnom projektu" + +#: src/app/main/ui/onboarding/questions.cljs:80 +msgid "onboarding.questions.use.education" +msgstr "Obrazovanje" + +#: src/app/main/ui/onboarding/questions.cljs:81 +msgid "onboarding.questions.use.personal" +msgstr "Osobno" + +#: src/app/main/ui/onboarding/questions.cljs:79 +msgid "onboarding.questions.use.work" +msgstr "Posao" + #: src/app/main/ui/onboarding/team_choice.cljs:238 msgid "onboarding.team-modal.create-team" msgstr "Kreiraj tim" @@ -2027,6 +3258,10 @@ msgstr "Neograničen broj članova" msgid "onboarding.team-modal.create-team-feature-5" msgstr "100% besplatno!" +#: src/app/main/ui/onboarding/team_choice.cljs:32 +msgid "onboarding.team-modal.team-definition" +msgstr "Što je tim?" + #: src/app/main/ui/onboarding/templates.cljs:78 msgid "onboarding.templates.subtitle" msgstr "Evo nekoliko predložaka." @@ -2043,10 +3278,22 @@ msgstr "Penpot" msgid "profile.recovery.go-to-login" msgstr "Idi na prijavu" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:223 +msgid "settings.detach" +msgstr "Odvojiti" + +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Izmješano" +#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:270 +msgid "settings.remove-color" +msgstr "Uklonite boju" + +#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:275 +msgid "settings.select-this-color" +msgstr "Odaberite stavke koristeći ovaj stil" + # SECTIONS #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:415 msgid "shortcut-section.basics" @@ -2107,12 +3354,16 @@ msgstr "Paneli" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:66 msgid "shortcut-subsection.path-editor" -msgstr "Paths" +msgstr "Putanje" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:67 msgid "shortcut-subsection.shape" msgstr "Oblici" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:68 +msgid "shortcut-subsection.text-editor" +msgstr "Tekstovi" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:69 msgid "shortcut-subsection.tools" msgstr "Alati" @@ -2137,10 +3388,18 @@ msgstr "Dodaj čvor" msgid "shortcuts.align-bottom" msgstr "Poravnaj dno" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:75 +msgid "shortcuts.align-center" +msgstr "Poravnajte središte" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:76 msgid "shortcuts.align-hcenter" msgstr "Poravnaj sredinu vodoravno" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:77 +msgid "shortcuts.align-justify" +msgstr "Poravnajte obostrano" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:78 msgid "shortcuts.align-left" msgstr "Poravnaj lijevo" @@ -2161,6 +3420,10 @@ msgstr "Poravnaj sredinu okomito" msgid "shortcuts.artboard-selection" msgstr "Kreiraj ploču iz odabira" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:83 +msgid "shortcuts.bold" +msgstr "Uključi/isključi podebljano" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:84 msgid "shortcuts.bool-difference" msgstr "Boolean razlika" @@ -2201,6 +3464,10 @@ msgstr "Obriši povrat" msgid "shortcuts.copy" msgstr "Kopiraj" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:94 +msgid "shortcuts.copy-link" +msgstr "Kopiraj vezu u međuspremnik" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:95 msgid "shortcuts.create-component" msgstr "Kreiraj komponentu" @@ -2213,7 +3480,7 @@ msgstr "Kreiraj novo" msgid "shortcuts.cut" msgstr "Izreži" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Zoom out" @@ -2281,6 +3548,14 @@ msgstr "Okreni vodoravno" msgid "shortcuts.flip-vertical" msgstr "Okreni okomito" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:115 +msgid "shortcuts.font-size-dec" +msgstr "Smanji veličinu fonta" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:116 +msgid "shortcuts.font-size-inc" +msgstr "Povećaj veličinu fonta" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:117 msgid "shortcuts.go-to-drafts" msgstr "Idi na nacrte" @@ -2305,7 +3580,7 @@ msgstr "Distribuiraj vodoravno" msgid "shortcuts.hide-ui" msgstr "Prikaži/sakrij UI" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Zoom in" @@ -2313,10 +3588,34 @@ msgstr "Zoom in" msgid "shortcuts.insert-image" msgstr "Umetni sliku" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:125 +msgid "shortcuts.italic" +msgstr "Prebaci kurziv" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:126 msgid "shortcuts.join-nodes" msgstr "Spoji čvorove" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:127 +msgid "shortcuts.letter-spacing-dec" +msgstr "Smanjite razmak između slova" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:128 +msgid "shortcuts.letter-spacing-inc" +msgstr "Povećaj razmak između slova" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:129 +msgid "shortcuts.line-height-dec" +msgstr "Smanji visinu linije" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:130 +msgid "shortcuts.line-height-inc" +msgstr "Povećaj visinu linije" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:131 +msgid "shortcuts.line-through" +msgstr "Uključi precrtavanje" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:132 msgid "shortcuts.make-corner" msgstr "Izradi rub" @@ -2433,6 +3732,10 @@ msgstr "Idi na odjeljak s komentarima" msgid "shortcuts.open-dashboard" msgstr "Idi na nadzornu ploču" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:160 +msgid "shortcuts.open-inspect" +msgstr "Idite na odjeljak pregleda preglednika" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161 msgid "shortcuts.open-interactions" msgstr "Idi na odjeljak interakcija" @@ -2461,10 +3764,18 @@ msgstr "Prethodna ploča" msgid "shortcuts.redo" msgstr "Ponovi" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:167 +msgid "shortcuts.rename" +msgstr "Preimenujte" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:168 msgid "shortcuts.reset-zoom" msgstr "Resetiraj zoom" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:169 +msgid "shortcuts.scale" +msgstr "Skalirajte" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:170 msgid "shortcuts.search-placeholder" msgstr "Pretraži prečace" @@ -2473,6 +3784,18 @@ msgstr "Pretraži prečace" msgid "shortcuts.select-all" msgstr "Označi sve" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:172 +msgid "shortcuts.select-next" +msgstr "Odaberite sljedeći sloj" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:173 +msgid "shortcuts.select-parent-layer" +msgstr "Odaberite nadređeni sloj" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:174 +msgid "shortcuts.select-prev" +msgstr "Odaberite prethodni sloj" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:175 msgid "shortcuts.separate-nodes" msgstr "Posebni čvorovi" @@ -2505,6 +3828,22 @@ msgstr "Počni mjerenje" msgid "shortcuts.stop-measure" msgstr "Zaustavi mjerenje" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:183 +msgid "shortcuts.text-align-center" +msgstr "Poravnajte središte" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:184 +msgid "shortcuts.text-align-justify" +msgstr "Poravnajte obostrano" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:185 +msgid "shortcuts.text-align-left" +msgstr "Poravnajte lijevo" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:186 +msgid "shortcuts.text-align-right" +msgstr "Poravnajte desno" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:187 msgid "shortcuts.thumbnail-set" msgstr "Postavi sličice" @@ -2533,6 +3872,10 @@ msgstr "Promijena fokus moda" msgid "shortcuts.toggle-fullscreen" msgstr "Promijeni cijeli zaslon" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:193 +msgid "shortcuts.toggle-guides" +msgstr "Prikaži / Sakrij vodiče" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:194 msgid "shortcuts.toggle-history" msgstr "Promijena povijesti" @@ -2541,6 +3884,14 @@ msgstr "Promijena povijesti" msgid "shortcuts.toggle-layers" msgstr "Promijena layera" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:196 +msgid "shortcuts.toggle-layout-flex" +msgstr "Dodavanje/uklanjanje flex rasporeda" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:197 +msgid "shortcuts.toggle-layout-grid" +msgstr "Dodaj/ukloni grid raspored" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:198 msgid "shortcuts.toggle-lock" msgstr "Zaključaj odabrano" @@ -2549,10 +3900,26 @@ msgstr "Zaključaj odabrano" msgid "shortcuts.toggle-lock-size" msgstr "Zaključaj proporcije" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:200 +msgid "shortcuts.toggle-rulers" +msgstr "Prikaži / Sakrij ravnala" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:201 +msgid "shortcuts.toggle-snap-guides" +msgstr "Pričvrstite na vodilice" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:202 +msgid "shortcuts.toggle-snap-ruler-guide" +msgstr "Pričvrstite na vodilice ravnala" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:203 msgid "shortcuts.toggle-textpalette" msgstr "Promijeni paletu teksta" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:204 +msgid "shortcuts.toggle-theme" +msgstr "Promjena teme" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:205 msgid "shortcuts.toggle-visibility" msgstr "Promijeni vidljivost" @@ -2561,9 +3928,13 @@ msgstr "Promijeni vidljivost" msgid "shortcuts.toggle-zoom-style" msgstr "Promijeni stil zooma" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:207 +msgid "shortcuts.underline" +msgstr "Uključi podcrtavanje" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:208 msgid "shortcuts.undo" -msgstr "Undo" +msgstr "Poništi" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:209 msgid "shortcuts.ungroup" @@ -2577,6 +3948,14 @@ msgstr "Makni masku" msgid "shortcuts.v-distribute" msgstr "Distribuiraj okomito" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:212 +msgid "shortcuts.zoom-lense-decrease" +msgstr "Smanjenje zuma objektiva" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:213 +msgid "shortcuts.zoom-lense-increase" +msgstr "Povećanje zuma objektiva" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:214 msgid "shortcuts.zoom-selected" msgstr "Zoomiraj na selektirano" @@ -2585,15 +3964,15 @@ msgstr "Zoomiraj na selektirano" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Dobavljači fontova - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Fontovi - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projekti - %s - Penpot" @@ -2601,7 +3980,7 @@ msgstr "Projekti - %s - Penpot" msgid "title.dashboard.search" msgstr "Traži - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Zajedničke biblioteke - %s - Penpot" @@ -2609,10 +3988,18 @@ msgstr "Zajedničke biblioteke - %s - Penpot" msgid "title.default" msgstr "Penpot - Sloboda dizajna za timove" +#: src/app/main/ui/settings/access_tokens.cljs:280 +msgid "title.settings.access-tokens" +msgstr "Profil - Pristupni tokeni" + #: src/app/main/ui/settings/feedback.cljs:107 msgid "title.settings.feedback" msgstr "Pošalji povratnu informaciju - Penpot" +#: src/app/main/ui/settings/notifications.cljs:45 +msgid "title.settings.notifications" +msgstr "Obavijesti - Penpot" + #: src/app/main/ui/settings/options.cljs:76 msgid "title.settings.options" msgstr "Postavke - Penpot" @@ -2637,11 +4024,15 @@ msgstr "Članovi - %s - Penpot" msgid "title.team-settings" msgstr "Postavke - %s - Penpot" +#: src/app/main/ui/dashboard/team.cljs:1043 +msgid "title.team-webhooks" +msgstr "Webhookovi - %s - Penpot" + #: src/app/main/ui/viewer.cljs:423 msgid "title.viewer" msgstr "%s - Način prikaza - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -2677,6 +4068,10 @@ msgstr "Ne prikazuj interakcije" msgid "viewer.header.fullscreen" msgstr "Cijeli zaslon" +#: src/app/main/ui/viewer/header.cljs:352 +msgid "viewer.header.inspect-section" +msgstr "Pregledaj (%s)" + #: src/app/main/ui/viewer/interactions.cljs:288 msgid "viewer.header.interactions" msgstr "Interakcije" @@ -2701,6 +4096,10 @@ msgstr "Prikaži interakcije na klik" msgid "viewer.header.sitemap" msgstr "Sitemap" +#: src/app/main/ui/dashboard/team.cljs:997 +msgid "webhooks.last-delivery.success" +msgstr "Zadnja isporuka bila je uspješna." + #: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:58 msgid "workspace.align.hcenter" msgstr "Poravnaj vodoravno u sredinu (%s)" @@ -2733,23 +4132,35 @@ msgstr "Distribuiraj okomiti razmak (%s)" msgid "workspace.align.vtop" msgstr "Poravnaj gore (%s)" +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 +msgid "workspace.assets.add-library" +msgstr "Dodaj biblioteku" + #: src/app/main/ui/workspace/sidebar/assets.cljs #, unused msgid "workspace.assets.assets" msgstr "Stavke" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Sve stavke" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Boje" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:494 +msgid "workspace.assets.colors.add-color" +msgstr "Dodajte boju" + +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Komponente" +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 +msgid "workspace.assets.components.add-component" +msgstr "Dodajte komponentu" + #: src/app/main/ui/workspace/sidebar/assets/groups.cljs:127 msgid "workspace.assets.create-group" msgstr "Kreiraj grupu" @@ -2758,23 +4169,35 @@ msgstr "Kreiraj grupu" msgid "workspace.assets.create-group-hint" msgstr "Tvoje stavke će se automatski imenovati kao \"naziv grupe / naziv stavke\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Izbriši" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Dupliciraj" +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 +msgid "workspace.assets.duplicate-main" +msgstr "Dupliciraj glavni" + #: src/app/main/ui/workspace/sidebar/assets/colors.cljs:246, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:438 msgid "workspace.assets.edit" msgstr "Uredi" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 +msgid "workspace.assets.filter" +msgstr "Filter" + +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafika" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 +msgid "workspace.assets.grid-view" +msgstr "Grid prikaz" + +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Grupa" @@ -2782,19 +4205,23 @@ msgstr "Grupa" msgid "workspace.assets.group-name" msgstr "Ime grupe" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Biblioteke" +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 +msgid "workspace.assets.list-view" +msgstr "Popisni prikaz" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "lokalna biblioteka" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Nisu pronađene stavke" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 +msgid "workspace.assets.open-library" +msgstr "Otvori datoteku biblioteke" + +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Preimenuj" @@ -2802,7 +4229,7 @@ msgstr "Preimenuj" msgid "workspace.assets.rename-group" msgstr "Preimenuj grupu" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Pretraži stavke" @@ -2814,40 +4241,64 @@ msgstr[0] "%s odabrana stavka" msgstr[1] "%s odabranih stavki" msgstr[2] "%s odabranih stavki" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/workspace/sidebar/assets.cljs +#, unused +msgid "workspace.assets.shared-library" +msgstr "Zajednička biblioteka" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 +msgid "workspace.assets.sidebar.components" +msgid_plural "workspace.assets.sidebar.components" +msgstr[0] "1 komponenta" +msgstr[1] "%s komponente" +msgstr[2] "%s komponente" + +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 +msgid "workspace.assets.sort" +msgstr "Sortiraj" + +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Tipografija" +#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:404 +msgid "workspace.assets.typography.add-typography" +msgstr "Dodajte tipografiju" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs #, unused msgid "workspace.assets.typography.font-id" msgstr "Font" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Veličina" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Varijanta" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Idi na datoteku biblioteke stilova za uređivanje" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Razmak između slova" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Visina linije" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#, unused +msgid "workspace.assets.typography.text-styles" +msgstr "Stilovi teksta" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transformiraj tekst" @@ -2855,15 +4306,67 @@ msgstr "Transformiraj tekst" msgid "workspace.assets.ungroup" msgstr "Razgrupiraj" +#: src/app/main/ui/workspace/context_menu.cljs:764 +msgid "workspace.context-menu.grid-cells.area" +msgstr "Stvorite područje" + +#: src/app/main/ui/workspace/context_menu.cljs:767 +msgid "workspace.context-menu.grid-cells.create-board" +msgstr "Napravi ploču" + +#: src/app/main/ui/workspace/context_menu.cljs:759 +msgid "workspace.context-menu.grid-cells.merge" +msgstr "Spoji ćelije" + +#: src/app/main/ui/workspace/context_menu.cljs:722 +msgid "workspace.context-menu.grid-track.column.add-after" +msgstr "Dodajte 1 stupac desno" + +#: src/app/main/ui/workspace/context_menu.cljs:721 +msgid "workspace.context-menu.grid-track.column.add-before" +msgstr "Dodajte 1 stupac lijevo" + +#: src/app/main/ui/workspace/context_menu.cljs:723 +msgid "workspace.context-menu.grid-track.column.delete" +msgstr "Izbriši stupac" + +#: src/app/main/ui/workspace/context_menu.cljs:724 +msgid "workspace.context-menu.grid-track.column.delete-shapes" +msgstr "Izbriši stupac i oblike" + +#: src/app/main/ui/workspace/context_menu.cljs:720 +msgid "workspace.context-menu.grid-track.column.duplicate" +msgstr "Dupliciraj stupac" + +#: src/app/main/ui/workspace/context_menu.cljs:729 +msgid "workspace.context-menu.grid-track.row.add-after" +msgstr "Dodajte 1 red ispod" + +#: src/app/main/ui/workspace/context_menu.cljs:728 +msgid "workspace.context-menu.grid-track.row.add-before" +msgstr "Dodajte 1 red iznad" + +#: src/app/main/ui/workspace/context_menu.cljs:730 +msgid "workspace.context-menu.grid-track.row.delete" +msgstr "Izbriši red" + +#: src/app/main/ui/workspace/context_menu.cljs:731 +msgid "workspace.context-menu.grid-track.row.delete-shapes" +msgstr "Izbrišite red i oblike" + +#: src/app/main/ui/workspace/context_menu.cljs:727 +msgid "workspace.context-menu.grid-track.row.duplicate" +msgstr "Dupliciraj redak" + #: src/app/main/ui/workspace/sidebar/layers.cljs:528 msgid "workspace.focus.focus-mode" msgstr "Fokus mode" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Fokus isključen" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Fokus uključen" @@ -2883,6 +4386,10 @@ msgstr "Radijalni gradijent" msgid "workspace.header.menu.disable-dynamic-alignment" msgstr "Onemogući dinamičko poravnanje" +#: src/app/main/ui/workspace/main_menu.cljs:197 +msgid "workspace.header.menu.disable-scale-content" +msgstr "Onemogući proporcionalno mjerilo" + #: src/app/main/ui/workspace/header.cljs #, unused msgid "workspace.header.menu.disable-scale-text" @@ -2896,10 +4403,18 @@ msgstr "Onemogući \"snap to guides\"" msgid "workspace.header.menu.disable-snap-pixel-grid" msgstr "Onemogući \"snap to pixel\"" +#: src/app/main/ui/workspace/main_menu.cljs:212 +msgid "workspace.header.menu.disable-snap-ruler-guides" +msgstr "Onemogući spajanje na vodilice ravnala" + #: src/app/main/ui/workspace/main_menu.cljs:244 msgid "workspace.header.menu.enable-dynamic-alignment" msgstr "Omogući dinamičko poravnanje" +#: src/app/main/ui/workspace/main_menu.cljs:198 +msgid "workspace.header.menu.enable-scale-content" +msgstr "Omogući proporcionalno mjerilo" + #: src/app/main/ui/workspace/header.cljs #, unused msgid "workspace.header.menu.enable-scale-text" @@ -2907,16 +4422,24 @@ msgstr "Omogući skaliranje teksta" #: src/app/main/ui/workspace/main_menu.cljs:229 msgid "workspace.header.menu.enable-snap-guides" -msgstr "Snap to guides" +msgstr "Pričvrstite na vodilice" #: src/app/main/ui/workspace/main_menu.cljs:259 msgid "workspace.header.menu.enable-snap-pixel-grid" msgstr "Omogući \"snap to pixel\"" +#: src/app/main/ui/workspace/main_menu.cljs:213 +msgid "workspace.header.menu.enable-snap-ruler-guides" +msgstr "Pričvrstite na vodilice ravnala" + #: src/app/main/ui/workspace/main_menu.cljs:388 msgid "workspace.header.menu.hide-artboard-names" msgstr "Sakrij nazive ploča" +#: src/app/main/ui/workspace/main_menu.cljs:342 +msgid "workspace.header.menu.hide-guides" +msgstr "Sakrij vodiče" + #: src/app/main/ui/workspace/main_menu.cljs:359 msgid "workspace.header.menu.hide-palette" msgstr "Sakrij paletu boja" @@ -2945,6 +4468,10 @@ msgstr "Datoteka" msgid "workspace.header.menu.option.help-info" msgstr "Pomoć i informacije" +#: src/app/main/ui/workspace/main_menu.cljs:910 +msgid "workspace.header.menu.option.power-up" +msgstr "Ojačajte svoj plan" + #: src/app/main/ui/workspace/main_menu.cljs:877 msgid "workspace.header.menu.option.preferences" msgstr "Preferencije" @@ -2953,6 +4480,10 @@ msgstr "Preferencije" msgid "workspace.header.menu.option.view" msgstr "Pregled" +#: src/app/main/ui/workspace/main_menu.cljs:471 +msgid "workspace.header.menu.redo" +msgstr "Ponovi" + #: src/app/main/ui/workspace/main_menu.cljs:442 msgid "workspace.header.menu.select-all" msgstr "Odaberi sve" @@ -2961,6 +4492,10 @@ msgstr "Odaberi sve" msgid "workspace.header.menu.show-artboard-names" msgstr "Prikaži nazive ploča" +#: src/app/main/ui/workspace/main_menu.cljs:343 +msgid "workspace.header.menu.show-guides" +msgstr "Prikaži vodiče" + #: src/app/main/ui/workspace/main_menu.cljs:360 msgid "workspace.header.menu.show-palette" msgstr "Prikaži paletu boja" @@ -2977,32 +4512,51 @@ msgstr "Prikaži \"rules\"" msgid "workspace.header.menu.show-textpalette" msgstr "Prikaži paletu fontova" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/workspace/main_menu.cljs:284 +msgid "workspace.header.menu.toggle-dark-theme" +msgstr "Prebacite se na tamnu temu" + +#: src/app/main/ui/workspace/main_menu.cljs:283 +msgid "workspace.header.menu.toggle-light-theme" +msgstr "Prebaci na svijetlu temu" + +#: src/app/main/ui/workspace/main_menu.cljs:457 +msgid "workspace.header.menu.undo" +msgstr "Poništi" + +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Resetiraj" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Greška kod spremanja" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Spremljeno" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Spremanje" +#: src/app/main/ui/workspace/right_header.cljs:221 +msgid "workspace.header.share" +msgstr "Podijeli" + #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Nespremljene izmijene" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Način prikaza (%s)" +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 +msgid "workspace.header.zoom" +msgstr "Zum" + #: src/app/main/ui/viewer/header.cljs:109 msgid "workspace.header.zoom-fill" msgstr "Ispuna - Skaliraj za popunjavanje" @@ -3011,7 +4565,7 @@ msgstr "Ispuna - Skaliraj za popunjavanje" msgid "workspace.header.zoom-fit" msgstr "Prilagodi - Smanji veličinu da pristane" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Zumiraj da stane sve" @@ -3019,19 +4573,55 @@ msgstr "Zumiraj da stane sve" msgid "workspace.header.zoom-full-screen" msgstr "Cijeli ekran" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zumiraj na odabrano" +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 +msgid "workspace.layout_grid.editor.options.edit-grid" +msgstr "Uredi grid" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 +msgid "workspace.layout_grid.editor.options.exit" +msgstr "Izlaz" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 +msgid "workspace.layout_grid.editor.padding.expand" +msgstr "Prikaži 4-strane opcije podstava" + +#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:59 +msgid "workspace.layout_grid.editor.title" +msgstr "Mreža za uređivanje" + +#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:65 +msgid "workspace.layout_grid.editor.top-bar.done" +msgstr "Gotovo" + +#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:62 +msgid "workspace.layout_grid.editor.top-bar.locate" +msgstr "Pronađi" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 +msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" +msgstr "Pronađite grid raspored" + #: src/app/main/ui/workspace/libraries.cljs #, unused msgid "workspace.libraries.add" msgstr "Dodaj" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s boje" +#: src/app/main/ui/workspace/color_palette.cljs:141 +msgid "workspace.libraries.colors.empty-palette" +msgstr "U vašoj biblioteci još nema stilova boja" + +#: src/app/main/ui/workspace/text_palette.cljs:161 +msgid "workspace.libraries.colors.empty-typography-palette" +msgstr "U vašoj biblioteci još nema stilova tipografije" + #: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:88, src/app/main/ui/workspace/colorpicker/libraries.cljs:48, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49 msgid "workspace.libraries.colors.file-library" msgstr "Biblioteka datoteka" @@ -3050,31 +4640,43 @@ msgstr "Nedavno korištene boje" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB komplementarno" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Spremi u stil boja" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s komponente" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:371 +msgid "workspace.libraries.empty.add-some" +msgstr "Ili dodajte neke od ovih za isprobavanje:" + +#: src/app/main/ui/workspace/libraries.cljs:365 +msgid "workspace.libraries.empty.no-libraries" +msgstr "U vašem timu nema dijeljenih biblioteka, možete ih potražiti" + +#: src/app/main/ui/workspace/libraries.cljs:369 +msgid "workspace.libraries.empty.some-templates" +msgstr "neki predlošci ovdje" + +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Biblioteka datoteka" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s grafike" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTEKE U OVOJ DATOTECI" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTEKE" @@ -3083,43 +4685,64 @@ msgstr "BIBLIOTEKE" msgid "workspace.libraries.library" msgstr "BIBLIOTEKA" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:467 +msgid "workspace.libraries.library-updates" +msgstr "AŽURIRANJE KNJIŽNICE" + +#: src/app/main/ui/workspace/libraries.cljs:360 +msgid "workspace.libraries.loading" +msgstr "Učitavanje…" + +#: src/app/main/ui/workspace/libraries.cljs:387 +#, unused +msgid "workspace.libraries.more-templates" +msgstr "Možete tražiti " + +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Ne postoje zajedničke biblioteke koje je potrebno ažurirati" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Nisu pronađeni rezultati za “%s”" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Nema dostupnih zajedničkih biblioteka" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Pretraži zajedničke biblioteke" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "ZAJEDNIČKE BIBLIOTEKE" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:352 +msgid "workspace.libraries.shared-library-btn" +msgstr "Povežite biblioteku" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Višestruke tipografije" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Prekini vezu svih tipografija" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s tipografije" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:323 +msgid "workspace.libraries.unlink-library-btn" +msgstr "Odspojite biblioteku" + +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Ažuriranje" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:563 +msgid "workspace.libraries.update.see-all-changes" +msgstr "vidjeti sve promjene" + +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "AŽURIRANJA" @@ -3127,6 +4750,14 @@ msgstr "AŽURIRANJA" msgid "workspace.options.add-interaction" msgstr "Klikni gumb + za dodavanje interakcija." +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:91 +msgid "workspace.options.blur-options.add-blur" +msgstr "Dodajte zamućenje" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:112 +msgid "workspace.options.blur-options.remove-blur" +msgstr "Ukloni zamućenje" + #: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:105 msgid "workspace.options.blur-options.title" msgstr "Zamuti" @@ -3139,18 +4770,50 @@ msgstr "Grupiraj zamućenje" msgid "workspace.options.blur-options.title.multiple" msgstr "Odabir zamućenja" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:108 +msgid "workspace.options.blur-options.toggle-blur" +msgstr "Uključi/isključi zamućenje" + +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Pozadina canvasa" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Isjeci sadržaj" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Komponenta" +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 +msgid "workspace.options.component.annotation" +msgstr "Bilješka" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 +msgid "workspace.options.component.copy" +msgstr "Kopirati" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 +msgid "workspace.options.component.create-annotation" +msgstr "Napravite bilješku" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 +msgid "workspace.options.component.edit-annotation" +msgstr "Uredite bilješku" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 +msgid "workspace.options.component.main" +msgstr "Glavni" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 +msgid "workspace.options.component.swap" +msgstr "Zamijenite komponentu" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 +msgid "workspace.options.component.swap.empty" +msgstr "U ovoj biblioteci još nema sredstava" + #: src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163 msgid "workspace.options.constraints" msgstr "Ograničenja" @@ -3195,7 +4858,7 @@ msgstr "Vrh i dno" msgid "workspace.options.design" msgstr "Dizajn" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Izvoz" @@ -3204,14 +4867,22 @@ msgstr "Izvoz" msgid "workspace.options.export-multiple" msgstr "Izvezi selektirano" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Izvezi 1 element" msgstr[1] "Izvezi %s elemenata" msgstr[2] "Izvezi %s elemenata" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 +msgid "workspace.options.export.add-export" +msgstr "Dodaj izvoz" + +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 +msgid "workspace.options.export.remove-export" +msgstr "Ukloni izvoz" + +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Sufiks" @@ -3219,7 +4890,7 @@ msgstr "Sufiks" msgid "workspace.options.exporting-complete" msgstr "Izvoz završen" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Izvoz…" @@ -3235,10 +4906,26 @@ msgstr "Izvoz neočekivano spor" msgid "workspace.options.fill" msgstr "Ispuni" +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:151 +msgid "workspace.options.fill.add-fill" +msgstr "Dodajte boju ispune" + +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:164 +msgid "workspace.options.fill.remove-fill" +msgstr "Ukloni ispunu" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "Promijenite veličinu ploče da odgovara sadržaju" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "Dodaj početak flowa" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:178 +msgid "workspace.options.flows.flow" +msgstr "Tok" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs #, unused msgid "workspace.options.flows.flow-start" @@ -3248,6 +4935,10 @@ msgstr "Početak toka" msgid "workspace.options.flows.flow-starts" msgstr "Flow započinje" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:154 +msgid "workspace.options.flows.remove-flow" +msgstr "Uklonite tok" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:31 msgid "workspace.options.grid.auto" msgstr "Auto" @@ -3272,7 +4963,7 @@ msgstr "Kolumne" #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:263 msgid "workspace.options.grid.params.gutter" -msgstr "Gutter" +msgstr "Oluk" #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:250 msgid "workspace.options.grid.params.height" @@ -3339,7 +5030,7 @@ msgstr "Redovi" #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:158 msgid "workspace.options.grid.square" -msgstr "Pravokutnik" +msgstr "Kvadrat" #: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:50 msgid "workspace.options.group-fill" @@ -3349,10 +5040,30 @@ msgstr "Popunjavanje grupe" msgid "workspace.options.group-stroke" msgstr "Grupni potez" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:323 +msgid "workspace.options.guides.add-guide" +msgstr "Dodajte vodilicu" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:187 +msgid "workspace.options.guides.remove-guide" +msgstr "Uklonite vodilicu" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:320 +msgid "workspace.options.guides.title" +msgstr "Vodilice" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:183 +msgid "workspace.options.guides.toggle-guide" +msgstr "Uključi/isključi vodilicu" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Visina" +#: src/app/main/ui/workspace/sidebar/options.cljs:193, src/app/main/ui/workspace/sidebar/options.cljs:196 +msgid "workspace.options.inspect" +msgstr "Pregledati" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:474 msgid "workspace.options.interaction-action" msgstr "Akcija" @@ -3381,6 +5092,10 @@ msgstr "Gurni" msgid "workspace.options.interaction-animation-slide" msgstr "Slide" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:397 +msgid "workspace.options.interaction-auto" +msgstr "auto" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:610 msgid "workspace.options.interaction-background" msgstr "Dodajte pozadinsko preklapanje" @@ -3531,6 +5246,10 @@ msgstr "Sačuvaj položaj scrolanja" msgid "workspace.options.interaction-prev-screen" msgstr "Prethodni ekran" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:521 +msgid "workspace.options.interaction-relative-to" +msgstr "U odnosu na" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:400 msgid "workspace.options.interaction-self" msgstr "sebe" @@ -3563,6 +5282,15 @@ msgstr "Dok pritisneš" msgid "workspace.options.interactions" msgstr "Interakcije" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:735 +msgid "workspace.options.interactions.add-interaction" +msgstr "Dodajte interakciju" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs +#, unused +msgid "workspace.options.interactions.remove-interaction" +msgstr "Ukloni interakciju" + #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:152 msgid "workspace.options.layer-options.blend-mode.color" msgstr "Boja" @@ -3630,7 +5358,7 @@ msgstr "Nježno svjetlo" #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs #, unused msgid "workspace.options.layer-options.title" -msgstr "Layer" +msgstr "Sloj" #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs #, unused @@ -3642,24 +5370,28 @@ msgstr "Grupiraj layere" msgid "workspace.options.layer-options.title.multiple" msgstr "Označeni layeri" +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197 +msgid "workspace.options.layer-options.toggle-layer" +msgstr "Uključi/isključi vidljivost sloja" + #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs #, unused msgid "workspace.options.layout-item.advanced-ops" msgstr "Napredne opcije" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Max.visina" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Max.širina" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Min.visina" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Min.širina" @@ -3688,6 +5420,26 @@ msgstr "Minimalna širina" msgid "workspace.options.layout.bottom" msgstr "Dno" +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.direction.column" +msgstr "Stupac" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.direction.column-reverse" +msgstr "Obrnuti stupac" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.direction.row" +msgstr "Red" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.direction.row-reverse" +msgstr "Obrnuti red" + #: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs #, unused msgid "workspace.options.layout.gap" @@ -3753,11 +5505,11 @@ msgstr "prostor između" msgid "workspace.options.layout.top" msgstr "Vrh" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Više boja" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Više boja iz biblioteke" @@ -3794,7 +5546,15 @@ msgstr "Gore lijevo" msgid "workspace.options.radius-top-right" msgstr "Gore desno" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:135 +msgid "workspace.options.radius.hide-all-corners" +msgstr "Sažmi neovisni radijus" + +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:136 +msgid "workspace.options.radius.show-single-corners" +msgstr "Prikaži neovisni radijus" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Nedavni" @@ -3802,11 +5562,11 @@ msgstr "Nedavni" msgid "workspace.options.retry" msgstr "Pokušaj ponovo" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotacija" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Pretraži font" @@ -3814,7 +5574,7 @@ msgstr "Pretraži font" msgid "workspace.options.select-a-shape" msgstr "Odaberi oblik, ploču ili grupu za povlačenje veze na drugu ploču." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Odabrane boje" @@ -3826,51 +5586,63 @@ msgstr "Ispuna odabira" msgid "workspace.options.selection-stroke" msgstr "Potez selektirano" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 +msgid "workspace.options.shadow-options.add-shadow" +msgstr "Dodajte sjenu" + +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Zamućeno" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Boja sjene" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Spusti sjenu" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Unutarnja sjena" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +msgid "workspace.options.shadow-options.remove-shadow" +msgstr "Ukloni sjenu" + +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Proširi" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Sjena" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Grupiraj sjenu" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Odabir sjena" +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 +msgid "workspace.options.shadow-options.toggle-shadow" +msgstr "Uključi/isključi sjenu" + #: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:193 msgid "workspace.options.show-fill-on-export" msgstr "Prikaži u izvozu" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Prikaži u načinu pregleda" @@ -3878,7 +5650,7 @@ msgstr "Prikaži u načinu pregleda" msgid "workspace.options.size" msgstr "Veličina" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Unaprijed postavljena veličina" @@ -3891,46 +5663,70 @@ msgstr "Potez" msgid "workspace.options.stroke-cap.circle-marker" msgstr "Kružni marker" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:131 +msgid "workspace.options.stroke-cap.circle-marker-short" +msgstr "Krug" + #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs #, unused msgid "workspace.options.stroke-cap.diamond-marker" msgstr "Dijamantni marker" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:132 +msgid "workspace.options.stroke-cap.diamond-marker-short" +msgstr "Dijamant" + #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs #, unused msgid "workspace.options.stroke-cap.line-arrow" msgstr "Strelica linije" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:128 +msgid "workspace.options.stroke-cap.line-arrow-short" +msgstr "Strelica" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:126 msgid "workspace.options.stroke-cap.none" msgstr "Nijedan" #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:134 msgid "workspace.options.stroke-cap.round" -msgstr "Krug" +msgstr "Okruglo" #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:135 msgid "workspace.options.stroke-cap.square" -msgstr "Pravokutnik" +msgstr "Kvadrat" #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs #, unused msgid "workspace.options.stroke-cap.square-marker" -msgstr "Pravokutni marker" +msgstr "Kvadratni marker" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:130 +msgid "workspace.options.stroke-cap.square-marker-short" +msgstr "Pravokutnik" #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs #, unused msgid "workspace.options.stroke-cap.triangle-arrow" msgstr "Trokutna strelica" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:129 +msgid "workspace.options.stroke-cap.triangle-arrow-short" +msgstr "Trokut" + #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:192 msgid "workspace.options.stroke-color" msgstr "Boja poteza" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Širina poteza" +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:171 +msgid "workspace.options.stroke.add-stroke" +msgstr "Dodajte boju poteza" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:89 msgid "workspace.options.stroke.center" msgstr "Sredina" @@ -3955,6 +5751,10 @@ msgstr "Miješano" msgid "workspace.options.stroke.outer" msgstr "Vani" +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:184 +msgid "workspace.options.stroke.remove-stroke" +msgstr "Uklonite potez" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:105 msgid "workspace.options.stroke.solid" msgstr "Čvrsto" @@ -3991,11 +5791,11 @@ msgstr "Automatska širina" msgid "workspace.options.text-options.grow-fixed" msgstr "Popravljeno" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Razmak između slova" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Visina linije" @@ -4059,15 +5859,15 @@ msgstr "Velika slova" msgid "workspace.options.use-play-button" msgstr "Upotrijebi play gumb u zaglavlju za pokretanje prikaza prototipa." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Širina" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" -msgstr "X" +msgstr "X os" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y" @@ -4111,83 +5911,260 @@ msgstr "Odvoji čvorove(%s)" msgid "workspace.path.actions.snap-nodes" msgstr "Priključi čvorove (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/plugins.cljs:83 +msgid "workspace.plugins.button-open" +msgstr "Otvoriti" + +#: src/app/main/ui/workspace/plugins.cljs:202 +#, markdown +msgid "workspace.plugins.discover" +msgstr "Otkrijte [više dodataka](%s)" + +#: src/app/main/ui/workspace/plugins.cljs:209 +msgid "workspace.plugins.empty-plugins" +msgstr "Još nema instaliranih dodataka" + +#: src/app/main/ui/workspace/plugins.cljs:196 +msgid "workspace.plugins.error.manifest" +msgstr "Manifest dodatka nije točan." + +#: src/app/main/data/plugins.cljs:86, src/app/main/ui/workspace/main_menu.cljs:743, src/app/main/ui/workspace/plugins.cljs:82 +msgid "workspace.plugins.error.need-editor" +msgstr "Morate biti urednik da biste koristili ovaj dodatak" + +#: src/app/main/ui/workspace/plugins.cljs:192 +msgid "workspace.plugins.error.url" +msgstr "Dodatak ne postoji ili URL nije točan." + +#: src/app/main/ui/workspace/plugins.cljs:188 +msgid "workspace.plugins.install" +msgstr "Instalirati" + +#: src/app/main/ui/workspace/plugins.cljs:218 +msgid "workspace.plugins.installed-plugins" +msgstr "Instalirani dodaci" + +#: src/app/main/ui/workspace/main_menu.cljs:698 +msgid "workspace.plugins.menu.plugins-manager" +msgstr "Upravitelj dodataka" + +#: src/app/main/ui/workspace/main_menu.cljs:889 +msgid "workspace.plugins.menu.title" +msgstr "Dodaci" + +#: src/app/main/ui/workspace/plugins.cljs:372 +msgid "workspace.plugins.permissions-update.title" +msgstr "AŽURIRAJTE OVAJ DODATAK" + +#: src/app/main/ui/workspace/plugins.cljs:376 +msgid "workspace.plugins.permissions-update.warning" +msgstr "" +"Dodatak je izmijenjen otkad ste ga zadnji put otvorili. Sada također želi " +"pristupiti:" + +#: src/app/main/ui/workspace/plugins.cljs:283 +msgid "workspace.plugins.permissions.allow-download" +msgstr "Pokrenite preuzimanje datoteka." + +#: src/app/main/ui/workspace/plugins.cljs:276 +msgid "workspace.plugins.permissions.comment-read" +msgstr "Pročitajte svoje komentare i odgovore." + +#: src/app/main/ui/workspace/plugins.cljs:270 +msgid "workspace.plugins.permissions.comment-write" +msgstr "Pročitajte i izmijenite svoje komentare i odgovorite u svoje ime." + +#: src/app/main/ui/workspace/plugins.cljs:243 +msgid "workspace.plugins.permissions.content-read" +msgstr "Pročitajte sadržaj datoteka kojima korisnici imaju pristup." + +#: src/app/main/ui/workspace/plugins.cljs:237 +msgid "workspace.plugins.permissions.content-write" +msgstr "Čitajte i mijenjajte sadržaj datoteka kojima korisnici imaju pristup." + +#: src/app/main/ui/workspace/plugins.cljs:323 +msgid "workspace.plugins.permissions.disclaimer" +msgstr "" +"Imajte na umu da je ovaj dodatak izradila vanjska strana, stoga provjerite " +"vjerujete li mu prije nego što odobrite pristup. Privatnost i sigurnost " +"vaših podataka važni su nam. Ako imate bilo kakvih nedoumica, obratite se " +"podršci." + +#: src/app/main/ui/workspace/plugins.cljs:263 +msgid "workspace.plugins.permissions.library-read" +msgstr "Čitajte svoje biblioteke i stavke." + +#: src/app/main/ui/workspace/plugins.cljs:257 +msgid "workspace.plugins.permissions.library-write" +msgstr "Čitajte i mijenjajte svoje biblioteke i stavke." + +#: src/app/main/ui/workspace/plugins.cljs:316 +msgid "workspace.plugins.permissions.title" +msgstr "'%s' DODATAK ŽELI PRISTUP:" + +#: src/app/main/ui/workspace/plugins.cljs:250 +msgid "workspace.plugins.permissions.user-read" +msgstr "Pročitajte informacije o profilu trenutnog korisnika." + +#: src/app/main/ui/workspace/plugins.cljs:214 +msgid "workspace.plugins.plugin-list-link" +msgstr "Popis dodataka" + +#: src/app/main/ui/workspace/plugins.cljs:86 +msgid "workspace.plugins.remove-plugin" +msgstr "Ukloni dodatak" + +#: src/app/main/ui/workspace/plugins.cljs:183 +msgid "workspace.plugins.search-placeholder" +msgstr "Napišite URL dodatka" + +#, unused +msgid "workspace.plugins.success" +msgstr "Dodatak je ispravno učitan." + +#: src/app/main/ui/workspace/plugins.cljs:177 +msgid "workspace.plugins.title" +msgstr "Dodaci" + +#: src/app/main/ui/workspace/plugins.cljs:436 +msgid "workspace.plugins.try-out.cancel" +msgstr "NE SADA" + +#: src/app/main/ui/workspace/plugins.cljs:429 +msgid "workspace.plugins.try-out.message" +msgstr "" +"Želite li pogledati? Otvorit će se u novom nacrtu za vaš trenutni tim. (Ako " +"ne, uvijek ga možete pronaći u instaliranim dodacima bilo koje datoteke.)" + +#: src/app/main/ui/workspace/plugins.cljs:425 +msgid "workspace.plugins.try-out.title" +msgstr "'%s' PLUGIN JE INSTALIRAN ZA VAŠEG KORISNIKA!" + +#: src/app/main/ui/workspace/plugins.cljs:442 +msgid "workspace.plugins.try-out.try" +msgstr "PROBAJTE DODATAK" + +#: src/app/main/ui/workspace/context_menu.cljs:542 +msgid "workspace.shape.menu.add-flex" +msgstr "Dodajte flex raspored" + +#: src/app/main/ui/workspace/context_menu.cljs:546 +msgid "workspace.shape.menu.add-grid" +msgstr "Dodajte grid raspored" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 +msgid "workspace.shape.menu.add-layout" +msgstr "Dodajte raspored" + +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Pošalji natrag" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Pošalji u pozadinu" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Kopiraj" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:204 +msgid "workspace.shape.menu.copy-css" +msgstr "Kopiraj kao CSS" + +#: src/app/main/ui/workspace/context_menu.cljs:206 +msgid "workspace.shape.menu.copy-css-nested" +msgstr "Kopiraj kao CSS (ugniježđeni slojevi)" + +#: src/app/main/ui/workspace/context_menu.cljs:189 +msgid "workspace.shape.menu.copy-link" +msgstr "Kopiraj vezu u međuspremnik" + +#: src/app/main/ui/workspace/context_menu.cljs:202 +msgid "workspace.shape.menu.copy-paste-as" +msgstr "Kopiraj/zalijepi kao..." + +#: src/app/main/ui/workspace/context_menu.cljs:214 +msgid "workspace.shape.menu.copy-props" +msgstr "Kopiraj svojstva" + +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Kopiraj kao tekst" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 +msgid "workspace.shape.menu.create-annotation" +msgstr "Napravite bilješku" + +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Odabir na ploču" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Kreiraj komponentu" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:572 +msgid "workspace.shape.menu.create-multiple-components" +msgstr "Stvorite više komponenti" + +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Izreži" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Izbriši" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Izbriši početak flowa" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Odvoji instancu" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Odvoji instance" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Razlika" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Dupliciraj" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Uredi" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Izuzmi" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Spljošti" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Okreni vodoravno" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Okreni okomito" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Početak flowa" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Postavi ispred" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Postavi naprijed" @@ -4196,83 +6173,107 @@ msgstr "Postavi naprijed" msgid "workspace.shape.menu.go-main" msgstr "Idi na datoteku glavne komponente" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Grupiraj" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Sakrij" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Prikaži/sakrij korisničko sučelje" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Presjek" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Zaključaj" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Maskiraj" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Zalijepi" -#: src/app/main/ui/workspace/context_menu.cljs:424 -msgid "workspace.shape.menu.path" -msgstr "Path" +#: src/app/main/ui/workspace/context_menu.cljs:218 +msgid "workspace.shape.menu.paste-props" +msgstr "Svojstva lijepljenja" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/context_menu.cljs:426 +msgid "workspace.shape.menu.path" +msgstr "Putanja" + +#: src/app/main/ui/workspace/context_menu.cljs:532 +msgid "workspace.shape.menu.remove-flex" +msgstr "Uklonite flex raspored" + +#: src/app/main/ui/workspace/context_menu.cljs:535 +msgid "workspace.shape.menu.remove-grid" +msgstr "Uklonite grid raspored" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 +msgid "workspace.shape.menu.remove-layout" +msgstr "Uklonite raspored" + +#: src/app/main/ui/workspace/context_menu.cljs:313 +msgid "workspace.shape.menu.rename" +msgstr "Preimenovati" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Poništi overrides" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Vrati glavnu komponentu" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Označi layer" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Prikaži" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 +msgid "workspace.shape.menu.show-in-assets" +msgstr "Prikaži na ploči stavki" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Prikaži glavnu komponentu" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Ukloni sličicu" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Postavi kao sličicu" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transformiraj u path" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Razgrupiraj" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Unija" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Otključaj" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Ukloni masku" @@ -4281,15 +6282,23 @@ msgstr "Ukloni masku" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Ažuriraj glavne komponente" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Ažuriraj glavnu komponentu" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/components/tab_container.cljs:52, src/app/main/ui/workspace/sidebar.cljs:51 +msgid "workspace.sidebar.collapse" +msgstr "Sažmi bočnu traku" + +#: src/app/main/ui/workspace/sidebar/collapsable_button.cljs:25, src/app/main/ui/workspace/sidebar/collapsable_button.cljs:29 +msgid "workspace.sidebar.expand" +msgstr "Proširi bočnu traku" + +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Povijest" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Layeri" @@ -4325,7 +6334,7 @@ msgstr "Oblici" msgid "workspace.sidebar.layers.texts" msgstr "Tekstovi" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Uvezeni SVG atributi" @@ -4333,11 +6342,193 @@ msgstr "Uvezeni SVG atributi" msgid "workspace.sidebar.sitemap" msgstr "Stranice" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/sidebar/sitemap.cljs:249 +msgid "workspace.sidebar.sitemap.add-page" +msgstr "Dodaj stranicu" + +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Sitemap" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:47 +#, unused +msgid "workspace.token-set.not-active" +msgstr "Skup tokena nije aktivan" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:84 +msgid "workspace.token.active-themes" +msgstr "%s aktivnih tema" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs +#, unused +msgid "workspace.token.add set" +msgstr "Dodaj skup" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Primijenjeno na" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 +msgid "workspace.token.back-to-themes" +msgstr "Povratak na popis tema" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 +msgid "workspace.token.create-new-theme" +msgstr "Stvorite svoju prvu temu sada." + +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 +msgid "workspace.token.create-one" +msgstr "Stvorite jedan." + +#: src/app/main/ui/workspace/tokens/form.cljs:492 +msgid "workspace.token.create-token" +msgstr "Stvorite novi %s token" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 +msgid "workspace.token.delete" +msgstr "Izbriši token" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 +msgid "workspace.token.delete-theme-title" +msgstr "Izbriši temu" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 +msgid "workspace.token.duplicate" +msgstr "Udvostručite token" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 +msgid "workspace.token.edit" +msgstr "Uredite token" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 +msgid "workspace.token.edit-theme-title" +msgstr "Uredite temu" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:72 +msgid "workspace.token.edit-themes" +msgstr "Uredite teme" + +#: src/app/main/ui/workspace/tokens/form.cljs:491 +msgid "workspace.token.edit-token" +msgstr "Uredite token" + +#: src/app/main/ui/workspace/tokens/form.cljs:544 +msgid "workspace.token.enter-token-description" +msgstr "Dodajte opis (nije obavezno)" + +#: src/app/main/ui/workspace/tokens/form.cljs:498 +msgid "workspace.token.enter-token-name" +msgstr "Unesite %s naziv tokena" + +#: src/app/main/ui/workspace/tokens/sets.cljs +#, unused +msgid "workspace.token.grouping-set-alert" +msgstr "Grupiranje skupa tokena još nije podržano." + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "Grupa" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "Tema" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 +msgid "workspace.token.no-active-theme" +msgstr "Nema aktivnih tema" + +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "Za aktiviranje/deaktiviranje skupova morate biti urednik" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "Morate biti urednik da biste koristili teme" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 +msgid "workspace.token.no-sets-create" +msgstr "Još nema definiranih skupova. Prvo stvorite jedan." + +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 +msgid "workspace.token.no-sets-yet" +msgstr "Još nema skupova." + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 +msgid "workspace.token.no-themes" +msgstr "Nema tema." + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 +msgid "workspace.token.no-themes-currently" +msgstr "Trenutno nemate nijednu temu." + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 +#, fuzzy +msgid "workspace.token.original-value" +msgstr "Izvorna vrijednost: %s" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "Referenca nije važeća ili nije ni u jednom aktivnom skupu" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 +#, fuzzy +msgid "workspace.token.resolved-value" +msgstr "Riješena vrijednost: %s" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 +msgid "workspace.token.save-theme" +msgstr "Spremi temu" + +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 +msgid "workspace.token.select-set" +msgstr "Odaberite skup." + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 +msgid "workspace.token.set-selection-theme" +msgstr "" +"Definirajte koji se skupovi tokena trebaju koristiti kao dio ove opcije " +"teme:" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 +msgid "workspace.token.theme-name" +msgstr "Tema %s" + +#: src/app/main/ui/workspace/tokens/form.cljs:545 +msgid "workspace.token.token-description" +msgstr "Opis" + +#: src/app/main/ui/workspace/tokens/form.cljs:501 +msgid "workspace.token.token-name" +msgstr "Ime" + +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" nije važeće ime tokena.\n" +"Nazivi tokena trebaju sadržavati samo slova i znamenke odvojene znakom . i " +"ne smije počinjati znakom $." + +#: src/app/main/ui/workspace/tokens/form.cljs:526 +msgid "workspace.token.token-value" +msgstr "Vrijednost" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "TOKENI - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 +msgid "workspace.token.tools" +msgstr "Alati" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "Vrijednost nije važeća" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "Preimenovanje ovog tokena prekinut će sve reference na njegov stari naziv." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Stavke" @@ -4345,35 +6536,39 @@ msgstr "Stavke" msgid "workspace.toolbar.color-palette" msgstr "Paleta boja (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Komentari (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Krivulja (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elipsa (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Ploča (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Slika (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Premijesti (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" -msgstr "Path (%s)" +msgstr "Putanja (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 +msgid "workspace.toolbar.plugins" +msgstr "Dodaci (%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Pravokutnik (%s)" @@ -4382,7 +6577,7 @@ msgstr "Pravokutnik (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Prečaci (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Tekst (%s)" @@ -4390,6 +6585,19 @@ msgstr "Tekst (%s)" msgid "workspace.toolbar.text-palette" msgstr "Tipografija (%s)" +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 +msgid "workspace.toolbar.toggle-toolbar" +msgstr "Uključi/isključi alatnu traku" + +#: src/app/main/ui/workspace/viewport/top_bar.cljs:39 +msgid "workspace.top-bar.read-only.done" +msgstr "Gotovo" + +#: src/app/main/ui/workspace/viewport/top_bar.cljs:36 +#, markdown +msgid "workspace.top-bar.view-only" +msgstr "**Provjera koda** (samo pregled)" + #: src/app/main/ui/workspace/sidebar/history.cljs:331 msgid "workspace.undo.empty" msgstr "Do sada nema promjena povijesti" @@ -4444,7 +6652,7 @@ msgstr "stranice" #: src/app/main/ui/workspace/sidebar/history.cljs:118 msgid "workspace.undo.entry.multiple.path" -msgstr "paths" +msgstr "putanje" #: src/app/main/ui/workspace/sidebar/history.cljs:119 msgid "workspace.undo.entry.multiple.rect" @@ -4508,7 +6716,7 @@ msgstr "stranica" #: src/app/main/ui/workspace/sidebar/history.cljs:133 msgid "workspace.undo.entry.single.path" -msgstr "path" +msgstr "putanja" #: src/app/main/ui/workspace/sidebar/history.cljs:134 msgid "workspace.undo.entry.single.rect" @@ -4535,18 +6743,99 @@ msgstr "Operacija izvršena %s" msgid "workspace.undo.title" msgstr "Povijest" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Odbaci" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1222 +msgid "workspace.updates.more-info" +msgstr "Više informacija" + +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Postoje ažuriranja u zajedničkim bibliotekama" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Ažuriraj" +#: src/app/main/ui/workspace/sidebar/versions.cljs:184 +msgid "workspace.versions.autosaved.entry" +msgstr "%s automatski spremljene verzije" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:182 +msgid "workspace.versions.autosaved.version" +msgstr "Automatski spremljeno %s" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:203 +msgid "workspace.versions.button.pin" +msgstr "Zakačiti verziju" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:198 +msgid "workspace.versions.button.restore" +msgstr "Vrati verziju" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:327, src/app/main/ui/workspace/sidebar/versions.cljs:329 +msgid "workspace.versions.button.save" +msgstr "Spremi verziju" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:336 +msgid "workspace.versions.empty" +msgstr "Još nema verzija" + +#: src/app/main/ui/ds/product/autosaved_milestone.cljs:53 +msgid "workspace.versions.expand-snapshot" +msgstr "Proširi snimke" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:309 +msgid "workspace.versions.filter.all" +msgstr "Sve verzije" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:308 +msgid "workspace.versions.filter.label" +msgstr "Filtar verzija" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:310 +msgid "workspace.versions.filter.mine" +msgstr "Moje verzije" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:316 +msgid "workspace.versions.filter.user" +msgstr "%s verzije" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:322 +msgid "workspace.versions.loading" +msgstr "Učitavanje..." + +#: src/app/main/ui/workspace/sidebar/versions.cljs:259 +msgid "workspace.versions.restore-warning" +msgstr "Želite li vratiti ovu verziju?" + +#, unused +msgid "workspace.versions.snapshot-menu" +msgstr "Otvaranje izbornika snimke" + +#: src/app/main/ui/workspace/sidebar.cljs:285 +msgid "workspace.versions.tab.actions" +msgstr "Akcije" + +#: src/app/main/ui/workspace/sidebar.cljs:282 +msgid "workspace.versions.tab.history" +msgstr "Povijest" + +#: src/app/main/ui/ds/product/autosaved_milestone.cljs:67, src/app/main/ui/ds/product/user_milestone.cljs:74 +msgid "workspace.versions.version-menu" +msgstr "Otvori izbornik verzije" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:365 +#, markdown +msgid "workspace.versions.warning.subtext" +msgstr "Ako želite povećati ovo ograničenje, pišite nam na [support@penpot.app](%s)" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:361 +msgid "workspace.versions.warning.text" +msgstr "Automatski spremljene verzije čuvat će se %s dana." + #, unused msgid "workspace.viewport.click-to-close-path" msgstr "Pritisni da zatvoriš path" diff --git a/frontend/translations/id.po b/frontend/translations/id.po index aa7f54db3c..d44da78636 100644 --- a/frontend/translations/id.po +++ b/frontend/translations/id.po @@ -1,15 +1,15 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-01-29 22:23+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Indonesian \n" +"Language-Team: Indonesian " +"\n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -38,13 +38,13 @@ msgstr "Buat akun demo" msgid "auth.create-demo-profile" msgstr "Hanya ingin mencobanya?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Ini layanan DEMO, JANGAN GUNAKAN untuk pekerjaan nyata, proyek-proyek ini " "akan di hapus secara berkala." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Lupa kata sandi?" @@ -52,7 +52,7 @@ msgstr "Lupa kata sandi?" msgid "auth.fullname" msgstr "Nama Lengkap" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Masuk ke akun saya" @@ -60,33 +60,33 @@ msgstr "Masuk ke akun saya" msgid "auth.login-here" msgstr "Masuk di sini." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Masuk" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot adalah peralatan desain bebas & bersumber terbuka untuk kolaborasi " "Desain dan Kode" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID Connect" @@ -110,7 +110,7 @@ msgstr "Tautan pemulihan kata sandi telah dikirim ke kotak masuk Anda." msgid "auth.notifications.team-invitation-accepted" msgstr "Berhasil bergabung ke tim" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Kata sandi" @@ -138,7 +138,7 @@ msgstr "Lupa kata sandi?" msgid "auth.recovery-submit" msgstr "Ubah kata sandi Anda" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Belum punya akun?" @@ -152,7 +152,7 @@ msgstr "" msgid "auth.register-account-title" msgstr "Nama Anda" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Buat akun baru" @@ -177,7 +177,7 @@ msgstr "Solusi sumber terbuka untuk pembuatan desain dan prototipe." msgid "auth.terms-and-privacy-agreement" msgstr "Saya menyetujui [persyaratan layanan](%s) dan [kebijakan privasi](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Kebijakan layanan" @@ -191,7 +191,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Kami telah mengirimkan surel verifikasi ke" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Surel kerja" @@ -200,11 +200,11 @@ msgstr "Surel kerja" msgid "branding-illustrations-marketing-pieces" msgstr "...pencitraan merek, ilustrasi, bagian pemasaran, dll." -#: src/app/main/ui/comments.cljs:504 +#: src/app/main/ui/comments.cljs:532 msgid "comments.mentions.not-found" msgstr "Tidak ada orang yang ditemukan untuk @%s" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Terbitkan" @@ -275,7 +275,7 @@ msgstr "Bagikan prototipe" msgid "common.share-link.view-all" msgstr "Pilih Semua" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Batalkan penerbitan" @@ -329,7 +329,7 @@ msgstr "Panduan Antarmuka" msgid "dashboard.access-tokens.copied-success" msgstr "Token disalin" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Buat token baru" @@ -337,11 +337,11 @@ msgstr "Buat token baru" msgid "dashboard.access-tokens.create.success" msgstr "Token akses berhasil dibuat." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Tekan tombol \"Buat token baru\" untuk membuat token." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Anda belum memiliki token." @@ -365,23 +365,23 @@ msgstr "90 hari" msgid "dashboard.access-tokens.expiration-never" msgstr "Tidak pernah" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Telah kedaluwarsa pada %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Kedaluwarsa pada %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Tidak ada tanggal kedaluwarsa" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Token akses pribadi" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Token akses pribadi berfungsi sebagai alternatif sistem autentikasi nama " @@ -396,6 +396,10 @@ msgstr "Token akan kedaluwarsa pada %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "Token tidak memiliki tanggal kedaluwarsa" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Tambahkan berkas" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Tambahkan sebagai Pustaka Bersama" @@ -404,7 +408,7 @@ msgstr "Tambahkan sebagai Pustaka Bersama" msgid "dashboard.change-email" msgstr "Ubah surel" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(salin)" @@ -440,23 +444,23 @@ msgstr "Duplikasi" msgid "dashboard.duplicate-multi" msgstr "Gandakan % berkas" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Ketika anggota proyek membuat draf, itu akan ditampilkan di sini." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Belum ada draf." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Ketika anggota proyek membuat berkas, itu akan ditampilkan di sini." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Belum ada berkas." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -472,11 +476,11 @@ msgstr "" "berkas Anda atau tambahkan dari [Pustaka dan tempat] " "(https://penpot.app/libraries-templates) kami." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Pustaka yang ditambahkan ke proyek akan muncul di sini." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Belum ada pustaka." @@ -568,32 +572,32 @@ msgstr "Termasuk aset pustaka terbagi dalam pustaka berkas" msgid "dashboard.export.title" msgstr "Ekspor berkas" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Fon dihapus" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Abaikan semua" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Fon khusus yang Anda unggah akan muncul di sini." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "Belum ada fon kustom." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "Ketika anggota proyek mengunggah fon kustom, itu akan ditampilkan di sini." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "%s fon ditambahkan" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -603,21 +607,20 @@ msgstr "" "fon tunggal**. Anda dapat mengunggah fon dengan format berikut: **TTF, OTF, " "dan WOFF** (hanya satu yang diperlukan)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Anda seharusnya hanya mengunggah fon yang Anda miliki atau memiliki izin " "untuk menggunakannya dalam Penpot. Ketahui lebih lanjut dalam bagian Hak " -"konten (Content rights) dari [Ketentuan Layanan " -"Penpot](%s). Anda mungkin juga ingin membaca " -"tentang [lisensi fon](https://www.typography.com/faq)." +"konten (Content rights) dari [Ketentuan Layanan Penpot](%s). Anda mungkin " +"juga ingin membaca tentang [lisensi fon](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Unggah semua" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -628,7 +631,7 @@ msgstr "" "menyarankan menggunakan [Transfonter](https://transfonter.org/) untuk " "membuat fon web dan memperbaiki kesalahan. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Impor berkas Penpot" @@ -640,11 +643,11 @@ msgstr "Aduh! Kami tidak dapat mengimpor berkas ini" msgid "dashboard.import.analyze-error.components-v2" msgstr "Berkas dengan komponen v2 diaktifkan tetapi tim ini belum mendukungnya." -#: src/app/main/ui/dashboard.cljs:248 +#: src/app/main/ui/dashboard.cljs:247 msgid "dashboard.import.bad-url" msgstr "Pengimporan gagal. URL templat salah" -#: src/app/main/ui/dashboard.cljs:242 +#: src/app/main/ui/dashboard.cljs:241 msgid "dashboard.import.error" msgstr "Pengimporan gagal. Silakan coba lagi" @@ -652,15 +655,15 @@ msgstr "Pengimporan gagal. Silakan coba lagi" msgid "dashboard.import.import-error" msgstr "Terdapat masalah saat mengimpor berkas. Berkasnya tidak terimpor." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "%s berkas telah berhasil diimpor." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Beberapa berkas berisi objek yang tidak valid yang telah dihapus." -#: src/app/main/ui/dashboard.cljs:249 +#: src/app/main/ui/dashboard.cljs:248 msgid "dashboard.import.no-perms" msgstr "Anda tidak memiliki perizinan untuk mengimpor ke tim ini" @@ -700,27 +703,27 @@ msgstr "Undang orang" msgid "dashboard.leave-team" msgstr "Tinggalkan tim" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Pustaka & Template" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Jelajahi lebih banyak dan pelajari cara berkontribusi" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Terjadi masalah saat mengimpor template. Template tidak diimpor." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Pustaka" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "memuat berkas Anda …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "memuat fon Anda …" @@ -736,11 +739,11 @@ msgstr "Pindahkan %s berkas ke" msgid "dashboard.move-to-other-team" msgstr "Pindahkan ke tim lain" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Buat Berkas" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Berkas Baru" @@ -748,7 +751,7 @@ msgstr "Berkas Baru" msgid "dashboard.new-project" msgstr "+ Buat Proyek" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Proyek Baru" @@ -760,7 +763,7 @@ msgstr "Tidak ada hasil yang ditemukan untuk “%s”" msgid "dashboard.no-projects-placeholder" msgstr "Proyek yang disemat akan muncul di sini" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Notifikasi" @@ -772,7 +775,7 @@ msgstr "Alamat surel Anda berhasil diperbarui" msgid "dashboard.notifications.email-verified-successfully" msgstr "Alamat surel Anda berhasil diverifikasi" -#: src/app/main/ui/settings/notifications.cljs:42 +#: src/app/main/data/profile.cljs:260 msgid "dashboard.notifications.notifications-saved" msgstr "Pengaturan notifikasi diperbarui" @@ -792,7 +795,7 @@ msgstr "%s anggota" msgid "dashboard.open-in-new-tab" msgstr "Buka berkas di tab baru" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opsi" @@ -820,15 +823,15 @@ msgstr "Anda sekarang seorang peninjau di tim ini." msgid "dashboard.pin-unpin" msgstr "Semat/Lepas semat" -#: src/app/main/ui/dashboard.cljs:212 +#: src/app/main/ui/dashboard.cljs:208 msgid "dashboard.plugins.bad-url" msgstr "URL plugin salah" -#: src/app/main/ui/dashboard.cljs:210 +#: src/app/main/ui/dashboard.cljs:206 msgid "dashboard.plugins.parse-error" msgstr "Tidak dapat mengurai manifes plugin" -#: src/app/main/ui/dashboard.cljs:173 +#: src/app/main/ui/dashboard.cljs:169 msgid "dashboard.plugins.try-plugin" msgstr "Coba plugin: " @@ -869,67 +872,67 @@ msgstr "Pilih bahasa antarmuka" msgid "dashboard.select-ui-theme" msgstr "Pilih tema" -#: src/app/main/ui/settings/notifications.cljs:76 +#: src/app/main/ui/settings/notifications.cljs:57 msgid "dashboard.settings.notifications.dashboard-comments.all" msgstr "Semua komentar, sebutan, dan balasan" -#: src/app/main/ui/settings/notifications.cljs:78 +#: src/app/main/ui/settings/notifications.cljs:59 msgid "dashboard.settings.notifications.dashboard-comments.none" msgstr "Tidak ada" -#: src/app/main/ui/settings/notifications.cljs:77 +#: src/app/main/ui/settings/notifications.cljs:58 msgid "dashboard.settings.notifications.dashboard-comments.partial" msgstr "Hanya sebutan dan balasan" -#: src/app/main/ui/settings/notifications.cljs:73 +#: src/app/main/ui/settings/notifications.cljs:54 msgid "dashboard.settings.notifications.dashboard-comments.title" msgstr "Komentar berkas" -#: src/app/main/ui/settings/notifications.cljs:72 +#: src/app/main/ui/settings/notifications.cljs:53 msgid "dashboard.settings.notifications.dashboard.title" msgstr "Notifikasi Dasbor" -#: src/app/main/ui/settings/notifications.cljs:86 +#: src/app/main/ui/settings/notifications.cljs:67 msgid "dashboard.settings.notifications.email-comments.all" msgstr "Semua komentar, sebutan, dan balasan" -#: src/app/main/ui/settings/notifications.cljs:88 +#: src/app/main/ui/settings/notifications.cljs:69 msgid "dashboard.settings.notifications.email-comments.none" msgstr "Tidak ada" -#: src/app/main/ui/settings/notifications.cljs:87 +#: src/app/main/ui/settings/notifications.cljs:68 msgid "dashboard.settings.notifications.email-comments.partial" msgstr "Hanya sebutan dan balasan" -#: src/app/main/ui/settings/notifications.cljs:83 +#: src/app/main/ui/settings/notifications.cljs:64 msgid "dashboard.settings.notifications.email-comments.title" msgstr "Komentar berkas" -#: src/app/main/ui/settings/notifications.cljs:95 +#: src/app/main/ui/settings/notifications.cljs:76 msgid "dashboard.settings.notifications.email-invites.all" msgstr "Semua jenis undangan dan permintaan" -#: src/app/main/ui/settings/notifications.cljs:98 +#: src/app/main/ui/settings/notifications.cljs:79 msgid "dashboard.settings.notifications.email-invites.none" msgstr "Tidak ada" -#: src/app/main/ui/settings/notifications.cljs:92 +#: src/app/main/ui/settings/notifications.cljs:73 msgid "dashboard.settings.notifications.email-invites.title" msgstr "Undangan dan permintaan" -#: src/app/main/ui/settings/notifications.cljs:82 +#: src/app/main/ui/settings/notifications.cljs:63 msgid "dashboard.settings.notifications.email.title" msgstr "Notifikasi Surel" -#: src/app/main/ui/settings/notifications.cljs:103 +#: src/app/main/ui/settings/notifications.cljs:84 msgid "dashboard.settings.notifications.submit" msgstr "Perbarui pengaturan" -#: src/app/main/ui/settings/notifications.cljs:71 +#: src/app/main/ui/settings/notifications.cljs:52 msgid "dashboard.settings.notifications.title" msgstr "Notifikasi" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Tampilkan semua berkas" @@ -955,7 +958,7 @@ msgstr[0] "Berkas Anda berhasil digandakan" msgid "dashboard.success-duplicate-project" msgstr "Proyek Anda berhasil digandakan" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Berkas Anda berhasil dipindah" @@ -999,15 +1002,15 @@ msgstr "Batal Penerbitan Pustaka" msgid "dashboard.update-settings" msgstr "Perbarui pengaturan" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "Tanpa batasan kreativitas" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Penpot Gratis" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "Tingkatkan" @@ -1067,7 +1070,7 @@ msgstr "Surel" msgid "dashboard.your-name" msgstr "Nama Anda" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Penpot Anda" @@ -1087,11 +1090,11 @@ msgstr "Komponen untuk diperbarui:" msgid "ds.confirm-allow" msgstr "Perbolehkan" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Batal" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Oke" @@ -1103,7 +1106,7 @@ msgstr "Apakah Anda yakin?" msgid "errors.auth-provider-not-allowed" msgstr "Penyedia autentikasi tidak diperbolehkan untuk profil ini" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Penyedia autentikasi tidak dikonfigurasi." @@ -1111,11 +1114,11 @@ msgstr "Penyedia autentikasi tidak dikonfigurasi." msgid "errors.auth.unable-to-login" msgstr "Sepertinya Anda tidak terautentikasi atau sesi kedaluwarsa." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Fon %s tidak dapat dimuat" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Fon %s tidak dapat dimuat" @@ -1123,7 +1126,7 @@ msgstr "Fon %s tidak dapat dimuat" msgid "errors.cannot-upload" msgstr "Tidak dapat mengunggah berkas media." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Peramban Anda tidak dapat melakukan operasi ini" @@ -1135,7 +1138,7 @@ msgstr "Surel sudah digunakan" msgid "errors.email-already-validated" msgstr "Surel sudah divalidasi." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Anda tidak dapat menggunakan surel Anda sebagai kata sandi" @@ -1182,7 +1185,7 @@ msgstr "" "berkas yang sedang Anda buka. Migrasi untuk '%s' harus diterapkan sebelum " "berkasnya dapat dibuka." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Sesuatu yang salah terjadi." @@ -1195,8 +1198,7 @@ msgstr "Warna tidak valid" msgid "errors.invalid-email" msgstr "Silakan menyediakan surel yang valid" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Surel konfirmasi harus cocok" @@ -1212,7 +1214,7 @@ msgstr "Undangan tidak valid" msgid "errors.invite-invalid.info" msgstr "Undangan ini mungkin dibatalkan atau telah kedaluwarsa." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Autentikasi LDAP dinonaktifkan." @@ -1262,7 +1264,7 @@ msgstr "Kata sandi setidaknya 8 karakter" msgid "errors.paste-data-validation" msgstr "Data tidak valid dalam papan klip" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Profil diblokir" @@ -1338,12 +1340,11 @@ msgstr "Terjadi kesalahan tidak terduga saat memvalidasi" msgid "errors.webhooks.unexpected-status" msgstr "Status %s tidak diduga" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Surel atau kata sandi tidak benar." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Kata sandi lama tidak benar" @@ -1392,11 +1393,11 @@ msgstr "Di sini untuk membantu dengan kueri teknis Anda." msgid "feedback.twitter-title" msgstr "Akun dukungan X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Sebuah kesalahan telah terjadi" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Buram" @@ -1404,31 +1405,31 @@ msgstr "Buram" msgid "inspect.attributes.blur.value" msgstr "Nilai" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Isian" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Unduh gambar sumber" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Tinggi" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Lebar" @@ -1467,15 +1468,15 @@ msgstr "Atas" msgid "inspect.attributes.layout.width" msgstr "Lebar" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Bayangan" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Ukuran dan posisi" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Sapuan" @@ -1512,141 +1513,141 @@ msgstr "Padat" msgid "inspect.attributes.stroke.width" msgstr "Lebar" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Keluarga Fon" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Ukuran Fon" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Gaya Fon" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Berat Fon" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Spasi Huruf" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Tinggi Garis" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Dekorasi Teks" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Tidak ada" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Coret" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Garis bawah" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformasi Teks" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Huruf Kecil" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Tidak ada" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Huruf Judul" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Tidak ditetapkan" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Huruf Besar" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Jika Anda ingin mengetahui lebih lanjut tentang inspeksi desain kunjungi " "pusat bantuan Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Lebih banyak info tentang inspeksi" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Pilih bentuk, papan, atau grup untuk menginskpeksi properti dan kodenya" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kode" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Lingkaran" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Komponen" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Kurva" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Papan" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grup" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Gambar" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Topeng" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Dipilih" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Jalur" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Persegi Panjang" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Teks" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Info" @@ -1666,15 +1667,15 @@ msgstr "Token akses" msgid "labels.active" msgstr "Aktif" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Tambahkan" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Tambahkan fon khusus" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Menambahkan..." @@ -1686,7 +1687,7 @@ msgstr "Admin" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Semua" @@ -1708,7 +1709,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Gerbang Jalur Buruk" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Batal" @@ -1716,27 +1717,27 @@ msgstr "Batal" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Tutup" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Tutup" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Komentar" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Tandau sebagai selesai" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Komentar" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Komunitas" @@ -1744,7 +1745,7 @@ msgstr "Komunitas" msgid "labels.confirm-password" msgstr "Konfirmasi kata sandi" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Lanjutkan" @@ -1764,7 +1765,7 @@ msgstr "Salin tautan" msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Buat" @@ -1784,15 +1785,15 @@ msgstr "Fon khusus" msgid "labels.dashboard" msgstr "Dasbor" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Hapus" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Hapus komentar" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Hapus utasan" @@ -1812,15 +1813,15 @@ msgstr "Pengembang" msgid "labels.director" msgstr "Direktur" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Abaikan" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Draf" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Sunting" @@ -1840,7 +1841,7 @@ msgstr "Acara" msgid "labels.expired-invitation" msgstr "Kedaluwarsa" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Ekspor" @@ -1856,7 +1857,7 @@ msgstr "Masukan dikirim" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Keluarga Fon" @@ -1864,11 +1865,11 @@ msgstr "Keluarga Fon" msgid "labels.font-providers" msgstr "Penyedia fon" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Gaya" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fon" @@ -1880,11 +1881,11 @@ msgstr "CEO atau Pendiri" msgid "labels.freelancer" msgstr "Saya seorang pekerja lepas" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Repositori GitHub" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Berikan masukan" @@ -1896,15 +1897,15 @@ msgstr "Kembali" msgid "labels.graphic-design" msgstr "Desain grafis" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Pusat Bantuan" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Sembunyikan komentar yang telah diselesaikan" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:355 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 msgid "labels.import" msgstr "Impor" @@ -1912,7 +1913,7 @@ msgstr "Impor" msgid "labels.inactive" msgstr "Tidak Aktif" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Fon terpasang" @@ -1938,11 +1939,11 @@ msgstr "Undangan" msgid "labels.language" msgstr "Bahasa" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Pustaka & Templat" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Memuat…" @@ -1954,7 +1955,7 @@ msgstr "Masuk atau daftar" msgid "labels.login" msgstr "Masuk" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Keluar" @@ -1974,11 +1975,11 @@ msgstr "Anggota" msgid "labels.new-password" msgstr "Kata sandi baru" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Berikutnya" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Anda telah melihat semuanya! Notifikasi komentar baru akan muncul di sini." @@ -2006,7 +2007,7 @@ msgstr "Aduh!" msgid "labels.notifications" msgstr "Notifikasi" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "%s berkas" @@ -2034,7 +2035,7 @@ msgstr "Kata sandi lama" msgid "labels.only-yours" msgstr "Hanya Anda" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Opsi" @@ -2062,7 +2063,7 @@ msgstr "Kata sandi" msgid "labels.pending-invitation" msgstr "Ditunda" -#: src/app/main/ui/comments.cljs:657, src/app/main/ui/comments.cljs:690, src/app/main/ui/comments.cljs:759 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "Kiriman" @@ -2086,7 +2087,7 @@ msgstr "Profil" msgid "labels.projects" msgstr "Proyek" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Catatan rilis" @@ -2104,7 +2105,7 @@ msgstr "Hapus" msgid "labels.remove-member" msgstr "Keluarkan anggota" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Ubah nama" @@ -2112,23 +2113,23 @@ msgstr "Ubah nama" msgid "labels.rename-team" msgstr "Ubah nama tim" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "balasan" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "balasan baru" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "balas" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "balasan baru" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Balas" @@ -2148,15 +2149,15 @@ msgstr "Coba lagi" msgid "labels.role" msgstr "Peran" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Simpan" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Cari" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Cari fon" @@ -2180,7 +2181,7 @@ msgstr "Kami dalam pemeliharaan yang telah diprogram untuk sistem kami." msgid "labels.service-unavailable.main-message" msgstr "Layanan Tidak Tersedia" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "Set" @@ -2200,19 +2201,19 @@ msgstr "Bagikan prototipe" msgid "labels.shared-libraries" msgstr "Pustaka" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Tampilkan semua komentar" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Tampilkan daftar komentar" -#: src/app/main/ui/workspace/comments.cljs:66, src/app/main/ui/workspace/comments.cljs:136 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-mentions" msgstr "Hanya tampilkan sebutan Anda" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Hanya tampilkan komentar Anda" @@ -2240,11 +2241,11 @@ msgstr "Pemandu Tim" msgid "labels.team-member" msgstr "Anggota tim" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Tema" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutorial" @@ -2260,15 +2261,15 @@ msgstr "Perbarui" msgid "labels.update-team" msgstr "Perbarui tim" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Unggah" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Unggah fon khusus" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Mengunggah…" @@ -2284,7 +2285,7 @@ msgstr "Pelihat" msgid "labels.webhooks" msgstr "Kaitan web" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Tulis komentar baru" @@ -2292,7 +2293,7 @@ msgstr "Tulis komentar baru" msgid "labels.you" msgstr "(Anda)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Akun Anda" @@ -2300,23 +2301,23 @@ msgstr "Akun Anda" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Pilih gambar" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Gradien" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Gambar" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "gambar" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Jaga rasio aspek" @@ -2334,7 +2335,7 @@ msgstr "Memuat gambar…" msgid "media.radial" msgstr "Radial" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Padat" @@ -2385,7 +2386,7 @@ msgstr "Ubah surel" msgid "modals.change-email.title" msgstr "Ubah surel Anda" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Salin token" @@ -2401,7 +2402,7 @@ msgstr "Nama" msgid "modals.create-access-token.name.placeholder" msgstr "Namanya dapat mengetahui kegunaan tokennya" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Buat token" @@ -2425,15 +2426,15 @@ msgstr "URL Muatan" msgid "modals.create-webhook.url.placeholder" msgstr "https://contoh.co.id/terimapos" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Hapus token" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Apakah Anda ingin menghapus token ini?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Hapus token" @@ -2455,25 +2456,25 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Apakah Anda yakin ingin menghapus akun Anda?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Hapus percakapan" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Apakah Anda yakin ingin menghapus percakapan ini? Semua komentar dalam " "utasan ini akan dihapus." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Hapus percakapan" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Apakah Anda yakin ingin menghapus anotasi ini?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Haus anotasi" @@ -2501,31 +2502,31 @@ msgstr "Apakah Anda yakin ingin menghapus %s berkas?" msgid "modals.delete-file-multi-confirm.title" msgstr "Menghapus %s berkas" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Apakah Anda yakin ingin menghapus gaya fon ini? Ini tidak akan muat jika " "digunakan dalam sebuah berkas." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Menghapus gaya fon" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Apakah Anda yakin ingin menghapus fon ini? Ini tidak akan muat jika " "digunakan dalam sebuah berkas." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Menghapus fon" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Apakah Anda yakin ingin menghapus halaman ini?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Hapus halaman" @@ -2728,15 +2729,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Pemilik tim baru" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Terbitkan" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Pustaka Anda sedang kosong. Apakah Anda ingin menerbitkannya?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Terbitkan pustaka kosong" @@ -2788,21 +2789,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Perbarui komponen dalam pustaka terbagi" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Perbarui" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Batal" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Anda akan memperbarui sebuah komponen dalam sebuah pustaka terbagi. Ini " "mungkin memengaruhi berkas lain yang menggunakannya." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Perbarui sebuah komponen dalam sebuah pustaka terbagi" @@ -2967,28 +2968,28 @@ msgstr "Tutorial video" msgid "onboarding-v2.before-start.title" msgstr "Sebelum Anda mulai" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Berlangganan ke buletin Penpot untuk tetap terkini dengan kemajuan " "pengembangan dan berita produk." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "Kirimkan saya berita tentang Penpot (pos blog, tutorial video, siaran...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Kami peduli tentang privasi, di sini Anda dapat membaca " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Kami hanya akan mengirim surel yang relevan. Anda dapat berhenti " "berlangganan kapan pun melalui tautan berhenti langganan di buletin apa pun " "dari kami." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Kirimkan saya pembaruan produk (fitur baru, rilis, perbaikan...)." @@ -3087,17 +3088,17 @@ msgstr "Anda nanti akan dapat membuat tim." msgid "onboarding.newsletter.accept" msgstr "Ya, berlangganan" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Permintaan langganan Anda telah dikirim, kami akan mengirim Anda sebuah " "surel untuk mengonfirmasinya." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Kebijakan Privasi kami." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Ingin menerima berita Penpot?" @@ -3290,7 +3291,7 @@ msgstr "Pergi ke log masuk" msgid "settings.detach" msgstr "Copot" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Tercampur" @@ -3488,7 +3489,7 @@ msgstr "Buat baru" msgid "shortcuts.cut" msgstr "Potong" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Perkecil" @@ -3588,7 +3589,7 @@ msgstr "Distribusikan secara horizontal" msgid "shortcuts.hide-ui" msgstr "Tampilkan/sembunyikan antarmuka" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Perbesar" @@ -3972,15 +3973,15 @@ msgstr "Zum ke terpilih" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Penyedia Fon - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Fon - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Proyek - %s - Penpot" @@ -3988,7 +3989,7 @@ msgstr "Proyek - %s - Penpot" msgid "title.dashboard.search" msgstr "Cari - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Pustaka Terbagi - %s - Penpot" @@ -3996,7 +3997,7 @@ msgstr "Pustaka Terbagi - %s - Penpot" msgid "title.default" msgstr "Penpot - Kebebasan Desain untuk Tim" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profil - Token akses" @@ -4004,7 +4005,7 @@ msgstr "Profil - Token akses" msgid "title.settings.feedback" msgstr "Berikan masukan - Penpot" -#: src/app/main/ui/settings/notifications.cljs:64 +#: src/app/main/ui/settings/notifications.cljs:45 msgid "title.settings.notifications" msgstr "Notifikasi - Penpot" @@ -4040,7 +4041,7 @@ msgstr "Kaitan Web - %s - Penpot" msgid "title.viewer" msgstr "%s - Mode penampilan - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -4140,7 +4141,7 @@ msgstr "Distribusikan spasi vertikal (%s)" msgid "workspace.align.vtop" msgstr "Sesuaikan ke atas (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Tambahkan pustaka" @@ -4149,11 +4150,11 @@ msgstr "Tambahkan pustaka" msgid "workspace.assets.assets" msgstr "Aset" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Semua aset" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Warna" @@ -4161,11 +4162,11 @@ msgstr "Warna" msgid "workspace.assets.colors.add-color" msgstr "Tambahkan warna" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Komponen" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Tambahkan komponen" @@ -4177,15 +4178,15 @@ msgstr "Buat sebuah kelompok" msgid "workspace.assets.create-group-hint" msgstr "Butir Anda akan dinamakan \"nama kelompok / nama butir\" secara otomatis" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Hapus" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Gandakan" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Gandakan utama" @@ -4193,19 +4194,19 @@ msgstr "Gandakan utama" msgid "workspace.assets.edit" msgstr "Sunting" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Penyaring" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafis" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Tampilan kisi" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Kelompok" @@ -4213,27 +4214,23 @@ msgstr "Kelompok" msgid "workspace.assets.group-name" msgstr "Nama kelompok" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Pustaka" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Tampilan daftar" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "pustaka lokal" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Tidak ada aset yang ditemukan" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Buka berkas pustaka" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Ubah nama" @@ -4241,7 +4238,7 @@ msgstr "Ubah nama" msgid "workspace.assets.rename-group" msgstr "Ubah nama kelompok" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Cari aset" @@ -4256,16 +4253,16 @@ msgstr[0] "%s aset dipilih" msgid "workspace.assets.shared-library" msgstr "Pustaka terbagi" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "%s komponen" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Urutkan" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Tipografi" @@ -4278,27 +4275,27 @@ msgstr "Tambahkan tipografi" msgid "workspace.assets.typography.font-id" msgstr "Fon" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Ukuran" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Varian" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Pergi ke berkas pustaka untuk menyunting" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Spasi Huruf" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Ketinggian Garis" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4306,7 +4303,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Gaya teks" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transformasi Teks" @@ -4314,55 +4311,55 @@ msgstr "Transformasi Teks" msgid "workspace.assets.ungroup" msgstr "Lepas kelompok" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Buat area" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Buat papan" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Gabungkan sel" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Tambah 1 kolom ke kanan" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Tambah 1 kolom ke kiri" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Hapus kolom" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Hapus kolom dan bentuk" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Gandakan kolom" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Tambah 1 baris di bawah" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Tambah 1 baris di atas" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Hapus baris" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Hapus baris dan bentuk" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Gandakan baris" @@ -4370,11 +4367,11 @@ msgstr "Gandakan baris" msgid "workspace.focus.focus-mode" msgstr "Mode fokus" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Fokus nonaktif" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Fokus aktif" @@ -4532,37 +4529,36 @@ msgstr "Ubah ke tema terang" msgid "workspace.header.menu.undo" msgstr "Urungkan" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Atur ulang" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Kesalahan saat menyimpan" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Disimpan" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Menyimpan" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Bagikan" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Perubahan belum disimpan" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Mode penampilan (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zum" @@ -4574,7 +4570,7 @@ msgstr "Penuhi - Ubah ukuran untuk memenuhi" msgid "workspace.header.zoom-fit" msgstr "Pas - Ubah ukuran supaya pas" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Zum supaya pas semua" @@ -4582,19 +4578,19 @@ msgstr "Zum supaya pas semua" msgid "workspace.header.zoom-full-screen" msgstr "Layar penuh" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zum ke terpilih" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Sunting kisi" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Keluar" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Tampilkan opsi bantalan 4 sisi" @@ -4610,7 +4606,7 @@ msgstr "Selesai" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Cari lokasi" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Lokasi tata letak kisi" @@ -4619,7 +4615,7 @@ msgstr "Lokasi tata letak kisi" msgid "workspace.libraries.add" msgstr "Tambahkan" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s warna" @@ -4649,43 +4645,43 @@ msgstr "Warna terkini" msgid "workspace.libraries.colors.rgb-complementary" msgstr "Pelengkap RGB" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Simpan gaya warna" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s komponen" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "Atau tambahkan beberapa dari sini untuk mencoba:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "Tidak ada Pustaka Terbagi dalam tim Anda, Anda dapat melihat" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "beberapa templat di sini" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Pustaka berkas" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s grafis" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "PUSTAKA DALAM BERKAS INI" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "PUSTAKA" @@ -4694,71 +4690,64 @@ msgstr "PUSTAKA" msgid "workspace.libraries.library" msgstr "PUSTAKA" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "PEMBARUAN PUSTAKA" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Memuat…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "Anda dapat mencari " -#: src/app/main/ui/workspace/libraries.cljs:391 -msgid "workspace.libraries.more-templates-link" -msgstr "lebih banyak tempat di sini" - -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Tidak ada Pustaka Terbagi yang membutuhkan pembaruan" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Tidak ada yang cocok dengan “%s”" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Tidak ada Pustaka Terbagi yang tersedia" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Cari pustaka terbagi" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "PUSTAKA TERBAGI" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Hubungkan pustaka" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Beberapa tipografi" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Lepaskan tautan dari semua tipografi" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s tipografi" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Putuskan pustaka" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Perbarui" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "lihat semua perubahan" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "PEMBARUAN" @@ -4790,43 +4779,43 @@ msgstr "Buram seleksi" msgid "workspace.options.blur-options.toggle-blur" msgstr "Sakelar buram" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Latar belakang kanvas" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Klip konten" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Komponen" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Anotasi" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Salin" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Buat anotasi" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Sunting anotasi" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Utama" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Ganti komponen" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "Belum ada aset dalam pustaka ini" @@ -4874,7 +4863,7 @@ msgstr "Atas & Bawah" msgid "workspace.options.design" msgstr "Desain" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Ekspor" @@ -4883,20 +4872,20 @@ msgstr "Ekspor" msgid "workspace.options.export-multiple" msgstr "Ekspor seleksi" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Ekspor %s elemen" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "Tambahkan ekspor" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "Hapus ekspor" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Akhiran" @@ -4904,7 +4893,7 @@ msgstr "Akhiran" msgid "workspace.options.exporting-complete" msgstr "Pengeksporan selesai" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Mengekspor…" @@ -4928,6 +4917,10 @@ msgstr "Tambahkan warna isian" msgid "workspace.options.fill.remove-fill" msgstr "Hapus isian" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "Ubah ukuran papan untuk memuat konten" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "Tambahkan awalan alur" @@ -5066,7 +5059,7 @@ msgstr "Panduan" msgid "workspace.options.guides.toggle-guide" msgstr "Sakelar pemandu" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Tinggi" @@ -5389,19 +5382,19 @@ msgstr "Sakelar keterlihatan lapisan" msgid "workspace.options.layout-item.advanced-ops" msgstr "Opsi tingkat lanjut" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Max.Height" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Max.Width" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Min.Height" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Min.Width" @@ -5515,11 +5508,11 @@ msgstr "ruang di antara" msgid "workspace.options.layout.top" msgstr "Atas" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Lebih banyak warna" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Lebih banyak warna pustaka" @@ -5564,7 +5557,7 @@ msgstr "Tutup radius tersendiri" msgid "workspace.options.radius.show-single-corners" msgstr "Buka radius tersendiri" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Terkini" @@ -5572,11 +5565,11 @@ msgstr "Terkini" msgid "workspace.options.retry" msgstr "Coba lagi" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotasi" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Cari fon" @@ -5584,7 +5577,7 @@ msgstr "Cari fon" msgid "workspace.options.select-a-shape" msgstr "Pilih bentuk, papan, atau kelompok untuk menyeret koneksi ke papan lain." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Warna terpilih" @@ -5596,55 +5589,55 @@ msgstr "Isian seleksi" msgid "workspace.options.selection-stroke" msgstr "Sapuan seleksi" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "Tambahkan bayangan" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Buram" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Warna bayangan" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Bayangan jatuhan" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Bayangan masuk" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "Hapus bayangan" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Tersebar" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Bayangan" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Bayangan kelompok" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Bayangan seleksi" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:176 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 msgid "workspace.options.shadow-options.toggle-shadow" msgstr "Sakelar bayangan" @@ -5652,7 +5645,7 @@ msgstr "Sakelar bayangan" msgid "workspace.options.show-fill-on-export" msgstr "Tampilkan dalam ekspor" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Tampilkan dalam mode penampil" @@ -5660,7 +5653,7 @@ msgstr "Tampilkan dalam mode penampil" msgid "workspace.options.size" msgstr "Ukuran" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Prasetel ukuran" @@ -5729,7 +5722,7 @@ msgstr "Segitiga" msgid "workspace.options.stroke-color" msgstr "Warna sapuan" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Lebar sapuan" @@ -5801,11 +5794,11 @@ msgstr "Lebar otomatis" msgid "workspace.options.text-options.grow-fixed" msgstr "Tetap" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Spasi Huruf" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Tinggi garis" @@ -5869,15 +5862,15 @@ msgstr "Huruf Besar" msgid "workspace.options.use-play-button" msgstr "Gunakan tombol main di tajuk untuk menjalankan tampilan prototipe." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Lebar" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "Sumbu X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Sumbu Y" @@ -6055,123 +6048,127 @@ msgstr "PLUGIN '%s' TERPASANG UNTUK PENGGUNA ANDA!" msgid "workspace.plugins.try-out.try" msgstr "COBA PLUGIN" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Tambahkan tata letak flex" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Tambahkan tata letak kisi" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Tambahkan tata letak" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Kirim ke paling belakang" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Kirim ke belakang" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Salin" -#: src/app/main/ui/workspace/context_menu.cljs:203 +#: src/app/main/ui/workspace/context_menu.cljs:204 msgid "workspace.shape.menu.copy-css" msgstr "Salin sebagai CSS" -#: src/app/main/ui/workspace/context_menu.cljs:205 +#: src/app/main/ui/workspace/context_menu.cljs:206 msgid "workspace.shape.menu.copy-css-nested" msgstr "Salin sebagai CSS (lapisan bersarang)" -#: src/app/main/ui/workspace/context_menu.cljs:188 +#: src/app/main/ui/workspace/context_menu.cljs:189 msgid "workspace.shape.menu.copy-link" msgstr "Salin tautan ke papan klip" -#: src/app/main/ui/workspace/context_menu.cljs:201 +#: src/app/main/ui/workspace/context_menu.cljs:202 msgid "workspace.shape.menu.copy-paste-as" msgstr "Salin/Tempel sebagai ..." -#: src/app/main/ui/workspace/context_menu.cljs:213 +#: src/app/main/ui/workspace/context_menu.cljs:214 msgid "workspace.shape.menu.copy-props" msgstr "Salin properti" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Salin sebagai teks" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Buat anotasi" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Seleksi ke papan" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Buat komponen" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Buat beberapa komponen" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Potong" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Hapus" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Hapus awalan alur" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Lepaskan bagian" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Lepaskan bagian" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Perbedaan" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Gandakan" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Sunting" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Tidak termasuk" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Ratakan" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Balikkan secara horizontal" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Balikkan secara vertikal" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Awalan alur" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Bawa ke depan" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Bawa ke paling depan" @@ -6180,107 +6177,107 @@ msgstr "Bawa ke paling depan" msgid "workspace.shape.menu.go-main" msgstr "Pergi ke berkas komponen utama" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Kelompok" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Sembunyikan" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Tampilkan/Sembunyikan Antarmuka" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Persimpangan" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Kunci" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Topeng" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Tempelkan" -#: src/app/main/ui/workspace/context_menu.cljs:217 +#: src/app/main/ui/workspace/context_menu.cljs:218 msgid "workspace.shape.menu.paste-props" msgstr "Tempel properti" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Jalur" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Hapus tata letak flex" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Hapus tata letak kisi" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Hapus tata letak" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Ubah nama" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Atur ulang timpaan" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Pulihkan komponen utama" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Pilih lapisan" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Tampilkan" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Tampilkan dalam panel aset" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Tampilkan komponen utama" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Hapus gambar kecil" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Tetapkan sebagai gambar kecil" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transformasi ke jalur" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Lepaskan kelompok" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Serikat" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Buka kunci" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Buka topeng" @@ -6289,7 +6286,7 @@ msgstr "Buka topeng" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Perbarui komponen utama" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Perbarui komponen utama" @@ -6301,11 +6298,11 @@ msgstr "Tutup bilah samping" msgid "workspace.sidebar.expand" msgstr "Buka bilah samping" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Riwayat" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Lapisan" @@ -6341,7 +6338,7 @@ msgstr "Bentuk" msgid "workspace.sidebar.layers.texts" msgstr "Teks" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Atribut SVG Diimpor" @@ -6353,7 +6350,7 @@ msgstr "Halaman" msgid "workspace.sidebar.sitemap.add-page" msgstr "Tambahkan halaman" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Peta Situs" @@ -6371,43 +6368,43 @@ msgstr "%s tema aktif" msgid "workspace.token.add set" msgstr "Tambahkan set" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Diterapkan pada" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 msgid "workspace.token.back-to-themes" msgstr "Kembali ke daftar tema" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 msgid "workspace.token.create-new-theme" msgstr "Buat tema pertama Anda sekarang." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 msgid "workspace.token.create-one" msgstr "Buat baru." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 -msgid "workspace.token.create-theme-title" -msgstr "Buat tema" - -#: src/app/main/ui/workspace/tokens/form.cljs:431 +#: src/app/main/ui/workspace/tokens/form.cljs:492 msgid "workspace.token.create-token" msgstr "Buat token %s baru" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:228 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 msgid "workspace.token.delete" msgstr "Hapus token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "Hapus tema" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:225 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 msgid "workspace.token.duplicate" msgstr "Gandakan token" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:212 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 msgid "workspace.token.edit" msgstr "Sunting token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Sunting tema" @@ -6415,15 +6412,15 @@ msgstr "Sunting tema" msgid "workspace.token.edit-themes" msgstr "Sunting tema" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Sunting token" -#: src/app/main/ui/workspace/tokens/form.cljs:481 +#: src/app/main/ui/workspace/tokens/form.cljs:544 msgid "workspace.token.enter-token-description" msgstr "Tambahkan deskripsi (opsional)" -#: src/app/main/ui/workspace/tokens/form.cljs:437 +#: src/app/main/ui/workspace/tokens/form.cljs:498 msgid "workspace.token.enter-token-name" msgstr "Masukkan nama token %s" @@ -6432,86 +6429,108 @@ msgstr "Masukkan nama token %s" msgid "workspace.token.grouping-set-alert" msgstr "Pengelompokan Set Token belum didukung." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:56 -msgid "workspace.token.new-theme" -msgstr "Tema baru" +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "Kelompok" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "Tema" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 msgid "workspace.token.no-active-theme" msgstr "Tidak ada tema aktif" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:146 -msgid "workspace.token.no-sets" -msgstr "Tidak ada set" +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "Anda perlu menjadi penyunting untuk mengaktifkan / menonaktifkan set" -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "Anda perlu menjadi penyunting untuk menggunakan tema" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "Belum ada set yang ditetapkan. Buatlah terlebih dahulu." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:215, src/app/main/ui/workspace/tokens/sidebar.cljs:221 +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 msgid "workspace.token.no-sets-yet" msgstr "Belum ada set." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "Belum ada tema." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "Anda saat ini belum memiliki tema." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 -msgid "workspace.token.num-sets" -msgstr "%s set" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" -msgstr "Nilai asli: " +msgstr "Nilai asli: %s" -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "Referensi tidak valid atau tidak dalam set aktif mana pun" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" -msgstr "Nilai terselesaikan: " +msgstr "Nilai terselesaikan: %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Simpan tema" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "Pilih set." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "Tentukan set token apa yang digunakan sebagai bagian opsi tema ini:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Tema %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 -msgid "workspace.token.themes" -msgstr "Tema" - -#: src/app/main/ui/workspace/tokens/form.cljs:482 +#: src/app/main/ui/workspace/tokens/form.cljs:545 msgid "workspace.token.token-description" msgstr "Deskripsi" -#: src/app/main/ui/workspace/tokens/form.cljs:440 +#: src/app/main/ui/workspace/tokens/form.cljs:501 msgid "workspace.token.token-name" msgstr "Nama" -#: src/app/main/ui/workspace/tokens/form.cljs:464 +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" bukanlah nama token yang valid.\n" +"Nama token seharusnya hanya berisi huruf dan angka dipisahkan oleh karakter " +". dan tidak berawal dengan tanda $." + +#: src/app/main/ui/workspace/tokens/form.cljs:526 msgid "workspace.token.token-value" msgstr "Nilai" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:348 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "TOKEN - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 msgid "workspace.token.tools" msgstr "Peralatan" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "Nilai tidak valid" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "Mengubah nama token ini akan merusak referensi nama lamanya." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Aset" @@ -6519,39 +6538,39 @@ msgstr "Aset" msgid "workspace.toolbar.color-palette" msgstr "Palet Warna (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Komentar (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Kurva (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elips (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Papan (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Gambar (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Pindahkan (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Jalur (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Plugin (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Persegi Panjang (%s)" @@ -6560,7 +6579,7 @@ msgstr "Persegi Panjang (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Pintasan (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Teks (%s)" @@ -6568,7 +6587,7 @@ msgstr "Teks (%s)" msgid "workspace.toolbar.text-palette" msgstr "Tipografi (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Saklar bilah alat" @@ -6726,19 +6745,19 @@ msgstr "Operasi pada %s" msgid "workspace.undo.title" msgstr "Riwayat" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Abaikan" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Info lebih lanjut" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Ada pembaruan dalam pustaka terbagi" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Perbarui" @@ -6798,11 +6817,11 @@ msgstr "Apakah Anda ingin memulihkan versi ini?" msgid "workspace.versions.snapshot-menu" msgstr "Buka menu snapshot" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "Tindakan" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "Riwayat" diff --git a/frontend/translations/ig.po b/frontend/translations/ig.po index fca27e2e5f..12d375c68d 100644 --- a/frontend/translations/ig.po +++ b/frontend/translations/ig.po @@ -28,13 +28,13 @@ msgstr "mebeta akara ozigosi" msgid "auth.create-demo-profile" msgstr "Chọọ nọọ ị nwa ya. ?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Ihe bụ ọrụ ozigosi, e jile ya rụọ ezigbo ọrụ, ọrụ ndị a ga-ekpochapụ site " "na oge ruo na oge." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Chefuru akara mpibanye ?" @@ -46,27 +46,27 @@ msgstr "Aha n'uju" msgid "auth.login-here" msgstr "Banye ebe a" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Banye" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "Obi Git" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "Ụlọ nchọcha Git" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Gọgụlụ" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "Mepe ID" @@ -114,11 +114,11 @@ msgstr "Chefuru akara mpịbanye ?" msgid "auth.recovery-submit" msgstr "Gbanye akara mpịbanye." -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "E nweghị ebe Ntinye ihe ma kịta?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Mepee ebe Ntinye ihe" @@ -131,7 +131,7 @@ msgstr "Mepee ebe ntinye ihe" msgid "auth.sidebar-tagline" msgstr "Nsina ghere oghe iji mee nse na atụtụ" -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Ọnọdụ ọrụ" @@ -150,7 +150,7 @@ msgstr "Anyị ezigaala ozi nnyocha na" msgid "branding-illustrations-marketing-pieces" msgstr "...onyinye aha, nkọwa gasị, ngwa ire ahịa dịrị gabazịa." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "bipụta" @@ -206,7 +206,7 @@ msgstr "Sọọsọ ndị otu" msgid "common.share-link.title" msgstr "Kee atụ gasị" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Ebiputaghị" @@ -250,7 +250,7 @@ msgstr "Bido njem" msgid "dasboard.walkthrough-hero.title" msgstr "Aba ngagharị" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Mepụta ọdịmara ọhụrụ" @@ -258,7 +258,7 @@ msgstr "Mepụta ọdịmara ọhụrụ" msgid "dashboard.access-tokens.create.success" msgstr "Mmepụtara ọdịmara nnweta gara nke ọma ." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Pịa mpi \"Nweta ọdịmara ọhụrụ \" inweta otu ." @@ -282,23 +282,23 @@ msgstr "Mkpụrụ ụbọchị iri itoolu" msgid "dashboard.access-tokens.expiration-never" msgstr "Ncha ncha" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Mebiri na%s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Na-emebi na%s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Enweghị ụbọchị mmebi" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Ọdịmara nkeonwe" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Ọdịmara nnweta nke onwe na-arụ ọrụ dị ka mgbamonwe mbanye anyị /akara " @@ -321,7 +321,7 @@ msgstr "Tinye dị ka ọ a nkwekọrịta" msgid "dashboard.change-email" msgstr "Gbanwee ozi - n" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(sere)" @@ -423,23 +423,23 @@ msgstr "Tinye ihe nnwe ọba ederede nkekọrịta n'ime ọ a ederede." msgid "dashboard.export.title" msgstr "Ederede mbupu gasị" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Mkpụrụ edemede na-efu efu" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Gbasaa ha niile" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Mkpụrụ edemede ndị ị bugoro ga-apụta ebe." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Bugo ha niile" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -454,7 +454,7 @@ msgstr "Ewuu! Anyị enweghị ike bubata ederede a" msgid "dashboard.import.import-error" msgstr "E nwere nsogbu na ibubata ederede . E bubataghị ederede ." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Ụfọdụ ederede nwere ihe ndị adabaghị na ya nke ewepugoro. ." @@ -494,27 +494,27 @@ msgstr "Kpọta mmadụ" msgid "dashboard.leave-team" msgstr "Hapụ otu" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Ọba ederede gasị & ndebiri" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Nyocha ọtụtụ n'ime ha ma mara etu ị ga-esi tinye ọnụ" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "E nwere nsogbu ibu aba ndebiri . E bubataghị ndebiri." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Ọba ederede gasị" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "Mbụbata ederede gị …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "mbubata mkpụrụ edemede gị …" @@ -530,11 +530,11 @@ msgstr "Buga %s ederede gasị na" msgid "dashboard.move-to-other-team" msgstr "Gaa n'otu ọzọ" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Ederede ọhụrụ" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Ederede ọhụrụ" @@ -542,7 +542,7 @@ msgstr "Ederede ọhụrụ" msgid "dashboard.new-project" msgstr "+ Nchọcha ọhụrụ" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Arụmarụ ọhụrụ" @@ -574,7 +574,7 @@ msgstr "%s Ndị otu" msgid "dashboard.open-in-new-tab" msgstr "Mepe ederede na tabụ ọhụrụ" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Nhọrọ gasị" @@ -619,7 +619,7 @@ msgstr "Họrọ asụsụ UI" msgid "dashboard.success-duplicate-project" msgstr "E megharịala arụmarụ gị nke ọma\"" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "E wepula ederede gị nke ọma\"" @@ -706,7 +706,7 @@ msgstr "Ebe Ntinye ihe gị" msgid "dashboard.your-email" msgstr "Ozi-n" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Ite mkpịsị. gị" @@ -718,11 +718,11 @@ msgstr "Okay" msgid "ds.alert-title" msgstr "Gee ntị" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Kagbuo" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Okay" @@ -734,11 +734,11 @@ msgstr "Ọ doro gị anya ?" msgid "errors.auth.unable-to-login" msgstr "Ọ dị ka enyochaghị gị ma ọ bụ na oge agwụla ." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "E nweghị ike bugo %s mkpụrụ edide" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "E nweghị ike bugo %s mkpụrụ edide" @@ -746,7 +746,7 @@ msgstr "E nweghị ike bugo %s mkpụrụ edide" msgid "errors.cannot-upload" msgstr "E nweghị ike ị ugo ederede ." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Your browser cannot do this operation" @@ -758,7 +758,7 @@ msgstr "E jibuola ozi - n rụọ ọrụ" msgid "errors.email-already-validated" msgstr "Aha ozi-n adabala." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Ị nweghị ike iji aha ozi-n gị dị ka akara mpịbanye" @@ -780,7 +780,7 @@ msgstr "" msgid "errors.feature-not-supported" msgstr "Akwadoghị agwara '%s' ." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Ihe ezighị ezi emela ." @@ -793,8 +793,7 @@ msgstr "Agwụgwara adabaghị" msgid "errors.invalid-email" msgstr "Debanye aha ozi-n dabara adaba" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Ozi-n nnabata ga-adabrịrị" @@ -810,7 +809,7 @@ msgstr "kpọọ òkù adabaghị" msgid "errors.invite-invalid.info" msgstr "This invite might be canceled or may be expired." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP mbinye aka agaghị ." @@ -832,7 +831,7 @@ msgstr "" "Nchịkọta gị nwere ozi-n mechiri emechi (akụkọ ozi-n adịghị mma ma ọ bụ " "nwere oké bịaghachiri )." -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "A gbachiri nchịkọta agbachi" @@ -882,12 +881,11 @@ msgstr "Mmejọ na nkwado SSL ." msgid "errors.webhooks.timeout" msgstr "Oge ezuola" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Ozi-na ma ọ bụ akara mpịbanye adịghị mma ." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Akara mpịbanye ochie adịghị mma" @@ -931,11 +929,11 @@ msgstr "Gaa na Twita" msgid "feedback.twitter-subtitle1" msgstr "Ebe inyere gị aka n'ajụjụ nkà gị ." -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Mmehie apụtala" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Inyogo" @@ -943,31 +941,31 @@ msgstr "Inyogo" msgid "inspect.attributes.blur.value" msgstr "Uru" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Wunye" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Butuo onyinyo nsina" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Ogo" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Uhie" @@ -1001,15 +999,15 @@ msgstr "Elu" msgid "inspect.attributes.layout.width" msgstr "Uhie" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Oninyo" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Nhazi na ọnọdụ" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Akara" @@ -1046,117 +1044,117 @@ msgstr "Akpụrụka" msgid "inspect.attributes.stroke.width" msgstr "Uhie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Akara nkụpụta" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Ezinụlọ mkpụrụ edide" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Nhazi mkpụrụ edide" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Ndesa mkpụrụ edemede" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Ogo akara" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Nkwazi ederede" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Ncha ncha" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Kụọgafee" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "N'okpuru" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Mgbanwe ederede" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "None" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Mkpụrụ edemede isiokwu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Mkpụrụ edemede nnukwu" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Ị chọọ ị ma ihe ndị ọzọ maka nnyocha esereese, gaa n'ebe enyemaka ite " "mkpịsị r" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Akara" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Okirikiri" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Ndịna" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Nrọgọ" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Ogwe." -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Otu" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Onyinyo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "kpuchie" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s a họrọ" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Ụzọ" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rekụtagụlụ" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Ederede" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Ozi" @@ -1176,7 +1174,7 @@ msgstr "Nweta ọdịmara gasị" msgid "labels.active" msgstr "Gara gara" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Tinye mkpụrụ edide a haziri ahazi" @@ -1188,7 +1186,7 @@ msgstr "Ọchịkwa" msgid "labels.adobe-xd" msgstr "Ngwa nrụkọrịta ọrụ Adobe" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Ha niile" @@ -1204,7 +1202,7 @@ msgstr "Azụ" msgid "labels.bad-gateway.main-message" msgstr "Ajọ ụzọ mbanye" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Kagbuo" @@ -1212,15 +1210,15 @@ msgstr "Kagbuo" msgid "labels.canva" msgstr "Kanva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Megbuo" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Okwu gasị" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Ogbe" @@ -1228,7 +1226,7 @@ msgstr "Ogbe" msgid "labels.confirm-password" msgstr "Nabata akara mpịbanye" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Ga n'ihu" @@ -1244,7 +1242,7 @@ msgstr "I Nwere Ike ịganihu" msgid "labels.copy-invitation-link" msgstr "Dọrọ njikọ" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Meputa" @@ -1256,15 +1254,15 @@ msgstr "Mepee otu ọhụrụ" msgid "labels.custom-fonts" msgstr "mkpụrụ edide a haziri" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Hichaa" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Hichaa okwu" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Hichapụ eri" @@ -1280,11 +1278,11 @@ msgstr "Hichapụ ederede %s" msgid "labels.developer" msgstr "Onye nrụpụta" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Ndesita" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Dezie" @@ -1312,7 +1310,7 @@ msgstr "Zigara nzaghachi" msgid "labels.figma" msgstr "Ihe onyonyo" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Ezinụlọ mkpụrụ edide" @@ -1320,11 +1318,11 @@ msgstr "Ezinụlọ mkpụrụ edide" msgid "labels.font-providers" msgstr "Ndị na-enye mkpụrụ edide" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Ụdịdị gasị" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Mkpụrụ edide gasị" @@ -1336,11 +1334,11 @@ msgstr "Onye malitere /VP" msgid "labels.freelancer" msgstr "Onye nwere onwe ya" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Ọ a Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Nye nzaghachi" @@ -1348,11 +1346,11 @@ msgstr "Nye nzaghachi" msgid "labels.go-back" msgstr "Gaa azụ" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Ebe enyemaka" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Zoo nkwupụta e kpebiri" @@ -1360,7 +1358,7 @@ msgstr "Zoo nkwupụta e kpebiri" msgid "labels.inactive" msgstr "Arụghị ọrụ" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Mkpụrụ edide gasị ewubere" @@ -1384,7 +1382,7 @@ msgstr "Akwụkwọ ịkpọ ọkụ gasị" msgid "labels.language" msgstr "Asụsụ" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Ọba ederede na Ndebiri gasị" @@ -1392,7 +1390,7 @@ msgstr "Ọba ederede na Ndebiri gasị" msgid "labels.log-or-sign" msgstr "Banye ma ọ bụ debanye" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Pụọ" @@ -1412,11 +1410,11 @@ msgstr "Ndị otu" msgid "labels.new-password" msgstr "Akara mpịbanye ọhụrụ" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Ọzọ" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "E jidere unu niile! Ngosi nkwupụta ọhụrụ ga-apụta ebe a ." @@ -1479,7 +1477,7 @@ msgstr "Nchịkọta" msgid "labels.projects" msgstr "Ọrụ gasị" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Wepụta ndetu" @@ -1497,7 +1495,7 @@ msgstr "Wepu" msgid "labels.remove-member" msgstr "Wepụ onye otu" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Nyegharịa aha" @@ -1513,11 +1511,11 @@ msgstr "Nwagharịa" msgid "labels.role" msgstr "Ọrụ" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Dokwa" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Chọọ mkpụrụ edide" @@ -1541,15 +1539,15 @@ msgstr "Ntọala" msgid "labels.shared-libraries" msgstr "Ọba ederede" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Gosi nkwupụta niile" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Gosi ndepụta nkwupụta gasị" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Gosi nanị nkwupụta gị gasị" @@ -1569,7 +1567,7 @@ msgstr "Ọnọdụ" msgid "labels.student-teacher" msgstr "Nwata akwụkwọ ma ọ bụ onye nkụzi" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Nkuzi" @@ -1585,15 +1583,15 @@ msgstr "Hazigharịa" msgid "labels.update-team" msgstr "Hazigharịa otu" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Bugo" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Bugo ederede gasị ahaziri" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Na-ebugo…" @@ -1609,7 +1607,7 @@ msgstr "Ndị nkiri" msgid "labels.webhooks" msgstr "Nko-ududọ" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Dee nkwupụta ọhụrụ" @@ -1617,7 +1615,7 @@ msgstr "Dee nkwupụta ọhụrụ" msgid "labels.you" msgstr "(gị)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Akara mbata gị" @@ -1662,7 +1660,7 @@ msgstr "Ụbọchị mmebi" msgid "modals.create-access-token.name.label" msgstr "Aha" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Create token" @@ -1686,11 +1684,11 @@ msgstr "Isi ozi URL" msgid "modals.create-webhook.url.placeholder" msgstr "https://ọmụmaaụ.com/ozi anabara" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Hichapụ ọdịmara" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Hichapụ ọdịmara" @@ -1712,23 +1710,23 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Ọ kara gị obi na ị chọrọ ị hichapụ ebe ntinye ihe gị?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Hichapụ mkparịtaụka" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "Ọ kara gị obi na ị chọrọ ị hichapụ mkparịtaụka a?" -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Hichaa mkparịtaụka" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Ọ kara gị obi na ị chọrọ ị hichapụ nkọwa ?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Hichapụ nkọwa" @@ -1748,15 +1746,15 @@ msgstr "Na-ehichapụ ederede" msgid "modals.delete-file-multi-confirm.title" msgstr "Na-ehichapụ ederede %s" -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Na-ehichapụ mkpụrụ edide" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Ọ kara gị obi na ị chọrọ ị hichapụ ihu akwụkwọ a?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Hichapụ ihu akwụkwọ" @@ -1900,15 +1898,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Onye nwe otu ọhụrụ" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Biputa" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Your library is empty. Are you sure you want to publish it?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Biputa ọba ederede efu" @@ -1945,11 +1943,11 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Update components in a shared library" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Hazigharịa" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Kagbuo" @@ -1997,29 +1995,29 @@ msgstr "Amụmamụ onyonyo" msgid "onboarding-v2.before-start.title" msgstr "Tupu i bido" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Debanye aha n'akụkụ ozi ite mkpịsị iji nọrọ gam gam na ngwa ahịa aaga n'ihu " "mwulite na akụkọ ụwa." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Zitere m akụkọ banyere ite mkpịsị (ozi edemonye gasị, Nkụzi ihe onyonyo, " "nkirigarị...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Anyị na-eche banyere nzochi onwe, ebe a inwere ike ịgụ..... anyị " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Anyị ga e zitere ozi n bara uru sọọsọ . Ị nwere ike idepu aha oge ọ bụla " "site na njikọ ndepu aha n'akwụkwọ ozi gasị anyị ọ bụla ." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Zitere m nhazigharị ngwa ahịa (a gwara ọhụrụ gasị , ihe ndị ewepụta gasịrị " @@ -2072,11 +2070,11 @@ msgstr "kpọta tinye ọrụ :" msgid "onboarding.newsletter.accept" msgstr "Eee, debanye aha" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "E zigala arịrịọ ndenye aha gị , anyị ga-ezi tara gị ozi - n iji nabata ya" -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Chọrọ inweta ozi ite mkpịsị ?" @@ -2179,7 +2177,7 @@ msgstr "Dozie akaekpe" msgid "viewer.breaking-change.message" msgstr "Ndo" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Kachapụ" @@ -2187,11 +2185,11 @@ msgstr "Kachapụ" msgid "workspace.focus.focus-mode" msgstr "Umezi nlekwasa anya" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Gbanye nlekwasa anya" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Mee ọtụtụ akọrọngwa ga" @@ -2199,6 +2197,6 @@ msgstr "Mee ọtụtụ akọrọngwa ga" msgid "workspace.toolbar.color-palette" msgstr "Agba[ Palette (Na narị)" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "E nwegasịrị nhazizigharị nime ọba ederede ga e kere eke" diff --git a/frontend/translations/it.po b/frontend/translations/it.po index 7a52a8908d..bff221ba91 100644 --- a/frontend/translations/it.po +++ b/frontend/translations/it.po @@ -1,15 +1,15 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-01-29 22:23+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Italian \n" +"Language-Team: Italian " +"\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -38,13 +38,13 @@ msgstr "Creare un account demo" msgid "auth.create-demo-profile" msgstr "Vuoi solamente provare?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Questo è un servizio di prova, non utilizzare per il lavoro reale, i " "progetti verranno eliminati periodicamente." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Hai dimenticato la password?" @@ -52,41 +52,41 @@ msgstr "Hai dimenticato la password?" msgid "auth.fullname" msgstr "Nome completo" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Accedi al mio account" #: src/app/main/ui/auth/register.cljs:137, src/app/main/ui/static.cljs:158, src/app/main/ui/viewer/login.cljs:101 msgid "auth.login-here" -msgstr "Accedere qui" +msgstr "Accedi qui." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Accedi" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot è lo strumento di design open-source gratuito per la collaborazione " "nel Design e Sviluppo" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -110,7 +110,7 @@ msgstr "Il link per il recupero password è stato inviato alla tua e-mail." msgid "auth.notifications.team-invitation-accepted" msgstr "Unito al team con successo" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Password" @@ -138,7 +138,7 @@ msgstr "Hai dimenticato la password?" msgid "auth.recovery-submit" msgstr "Cambia la tua password" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Non hai ancora un account?" @@ -152,7 +152,7 @@ msgstr "" msgid "auth.register-account-title" msgstr "Il tuo nome" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Crea un account" @@ -176,7 +176,7 @@ msgstr "La soluzione open source per il design e la prototipazione." msgid "auth.terms-and-privacy-agreement" msgstr "Accetto i [termini di servizio](%s) e la [politica sulla privacy](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Condizioni di servizio" @@ -190,7 +190,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Abbiamo inviato l'e-mail di verifica a" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Email di lavoro" @@ -199,11 +199,11 @@ msgstr "Email di lavoro" msgid "branding-illustrations-marketing-pieces" msgstr "…branding, illustrazione, materiali di marketing, etc." -#: src/app/main/ui/comments.cljs:504 +#: src/app/main/ui/comments.cljs:532 msgid "comments.mentions.not-found" msgstr "Nessuna persona trovata per @%s" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Pubblica" @@ -275,7 +275,7 @@ msgstr "Condividi i prototipi" msgid "common.share-link.view-all" msgstr "Seleziona tutto" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Rimuovi pubblicazione" @@ -327,7 +327,7 @@ msgstr "Spiegazione dell'interfaccia passo per passo" msgid "dashboard.access-tokens.copied-success" msgstr "Token copiato" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Genera un nuovo token" @@ -335,11 +335,11 @@ msgstr "Genera un nuovo token" msgid "dashboard.access-tokens.create.success" msgstr "Token di accesso creato con successo." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Premi il bottone \"Genera un nuovo token\" per generarne uno." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Al momento non hai token." @@ -363,23 +363,23 @@ msgstr "90 giorni" msgid "dashboard.access-tokens.expiration-never" msgstr "Mai" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Scaduto il %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Scade il %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Nessuna data di scadenza" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Token di accesso personale" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "I token di accesso personali funzionano come alternativa al nostro sistema " @@ -394,15 +394,19 @@ msgstr "Il token scadrà il %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "Il token non ha una data di scadenza" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Aggiungi file" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" -msgstr "Aggiungi una libreria condivisa" +msgstr "Aggiungi come libreria condivisa" #: src/app/main/ui/settings/profile.cljs:75 msgid "dashboard.change-email" msgstr "Cambia indirizzo e-mail" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(copia)" @@ -438,23 +442,23 @@ msgstr "Duplica" msgid "dashboard.duplicate-multi" msgstr "Duplica %s file" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Quando un membro del progetto crea una bozza, verrà mostrata qui." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Nessuna bozza presente." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Quando un membro del progetto crea un file, verrà mostrato qui." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Nessun file presente." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -470,11 +474,11 @@ msgstr "" "tuoi file o ad aggiungerle dal nostro [Librerie e " "modelli](https://penpot.app/libraries-templates)." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Le librerie aggiunte al progetto verrano mostrate qui." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Nessuna libreria presente." @@ -570,70 +574,71 @@ msgstr "Includi gli asset delle librerie condivise nelle librerie del file" msgid "dashboard.export.title" msgstr "Esporta i file" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" -msgstr "Font mancante" +msgstr "Carattere mancante" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Chiudi tutto" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" -msgstr "I font personalizzati che carichi appariranno qui." +msgstr "I caratteri personalizzati che carichi appariranno qui." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" -msgstr "Nessun font personalizzato presente." +msgstr "Nessun carattere personalizzato presente." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "" -"Quando un membro del progetto carica un font personalizzato, verrà mostrato " -"qui." +"Quando un membro del progetto carica un carattere personalizzato, verrà " +"mostrato qui." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" -msgstr[0] "1 font aggiunto" -msgstr[1] "%s font aggiunti" +msgstr[0] "1 carattere aggiunto" +msgstr[1] "%s caratteri aggiunti" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" -"Qualsiasi font web caricato qui verrà aggiunto alla lista dei font family " -"disponibile nelle impostazioni testo dei file di questo team. I font che " -"arrecano lo stesso nome di font family verranno raggruppati come un " -"**singolo font family**. È possibile caricare font con i seguenti " -"formati:**TTF, OTF e WOFF**(uno solo di questi è necessario)." +"Qualsiasi carattere web caricato qui verrà aggiunto alla lista delle " +"famiglie di caratteri disponibili nelle impostazioni testo dei file di " +"questo team. I caratteri che arrecano lo stesso nome di famiglia di " +"carattere verranno raggruppati come una **singola famiglia di caratteri**. " +"È possibile caricare caratteri con i seguenti formati: **TTF, OTF e WOFF** " +"(uno solo di questi è necessario)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" -"È consigliabile caricare unicamente font di cui si è proprietari o dei " +"È consigliabile caricare unicamente caratteri di cui si è proprietari o dei " "quali si possiede la licenza d'uso in Penpot. Ulteriori informazioni sui " "diritti dei contenuti sono disponibili nella sezione [Termini di Servizio " -"di Penpot](%s). Potresti anche voler " -"approfondire le [licenze per i font](https://www.typography.com/faq)." +"di Penpot](https://penpot.app/terms.html). Potresti anche voler " +"approfondire le [licenze dei caratteri](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Carica tutto" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" -"Abbiamo rilevato un possibile problema nei tuoi font relativo alle metriche " -"verticali per diversi sistemi operativi. Per verificarlo, puoi utilizzare " -"servizi per le metriche verticali dei font come " +"Abbiamo rilevato un possibile problema nei tuoi caratteri relativo alle " +"metriche verticali per diversi sistemi operativi. Per verificarlo, puoi " +"utilizzare servizi per le metriche verticali dei caratteri come " "[questo](https://vertical-metrics.netlify.app/). Inoltre, ti consigliamo di " "utilizzare [Transfonter](https://transfonter.org/) per generare webfont e " "correggere errori. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importa file Penpot" @@ -645,11 +650,11 @@ msgstr "Ops! Non possiamo importare questo file" msgid "dashboard.import.analyze-error.components-v2" msgstr "File con componenti V2 attivati ma questo team non li supporta ancora." -#: src/app/main/ui/dashboard.cljs:248 +#: src/app/main/ui/dashboard.cljs:247 msgid "dashboard.import.bad-url" msgstr "Importazione non riuscita. L'URL del modello non è corretto" -#: src/app/main/ui/dashboard.cljs:242 +#: src/app/main/ui/dashboard.cljs:241 msgid "dashboard.import.error" msgstr "Importazione non riuscita. Riprova" @@ -659,17 +664,17 @@ msgstr "" "C'è stato un problema con l'importazione del file. Il file non è stato " "importato." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 file è stato importato con successo." msgstr[1] "%s file sono stati importati con successo." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Alcuni file contenenti oggetti non validi sono stati rimossi." -#: src/app/main/ui/dashboard.cljs:249 +#: src/app/main/ui/dashboard.cljs:248 msgid "dashboard.import.no-perms" msgstr "Non hai i permessi per importare in questo team" @@ -709,31 +714,31 @@ msgstr "Invita nel team" msgid "dashboard.leave-team" msgstr "Abbandona il team" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Librerie e modelli" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Esplorane di più e scopri come contribuire" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "" "Si è verificato un problema nell'importazione del modello. Il modello non è " "stato importato." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Librerie condivise" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "caricamento dei file …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" -msgstr "caricamento dei font …" +msgstr "caricamento dei caratteri…" #: src/app/main/ui/dashboard/file_menu.cljs:291, src/app/main/ui/dashboard/project_menu.cljs:101 msgid "dashboard.move-to" @@ -747,11 +752,11 @@ msgstr "Sposta %s file in" msgid "dashboard.move-to-other-team" msgstr "Sposta in un altro team" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Nuovo File" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Nuovo File" @@ -759,7 +764,7 @@ msgstr "Nuovo File" msgid "dashboard.new-project" msgstr "+ Nuovo progetto" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nuovo progetto" @@ -771,7 +776,7 @@ msgstr "Nessuna corrispondenza trovata per \"%s\"" msgid "dashboard.no-projects-placeholder" msgstr "I progetti appuntati appariranno qui" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Notifiche" @@ -783,7 +788,7 @@ msgstr "Il tuo indirizzo e-mail è stato aggiornato con successo" msgid "dashboard.notifications.email-verified-successfully" msgstr "Il tuo indirizzo e-mail è stato verificato con successo" -#: src/app/main/ui/settings/notifications.cljs:42 +#: src/app/main/data/profile.cljs:260 msgid "dashboard.notifications.notifications-saved" msgstr "Impostazioni di notifica aggiornate" @@ -803,7 +808,7 @@ msgstr "%s membri" msgid "dashboard.open-in-new-tab" msgstr "Apri file in una nuova scheda" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opzioni" @@ -831,15 +836,15 @@ msgstr "Ora sei un visualizzatore di questo team." msgid "dashboard.pin-unpin" msgstr "Appunta/Rimuovi" -#: src/app/main/ui/dashboard.cljs:212 +#: src/app/main/ui/dashboard.cljs:208 msgid "dashboard.plugins.bad-url" msgstr "L'URL del plugin non è corretto" -#: src/app/main/ui/dashboard.cljs:210 +#: src/app/main/ui/dashboard.cljs:206 msgid "dashboard.plugins.parse-error" msgstr "Impossibile analizzare il manifesto del plugin" -#: src/app/main/ui/dashboard.cljs:173 +#: src/app/main/ui/dashboard.cljs:169 msgid "dashboard.plugins.try-plugin" msgstr "Prova il plugin: " @@ -854,7 +859,7 @@ msgstr "Desideri eliminare il tuo account?" #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs #, unused msgid "dashboard.remove-shared" -msgstr "Elimina come libreria condivisa" +msgstr "Rimuovi come libreria condivisa" #: src/app/main/data/common.cljs:242 msgid "dashboard.removed-from-team" @@ -880,67 +885,67 @@ msgstr "Seleziona la lingua per l'interfaccia utente" msgid "dashboard.select-ui-theme" msgstr "Seleziona un tema" -#: src/app/main/ui/settings/notifications.cljs:76 +#: src/app/main/ui/settings/notifications.cljs:57 msgid "dashboard.settings.notifications.dashboard-comments.all" msgstr "Tutti i commenti, menzioni e risposte" -#: src/app/main/ui/settings/notifications.cljs:78 +#: src/app/main/ui/settings/notifications.cljs:59 msgid "dashboard.settings.notifications.dashboard-comments.none" msgstr "Nessuna" -#: src/app/main/ui/settings/notifications.cljs:77 +#: src/app/main/ui/settings/notifications.cljs:58 msgid "dashboard.settings.notifications.dashboard-comments.partial" msgstr "Solo menzioni e risposte" -#: src/app/main/ui/settings/notifications.cljs:73 +#: src/app/main/ui/settings/notifications.cljs:54 msgid "dashboard.settings.notifications.dashboard-comments.title" msgstr "Commenti dei file" -#: src/app/main/ui/settings/notifications.cljs:72 +#: src/app/main/ui/settings/notifications.cljs:53 msgid "dashboard.settings.notifications.dashboard.title" msgstr "Notifiche nel pannello di controllo" -#: src/app/main/ui/settings/notifications.cljs:86 +#: src/app/main/ui/settings/notifications.cljs:67 msgid "dashboard.settings.notifications.email-comments.all" msgstr "Tutti i commenti, menzioni e risposte" -#: src/app/main/ui/settings/notifications.cljs:88 +#: src/app/main/ui/settings/notifications.cljs:69 msgid "dashboard.settings.notifications.email-comments.none" msgstr "Nessuna" -#: src/app/main/ui/settings/notifications.cljs:87 +#: src/app/main/ui/settings/notifications.cljs:68 msgid "dashboard.settings.notifications.email-comments.partial" msgstr "Solo menzioni e risposte" -#: src/app/main/ui/settings/notifications.cljs:83 +#: src/app/main/ui/settings/notifications.cljs:64 msgid "dashboard.settings.notifications.email-comments.title" msgstr "Commenti dei file" -#: src/app/main/ui/settings/notifications.cljs:95 +#: src/app/main/ui/settings/notifications.cljs:76 msgid "dashboard.settings.notifications.email-invites.all" msgstr "Tutti i tipi di inviti e richieste" -#: src/app/main/ui/settings/notifications.cljs:98 +#: src/app/main/ui/settings/notifications.cljs:79 msgid "dashboard.settings.notifications.email-invites.none" msgstr "Nessuna" -#: src/app/main/ui/settings/notifications.cljs:92 +#: src/app/main/ui/settings/notifications.cljs:73 msgid "dashboard.settings.notifications.email-invites.title" msgstr "Inviti e richieste" -#: src/app/main/ui/settings/notifications.cljs:82 +#: src/app/main/ui/settings/notifications.cljs:63 msgid "dashboard.settings.notifications.email.title" msgstr "Notifiche email" -#: src/app/main/ui/settings/notifications.cljs:103 +#: src/app/main/ui/settings/notifications.cljs:84 msgid "dashboard.settings.notifications.submit" msgstr "Aggiorna impostazioni" -#: src/app/main/ui/settings/notifications.cljs:71 +#: src/app/main/ui/settings/notifications.cljs:52 msgid "dashboard.settings.notifications.title" msgstr "Notifiche" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Mostra tutti i file" @@ -968,7 +973,7 @@ msgstr[1] "I tuoi file sono stati duplicati con successo" msgid "dashboard.success-duplicate-project" msgstr "Il tuo progetto è stato duplicato con successo" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Il tuo file è stato spostato con successo" @@ -1012,15 +1017,15 @@ msgstr "Annulla pubblicazione libreria" msgid "dashboard.update-settings" msgstr "Aggiorna le impostazioni" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "Nessun limite alla creatività" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Penpot Gratis" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "Migliora" @@ -1079,7 +1084,7 @@ msgstr "E-mail" msgid "dashboard.your-name" msgstr "Il tuo nome" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Il tuo Penpot" @@ -1099,11 +1104,11 @@ msgstr "Componenti da aggiornare:" msgid "ds.confirm-allow" msgstr "Acconsenti" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Annulla" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -1115,7 +1120,7 @@ msgstr "Sei sicuro?" msgid "errors.auth-provider-not-allowed" msgstr "Provider di autenticazione non consentito per questo profilo" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Provider di autenticazione non configurato." @@ -1123,19 +1128,19 @@ msgstr "Provider di autenticazione non configurato." msgid "errors.auth.unable-to-login" msgstr "Sembra che tu non ti sia autenticato o che la sessione sia scaduta." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" -msgstr "Il font %s non può essere caricato" +msgstr "Il carattere %s non può essere caricato" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" -msgstr "I font %s non posso essere caricati" +msgstr "I caratteri %s non posso essere caricati" #: src/app/main/data/workspace/media.cljs:198 msgid "errors.cannot-upload" msgstr "Impossible caricare il file multimediale." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Il tuo browser non può effettuare questa operazione" @@ -1147,7 +1152,7 @@ msgstr "Indirizzo e-mail già utilizzato" msgid "errors.email-already-validated" msgstr "Indirizzo e-mail già convalidato." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Non è possibile utilizzare il tuo indirizzo e-mail come password" @@ -1194,7 +1199,7 @@ msgstr "" "file che stai cercando di aprire. È necessario applicare le migrazioni per " "'%s' prima di poter aprire il file." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Si è verificato un problema." @@ -1207,8 +1212,7 @@ msgstr "Colore non valido" msgid "errors.invalid-email" msgstr "Inserisci una email valida" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "L'indirizzo e-mail di conferma deve corrispondere" @@ -1224,7 +1228,7 @@ msgstr "Invito non valido" msgid "errors.invite-invalid.info" msgstr "Questo è invito può essere stato revocato o può essere scaduto." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Autenticazione LDAP disabilitata." @@ -1276,7 +1280,7 @@ msgstr "La password deve contenere almeno 8 caratteri" msgid "errors.paste-data-validation" msgstr "Dati non validi negli appunti" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Questo profilo è bloccato" @@ -1354,12 +1358,11 @@ msgstr "Errore inaspettato durante la validazione" msgid "errors.webhooks.unexpected-status" msgstr "Stato inaspettato %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Il nome utente o la password sembrano essere sbagliati." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "La password precedente non è corretta" @@ -1408,11 +1411,11 @@ msgstr "Siamo qui per aiutarti con le tue domande tecniche." msgid "feedback.twitter-title" msgstr "Account di supporto X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Si è verificato un errore" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Sfocatura" @@ -1420,31 +1423,31 @@ msgstr "Sfocatura" msgid "inspect.attributes.blur.value" msgstr "Valore" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Riempimento" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Scarica l'immagine sorgente" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Altezza" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Larghezza" @@ -1483,15 +1486,15 @@ msgstr "In alto" msgid "inspect.attributes.layout.width" msgstr "Larghezza" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Ombra" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Dimensione e posizione" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Contorno" @@ -1528,143 +1531,143 @@ msgstr "Solido" msgid "inspect.attributes.stroke.width" msgstr "Larghezza" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografia" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" -msgstr "Font Family" +msgstr "Famiglia di caratteri" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Dimensione del carattere" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Stile del carattere" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Peso del carattere" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Spaziatura delle lettere" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Interlinea" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Decorazioni testo" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Nessuno" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Barrato" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Sottolineato" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Trasforma Testo" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Minuscolo" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Nessuno" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Prime lettere maiuscole" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Annulla impostazione" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Maiuscolo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Per ulteriori informazioni su l'ispezione, visita il centro di supporto di " "Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Maggiori informazioni sull'ispezione" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Seleziona una forma, una tavola da disegno o un gruppo per ispezionare le " "loro proprietà e il loro codice" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Codice" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Cerchio" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Componente" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Curva" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Tavola da disegno" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Gruppo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Immagine" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Maschera" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s selezionati" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Tracciato" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rettangolo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Testo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Informazione" @@ -1684,15 +1687,15 @@ msgstr "Token di accesso" msgid "labels.active" msgstr "Attivo" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Aggiungi" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Aggiungi un carattere personalizzato" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Aggiungendo…" @@ -1704,7 +1707,7 @@ msgstr "Amministratore" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Tutti" @@ -1726,7 +1729,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Gateway non corretto" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Annulla" @@ -1734,27 +1737,27 @@ msgstr "Annulla" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Chiudi" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Comprimi" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Commenta" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Segna come risolto" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Commenti" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Community" @@ -1762,7 +1765,7 @@ msgstr "Community" msgid "labels.confirm-password" msgstr "Conferma la password" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Continua" @@ -1782,7 +1785,7 @@ msgstr "Copia link" msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Crea" @@ -1796,21 +1799,21 @@ msgstr "Inserisci il nome del nuovo team" #, unused msgid "labels.custom-fonts" -msgstr "Font personalizzati" +msgstr "Caratteri personalizzati" #: src/app/main/ui/settings/sidebar.cljs:80 msgid "labels.dashboard" msgstr "Pannello di controllo" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Elimina" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Elimina il commento" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Elimina il thread" @@ -1830,15 +1833,15 @@ msgstr "Sviluppo" msgid "labels.director" msgstr "Direttore" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Scarta" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Bozze" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Modifica" @@ -1858,7 +1861,7 @@ msgstr "Evento" msgid "labels.expired-invitation" msgstr "Scaduto" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Esporta" @@ -1874,19 +1877,19 @@ msgstr "Feedback inviato" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" -msgstr "Font Family" +msgstr "Famiglia di caratteri" #, unused msgid "labels.font-providers" -msgstr "Fornitori di font" +msgstr "Fornitori di caratteri" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Stili" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Font" @@ -1898,11 +1901,11 @@ msgstr "Amministratore delegato e Fondatore" msgid "labels.freelancer" msgstr "Libero professionista" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Repository Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Dai la tua opinione" @@ -1914,15 +1917,15 @@ msgstr "Torna indietro" msgid "labels.graphic-design" msgstr "Graphic design" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Supporto" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Non mostrare i commenti risolti" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:355 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 msgid "labels.import" msgstr "Importa" @@ -1930,9 +1933,9 @@ msgstr "Importa" msgid "labels.inactive" msgstr "Inattivo" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" -msgstr "Font installati" +msgstr "Caratteri installati" #: src/app/main/ui/static.cljs:424 msgid "labels.internal-error.desc-message" @@ -1956,11 +1959,11 @@ msgstr "Inviti" msgid "labels.language" msgstr "Lingua" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Librerie e modelli" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Caricamento…" @@ -1972,7 +1975,7 @@ msgstr "Connettiti o iscriviti" msgid "labels.login" msgstr "Accesso" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Disconnetti" @@ -1992,13 +1995,13 @@ msgstr "Membri" msgid "labels.new-password" msgstr "Nuova password" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Successivo" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" -msgstr "Non ci sono notifiche di commenti in attesa" +msgstr "Non ci sono notifiche di commenti in attesa." #: src/app/main/ui/dashboard/team.cljs:740 msgid "labels.no-invitations" @@ -2024,7 +2027,7 @@ msgstr "Ops!" msgid "labels.notifications" msgstr "Notifiche" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 file" @@ -2055,7 +2058,7 @@ msgstr "Vecchia password" msgid "labels.only-yours" msgstr "Solo tuoi" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Opzioni" @@ -2083,7 +2086,7 @@ msgstr "Password" msgid "labels.pending-invitation" msgstr "In attesa" -#: src/app/main/ui/comments.cljs:657, src/app/main/ui/comments.cljs:690, src/app/main/ui/comments.cljs:759 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "Pubblica" @@ -2107,7 +2110,7 @@ msgstr "Profilo" msgid "labels.projects" msgstr "Progetti" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Note di versione" @@ -2125,7 +2128,7 @@ msgstr "Rimuovi" msgid "labels.remove-member" msgstr "Rimuovi membro" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Rinomina" @@ -2133,23 +2136,23 @@ msgstr "Rinomina" msgid "labels.rename-team" msgstr "Rinomina il team" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "risposte" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "nuove risposte" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "risposta" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "nuova risposta" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Rispondi" @@ -2169,17 +2172,17 @@ msgstr "Riprova" msgid "labels.role" msgstr "Ruolo" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Salva" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Cerca" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" -msgstr "Cerca un font" +msgstr "Cerca un carattere" #: src/app/main/ui/onboarding/questions.cljs:85, src/app/main/ui/onboarding/questions.cljs:244, src/app/main/ui/onboarding/questions.cljs:255, src/app/main/ui/onboarding/questions.cljs:265 msgid "labels.select-option" @@ -2201,7 +2204,7 @@ msgstr "Stiamo effettuando la manutenzione programmata dei nostri sistemi." msgid "labels.service-unavailable.main-message" msgstr "Servizio non disponibile" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "Set" @@ -2221,19 +2224,19 @@ msgstr "Condividi il prototipo" msgid "labels.shared-libraries" msgstr "Librerie condivise" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Mostra tutti i commenti" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Mostra la lista dei commenti" -#: src/app/main/ui/workspace/comments.cljs:66, src/app/main/ui/workspace/comments.cljs:136 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-mentions" msgstr "Mostra solo le tue menzioni" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Mostra solo i tuoi commenti" @@ -2261,11 +2264,11 @@ msgstr "Capo del team" msgid "labels.team-member" msgstr "Membro del team" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Temi" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutorial" @@ -2281,15 +2284,15 @@ msgstr "Aggiorna" msgid "labels.update-team" msgstr "Aggiorna team" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Carica" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" -msgstr "Carica font personalizzati" +msgstr "Carica caratteri personalizzati" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Caricamento…" @@ -2305,7 +2308,7 @@ msgstr "Visualizzatore" msgid "labels.webhooks" msgstr "Webhook" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Scrivi un nuovo commento" @@ -2313,7 +2316,7 @@ msgstr "Scrivi un nuovo commento" msgid "labels.you" msgstr "(tu)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Il tuo account" @@ -2321,23 +2324,23 @@ msgstr "Il tuo account" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Scegli un'immagine" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Gradiente" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Immagine" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "Img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Mantieni proporzioni" @@ -2355,7 +2358,7 @@ msgstr "Caricamento dell'immagine…" msgid "media.radial" msgstr "Radiale" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Solido" @@ -2368,7 +2371,7 @@ msgstr "" #: src/app/main/data/common.cljs:136 msgid "modals.add-shared-confirm.accept" -msgstr "Aggiungere come libreria condivisa" +msgstr "Aggiungi come libreria condivisa" #: src/app/main/data/common.cljs:134 msgid "modals.add-shared-confirm.hint" @@ -2406,7 +2409,7 @@ msgstr "Cambiare indirizzo e-mail" msgid "modals.change-email.title" msgstr "Cambia il tuo indirizzo e-mail" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Copia token" @@ -2422,7 +2425,7 @@ msgstr "Nome" msgid "modals.create-access-token.name.placeholder" msgstr "Il nome può aiutare a capire a cosa serve il token" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Crea token" @@ -2446,15 +2449,15 @@ msgstr "URL del payload" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Elimina token" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Sei sicuro di voler eliminare questo token?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Elimina token" @@ -2476,25 +2479,25 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Eliminare il proprio account?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Elimina conversazione" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Eliminare questa conversazione? Tutti i commenti in questo thread saranno " "cancellati." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Elimina conversazione" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Sei sicuro di voler eliminare questa annotazione?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Elimina annotazione" @@ -2522,29 +2525,29 @@ msgstr "Eliminare %s files?" msgid "modals.delete-file-multi-confirm.title" msgstr "Eliminazione %s files" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Eliminare questo stile del carattere? Se è usato in un file, non verrà " "caricato." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Eliminazione stile del carattere" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "Eliminare questo carattere? Se è usato in un file, non verrà caricato." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Eliminazione carattere" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Eliminare questa pagina?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Elimina pagina" @@ -2758,15 +2761,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Nuovo proprietario del team" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Pubblica" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "La tua libreria è vuota. Sei sicuro di volerla pubblicare?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Pubblica libreria vuota" @@ -2779,9 +2782,8 @@ msgstr "Elimina come libreria condivisa" #, unused msgid "modals.remove-shared-confirm.hint" msgstr "" -"Una volta eliminata come libreria condivisa, la libreria dei file di questo " -"file smetterà di essere a disposizione per essere usata con il resto dei " -"tuoi file." +"Una volta rimossa come libreria condivisa, la libreria file di questo file " +"non sarà più disponibile per l'uso tra gli altri tuoi file." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs #, unused @@ -2822,21 +2824,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Aggiorna componenti in una libreria condivisa" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Aggiorna" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Cancella" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Stai per aggiornare un componente in una libreria condivisa. Questo " "potrebbe causare modifiche nei file che la utilizzano." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Aggiorna un componente in una libreria condivisa" @@ -2996,27 +2998,27 @@ msgstr "Video tutorial" msgid "onboarding-v2.before-start.title" msgstr "Prima di cominciare" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Iscriviti alla newsletter di Penpot per rimanere aggiornato sui progressi e " "le novità dello sviluppo del prodotto." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "Inviami notizie su Penpot (contenuti del blog, tutorial video, dirette…)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Ci teniamo alla privacy, qui puoi leggere la nostra " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Ti invieremo solo email rilevanti. Puoi annullare l'iscrizione in qualsiasi " "momento tramite il link di cancellazione presente in ogni nostra newsletter." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Inviami aggiornamenti sul prodotto (nuove funzionalità, versioni, " @@ -3115,17 +3117,17 @@ msgstr "Potrai creare un team più tardi." msgid "onboarding.newsletter.accept" msgstr "Si, iscrivimi" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "La tua richiesta di iscrizione è stata invita, ti invieremo un'email di " "conferma." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Condizioni sulla Privacy." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Vuoi ricevere le news di Penpot?" @@ -3318,7 +3320,7 @@ msgstr "Vai all'accesso" msgid "settings.detach" msgstr "Scollega" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Misto" @@ -3516,7 +3518,7 @@ msgstr "Crea nuovo" msgid "shortcuts.cut" msgstr "Taglia" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Zoom indietro" @@ -3616,7 +3618,7 @@ msgstr "Distribuisci orizzontalmente" msgid "shortcuts.hide-ui" msgstr "Mostra / Nascondi UI" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Aumenta zoom" @@ -4000,15 +4002,15 @@ msgstr "Zoom su selezione" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Fornitori dei caratteri - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Caratteri - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Progetti - %s - Penpot" @@ -4016,7 +4018,7 @@ msgstr "Progetti - %s - Penpot" msgid "title.dashboard.search" msgstr "Cerca - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Librerie condivise - %s - Penpot" @@ -4024,7 +4026,7 @@ msgstr "Librerie condivise - %s - Penpot" msgid "title.default" msgstr "Penpot - Libertà di design per i team" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profilo - Token di accesso" @@ -4032,7 +4034,7 @@ msgstr "Profilo - Token di accesso" msgid "title.settings.feedback" msgstr "Fornisci feedback - Penpot" -#: src/app/main/ui/settings/notifications.cljs:64 +#: src/app/main/ui/settings/notifications.cljs:45 msgid "title.settings.notifications" msgstr "Notifiche - Penpot" @@ -4068,7 +4070,7 @@ msgstr "Webhook - %s - Penpot" msgid "title.viewer" msgstr "%s - Modalità di visualizzazione - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -4168,7 +4170,7 @@ msgstr "Distribuisci spaziatura verticale (%s)" msgid "workspace.align.vtop" msgstr "Allinea in alto (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Aggiungi libreria" @@ -4177,11 +4179,11 @@ msgstr "Aggiungi libreria" msgid "workspace.assets.assets" msgstr "Asset" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Tutti gli asset" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Colori" @@ -4189,11 +4191,11 @@ msgstr "Colori" msgid "workspace.assets.colors.add-color" msgstr "Aggiungi colore" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Componenti" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Aggiungi componente" @@ -4207,15 +4209,15 @@ msgstr "" "I tuoi elementi verrano rinominati automaticamente come \"Nome gruppo / " "nome elemento\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Elimina" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplica" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Duplica principale" @@ -4223,19 +4225,19 @@ msgstr "Duplica principale" msgid "workspace.assets.edit" msgstr "Modifica" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filtra" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafiche" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Vista a griglia" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Gruppo" @@ -4243,27 +4245,23 @@ msgstr "Gruppo" msgid "workspace.assets.group-name" msgstr "Nome gruppo" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Librerie" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Vista a elenco" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "libreria locale" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Nessun asset trovato" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Apri file libreria" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Rinomina" @@ -4271,7 +4269,7 @@ msgstr "Rinomina" msgid "workspace.assets.rename-group" msgstr "Rinomina gruppo" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Cerca asset" @@ -4287,17 +4285,17 @@ msgstr[1] "%s elementi selezionati" msgid "workspace.assets.shared-library" msgstr "Librerie condivise" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 componente" msgstr[1] "%s componenti" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Ordina" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Elementi tipografici" @@ -4310,27 +4308,27 @@ msgstr "Aggiungi elemento tipografico" msgid "workspace.assets.typography.font-id" msgstr "Carattere" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Dimensione" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variante" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Vai alla libreria dello stile del file per modificare" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Spaziatura tra lettere" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Interlinea" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4338,7 +4336,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Stili di testo" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Trasforma testo" @@ -4346,55 +4344,55 @@ msgstr "Trasforma testo" msgid "workspace.assets.ungroup" msgstr "Separa" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Crea area" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Crea tavola da disegno" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Unisci celle" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Aggiungi 1 colonna a destra" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Aggiungi 1 colonna a sinistra" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Elimina colonna" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Elimina colonna e forme" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Duplica colonna" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Aggiungi 1 riga sotto" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Aggiungi 1 riga sopra" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Elimina riga" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Elimina riga e forme" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Duplica riga" @@ -4402,13 +4400,13 @@ msgstr "Duplica riga" msgid "workspace.focus.focus-mode" msgstr "Modalità focus" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" -msgstr "Modalità focus disattivata" +msgstr "Disattiva modalità focus" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" -msgstr "Modalità focus attivata" +msgstr "Attiva modalità focus" #, unused msgid "workspace.focus.selection" @@ -4564,37 +4562,36 @@ msgstr "Passa al tema chiaro" msgid "workspace.header.menu.undo" msgstr "Annulla" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Reimposta" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Errore durante il salvataggio" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Salvato" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "In salvataggio" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Condividi" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Cambiamenti non salvati" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Modalità di visualizzazione (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zoom" @@ -4606,7 +4603,7 @@ msgstr "Riempi - Ridimensiona per riempire" msgid "workspace.header.zoom-fit" msgstr "Adatta - Riduci per adattare" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Adatta zoom a tutto" @@ -4614,19 +4611,19 @@ msgstr "Adatta zoom a tutto" msgid "workspace.header.zoom-full-screen" msgstr "Schermo intero" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zoom su selezione" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Modifica griglia" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Esci" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Mostra opzioni di padding su 4 lati" @@ -4642,7 +4639,7 @@ msgstr "Fatto" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Individua" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Individua grid layout" @@ -4651,7 +4648,7 @@ msgstr "Individua grid layout" msgid "workspace.libraries.add" msgstr "Aggiungi" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s colori" @@ -4681,43 +4678,43 @@ msgstr "Colori recenti" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Complementare" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Salva stile di colore" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s componenti" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "O aggiungi alcuni di questi per provare:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "Non ci sono librerie condivise nel tuo team, puoi cercare" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "alcuni modelli qui" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Libreria del file" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s grafiche" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "LIBRERIE IN QUESTO FILE" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "LIBRERIE" @@ -4726,71 +4723,64 @@ msgstr "LIBRERIE" msgid "workspace.libraries.library" msgstr "LIBRERIA" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "AGGIORNAMENTI DELLA LIBRERIA" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Caricamento…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "Puoi cercare altri " -#: src/app/main/ui/workspace/libraries.cljs:391 -msgid "workspace.libraries.more-templates-link" -msgstr "modelli qui" - -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Non ci sono librerie condivise che necessitano un aggiornamento" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Nessun risultato trovato per “%s”" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Non ci sono librerie condivise disponibili" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Cerca librerie condivise" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "LIBRERIE CONDIVISE" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Connetti libreria" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Elementi tipografici multipli" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Scollega tutti gli elementi tipografici" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s elementi tipografici" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Disconnetti libreria" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Aggiorna" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "vedi tutti i cambiamenti" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "AGGIORNAMENTI" @@ -4822,45 +4812,45 @@ msgstr "Sfocatura della selezione" msgid "workspace.options.blur-options.toggle-blur" msgstr "Attiva/Disattiva sfocatura" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Colore di sfondo" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Ritaglia contenuto" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Componente" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Annotazione" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Copia" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Crea un'annotazione" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Modifica un'annotazione" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Principale" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Sostituisci componente" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" -msgstr "Non ci sono ancora asset in questo libreria" +msgstr "Non ci sono ancora asset in questa libreria" #: src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163 msgid "workspace.options.constraints" @@ -4906,7 +4896,7 @@ msgstr "Superiore e Inferiore" msgid "workspace.options.design" msgstr "Design" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Esporta" @@ -4915,21 +4905,21 @@ msgstr "Esporta" msgid "workspace.options.export-multiple" msgstr "Esporta selezione" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Esporta 1 elemento" msgstr[1] "Esporta %s elementi" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "Aggiungi esportazione" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "Rimuovi esportazione" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Suffisso" @@ -4937,7 +4927,7 @@ msgstr "Suffisso" msgid "workspace.options.exporting-complete" msgstr "Esportazione completata" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "In esportazione…" @@ -4961,6 +4951,10 @@ msgstr "Aggiungi colore di riempimento" msgid "workspace.options.fill.remove-fill" msgstr "Elimina riempimento" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "Adatta tavola da disegno al contenuto" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "Aggiungi inizio flusso" @@ -5099,7 +5093,7 @@ msgstr "Guide" msgid "workspace.options.guides.toggle-guide" msgstr "Attiva/Disattiva guida" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Altezza" @@ -5422,19 +5416,19 @@ msgstr "Attiva/Disattiva visibilità livello" msgid "workspace.options.layout-item.advanced-ops" msgstr "Opzioni avanzate" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Altezza.Max" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Larghezza.Max" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Altezza.Min" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Larghezza.Min" @@ -5548,11 +5542,11 @@ msgstr "spazio tra" msgid "workspace.options.layout.top" msgstr "In alto" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Più colori" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Più librerie colori" @@ -5597,7 +5591,7 @@ msgstr "Comprimi raggio indipendente" msgid "workspace.options.radius.show-single-corners" msgstr "Mostra raggio indipendente" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Recenti" @@ -5605,11 +5599,11 @@ msgstr "Recenti" msgid "workspace.options.retry" msgstr "Riprova" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotazione" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Cerca carattere" @@ -5619,7 +5613,7 @@ msgstr "" "Seleziona una forma, una tavola da disegno o un gruppo per trascinare una " "connessione verso un'altra tavola." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Colori selezionati" @@ -5631,55 +5625,55 @@ msgstr "Riempimento di selezione" msgid "workspace.options.selection-stroke" msgstr "Traccia di selezione" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "Aggiungi ombra" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Sfoca" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Colore ombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Ombra esterna" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Ombra interna" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "Rimuovi ombra" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Diffusione" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Ombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Ombra di gruppo" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Ombre della selezione" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:176 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 msgid "workspace.options.shadow-options.toggle-shadow" msgstr "Attiva/Disattiva ombra" @@ -5687,7 +5681,7 @@ msgstr "Attiva/Disattiva ombra" msgid "workspace.options.show-fill-on-export" msgstr "Mostra in esportazione" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Mostra in modalità visualizzazione" @@ -5695,7 +5689,7 @@ msgstr "Mostra in modalità visualizzazione" msgid "workspace.options.size" msgstr "Dimensione" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Dimensioni predefinite" @@ -5764,7 +5758,7 @@ msgstr "Triangolo" msgid "workspace.options.stroke-color" msgstr "Colore traccia" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Spessore traccia" @@ -5836,11 +5830,11 @@ msgstr "Larghezza automatica" msgid "workspace.options.text-options.grow-fixed" msgstr "Fisso" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Spaziatura tra lettere" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Interlinea" @@ -5906,15 +5900,15 @@ msgstr "" "Utilizza il pulsante di riproduzione nell'header per avviare la " "visualizzazione del prototipo." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Larghezza" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "Asse X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Asse Y" @@ -6092,123 +6086,127 @@ msgstr "IL PLUGIN '%s' È INSTALLATO PER IL TUO UTENTE!" msgid "workspace.plugins.try-out.try" msgstr "PROVA PLUGIN" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Aggiungi flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Aggiungi grid layout" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Aggiungi layout" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Porta in fondo" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Porta indietro" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Copia" -#: src/app/main/ui/workspace/context_menu.cljs:203 +#: src/app/main/ui/workspace/context_menu.cljs:204 msgid "workspace.shape.menu.copy-css" msgstr "Copia come CSS" -#: src/app/main/ui/workspace/context_menu.cljs:205 +#: src/app/main/ui/workspace/context_menu.cljs:206 msgid "workspace.shape.menu.copy-css-nested" msgstr "Copia come CSS (livelli nidificati)" -#: src/app/main/ui/workspace/context_menu.cljs:188 +#: src/app/main/ui/workspace/context_menu.cljs:189 msgid "workspace.shape.menu.copy-link" msgstr "Copia link negli appunti" -#: src/app/main/ui/workspace/context_menu.cljs:201 +#: src/app/main/ui/workspace/context_menu.cljs:202 msgid "workspace.shape.menu.copy-paste-as" msgstr "Copia/Incolla come…" -#: src/app/main/ui/workspace/context_menu.cljs:213 +#: src/app/main/ui/workspace/context_menu.cljs:214 msgid "workspace.shape.menu.copy-props" msgstr "Copia proprietà" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Copia come testo" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Crea annotazione" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Tavola da disegno da selezione" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Crea componente" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Crea componenti multipli" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Taglia" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Elimina" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Elimina inizio del flusso" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Scollega istanza" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Scollega istanze" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Differenza" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplica" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Modifica" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Escludi" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Appiattisci" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Capovolgi orizzontalmente" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Capovolgi verticalmente" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Inizio del flusso" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Porta avanti" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Porta in primo piano" @@ -6217,107 +6215,107 @@ msgstr "Porta in primo piano" msgid "workspace.shape.menu.go-main" msgstr "Vai al componente principale" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Raggruppa" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Nascondi" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Mostra/Nascondi UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Interesezione" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Blocca" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Maschera" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Incolla" -#: src/app/main/ui/workspace/context_menu.cljs:217 +#: src/app/main/ui/workspace/context_menu.cljs:218 msgid "workspace.shape.menu.paste-props" msgstr "Incolla proprietà" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Tracciato" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Rimuovi flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Rimuovi grid layout" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Rimuovi layout" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Rinomina" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Reimposta modifiche" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Ripristina componente principale" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Seleziona livello" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Mostra" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Mostra nel pannello degli asset" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Mostra componente principale" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Rimuovi miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Imposta come miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Trasforma in tracciato" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Separa" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Unione" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Sblocca" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Rimuovi maschera" @@ -6326,7 +6324,7 @@ msgstr "Rimuovi maschera" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Aggiorna componente principale" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Aggiorna componente principale" @@ -6338,11 +6336,11 @@ msgstr "Comprimi barra laterale" msgid "workspace.sidebar.expand" msgstr "Espandi barra laterale" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Cronologia" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Livelli" @@ -6378,7 +6376,7 @@ msgstr "Forme" msgid "workspace.sidebar.layers.texts" msgstr "Testi" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Attributi SVG importati" @@ -6390,7 +6388,7 @@ msgstr "Pagine" msgid "workspace.sidebar.sitemap.add-page" msgstr "Aggiungi pagina" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Sitemap" @@ -6408,43 +6406,43 @@ msgstr "%s temi attivi" msgid "workspace.token.add set" msgstr "Aggiungi set" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Applicato a" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 msgid "workspace.token.back-to-themes" msgstr "Torna alla lista temi" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 msgid "workspace.token.create-new-theme" msgstr "Crea ora il tuo prima tema." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 msgid "workspace.token.create-one" msgstr "Creane uno." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 -msgid "workspace.token.create-theme-title" -msgstr "Crea tema" - -#: src/app/main/ui/workspace/tokens/form.cljs:431 +#: src/app/main/ui/workspace/tokens/form.cljs:492 msgid "workspace.token.create-token" msgstr "Crea un nuovo token %s" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:228 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 msgid "workspace.token.delete" msgstr "Elimina token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "Elimina tema" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:225 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 msgid "workspace.token.duplicate" msgstr "Duplica token" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:212 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 msgid "workspace.token.edit" msgstr "Modifica token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Modifica tema" @@ -6452,15 +6450,15 @@ msgstr "Modifica tema" msgid "workspace.token.edit-themes" msgstr "Modifica temi" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Modifica token" -#: src/app/main/ui/workspace/tokens/form.cljs:481 +#: src/app/main/ui/workspace/tokens/form.cljs:544 msgid "workspace.token.enter-token-description" msgstr "Aggiungi una descrizione (opzionale)" -#: src/app/main/ui/workspace/tokens/form.cljs:437 +#: src/app/main/ui/workspace/tokens/form.cljs:498 msgid "workspace.token.enter-token-name" msgstr "Inserisci il nome del token %s" @@ -6469,86 +6467,110 @@ msgstr "Inserisci il nome del token %s" msgid "workspace.token.grouping-set-alert" msgstr "Il raggruppamento di set di token non è ancora supportato." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:56 -msgid "workspace.token.new-theme" -msgstr "Nuovo tema" +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "Gruppo" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "Tema" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 msgid "workspace.token.no-active-theme" msgstr "Nessun tema attivo" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:146 -msgid "workspace.token.no-sets" -msgstr "Nessun set" +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "Devi essere un editor per attivare / disattivare i set" -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "Devi essere un editor per usare i temi" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "Non sono ancora stati definiti dei set. Creane prima uno." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:215, src/app/main/ui/workspace/tokens/sidebar.cljs:221 +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 msgid "workspace.token.no-sets-yet" msgstr "Non ci sono ancora dei set." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "Non ci sono temi." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "Al momento non hai temi." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 -msgid "workspace.token.num-sets" -msgstr "%s set" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" -msgstr "Valore originale: " +msgstr "Valore originale: %s" -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "Il riferimento non è valido o non è presente in nessun set attivo" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" -msgstr "Valore risultato: " +msgstr "Valore risolto: %" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Salva tema" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "Seleziona set." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "Definisci quali set token dovrebbe essere usati come parte di questo tema:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Tema %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 -msgid "workspace.token.themes" -msgstr "Temi" - -#: src/app/main/ui/workspace/tokens/form.cljs:482 +#: src/app/main/ui/workspace/tokens/form.cljs:545 msgid "workspace.token.token-description" msgstr "Descrizione" -#: src/app/main/ui/workspace/tokens/form.cljs:440 +#: src/app/main/ui/workspace/tokens/form.cljs:501 msgid "workspace.token.token-name" msgstr "Nome" -#: src/app/main/ui/workspace/tokens/form.cljs:464 +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" non è un nome di token valido.\n" +"I nomi dei token dovrebbero contenere solo lettere e cifre separate da " +"caratteri . e non devono iniziare con un segno $." + +#: src/app/main/ui/workspace/tokens/form.cljs:526 msgid "workspace.token.token-value" msgstr "Valore" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:348 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "TOKEN - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 msgid "workspace.token.tools" msgstr "Strumenti" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "Il valore non è valido" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "" +"Rinominare questo token interromperà qualsiasi riferimento al suo vecchio " +"nome." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Asset" @@ -6556,39 +6578,39 @@ msgstr "Asset" msgid "workspace.toolbar.color-palette" msgstr "Palette colori (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Commenti (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Curva (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Ellisse (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Tavola da disegno (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Immagine (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Sposta (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Tracciato (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Plugin (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rettangolo (%s)" @@ -6597,7 +6619,7 @@ msgstr "Rettangolo (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Scorciatoie (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Testo (%s)" @@ -6605,7 +6627,7 @@ msgstr "Testo (%s)" msgid "workspace.toolbar.text-palette" msgstr "Tipografie (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Attiva/Disattiva barra degli strumenti" @@ -6763,19 +6785,19 @@ msgstr "Operazione su %s" msgid "workspace.undo.title" msgstr "Cronologia" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Ignora" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Maggiori informazioni" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Sono presenti degli aggiornamenti nelle librerie condivise" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Aggiorna" @@ -6835,11 +6857,11 @@ msgstr "Vuoi ripristinare questa versione?" msgid "workspace.versions.snapshot-menu" msgstr "Apri menu delle istantanee" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "Azioni" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "Cronologia" diff --git a/frontend/translations/jpn_JP.po b/frontend/translations/jpn_JP.po index c64c09f972..691659c716 100644 --- a/frontend/translations/jpn_JP.po +++ b/frontend/translations/jpn_JP.po @@ -36,11 +36,11 @@ msgstr "デモアカウントを作成" msgid "auth.create-demo-profile" msgstr "試してみませんか?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "このサービスはデモ版です。実際の業務には使用しないでください。" -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "パスワードを忘れましたか?" @@ -52,27 +52,27 @@ msgstr "フルネーム" msgid "auth.login-here" msgstr "こちらからログイン" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "ログイン" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "Gitlab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAPでログイン" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID Connect" @@ -96,7 +96,7 @@ msgstr "パスワード変更リンクをメールで送信しました。" msgid "auth.notifications.team-invitation-accepted" msgstr "チームに参加しました" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "パスワード" @@ -124,7 +124,7 @@ msgstr "パスワードを忘れましたか?" msgid "auth.recovery-submit" msgstr "パスワードを変更" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "アカウントをお持ちでない方はこちら" @@ -132,7 +132,7 @@ msgstr "アカウントをお持ちでない方はこちら" msgid "auth.register-account-title" msgstr "あなたの名前" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "アカウントを作成" @@ -150,7 +150,7 @@ msgstr "デザインとプロトタイピングのためのオープンソース msgid "auth.terms-and-privacy-agreement" msgstr "[利用規約](%s) と [プライバシーポリシー](%s) に同意します。" -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "利用規約" @@ -158,7 +158,7 @@ msgstr "利用規約" msgid "auth.verification-email-sent" msgstr "認証メールを送信しました" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "公開" @@ -227,7 +227,7 @@ msgstr "プロトタイプを共有" msgid "common.share-link.view-all" msgstr "すべて選択" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "非公開" @@ -252,7 +252,7 @@ msgstr "共有ライブラリとして追加" msgid "dashboard.change-email" msgstr "メールアドレスを変更" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(コピー)" @@ -300,16 +300,16 @@ msgstr "エクスポートの選択" msgid "dashboard.export.options.all.title" msgstr "共有ライブラリとしてエクスポート" -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "%s フォントを追加しました" -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "すべてアップロード" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Penpotをインポート" @@ -349,23 +349,23 @@ msgstr "チームに招待" msgid "dashboard.leave-team" msgstr "チームから脱退" -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "共有ライブラリ" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "ファイルを読みこんでいます…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "フォントを読みこんでいます…" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ 新しいファイル" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "新しいファイル" @@ -373,7 +373,7 @@ msgstr "新しいファイル" msgid "dashboard.new-project" msgstr "+ 新規プロジェクト" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "新規プロジェクト" @@ -405,7 +405,7 @@ msgstr "%s メンバー" msgid "dashboard.open-in-new-tab" msgstr "新しいタブでファイルで開く" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "オプション" @@ -446,7 +446,7 @@ msgstr "表示言語を選択" msgid "dashboard.select-ui-theme" msgstr "テーマを選択" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "すべてのファイルを表示" @@ -466,7 +466,7 @@ msgstr "ファイルを複製しました" msgid "dashboard.success-duplicate-project" msgstr "プロジェクトを複製しました" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "ファイルを移動しました" @@ -518,15 +518,15 @@ msgstr "Eメール" msgid "dashboard.your-name" msgstr "名前" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "あなたのPenpot" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "キャンセル" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "OK" @@ -534,7 +534,7 @@ msgstr "OK" msgid "ds.confirm-title" msgstr "本当に実行しますか?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "認証プロバイダが設定されていません。" @@ -542,7 +542,7 @@ msgstr "認証プロバイダが設定されていません。" msgid "errors.auth.unable-to-login" msgstr "認証されていないか、セッションが失効しているようです。" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "この処理は実行できません" @@ -554,7 +554,7 @@ msgstr "メールアドレスは使用されています" msgid "errors.email-already-validated" msgstr "メールアドレスはすでに有効です。" -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "メールアドレスはパスワードとして設定できません" @@ -566,7 +566,7 @@ msgstr "メールアドレス «%s» には多くの受信失敗レポートが msgid "errors.email-spam-or-permanent-bounces" msgstr "«%s» はスパムとして報告されたか、または恒久的に受信失敗しています" -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "エラーが発生しました。" @@ -574,8 +574,7 @@ msgstr "エラーが発生しました。" msgid "errors.invalid-color" msgstr "無効な色" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "メールアドレスは同じものを入力する必要があります" @@ -591,7 +590,7 @@ msgstr "招待が無効" msgid "errors.invite-invalid.info" msgstr "この招待はキャンセルされたか、失効しています。" -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP認証は無効になっています。" @@ -628,12 +627,11 @@ msgstr "エラーが発生しました。" msgid "errors.unexpected-token" msgstr "不明なトークン" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "ユーザー名かパスワードが正しくありません。" -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "以前のパスワードが正しくありません" @@ -661,27 +659,27 @@ msgstr "メールアドレス" msgid "feedback.twitter-title" msgstr "Xサポートアカウント" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "エラーが発生しました" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "ぼかし" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "塗りつぶし" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "画像をダウンロード" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "高さ" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "横幅" @@ -720,7 +718,7 @@ msgstr "上" msgid "inspect.attributes.layout.width" msgstr "幅" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "シャドウ" @@ -728,51 +726,51 @@ msgstr "シャドウ" msgid "inspect.attributes.stroke.alignment.center" msgstr "中央" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "フォントファミリー" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "フォントサイズ" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "フォントスタイル" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "行の高さ" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "文字装飾" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "下線" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "円" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "コンポーネント" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "曲線" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "グループ" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "画像" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "マスク" @@ -780,19 +778,19 @@ msgstr "マスク" msgid "label.shortcuts" msgstr "ショートカット" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "カスタムフォントを追加" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "キャンセル" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "コメント" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "コミュニティ" @@ -800,11 +798,11 @@ msgstr "コミュニティ" msgid "labels.confirm-password" msgstr "パスワードを確認" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "続ける" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "作成" @@ -824,15 +822,15 @@ msgstr "カスタムフォント" msgid "labels.dashboard" msgstr "ダッシュボード" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "削除" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "コメントを削除" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "スレッドを削除" @@ -840,11 +838,11 @@ msgstr "スレッドを削除" msgid "labels.delete-invitation" msgstr "招待を削除" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "下書き" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "編集" @@ -860,7 +858,7 @@ msgstr "エディタ" msgid "labels.expired-invitation" msgstr "失効済み" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "エクスポート" @@ -868,23 +866,23 @@ msgstr "エクスポート" msgid "labels.feedback-sent" msgstr "フィードバックを送信しました" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "フォントファミリー" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "スタイル" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "フォント" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "GitHubレポジトリ" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "フィードバックする" @@ -892,11 +890,11 @@ msgstr "フィードバックする" msgid "labels.go-back" msgstr "戻る" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "ヘルプセンター" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "解決済みのコメントを非表示" @@ -912,11 +910,11 @@ msgstr "招待" msgid "labels.language" msgstr "言語" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "ライブラリ&テンプレート" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "ログアウト" @@ -961,7 +959,7 @@ msgstr "プロフィール" msgid "labels.projects" msgstr "プロジェクト" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "リリースノート" @@ -974,7 +972,7 @@ msgstr "削除" msgid "labels.remove-member" msgstr "メンバーを削除" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "名前を変更" diff --git a/frontend/translations/ko.po b/frontend/translations/ko.po index d5db7f719b..62514452fc 100644 --- a/frontend/translations/ko.po +++ b/frontend/translations/ko.po @@ -36,11 +36,11 @@ msgstr "데모 계정을 생성하세요" msgid "auth.create-demo-profile" msgstr "그냥 해볼까요?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "데모 서비스입니다. 실제 작업에 사용하지 마십시오. 생성된 프로젝트는 주기적으로 삭제될 것입니다." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "비밀번호를 잊어버리셨나요?" @@ -48,7 +48,7 @@ msgstr "비밀번호를 잊어버리셨나요?" msgid "auth.fullname" msgstr "이름 (성명)" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "내 계정에 로그인하기" @@ -56,31 +56,31 @@ msgstr "내 계정에 로그인하기" msgid "auth.login-here" msgstr "여기서 로그인하세요" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "로그인" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "펜팟은 디자인과 코딩의 협업을 위한 무료 오픈소스 디자인 도구입니다" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "깃허브 (GitHub)" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "깃랩 (GitLab)" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "구글 (Google)" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "오픈아이디 (OpenID)" @@ -104,7 +104,7 @@ msgstr "비밀번호 복구를 위한 링크를 메일함으로 보냈어요" msgid "auth.notifications.team-invitation-accepted" msgstr "팀에 성공적으로 합류했어요" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "비밀번호" @@ -132,7 +132,7 @@ msgstr "비밀번호를 잊으셨나요?" msgid "auth.recovery-submit" msgstr "비밀번호를 바꾸세요" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "아직 계정이 없으신가요?" @@ -140,7 +140,7 @@ msgstr "아직 계정이 없으신가요?" msgid "auth.register-account-tagline" msgstr "대시보드와 이메일 에서 당신을 어떻게 호칭할지 저희에게 알려주세요." -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "계정을 생성하세요" @@ -157,7 +157,7 @@ msgstr "계정을 생성하세요" msgid "auth.sidebar-tagline" msgstr "디자인과 프로토타이핑을 위한 오픈소스 솔루션." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "서비스 정책" @@ -169,7 +169,7 @@ msgstr "새로운 계정을 생성하시면, 사용자는 펜팟의 서비스 msgid "auth.verification-email-sent" msgstr "검증 메일을 ~에 보냈어요" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "작업용 이메일" @@ -178,7 +178,7 @@ msgstr "작업용 이메일" msgid "branding-illustrations-marketing-pieces" msgstr "...브랜딩, 일러스트레이션, 마케팅 자료 등." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "발행하기" @@ -247,7 +247,7 @@ msgstr "프로토타입을 공유해요" msgid "common.share-link.view-all" msgstr "모두 선택해요" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "발행취소하기" @@ -297,7 +297,7 @@ msgstr "인터페이스 둘러보기" msgid "dashboard.access-tokens.copied-success" msgstr "복사된 토큰" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "새로운 토큰 생성하기" @@ -305,11 +305,11 @@ msgstr "새로운 토큰 생성하기" msgid "dashboard.access-tokens.create.success" msgstr "엑세스 토큰이 성공적으로 생성되었습니다." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "\"새로운 토큰 생성하기\" 버튼을 눌러 토큰을 생성하십시오." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "현재 가지고 있는 토큰이 없습니다." @@ -333,23 +333,23 @@ msgstr "90일" msgid "dashboard.access-tokens.expiration-never" msgstr "기한 없음" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "%s에 만료되었습니다" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "%s에 만료됩니다" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "만료 기한 없음" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "개인용 엑세스 토큰" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "개인용 엑세스 토큰은 펜팟의 로그인/암호 인증 시스템의 대안으로 사용되며, 어플리케이션의 펜팟 내부 API 엑세스를 위해 사용될 수 " @@ -371,7 +371,7 @@ msgstr "공유 라이브러리로 추가하기" msgid "dashboard.change-email" msgstr "이메일을 변경해요" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(복사)" @@ -423,7 +423,7 @@ msgstr "내보내요" msgid "errors.invalid-recovery-token" msgstr "복구 토큰이 유효하지 않습니다." -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "흐림" @@ -431,31 +431,31 @@ msgstr "흐림" msgid "inspect.attributes.blur.value" msgstr "값" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "채우기" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "소스 이미지 다운로드" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "높이" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "폭" @@ -494,15 +494,15 @@ msgstr "위" msgid "inspect.attributes.layout.width" msgstr "폭" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "그림자" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "사이즈와 위치" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "선" @@ -535,91 +535,91 @@ msgstr "단색" msgid "inspect.attributes.stroke.width" msgstr "폭" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "타이포그래피" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "폰트 패밀리" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "폰트 사이즈" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "폰트 스타일" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "취소선" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "밑줄" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "텍스트 변형" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "소문자" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "대문자" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "코드" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "원" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "컴포넌트" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "커브" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "보드" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "그룹" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "이미지" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "마스크" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "패스" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "사각형" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "텍스트" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "정보" @@ -635,7 +635,7 @@ msgstr "허가" msgid "labels.active" msgstr "활성화" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "커스텀 폰트 추가" @@ -643,7 +643,7 @@ msgstr "커스텀 폰트 추가" msgid "labels.admin" msgstr "관리자" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "전체" @@ -659,19 +659,19 @@ msgstr "뒤로" msgid "labels.bad-gateway.main-message" msgstr "잘못된 경로" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "취소" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "닫기" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "코멘트" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "커뮤니티" @@ -679,7 +679,7 @@ msgstr "커뮤니티" msgid "labels.confirm-password" msgstr "비밀번호 확인하기" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "계속하기" @@ -687,7 +687,7 @@ msgstr "계속하기" msgid "labels.copy-invitation-link" msgstr "링크 복사하기" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "생성하기" @@ -707,15 +707,15 @@ msgstr "커스텀 폰트" msgid "labels.dashboard" msgstr "대시보드" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "삭제하기" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "코멘트 삭제하기" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "스레드 제거하기" @@ -723,11 +723,11 @@ msgstr "스레드 제거하기" msgid "labels.delete-invitation" msgstr "초대장 제거하기" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "초안" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "편집" @@ -743,11 +743,11 @@ msgstr "작성자" msgid "labels.expired-invitation" msgstr "기한이 만료된" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "내보내기" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "폰트 패밀리" @@ -755,11 +755,11 @@ msgstr "폰트 패밀리" msgid "labels.font-providers" msgstr "폰트 공급자" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "스타일" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "폰트" @@ -767,7 +767,7 @@ msgstr "폰트" msgid "labels.go-back" msgstr "뒤로 가기" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "고객센터" @@ -787,7 +787,7 @@ msgstr "뷰어" msgid "labels.webhooks" msgstr "웹훅" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "새 코멘트 쓰기" @@ -827,11 +827,11 @@ msgstr "웹훅 만들기" msgid "modals.create-webhook.title" msgstr "웹훅 생성하기" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "대회 지우기" -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "대화 지우기" @@ -851,19 +851,19 @@ msgstr "파일 삭제중" msgid "modals.delete-file-multi-confirm.accept" msgstr "여러 파일 지우기" -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "폰트 스타일 지우는 중" -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "폰트 지우는 중" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "정말로 해당 페이지를 지우시겠습니까?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "페이지 삭제" diff --git a/frontend/translations/lt.po b/frontend/translations/lt.po index 5cb215ddc0..875c1f2b26 100644 --- a/frontend/translations/lt.po +++ b/frontend/translations/lt.po @@ -35,13 +35,13 @@ msgstr "Kurti demonstracinę paskyrą" msgid "auth.create-demo-profile" msgstr "Norite tik išmėginti?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Tai yra DEMONSTRACINĖ versija, NEKURKITE tikrų darbų, nes projektai " "periodiškai - šalinami." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Pamiršote slaptažodį?" @@ -53,27 +53,27 @@ msgstr "Vardas ir Pavardė" msgid "auth.login-here" msgstr "Prisijungimas čia" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Prisijungti" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -97,7 +97,7 @@ msgstr "Slaptažodžio atkūrimo nuoroda išsiųsta į jūsų pašto dėžutę." msgid "auth.notifications.team-invitation-accepted" msgstr "Sėkmingai prisijungė prie komandos" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Slaptažodis" @@ -125,11 +125,11 @@ msgstr "Pamiršote slaptažodį?" msgid "auth.recovery-submit" msgstr "Slaptažodžio keitimas" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Dar neturite paskyros?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Sukurti paskyrą" @@ -142,7 +142,7 @@ msgstr "Sukurti paskyrą" msgid "auth.sidebar-tagline" msgstr "Atviro kodo dizaino ir prototipų kūrimo sprendimas." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Paslaugų teikimo sąlygos" @@ -150,7 +150,7 @@ msgstr "Paslaugų teikimo sąlygos" msgid "auth.verification-email-sent" msgstr "Išsiuntėme patvirtinimo el. laišką adresu" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Paskelbti" @@ -223,7 +223,7 @@ msgstr "Dalinkitės prototipais" msgid "common.share-link.view-all" msgstr "Rinktis viską" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Atšaukti paskelbimą" @@ -269,7 +269,7 @@ msgstr "Pridėti kaip bendrinamą biblioteką" msgid "dashboard.change-email" msgstr "Keisti el. paštą" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopija)" @@ -377,26 +377,26 @@ msgstr "Įtraukti bendrai naudojamus bibliotekos komponentus į failų bibliotek msgid "dashboard.export.title" msgstr "Eksportuoti failus" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Šriftas ištrintas" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Atmesti visus" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Vis dar neįdiegėte tinkintų šriftų." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "Pridėtas 1 šriftas" msgstr[1] "Pridėti %s šriftai" msgstr[2] "Šriftas(-ai) pridėti" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -406,21 +406,21 @@ msgstr "" "šriftų šeima**. Galite įkelti šių formatų šriftus: **TTF, OTF ir WOFF** " "(reikės tik vieno)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Turėtumėte įkelti tik tuos šriftus, kurie jums priklauso arba kuriuos " "turite licenciją naudoti \"Penpot\". Daugiau informacijos rasite " -"[Penpot'paslaugų teikimo sąlygų](%s) skyriuje " -"\"Turinio teisės\". Taip pat galite paskaityti apie [šriftų " +"[Penpot'paslaugų teikimo sąlygų](%s) skyriuje \"Turinio teisės\". Taip pat " +"galite paskaityti apie [šriftų " "licencijavimą](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Įkelti viską" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importuokite Penpot failus" @@ -432,7 +432,7 @@ msgstr "Oi! Nepavyko importuoti šio failo" msgid "dashboard.import.import-error" msgstr "Iškilo problema importuojant failą. Failas nebuvo importuotas." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Kai kuriuose failuose buvo netinkamų objektų, kurie buvo pašalinti." @@ -464,7 +464,7 @@ msgstr "Įkeliami duomenys į serverį (%s/%s)" msgid "dashboard.import.progress.upload-media" msgstr "Įkeliamas failas: %s" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Naujas failas" @@ -472,7 +472,7 @@ msgstr "Naujas failas" msgid "dashboard.new-project" msgstr "+ Naujas projektas" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Naujas projektas" @@ -504,7 +504,7 @@ msgstr "%s nariai" msgid "dashboard.open-in-new-tab" msgstr "Atidarykite failą naujame skirtuke" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Nustatymai" diff --git a/frontend/translations/lv.po b/frontend/translations/lv.po index fde32f76c4..fb92b1908f 100644 --- a/frontend/translations/lv.po +++ b/frontend/translations/lv.po @@ -1,16 +1,16 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-01-29 22:23+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Latvian \n" +"Language-Team: Latvian " +"\n" "Language: lv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= " -"19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n" -"X-Generator: Weblate 5.10-dev\n" +"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 " +"<= 19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -39,13 +39,13 @@ msgstr "Izveidot demonstrācijas kontu" msgid "auth.create-demo-profile" msgstr "Gribat tikai pamēģināt?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Šis ir IZRĀDĪŠANAS pakalpojums, kas NAV IZMANTOJAMS īstam darbam, jo " "projekti ik pēc noteikta laika posma tiks izdzēsti." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Aizmirsta parole?" @@ -53,7 +53,7 @@ msgstr "Aizmirsta parole?" msgid "auth.fullname" msgstr "Pilns vārds" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Pieteikties manā kontā" @@ -61,31 +61,31 @@ msgstr "Pieteikties manā kontā" msgid "auth.login-here" msgstr "Pieteikties šeit." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Pieteikties" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "Penpot ir bezmaksas atvērtā pirmkoda dizaina rīks dizaina un koda sadarbībai" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "AtvērtoID (OpenID)" @@ -105,13 +105,13 @@ msgstr "" #: src/app/main/ui/auth/recovery_request.cljs:33 msgid "auth.notifications.recovery-token-sent" -msgstr "Paroles atkopšanas saite ir nosūtīta e-pastā." +msgstr "Paroles atkopes saite ir nosūtīta e-pastā." #: src/app/main/ui/auth/verify_token.cljs:49 msgid "auth.notifications.team-invitation-accepted" msgstr "Pievienošanās komandai bija veiksmīga" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Parole" @@ -133,13 +133,13 @@ msgstr "Mēs nosūtīsim e-pasta ziņojumu ar norādēm" #: src/app/main/ui/auth/recovery_request.cljs:94 msgid "auth.recovery-request-title" -msgstr "Aizmirsat paroli?" +msgstr "Aizmirsta parole?" #: src/app/main/ui/auth/recovery.cljs:71 msgid "auth.recovery-submit" msgstr "Nomainīt paroli" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Vēl nav konta?" @@ -153,7 +153,7 @@ msgstr "" msgid "auth.register-account-title" msgstr "Tavs vārds" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Izveidot kontu" @@ -178,7 +178,7 @@ msgstr "Atvērtā pirmkoda risinājums dizaina izstrādei un modelēšanai." msgid "auth.terms-and-privacy-agreement" msgstr "Piekrītu [pakalpojuma noteiktumiem](%s) un [privātuma nosacījumiem](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Pakalpojumu sniegšanas noteikumi" @@ -192,7 +192,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Mēs esam nosūtījuši apstiprinājuma e-pasta ziņojumu uz" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Darba e-pasta adrese" @@ -201,7 +201,11 @@ msgstr "Darba e-pasta adrese" msgid "branding-illustrations-marketing-pieces" msgstr "... zīmolrades, ilustrācijām, mārketinga materiāliem utt." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/comments.cljs:532 +msgid "comments.mentions.not-found" +msgstr "Netika atrasts neviens cilvēks @%s" + +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publicēt" @@ -272,7 +276,7 @@ msgstr "Kopīgot prototipus" msgid "common.share-link.view-all" msgstr "Atlasīt visu" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Atcelt publikāciju" @@ -324,7 +328,7 @@ msgstr "Saskarnes caurskate" msgid "dashboard.access-tokens.copied-success" msgstr "Pilnvara ievietota starpliktuvē" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Izveidot jaunu pilnvaru" @@ -332,11 +336,11 @@ msgstr "Izveidot jaunu pilnvaru" msgid "dashboard.access-tokens.create.success" msgstr "Piekļuves pilnvara ir veiksmīgi izveidota." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Jānospiež poga \"Izveidot jaunu pilnvaru\", lai izveidotu kādu." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Pagaidām vēl nav pilnvaru." @@ -360,23 +364,23 @@ msgstr "90 dienas" msgid "dashboard.access-tokens.expiration-never" msgstr "Nekad" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Izbeidzās %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Derīgs līdz %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" -msgstr "Bez derīguma termiņa" +msgstr "Bez derīguma datuma" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Privātās piekļuves pilnvaras" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Privātās piekļuves pilnvaras darbojas kā alternatīva mūsu " @@ -385,12 +389,16 @@ msgstr "" #: src/app/main/ui/settings/access_tokens.cljs:143 msgid "dashboard.access-tokens.token-will-expire" -msgstr "Pilnvara ir derīga līdz %s" +msgstr "Pilnvara beigsies %s" #: src/app/main/ui/settings/access_tokens.cljs:144 msgid "dashboard.access-tokens.token-will-not-expire" msgstr "Pilnvarai nav derīguma beigu datuma" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Pievienot datni" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Pievienot kā koplietojamu bibliotēku" @@ -399,7 +407,7 @@ msgstr "Pievienot kā koplietojamu bibliotēku" msgid "dashboard.change-email" msgstr "Mainīt e-pasta adresi" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopija)" @@ -435,23 +443,23 @@ msgstr "Divkāršot" msgid "dashboard.duplicate-multi" msgstr "Divkāršot %s datnes" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Tiklīdz projekta dalībnieks izveidos melnrakstu, tas šeit tiks parādīts." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Vēl nav neviena melnraksta." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Tiklīdz projekta dalībnieks izveidos datni, tā šeit tiks parādīta." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Vēl nav nevienas datnes." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -467,11 +475,11 @@ msgstr "" "datnes vai pievienot no mūsu [bibliotēkām un " "sagatavēm](https://penpot.app/libraries-templates)!" -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Šeit parādīsies projektam pievienotās bibliotēkas." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Vēl nav nevienas bibliotēkas." @@ -565,36 +573,36 @@ msgstr "Iekļaut koplietojamos bibliotēkas līdzekļus datņu bibliotēkās" msgid "dashboard.export.title" msgstr "Izgūt datnes" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Fonts izdzēsts" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Noraidīt visu" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Šeit tiks parādīti augšupielādētie pielāgotie fonti." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "Vēl nav neviena pielāgota fonta." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "" "Tiklīdz projekta dalībnieks augšupielādēs pielāgotu fontu, tas šeit tiks " "parādīts." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "Nav pievienoti fonti" msgstr[1] "Fonts pievienots" msgstr[2] "%s fonti pievienoti" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -603,20 +611,20 @@ msgstr "" "saimes nosaukumu tiks apkopoti kā **viena fontu saime**. Var augšupielādēt " "fontus šādos veidolos: **TTF, OTF un WOFF** (būs nepieciešams tikai viens)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Vajadzētu augšupielādēt tikai sev piederošus fontus vai tos, kuriem ir " "licence to izmantošanai Penpot. Vairāk var uzzināt [Penpot pakalpojuma " -"sniegšanas noteikumos](%s). Varētu būt noderīgi " -"izlasīt arī par [fontu licencēšanu](https://www.typography.com/faq)." +"sniegšanas noteikumos](%s). Varētu būt noderīgi izlasīt arī par [fontu " +"licencēšanu](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Augšupielādēt visu" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -627,7 +635,7 @@ msgstr "" "[Transfonter](https://transfonter.org/), lai izveidotu tīmekļa fontus un " "novērstu kļūdas. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Ievietot Penpot datnes" @@ -639,21 +647,33 @@ msgstr "Ak vai! Šo datni nevarēja ievietot" msgid "dashboard.import.analyze-error.components-v2" msgstr "Datne ar v2 sastāvdaļām ir aktivizēta, bet šī komanda to vēl nenodrošina." +#: src/app/main/ui/dashboard.cljs:247 +msgid "dashboard.import.bad-url" +msgstr "Ievietošana neizdevās. Sagataves URL ir nepareizs" + +#: src/app/main/ui/dashboard.cljs:241 +msgid "dashboard.import.error" +msgstr "Ievietošana neizdevās. Lūgums mēģināt vēlreiz" + #: src/app/main/ui/dashboard/import.cljs:292 msgid "dashboard.import.import-error" msgstr "Datnes ievietošanas laikā radās sarežģījumi. Datne netika ievietota." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "%s datņu tika veiksmīgi ievietotas." msgstr[1] "%s datne tika veiksmīgi ievietota." msgstr[2] "%s datnes tika veiksmīgi ievietotas." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Dažās datnēs bija nederīgi objekti, kuri tika noņemti." +#: src/app/main/ui/dashboard.cljs:248 +msgid "dashboard.import.no-perms" +msgstr "Nav atļaujas ievietot šajā komandā" + #: src/app/main/ui/dashboard/import.cljs:129 msgid "dashboard.import.progress.process-colors" msgstr "Krāsu apstrāde" @@ -690,27 +710,27 @@ msgstr "Uzaicināt personas" msgid "dashboard.leave-team" msgstr "Atstāt komandu" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliotēkas un veidnes" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Izpētīt vairāk un uzzinātt, kā sniegt ieguldījumu" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Veidnes ievietošanas laikā radās sarežģījumi. Veidne netika ievietota." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Bibliotēkas" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "ielādē datnes …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "notiek fontu ielāde …" @@ -726,11 +746,11 @@ msgstr "Pārvietot %s datnes uz" msgid "dashboard.move-to-other-team" msgstr "Pārvietot uz citu komandu" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Jauna datne" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Jauna datne" @@ -738,7 +758,7 @@ msgstr "Jauna datne" msgid "dashboard.new-project" msgstr "+ Jauns projekts" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Jauns projekts" @@ -750,7 +770,7 @@ msgstr "“%s” nav atrasta neviena atbilstība" msgid "dashboard.no-projects-placeholder" msgstr "Šeit būs redzami piespraustie projekti" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Paziņojumi" @@ -762,6 +782,10 @@ msgstr "E-pasta adrese tika veiksmīgi atjaunināta" msgid "dashboard.notifications.email-verified-successfully" msgstr "E-pasta adrese tika veiksmīgi apliecināta" +#: src/app/main/data/profile.cljs:260 +msgid "dashboard.notifications.notifications-saved" +msgstr "Paziņojumu iestatījumi atjaunināti" + #: src/app/main/ui/settings/password.cljs:36 msgid "dashboard.notifications.password-saved" msgstr "Parole ir veiksmīgi saglabāta." @@ -778,7 +802,7 @@ msgstr "Dalībieki: %s" msgid "dashboard.open-in-new-tab" msgstr "Atvērt datni jaunā cilnē" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opcijas" @@ -806,6 +830,18 @@ msgstr "Tev tagad šajā komandā ir skatīšanās tiesības." msgid "dashboard.pin-unpin" msgstr "Piespraust/Atspraust" +#: src/app/main/ui/dashboard.cljs:208 +msgid "dashboard.plugins.bad-url" +msgstr "Spraudņa URL ir nepareizs" + +#: src/app/main/ui/dashboard.cljs:206 +msgid "dashboard.plugins.parse-error" +msgstr "Nevar apstrādāt spraudņa manifestu" + +#: src/app/main/ui/dashboard.cljs:169 +msgid "dashboard.plugins.try-plugin" +msgstr "Izmēģināt spraudni: " + #: src/app/main/ui/dashboard/projects.cljs:55 msgid "dashboard.projects-title" msgstr "Projekti" @@ -843,7 +879,67 @@ msgstr "Atlasīt saskarnes valodu" msgid "dashboard.select-ui-theme" msgstr "Atlasīt dizainu" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/settings/notifications.cljs:57 +msgid "dashboard.settings.notifications.dashboard-comments.all" +msgstr "Visas piebildes, pieminēšanas un atbildes" + +#: src/app/main/ui/settings/notifications.cljs:59 +msgid "dashboard.settings.notifications.dashboard-comments.none" +msgstr "Neviena" + +#: src/app/main/ui/settings/notifications.cljs:58 +msgid "dashboard.settings.notifications.dashboard-comments.partial" +msgstr "Tikai pieminēšanas un atbildes" + +#: src/app/main/ui/settings/notifications.cljs:54 +msgid "dashboard.settings.notifications.dashboard-comments.title" +msgstr "Datņu piebildes" + +#: src/app/main/ui/settings/notifications.cljs:53 +msgid "dashboard.settings.notifications.dashboard.title" +msgstr "Pārskata paneļa paziņojumi" + +#: src/app/main/ui/settings/notifications.cljs:67 +msgid "dashboard.settings.notifications.email-comments.all" +msgstr "Visas piebildes, pieminēšanas un atbildes" + +#: src/app/main/ui/settings/notifications.cljs:69 +msgid "dashboard.settings.notifications.email-comments.none" +msgstr "Neviena" + +#: src/app/main/ui/settings/notifications.cljs:68 +msgid "dashboard.settings.notifications.email-comments.partial" +msgstr "Tikai pieminēšanas un atbildes" + +#: src/app/main/ui/settings/notifications.cljs:64 +msgid "dashboard.settings.notifications.email-comments.title" +msgstr "Datņu piebildes" + +#: src/app/main/ui/settings/notifications.cljs:76 +msgid "dashboard.settings.notifications.email-invites.all" +msgstr "Visi uzaicinājumu un pieprasījumu veidi" + +#: src/app/main/ui/settings/notifications.cljs:79 +msgid "dashboard.settings.notifications.email-invites.none" +msgstr "Neko" + +#: src/app/main/ui/settings/notifications.cljs:73 +msgid "dashboard.settings.notifications.email-invites.title" +msgstr "Uzaicinājumi un pieprasījumi" + +#: src/app/main/ui/settings/notifications.cljs:63 +msgid "dashboard.settings.notifications.email.title" +msgstr "E-pasta paziņojumi" + +#: src/app/main/ui/settings/notifications.cljs:84 +msgid "dashboard.settings.notifications.submit" +msgstr "Atjaunināt iestatījumus" + +#: src/app/main/ui/settings/notifications.cljs:52 +msgid "dashboard.settings.notifications.title" +msgstr "Paziņojumi" + +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Rādīt visas datnes" @@ -873,7 +969,7 @@ msgstr[2] "Datnes tika sekmīgi divkāršotas" msgid "dashboard.success-duplicate-project" msgstr "Projekts tika veiksmīgi divkāršots" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Datne tika sekmīgi pārvietota" @@ -917,15 +1013,15 @@ msgstr "Atcelt bibliotēkas publicēšanu" msgid "dashboard.update-settings" msgstr "Atjaunināt iestatījumus" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "Nav ierobežojumu radošumam" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Bezmaksas Penpot" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "Palielināt jaudu" @@ -984,7 +1080,7 @@ msgstr "E-pasta adrese" msgid "dashboard.your-name" msgstr "Vārds" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Mans Penpot" @@ -1004,11 +1100,11 @@ msgstr "Atjaunināmās sastāvdaļas:" msgid "ds.confirm-allow" msgstr "Ļaut" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Atcelt" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Labi" @@ -1020,7 +1116,7 @@ msgstr "Vai esat pārliecināti?" msgid "errors.auth-provider-not-allowed" msgstr "Autentifikācijas nodrošinātājs nav atļauts šim profilam" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Autentifikācijas nodrošinātājs nav konfigurēts." @@ -1028,11 +1124,11 @@ msgstr "Autentifikācijas nodrošinātājs nav konfigurēts." msgid "errors.auth.unable-to-login" msgstr "Šķiet, ka neesi autentificēts vai ir beidzies sesijas derīgums." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Fontu %s nevarēja ielādēt" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Fontus %s nevarēja ielādēt" @@ -1040,7 +1136,7 @@ msgstr "Fontus %s nevarēja ielādēt" msgid "errors.cannot-upload" msgstr "Nevar augšupielādēt multivides datni." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Izmantotais pārlūks nevar veikt šo darbību" @@ -1052,7 +1148,7 @@ msgstr "E-pasta adrese jau tiek izmantota" msgid "errors.email-already-validated" msgstr "E-pasta adrese jau ir apliecināta." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "E-pastu nevar izmantot kā paroli" @@ -1099,7 +1195,7 @@ msgstr "" "kuru tiek mēģināts atvērt. Jāpiemēro '%s' migrācijas, pirms datne var tikt " "atvērta." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Noticis kaut kas nelāgs." @@ -1112,14 +1208,13 @@ msgstr "Nederīga krāsa" msgid "errors.invalid-email" msgstr "Lūgums ievadīt derīgu e-pasta adresi" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Apstiprinājuma e-pastam jāatbilst" #: src/app/main/ui/auth/recovery.cljs:32 msgid "errors.invalid-recovery-token" -msgstr "Atkopšanas tekstvienība nav derīga." +msgstr "Atkopes tekstvienība nav derīga." #: src/app/main/ui/static.cljs:69 msgid "errors.invite-invalid" @@ -1129,7 +1224,7 @@ msgstr "Nederīgs ielūgums" msgid "errors.invite-invalid.info" msgstr "Iespējams, ka šis uzaicinājums ir atcelts vai ir beidzies tā derīgums." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP autentifikācija ir atspējota." @@ -1179,7 +1274,7 @@ msgstr "Parolē ir jābūt vismaz 8 rakstzīmēm" msgid "errors.paste-data-validation" msgstr "Starpliktuvē ir nederīgi dati" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Profils ir bloķēts" @@ -1255,12 +1350,11 @@ msgstr "Pārbaudes laikā atgadījās neparedzēta kļūda" msgid "errors.webhooks.unexpected-status" msgstr "Neparedzēts statuss %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "E-pasta adrese vai parole nav pareiza." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Vecā parole nav pareiza" @@ -1309,11 +1403,11 @@ msgstr "Šeit, lai palīdzētu ar tehniskajiem jautājumiem." msgid "feedback.twitter-title" msgstr "X atbalsta konts" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Radās kļūda" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Aizmiglošana" @@ -1321,31 +1415,31 @@ msgstr "Aizmiglošana" msgid "inspect.attributes.blur.value" msgstr "Vērtība" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Aizpildījums" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Lejupielādēt avota attēlu" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Augstums" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Platums" @@ -1384,15 +1478,15 @@ msgstr "Augša" msgid "inspect.attributes.layout.width" msgstr "Platums" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Ēna" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Izmērs un novietojums" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Vilkums" @@ -1429,141 +1523,141 @@ msgstr "Nepārtrauktā" msgid "inspect.attributes.stroke.width" msgstr "Platums" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Burtu stils un veids" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Fontu saime" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Fonta izmērs" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Fonta stils" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Fonta Treknums" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Burtu atstarpes" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Līnijas augstums" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Teksta noformējums" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Nav" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Pārsvītrojums" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Pasvītrojums" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Teksta transformācija" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Mazie burti" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Nav" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Virsraksta stils" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Atiestatīt" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Lielie burti" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Ja ir vēlme uzzināt vairāk par dizaina apskati, jāapmeklē Penpot palīdzības " "centrs" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Vairāk informācijas par apskatīšanu" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Jāatlasa apveids, plātne vai kopa, lai apskatītu to īpašības un kodu" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kods" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Aplis" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Sastāvdaļa" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Līkne" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Plātne" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Kopa" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Attēls" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Maska" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "Atlasīti: %s" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Ceļš" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Taisnstūris" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Teksts" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Infomācija" @@ -1583,15 +1677,15 @@ msgstr "Piekļuves pilnvaras" msgid "labels.active" msgstr "Aktīvs" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Pievienot" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Pievienot pielāgotu fontu" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Pievieno..." @@ -1603,7 +1697,7 @@ msgstr "Pārvaldnieks" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Visi" @@ -1625,7 +1719,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Nepareiza vārteja" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Atcelt" @@ -1633,27 +1727,27 @@ msgstr "Atcelt" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Aizvērt" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Sakļaut" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Piebilde" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Atzīmēt kā atrisinātu" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Komentāri" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Kopiena" @@ -1661,7 +1755,7 @@ msgstr "Kopiena" msgid "labels.confirm-password" msgstr "Apstiprināt paroli" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Turpināt" @@ -1681,7 +1775,7 @@ msgstr "Kopēt saiti" msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Izveidot" @@ -1701,15 +1795,15 @@ msgstr "Pielāgotie fonti" msgid "labels.dashboard" msgstr "Pārskata panelis" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Dzēst" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Dzēst komentāru" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Dzēst pavedienu" @@ -1729,15 +1823,15 @@ msgstr "Izstrādātājs" msgid "labels.director" msgstr "Direktors" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Atmest" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Melnraksti" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Labot" @@ -1757,7 +1851,7 @@ msgstr "Notikums" msgid "labels.expired-invitation" msgstr "Beidzies derīgums" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Izgūt" @@ -1773,7 +1867,7 @@ msgstr "Atsauksme nosūtīta" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Fontu saime" @@ -1781,11 +1875,11 @@ msgstr "Fontu saime" msgid "labels.font-providers" msgstr "Fontu nodrošinātāji" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Stili" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fonti" @@ -1797,11 +1891,11 @@ msgstr "Dibinātājs/viceprezidents" msgid "labels.freelancer" msgstr "Esmu ārštātnieks(-ce)/Pašnodarbināts(-ā)" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "GitHub repozitorijs" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Sniegt atsauksmi" @@ -1813,15 +1907,15 @@ msgstr "Atpakaļ" msgid "labels.graphic-design" msgstr "Grafiskais dizains" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Palīdzības centrs" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Paslēpt atrisinātos komentārus" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:355 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 msgid "labels.import" msgstr "Ievietot" @@ -1829,7 +1923,7 @@ msgstr "Ievietot" msgid "labels.inactive" msgstr "Neaktīvs" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Instalētie fonti" @@ -1855,11 +1949,11 @@ msgstr "Uzaicinājumi" msgid "labels.language" msgstr "Valoda" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Bibliotēkas un veidnes" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Lādē…" @@ -1871,7 +1965,7 @@ msgstr "Pieteikties vai reģistrēties" msgid "labels.login" msgstr "Pieteikties" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Atteikties" @@ -1891,11 +1985,11 @@ msgstr "Dalībnieki" msgid "labels.new-password" msgstr "Jaunā parole" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Nākamais" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Jūs esat pieķerti! Šeit tiks parādīti jaunu komentāru paziņojumi." @@ -1919,7 +2013,11 @@ msgstr "Šī lapa, iespējams, nepastāv, vai arī nav atļauju tai piekļūt." msgid "labels.not-found.main-message" msgstr "Ups!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/settings/sidebar.cljs:99 +msgid "labels.notifications" +msgstr "Paziņojumi" + +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "0 datņu" @@ -1953,7 +2051,7 @@ msgstr "Vecā parole" msgid "labels.only-yours" msgstr "Tikai mans" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Iespējas" @@ -1981,7 +2079,7 @@ msgstr "Parole" msgid "labels.pending-invitation" msgstr "Gaidīšana" -#: src/app/main/ui/comments.cljs:657, src/app/main/ui/comments.cljs:690, src/app/main/ui/comments.cljs:759 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "Ieraksts" @@ -2005,7 +2103,7 @@ msgstr "Profils" msgid "labels.projects" msgstr "Projekti" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Laidiena apraksts" @@ -2023,7 +2121,7 @@ msgstr "Noņemt" msgid "labels.remove-member" msgstr "Noņemt dalībnieku" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Pārdēvēt" @@ -2031,23 +2129,23 @@ msgstr "Pārdēvēt" msgid "labels.rename-team" msgstr "Pārdēvēt grupu" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "atbildes" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "jaunas atbildes" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "atbilde" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "jauna atbilde" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Atbildēt" @@ -2067,15 +2165,15 @@ msgstr "Pamēģināt vēlreiz" msgid "labels.role" msgstr "Loma" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Saglabāt" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Meklēt" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Meklēt fontu" @@ -2099,7 +2197,7 @@ msgstr "Mēs esam ieplānotos sistēmu uzturēšanas darbos." msgid "labels.service-unavailable.main-message" msgstr "Pakalpojums nav pieejams" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "Kopas" @@ -2119,19 +2217,19 @@ msgstr "Kopīgot prototipu" msgid "labels.shared-libraries" msgstr "Bibliotēkas" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Rādīt visus komentārus" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Rādīt komentāru sarakstu" -#: src/app/main/ui/workspace/comments.cljs:66, src/app/main/ui/workspace/comments.cljs:136 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-mentions" msgstr "Rādīt tikai manas pieminēšanas" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Rādīt tikai manas piebildes" @@ -2159,11 +2257,11 @@ msgstr "Komandas vadītājs" msgid "labels.team-member" msgstr "Komandas dalībnieks" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Izskati" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Pamācības" @@ -2179,15 +2277,15 @@ msgstr "Atjaunināt" msgid "labels.update-team" msgstr "Atjaunināt komandu" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Augšupielādēt" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Augšupielādēt pielāgotos fontus" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Augšupielādē…" @@ -2203,7 +2301,7 @@ msgstr "Pārlūks" msgid "labels.webhooks" msgstr "Tīmekļa aizķeres" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Rakstīt jaunu komentāru" @@ -2211,7 +2309,7 @@ msgstr "Rakstīt jaunu komentāru" msgid "labels.you" msgstr "(Jūs)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Mans konts" @@ -2219,23 +2317,23 @@ msgstr "Mans konts" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Izvēlēties attēlu" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Pāreja" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Attēls" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "att." -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Paturēt samēru" @@ -2253,7 +2351,7 @@ msgstr "Ielādē attēlu…" msgid "media.radial" msgstr "Radiāls" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Viengabalains" @@ -2304,7 +2402,7 @@ msgstr "Mainīt e-pasta adresi" msgid "modals.change-email.title" msgstr "E-pasta maiņa" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Ievietot pilnvaru starpliktuvē" @@ -2320,7 +2418,7 @@ msgstr "Nosaukums" msgid "modals.create-access-token.name.placeholder" msgstr "Nosaukums var palīdzēt saprast, kam pilnvara ir paredzēta" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Izveidot pilnvaru" @@ -2344,15 +2442,15 @@ msgstr "Vērtuma URL" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Izdzēst pilnvaru" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Vai tiešām izdzēst šo pilnvaru?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Izdzēst pilnvaru" @@ -2372,23 +2470,23 @@ msgstr "Pēc konta noņemšanas tiks zaudēti visi pašreizējie projekti un arh msgid "modals.delete-account.title" msgstr "Vai tiešām izdzēst savu kontu?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Dzēst sarunu" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "Vai tiešām izdzēst šo sarunu? Visas šī pavediena piebildes tiks izdzēstas." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Dzēst sarunu" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Vai tiešām izdzēst šo piezīmi?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Izdzēst piezīmi" @@ -2416,29 +2514,29 @@ msgstr "Vai tiešām izdzēst %s datnes?" msgid "modals.delete-file-multi-confirm.title" msgstr "Izdzēš %s datnes" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Vai tiešām izdzēst šo fontu stilu? Tas netiks ielādēts, ja tiek izmantots " "datnē." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Fonta stila dzēšana" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "Vai tiešām izdzēst šo fontu? Tas netiks ielādēts, ja tiek izmantots datnē." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Fonta dzēšana" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Vai tiešām izdzēst šo lapu?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Dzēst lapu" @@ -2663,15 +2761,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Jauns komandas īpašnieks" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publicēt" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Bibliotēka ir tukša. Vai tiešām publicēt to?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Publicēt tukšu bibliotēku" @@ -2729,21 +2827,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Atjaunināt sastāvdaļas koplietojamā bibliotēkā" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Atjaunināt" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Atcelt" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Tiks atjaunināta koplietojamas bibliotēkas sastāvdaļa. Tas var ietekmēt " "citas datnes, kurās tā ir izmantota." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Atjaunināt sastāvdaļu koplietojamā bibliotēkā" @@ -2763,12 +2861,12 @@ msgstr "" #: src/app/main/ui/auth/recovery_request.cljs:114 msgid "not-found.login.sent-recovery" -msgstr "Mēs nosūtījām atkopšanas e-pasta ziņojumu uz" +msgstr "Mēs nosūtījām atkopes e-pasta ziņojumu uz" #: src/app/main/ui/auth/recovery_request.cljs:116 msgid "not-found.login.sent-recovery-check" msgstr "" -"Jāpārbauda sava e-pasta kaste un jāklikšķina uz saites, lai izveidotu jaunu " +"Jāpārbauda savs e-pasts un jāklikšķina uz saites, lai izveidotu jaunu " "paroli." #: src/app/main/ui/static.cljs:149 @@ -2907,29 +3005,29 @@ msgstr "Video pamācības" msgid "onboarding-v2.before-start.title" msgstr "Pirms sākt" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Abonēt Penpot biļetenu, lai uzzinātu par produkta izstrādes gaitu un " "jaunumiem." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Sūtīt man jaunumus par Penpot (emuāra ieraksti, video pamācības, " "straumēšanas...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Mums rūp privātums, šeit var lasīt mūsu " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Mēs nosūtīsim tikai atbilstošus e-pasta ziņojumus. Atteikt abonēšanu var " "jebkurā laikā ar abonēšanas atteikšanas saiti jebkurā mūsu biļetenā." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Nosūtīt man produkta atjauninājumus (jaunas funkcijas, izlaidumi, " @@ -3029,17 +3127,17 @@ msgstr "Komandu būs iespējams izveidot vēlāk." msgid "onboarding.newsletter.accept" msgstr "Jā, abonēt" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Abonēšanas pieprasījums ir nosūtīts, un mēs nosūtīsim e-pasta ziņojumu tā " "apstiprināšanai." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Konfidencialitātes politika." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Vai saņemt Penpot jaunumus?" @@ -3232,7 +3330,7 @@ msgstr "Doties uz pieteikšanos" msgid "settings.detach" msgstr "Atdalīt" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Jaukts" @@ -3430,7 +3528,7 @@ msgstr "Izveidot jaunu" msgid "shortcuts.cut" msgstr "Izgriezt" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Tālināt" @@ -3530,7 +3628,7 @@ msgstr "Izkliedēt līmeniski" msgid "shortcuts.hide-ui" msgstr "Rādīt / paslēpt lietotāja saskarni" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Tuvināt" @@ -3914,15 +4012,15 @@ msgstr "Tālummainīt uz atlasi" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Fontu nodrošinātāji - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Fonti - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projekti - %s - Penpot" @@ -3930,7 +4028,7 @@ msgstr "Projekti - %s - Penpot" msgid "title.dashboard.search" msgstr "Meklēšana - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Koplietojamās bibliotēkas - %s - Penpot" @@ -3938,7 +4036,7 @@ msgstr "Koplietojamās bibliotēkas - %s - Penpot" msgid "title.default" msgstr "Penpot - Modelēšanas brīvība komandām" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profils - piekļuves pilnvaras" @@ -3946,6 +4044,10 @@ msgstr "Profils - piekļuves pilnvaras" msgid "title.settings.feedback" msgstr "Sniegt atsauksmes - Penpot" +#: src/app/main/ui/settings/notifications.cljs:45 +msgid "title.settings.notifications" +msgstr "Paziņojumi - Penpot" + #: src/app/main/ui/settings/options.cljs:76 msgid "title.settings.options" msgstr "Iestatījumi - Penpot" @@ -3978,7 +4080,7 @@ msgstr "Tīmekļa aizķeres - %s - Penpot" msgid "title.viewer" msgstr "%s - skatīšana - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -4076,7 +4178,7 @@ msgstr "Izlīdzināt stateniskās atstarpes (%s)" msgid "workspace.align.vtop" msgstr "Līdzināt pie augšas (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Pievienot bibliotēku" @@ -4085,11 +4187,11 @@ msgstr "Pievienot bibliotēku" msgid "workspace.assets.assets" msgstr "Līdzekļi" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Visi līdzekļi" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Krāsas" @@ -4097,11 +4199,11 @@ msgstr "Krāsas" msgid "workspace.assets.colors.add-color" msgstr "Pievienot krāsu" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Sastāvdaļas" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Pievienot sastāvdaļu" @@ -4113,15 +4215,15 @@ msgstr "Izveidot kopu" msgid "workspace.assets.create-group-hint" msgstr "Vienumi tiks automātiski nosaukti kā “kopas nosaukums/vienuma nosaukums”" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Dzēst" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Divkāršot" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Divkāršot galveno" @@ -4129,19 +4231,19 @@ msgstr "Divkāršot galveno" msgid "workspace.assets.edit" msgstr "Labot" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Atlasīt" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Attēli" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Režģa skats" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Kopa" @@ -4149,27 +4251,23 @@ msgstr "Kopa" msgid "workspace.assets.group-name" msgstr "Kopas nosaukums" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Bibliotēkas" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Saraksta skats" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "vietējā bibliotēka" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Līdzekļi nav atrasti" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Atvērt bibliotēkas datni" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Pārdēvēt" @@ -4177,7 +4275,7 @@ msgstr "Pārdēvēt" msgid "workspace.assets.rename-group" msgstr "Pārdēvēt kopu" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Meklēt līdzekļus" @@ -4194,18 +4292,18 @@ msgstr[2] "atlasīti %s vienumi" msgid "workspace.assets.shared-library" msgstr "Koplietojama bibliotēka" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "%s sastāvdaļu" msgstr[1] "%s sastāvdaļa" msgstr[2] "%s sastāvdaļas" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Kārtot" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Burtu stili un veidi" @@ -4218,27 +4316,27 @@ msgstr "Pievienot tipogrāfiju" msgid "workspace.assets.typography.font-id" msgstr "Fonti" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Izmērs" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Fonta variants" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Doties uz stilu bibliotēkas datni, lai labotu" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Burtstarpa" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Rindas augstums" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4246,7 +4344,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Teksta stili" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Teksta pārveide" @@ -4254,55 +4352,55 @@ msgstr "Teksta pārveide" msgid "workspace.assets.ungroup" msgstr "Atapkopot" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Izveidot laukumu" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Izveidot plātni" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Apvienot šūnas" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Pievienot 1 sleju pa labi" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Pievienot 1 sleju pa kreisi" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Izdzēst sleju" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Izdzēst slejas un apveidus" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Divkāršota sleja" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Pievienot 1 rindu zem" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Pievienot 1 rindu virs" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Izdzēst rindu" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Izdzēst rindu un apveidus" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Divkāršot rindu" @@ -4310,11 +4408,11 @@ msgstr "Divkāršot rindu" msgid "workspace.focus.focus-mode" msgstr "Fokusa režīms" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Izslēgt fokusu" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Ieslēgt fokusu" @@ -4472,37 +4570,36 @@ msgstr "Pārslēgties uz gaišo izskatu" msgid "workspace.header.menu.undo" msgstr "Atsaukt" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Atiestatīt" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Saglabāšanas kļūda" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Saglabāts" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Saglabāšana" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Kopīgot" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Nesaglabātas izmaiņas" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Skatīšana (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Tālummaiņa" @@ -4514,7 +4611,7 @@ msgstr "Aizpildījums — mērogot, lai aizpildītu" msgid "workspace.header.zoom-fit" msgstr "Ietilpināt — samazināt, lai ietilpinātu" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Tālummainīt, lai ietilpinātu visu" @@ -4522,19 +4619,19 @@ msgstr "Tālummainīt, lai ietilpinātu visu" msgid "workspace.header.zoom-full-screen" msgstr "Pilnekrāns" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Tālummainīt uz atlasi" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Labot režģi" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Iziet" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Rādīt četrpusējas atbīdes iespējas" @@ -4550,7 +4647,7 @@ msgstr "Darīts" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Noteikt atrašanās vietu" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Norādīt režģa izkārtojumu" @@ -4559,7 +4656,7 @@ msgstr "Norādīt režģa izkārtojumu" msgid "workspace.libraries.add" msgstr "Pievienot" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s krāsas" @@ -4589,43 +4686,43 @@ msgstr "Nesen izmantotās krāsas" msgid "workspace.libraries.colors.rgb-complementary" msgstr "Papildu RGB" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Saglabāt krāsu stilu" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s sastāvdaļas" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "Vai pievieno kādas no šīm, lai izmēģinātu:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "Tavā komandā nav kopīgotu bibliotēku, kuras var meklēt" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "dažas sagataves šeit" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Datņu bibliotēka" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s attēli" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTĒKAS ŠAJĀ DATNĒ" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTĒKAS" @@ -4634,71 +4731,64 @@ msgstr "BIBLIOTĒKAS" msgid "workspace.libraries.library" msgstr "BIBLIOTĒKA" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "BIBLIOTĒKAS JAUNINĀJUMI" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Ielādē…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "Var meklēt " -#: src/app/main/ui/workspace/libraries.cljs:391 -msgid "workspace.libraries.more-templates-link" -msgstr "vairāk sagatavju šeit" - -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Nav nevienas koplietojamās bibliotēkas, kas būtu jāatjaunina" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "“%s” nav atrasta neviena atbilstība" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Nav pieejamu koplietojamo bibliotēku" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Meklēt koplietojamās bibliotēkas" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "KOPLIETOJAMĀS BIBLIOTĒKAS" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Savienot bibliotēku" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Vairāki burtu stili un veidi" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Atsaistīt visus burtu stilus un veidus" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s burtu stili un veidi" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Atvienot bibliotēku" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Atjaunināt" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "apskatīt visas izmaiņas" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "ATJAUNINĀJUMI" @@ -4730,43 +4820,43 @@ msgstr "Atlases aizmiglojums" msgid "workspace.options.blur-options.toggle-blur" msgstr "Pārslēgt aizmiglojumu" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Kanvas fons" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Apcirpt saturu" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Sastāvdaļa" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Piezīme" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Ievietot starpliktuvē" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Izveidot piezīmi" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Labot piezīmi" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Galvenais" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Mijmainīt sastāvdaļu" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "Šajā bibliotēkā vēl nav līdzekļu" @@ -4814,7 +4904,7 @@ msgstr "Augša un apakša" msgid "workspace.options.design" msgstr "Dizains" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Izguve" @@ -4823,22 +4913,22 @@ msgstr "Izguve" msgid "workspace.options.export-multiple" msgstr "Izgūt atlasi" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Izgūt %s elementus" msgstr[1] "Izgūt %s elementu" msgstr[2] "Izgūt %s elementus" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "Pievienot izguvi" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "Noņemt izguvi" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Piedēklis" @@ -4846,7 +4936,7 @@ msgstr "Piedēklis" msgid "workspace.options.exporting-complete" msgstr "Izguve pabeigta" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Notiek izgūšana…" @@ -4870,6 +4960,10 @@ msgstr "Pievienot aizpildījuma krāsu" msgid "workspace.options.fill.remove-fill" msgstr "Noņemt aizpildījumu" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "Mainīt paneļa izmēru, lai ietilpinātu saturu" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "Pievienot plūsmas sākumu" @@ -5008,7 +5102,7 @@ msgstr "Vadotnes" msgid "workspace.options.guides.toggle-guide" msgstr "Pārslēgt vadlīniju" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Augstums" @@ -5331,19 +5425,19 @@ msgstr "Pārslēgt slāņa redzamību" msgid "workspace.options.layout-item.advanced-ops" msgstr "Papildu opcijas" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Maks.augstums" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Maks.platums" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Min.augstums" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Min.platums" @@ -5457,11 +5551,11 @@ msgstr "telpa starp" msgid "workspace.options.layout.top" msgstr "Augša" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Vairāk krāsu" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Vairāk bibliotēkas krāsu" @@ -5506,7 +5600,7 @@ msgstr "Sakļaut neatkarīgu rādiusu" msgid "workspace.options.radius.show-single-corners" msgstr "Rādīt neatkarīgu rādiusu" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Pēdējie" @@ -5514,11 +5608,11 @@ msgstr "Pēdējie" msgid "workspace.options.retry" msgstr "Atkārtot" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Pagriešana" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Meklēt fontu" @@ -5526,7 +5620,7 @@ msgstr "Meklēt fontu" msgid "workspace.options.select-a-shape" msgstr "Jāatlasa apveids, plātne vai kopa, lai vilktu savienojumu uz citu plātni." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Atlasītās krāsas" @@ -5538,55 +5632,55 @@ msgstr "Atlases aizpildījums" msgid "workspace.options.selection-stroke" msgstr "Atlases vilkums" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "Pievienot ēnu" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Aizmiglojums" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Ēnas krāsa" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Ēnot" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Iekšējā ēna" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "Noņemt ēnu" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Izkliede" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Ēna" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Kopas ēna" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Atlases ēnas" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:176 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 msgid "workspace.options.shadow-options.toggle-shadow" msgstr "Pārslēgt ēnu" @@ -5594,7 +5688,7 @@ msgstr "Pārslēgt ēnu" msgid "workspace.options.show-fill-on-export" msgstr "Rādīt izguvēs" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Rādīt skatītājā" @@ -5602,7 +5696,7 @@ msgstr "Rādīt skatītājā" msgid "workspace.options.size" msgstr "Izmērs" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Izmēra standarti" @@ -5671,7 +5765,7 @@ msgstr "Trijstūris" msgid "workspace.options.stroke-color" msgstr "Vilkuma krāsa" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Vilkuma biezums" @@ -5743,11 +5837,11 @@ msgstr "Automātiskais platums" msgid "workspace.options.text-options.grow-fixed" msgstr "Fiksēts" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Burtu atstarpes" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Rindas augstums" @@ -5811,15 +5905,15 @@ msgstr "Lielie burti" msgid "workspace.options.use-play-button" msgstr "Jāizmanto atskaņosanas poga galvenē, lai palaistu prototipa skatu." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Platums" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X ass" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y ass" @@ -5997,115 +6091,127 @@ msgstr "SPRAUDNIS \"%s\" IR UZSTĀDĪTS." msgid "workspace.plugins.try-out.try" msgstr "IZMĒĢINĀT SPRAUDNI" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Pievienot elastīgo izkārtojumu" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Pievienot režģa izkārtojumu" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Pievienot izkārtojumu" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Sūtīt atpakaļ" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Sūtīt uz aizmuguri" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Kopēt" -#: src/app/main/ui/workspace/context_menu.cljs:203 +#: src/app/main/ui/workspace/context_menu.cljs:204 msgid "workspace.shape.menu.copy-css" msgstr "Ievietot starpliktuvē kā CSS" -#: src/app/main/ui/workspace/context_menu.cljs:188 +#: src/app/main/ui/workspace/context_menu.cljs:206 +msgid "workspace.shape.menu.copy-css-nested" +msgstr "Ievietot starpliktuvē kā CSS (pakārtoti slāņi)" + +#: src/app/main/ui/workspace/context_menu.cljs:189 msgid "workspace.shape.menu.copy-link" msgstr "Ievietot saiti starpliktuvē" -#: src/app/main/ui/workspace/context_menu.cljs:201 +#: src/app/main/ui/workspace/context_menu.cljs:202 msgid "workspace.shape.menu.copy-paste-as" msgstr "Ievietot starpliktuvē/ielīmēt kā ..." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/context_menu.cljs:214 +msgid "workspace.shape.menu.copy-props" +msgstr "Ievietot īpašības starpliktuvē" + +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Ievietot starpliktuvē kā tekstu" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Izveidot piezīmi" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Atlase uz plātni" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Izveidot sastāvdaļu" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Izveidot vairākas sastāvdaļas" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Izgriezt" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Dzēst" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Izdzēst plūsmas sākumu" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Atvienot instanci" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Atvienot instances" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Starpība" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Divkāršot" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Labot" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Izslēgt" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Izklāt" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Apvērst līmeniski" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Apvērst stateniski" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Plūsmas sākums" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Virzīt uz priekšu" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Virzīt priekšā" @@ -6114,103 +6220,107 @@ msgstr "Virzīt priekšā" msgid "workspace.shape.menu.go-main" msgstr "Doties uz galvenās sastāvdaļas datni" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Kopa" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Slēpt" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Rādīt/paslēpt UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Šķēlums" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Slēgt" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Maska" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Ielīmēt" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:218 +msgid "workspace.shape.menu.paste-props" +msgstr "Ielīmēt īpašības" + +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Ceļš" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Noņemt elastīgo izkārtojumu" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Noņemt režģa izkārtojumu" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Noņemt izkārtojumu" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Pārdēvēt" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Atiestatīt aizvietojumus" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Atjaunot galveno sastāvdaļu" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Atlasīt slāni" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Pāradīt" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Rādīt līdzekļu panelī" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Rādīt galveno sastāvdaļu" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Noņemt sīktēlu" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Iestatīt kā sīktēlu" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transformēt par ceļu" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Atapkopot" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Apvienot" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Atslēgt" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Noņemt masku" @@ -6219,7 +6329,7 @@ msgstr "Noņemt masku" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Atjaunināt galvenās sastāvdaļas" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Atjaunināt galveno sastāvdaļu" @@ -6231,11 +6341,11 @@ msgstr "Sakļaut sānjoslu" msgid "workspace.sidebar.expand" msgstr "Izvērst sānjoslu" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Vēsture" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Slāņi" @@ -6271,7 +6381,7 @@ msgstr "Formas" msgid "workspace.sidebar.layers.texts" msgstr "Teksti" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Ievietotie SVG atribūti" @@ -6283,10 +6393,15 @@ msgstr "Lapas" msgid "workspace.sidebar.sitemap.add-page" msgstr "Pievienot lapu" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Vietnes karte" +#: src/app/main/ui/workspace/tokens/token_pill.cljs:47 +#, unused +msgid "workspace.token-set.not-active" +msgstr "Tekstvienību kopa nav aktīva" + #: src/app/main/ui/workspace/tokens/theme_select.cljs:84 msgid "workspace.token.active-themes" msgstr "%s aktīvi izskati" @@ -6296,31 +6411,43 @@ msgstr "%s aktīvi izskati" msgid "workspace.token.add set" msgstr "Pievienot kopu" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Pielietota" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 msgid "workspace.token.back-to-themes" msgstr "Atpakaļ uz izskatu sarakstu" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 msgid "workspace.token.create-new-theme" msgstr "Tagad izveido savu pirmo izskatu!" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 msgid "workspace.token.create-one" msgstr "Izveidot kādu." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 -msgid "workspace.token.create-theme-title" -msgstr "Izveidot izskatu" - -#: src/app/main/ui/workspace/tokens/form.cljs:431 +#: src/app/main/ui/workspace/tokens/form.cljs:492 msgid "workspace.token.create-token" msgstr "Izveidot jaunu %s tekstvienību" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 +msgid "workspace.token.delete" +msgstr "Izdzēst tekstvienību" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "Izdzēst izskatu" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 +msgid "workspace.token.duplicate" +msgstr "Pavairot tekstvienību" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 +msgid "workspace.token.edit" +msgstr "Labot tekstvienību" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Labot izskatu" @@ -6328,81 +6455,129 @@ msgstr "Labot izskatu" msgid "workspace.token.edit-themes" msgstr "Labot izskatus" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Labot tekstvienību" +#: src/app/main/ui/workspace/tokens/form.cljs:544 +msgid "workspace.token.enter-token-description" +msgstr "Pievienot aprakstu (pēc izvēles)" + +#: src/app/main/ui/workspace/tokens/form.cljs:498 +msgid "workspace.token.enter-token-name" +msgstr "Jāievada %s tekstvienības nosaukums" + #: src/app/main/ui/workspace/tokens/sets.cljs #, unused msgid "workspace.token.grouping-set-alert" msgstr "Tekstvienību apkopošana vēl netiek nodrošināta." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:56 -msgid "workspace.token.new-theme" -msgstr "Jauns izskats" +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "Kopa" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "Izskats" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 msgid "workspace.token.no-active-theme" msgstr "Nav izvēlēts izskats" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:146 -msgid "workspace.token.no-sets" -msgstr "Nav kopu" +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "Nepieciešams būt redaktoram, lai aktivētu kopas vai atceltu to aktivēšanu" -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "Jābūt redaktoram, lai izmantotu izskatus" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "Vēl nav nevienas kopas. Vispirms ir jāizveido kāda." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:215, src/app/main/ui/workspace/tokens/sidebar.cljs:221 +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 msgid "workspace.token.no-sets-yet" msgstr "Šeit vēl nav nevienas kopas." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "Šeit nav izskatu." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "Pašlaik nav izskatu." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 -msgid "workspace.token.num-sets" -msgstr "%s kopas" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" -msgstr "Sākotnējā vērtība: " +msgstr "Sākotnējā vērtība: %s" -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "Atsauce nav derīga vai tā nav nevienā aktīvā kopā" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" -msgstr "Atrisinātā vērtība: " +msgstr "Atrisinātā vērtība: %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Saglabāt izskatu" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "Atlasīt kopu." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "" "Noteikt, kuras tekstvienību kopas vajadzētu izmantot kā daļu no šīs izskata " "iespējas:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Izskats \"%s\"" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 -msgid "workspace.token.themes" -msgstr "Izskati" +#: src/app/main/ui/workspace/tokens/form.cljs:545 +msgid "workspace.token.token-description" +msgstr "Apraksts" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/form.cljs:501 +msgid "workspace.token.token-name" +msgstr "Nosaukums" + +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" nav derīgs tekstvienības nosaukums.\n" +"Tekstvienību nosaukumos vajadzētu būt burtiem un cipariem, kas atdalīti ar " +". rakstzīmēm, un tie nedrīkst sākties ar $ zīmi." + +#: src/app/main/ui/workspace/tokens/form.cljs:526 +msgid "workspace.token.token-value" +msgstr "Vērtība" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "TEKSTVIENĪBAS - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 +msgid "workspace.token.tools" +msgstr "Rīki" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "Vērtība nav derīga" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "" +"Šīs tekstvienības pārdēvēšana salauzīs visas atsauces uz tās iepriekšējo " +"nosaukumu." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Līdzekļi" @@ -6410,39 +6585,39 @@ msgstr "Līdzekļi" msgid "workspace.toolbar.color-palette" msgstr "Krāsu palete (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Komentāri (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Līkne (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elipse (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Plātne (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Attēls (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Pārvietot (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Ceļš (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Spraudņi (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Taisnstūris (%s)" @@ -6451,7 +6626,7 @@ msgstr "Taisnstūris (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Saīsnes (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Teksts (%s)" @@ -6459,7 +6634,7 @@ msgstr "Teksts (%s)" msgid "workspace.toolbar.text-palette" msgstr "Burtu stili un veidi (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Pārslēgt rīkjoslu" @@ -6617,19 +6792,19 @@ msgstr "Darbība ar %s" msgid "workspace.undo.title" msgstr "Vēsture" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Izlaist" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Vairāk informācijas" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Koplietojamajās bibliotēkās ir atjauninājumi" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Atjaunināt" @@ -6689,11 +6864,11 @@ msgstr "Vai atjaunot šo versiju?" msgid "workspace.versions.snapshot-menu" msgstr "Atvērt momentuzņēmumu izvēlni" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "Darbības" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "Vēsture" diff --git a/frontend/translations/ml.po b/frontend/translations/ml.po index 3efcb0c96b..1e5905f47d 100644 --- a/frontend/translations/ml.po +++ b/frontend/translations/ml.po @@ -34,13 +34,13 @@ msgstr "ഡെമോ അക്കൗണ്ട് സൃഷ്ടിക്കു msgid "auth.create-demo-profile" msgstr "ഒന്നുപയോഗിച്ച് നോക്കുന്നോ?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "ഇതൊരു ഡെമോ സേവനമാണ്, ഒരു യഥാർത്ഥ ജോലിക്ക് ഉപയോഗിക്കരുത്, പ്രൊജക്റ്റുകൾ " "നിശ്ചിതസമയങ്ങളിൽ മായ്ക്കപ്പെടും." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "പാസ്‌വേഡ് മറന്നോ?" @@ -52,27 +52,27 @@ msgstr "മുഴുവൻ പേര്" msgid "auth.login-here" msgstr "ഇവിടെ ലോഗിൻ ചെയ്യുക" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "ലോഗിൻ" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "ഗിറ്റ്ഹബ്ബ്" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "ഗിറ്റ്ലാബ്" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "ഗൂഗിൾ" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "ഓപ്പൺഐഡി" @@ -96,7 +96,7 @@ msgstr "പാസ്‌വേഡ് വീണ്ടെടുപ്പ് കണ msgid "auth.notifications.team-invitation-accepted" msgstr "വിജയകരമായി സംഘത്തിൽ ചേർന്നു" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "പാസ്‌വേഡ്" @@ -124,11 +124,11 @@ msgstr "പാസ്‌വേഡ് മറന്നോ?" msgid "auth.recovery-submit" msgstr "പാസ്‌വേഡ് മാറ്റുക" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "ഇതുവരെ അക്കൗണ്ട് ഇല്ലേ?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "അക്കൗണ്ട് സൃഷ്ടിക്കുക" @@ -141,7 +141,7 @@ msgstr "അക്കൗണ്ട് സൃഷ്ടിക്കുക" msgid "auth.sidebar-tagline" msgstr "ഡിസൈനിങിനും പ്രോട്ടോടൈപ്പിങിനുമുള്ള ഓപ്പൺ സോഴ്സ് പ്രതിവിധി." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "ഉപയോഗനിബന്ധനകൾ" @@ -183,7 +183,7 @@ msgstr "പങ്കിട്ട ലൈബ്രറിയായി ചേർക msgid "dashboard.change-email" msgstr "ഇമെയിൽ മാറ്റുക" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(പകർത്തുക)" diff --git a/frontend/translations/ms.po b/frontend/translations/ms.po index 8c128adebb..733e527549 100644 --- a/frontend/translations/ms.po +++ b/frontend/translations/ms.po @@ -20,13 +20,13 @@ msgstr "Cipta akaun demo" msgid "auth.create-demo-profile" msgstr "Hanya ingin mencubanya?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Ini adalah perkhidmatan DEMO, JANGAN GUNAKAN untuk kerja sebenar, projek " "akan dipadam secara berkala." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Lupa kata laluan?" @@ -38,27 +38,27 @@ msgstr "Nama penuh" msgid "auth.login-here" msgstr "Log masuk disini" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Log masuk" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "Github" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID Connect" @@ -82,7 +82,7 @@ msgstr "Pautan pemulihan kata laluan dihantar ke peti masuk anda." msgid "auth.notifications.team-invitation-accepted" msgstr "Berjaya menyertai pasukan" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Kata laluan" @@ -110,11 +110,11 @@ msgstr "Lupa kata laluan?" msgid "auth.recovery-submit" msgstr "Tukar kata laluan anda" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Tiada akaun lagi?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Cipta akaun" @@ -127,7 +127,7 @@ msgstr "Cipta akaun" msgid "auth.sidebar-tagline" msgstr "Penyelesaian sumber terbuka untuk reka bentuk dan prototaip." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Syarat perkhidmatan" @@ -146,7 +146,7 @@ msgstr "Kami telah menghantar e-mel pengesahan kepada" msgid "branding-illustrations-marketing-pieces" msgstr "... penjenamaan, ilustrasi, bahagian pemasaran, dll." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Terbitkan" @@ -217,7 +217,7 @@ msgstr "Kongsi prototaip" msgid "common.share-link.view-all" msgstr "Pilih semua" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Nyahterbitkan" @@ -271,7 +271,7 @@ msgstr "Panduan Antara Muka" msgid "dashboard.access-tokens.copied-success" msgstr "Token disalin" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Jana token baru" @@ -279,11 +279,11 @@ msgstr "Jana token baru" msgid "dashboard.access-tokens.create.success" msgstr "Token capaian berjaya dihasilkan." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Tekan butang \"Jana token baharu\" untuk menjana token." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Anda tidak mempunyai token setakat ini." @@ -307,23 +307,23 @@ msgstr "90 hari" msgid "dashboard.access-tokens.expiration-never" msgstr "Tidak pernah" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Luput pada %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Tamat tempoh pada %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Tiada tarikh tamat tempoh" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Token capaian peribadi" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Token capaian peribadi berfungsi seperti alternatif kepada sistem " @@ -346,7 +346,7 @@ msgstr "Tambahkan sebagai Perpustakaan kongsi" msgid "dashboard.change-email" msgstr "tukar e-mel" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(salin)" @@ -468,24 +468,24 @@ msgstr "Sertakan aset perpustakaan kongsi dalam pustaka fail" msgid "dashboard.export.title" msgstr "Eksport fail" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Fon hilang" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Tolak semua" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Fon tersuai yang anda muat naik akan dipaparkan di sini." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "%s fon ditambah" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -495,21 +495,20 @@ msgstr "" "tunggal**. Anda boleh memuat naik fon dengan format berikut: **TTF, OTF dan " "WOFF** (hanya satu sahaja diperlukan)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Anda hanya perlu memuat naik fon yang anda miliki atau mempunyai lesen " "untuk digunakan dalam Penpot. Ketahui lebih lanjut dalam bahagian Hak " -"kandungan [Syarat Perkhidmatan Penpot](%s). Anda " -"juga mungkin ingin membaca tentang [pelesenan " -"fon](https://www.typography.com/faq)." +"kandungan [Syarat Perkhidmatan Penpot](%s). Anda juga mungkin ingin membaca " +"tentang [pelesenan fon](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Muat naik semua" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -520,7 +519,7 @@ msgstr "" "menggunakan [Transfonter](https://transfonter.org/) untuk menjana fon web " "dan membetulkan ralat. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Import fail Penpot" @@ -538,12 +537,12 @@ msgstr "" msgid "dashboard.import.import-error" msgstr "Terdapat masalah mengimport fail. Fail tidak diimport." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "%s fail telah berjaya diimport." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Sesetengah fail mengandungi objek tidak sah telah dialih keluar." @@ -583,27 +582,27 @@ msgstr "Jemput orang ramai" msgid "dashboard.leave-team" msgstr "Tinggalkan pasukan" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Perpustakaan & Templat" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Terokai lebih banyak daripada mereka dan ketahui cara untuk menyumbang" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Terdapat masalah mengimport templat. Templat tidak diimport." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Perpustakaan" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "memuatkan fail anda…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "memuatkan fon anda…" @@ -619,11 +618,11 @@ msgstr "Pindahkan fail %s ke" msgid "dashboard.move-to-other-team" msgstr "Pindah ke pasukan lain" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Fail Baharu" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Fail Baharu" @@ -631,7 +630,7 @@ msgstr "Fail Baharu" msgid "dashboard.new-project" msgstr "+ Projek baharu" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Projek Baharu" @@ -663,7 +662,7 @@ msgstr "%s ahli" msgid "dashboard.open-in-new-tab" msgstr "Buka fail dalam tab baharu" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Pilihan" @@ -708,7 +707,7 @@ msgstr "Pilih Bahasa UI" msgid "dashboard.select-ui-theme" msgstr "Pilih tema" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Tunjukkan semua fail" @@ -730,7 +729,7 @@ msgstr[0] "Fail anda telah berjaya dibuat pendua" msgid "dashboard.success-duplicate-project" msgstr "Projek anda telah berjaya dibuat pendua" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Fail anda berjaya dialihkan" @@ -825,7 +824,7 @@ msgstr "E-mel" msgid "dashboard.your-name" msgstr "Nama anda" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Penpot anda" @@ -841,11 +840,11 @@ msgstr "Perhatian" msgid "ds.component-subtitle" msgstr "Komponen untuk dikemas kini:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Batal" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -853,7 +852,7 @@ msgstr "Ok" msgid "ds.confirm-title" msgstr "Adakah anda pasti?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Pembekal pengesahan tidak dikonfigurasikan." @@ -861,11 +860,11 @@ msgstr "Pembekal pengesahan tidak dikonfigurasikan." msgid "errors.auth.unable-to-login" msgstr "Nampaknya anda belum disahkan atau sesi telah tamat tempoh." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Fon %s tidak dapat dimuatkan" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Fon %s tidak dapat dimuatkan" @@ -873,7 +872,7 @@ msgstr "Fon %s tidak dapat dimuatkan" msgid "errors.cannot-upload" msgstr "Tidak boleh memuat naik fail media." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Pelayar anda tidak dapat melakukan operasi ini" @@ -885,7 +884,7 @@ msgstr "E-mel sudah digunakan" msgid "errors.email-already-validated" msgstr "E-mel sudah disahkan." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Anda tidak boleh menggunakan e-mel sebagai kata laluan" @@ -914,7 +913,7 @@ msgstr "" "yang anda cuba buka. Migrasi untuk '%s' perlu digunakan sebelum fail boleh " "dibuka." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Sesuatu yang tidak kena telah berlaku." @@ -927,8 +926,7 @@ msgstr "Warna tidak sah" msgid "errors.invalid-email" msgstr "Sila masukkan e-mel yang sah" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "E-mel pengesahan mesti sepadan" @@ -944,7 +942,7 @@ msgstr "Jemputan tidak sah" msgid "errors.invite-invalid.info" msgstr "Jemputan ini mungkin dibatalkan atau mungkin tamat tempoh." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Pengesahan LDAP dilumpuhkan." @@ -984,7 +982,7 @@ msgstr "Kata laluan hendaklah sekurang-kurangnya 8 aksara" msgid "errors.paste-data-validation" msgstr "Data tidak sah dalam papan klip" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Profil disekat" @@ -1062,12 +1060,11 @@ msgstr "Ralat yang tidak dijangka semasa mengesahkan" msgid "errors.webhooks.unexpected-status" msgstr "Status tidak dijangka %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "E-mel atau kata laluan tidak betul." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Kata laluan lama tidak betul" @@ -1115,11 +1112,11 @@ msgstr "Kami di sini untuk membantu dengan pertanyaan teknikal anda." msgid "feedback.twitter-title" msgstr "Akaun sokongan Twitter" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Ralat telah berlaku" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Kabur" @@ -1127,31 +1124,31 @@ msgstr "Kabur" msgid "inspect.attributes.blur.value" msgstr "Nilai" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Isi" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Muat turun sumber gambar" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Tinggi" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Lebar" @@ -1190,15 +1187,15 @@ msgstr "Atas" msgid "inspect.attributes.layout.width" msgstr "Lebar" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Bayang" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Ukuran dan kedudukan" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Gurisan" @@ -1235,141 +1232,141 @@ msgstr "Padu" msgid "inspect.attributes.stroke.width" msgstr "Lebar" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Keluarga Fon" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Saiz huruf" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Gaya Huruf" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Berat Huruf" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Jarak Huruf" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Tinggi Garis" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Hiasan Teks" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Tiada" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Tembus" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Garis bawah" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformasian Teks" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Huruf Kecil" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Tiada" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Huruf Tajuk" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Nyahset" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Huruf Besar" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Jika anda ingin mengetahui lebih lanjut tentang pemeriksaan reka bentuk, " "lawati pusat bantuan Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Maklumat lanjut tentang inspect" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Pilih bentuk, papan atau kumpulan untuk memeriksa sifat dan kod mereka" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kod" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Bulatan" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Komponen" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Lengkung" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Papan" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Kumpulan" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Gambar" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Maska" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Dipilih" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Laluan" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Segi empat tepat" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Teks" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Maklumat" @@ -1389,7 +1386,7 @@ msgstr "Token capaian" msgid "labels.active" msgstr "Aktif" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Tambah fon tersuai" @@ -1401,7 +1398,7 @@ msgstr "Pentadbir" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Semua" @@ -1423,7 +1420,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Ralat pelayan (Bad Gateway)" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Batal" @@ -1431,15 +1428,15 @@ msgstr "Batal" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Tutup" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Komen" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Komuniti" @@ -1447,7 +1444,7 @@ msgstr "Komuniti" msgid "labels.confirm-password" msgstr "Sahkan kata laluan" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Teruskan" @@ -1463,7 +1460,7 @@ msgstr "Anda boleh meneruskan dengan akaun Penpot" msgid "labels.copy-invitation-link" msgstr "Salin pautan" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Cipta" @@ -1483,15 +1480,15 @@ msgstr "Fon tersuai" msgid "labels.dashboard" msgstr "Papan pemuka" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Padam" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Padam komen" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Padam bebenang" @@ -1507,15 +1504,15 @@ msgstr "Padam fail %s" msgid "labels.developer" msgstr "Pembangun" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Buang" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Draf" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Sunting" @@ -1531,7 +1528,7 @@ msgstr "Penyunting" msgid "labels.expired-invitation" msgstr "Tamat tempoh" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Eksport" @@ -1547,7 +1544,7 @@ msgstr "Maklum balas dihantar" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Keluarga Fon" @@ -1555,11 +1552,11 @@ msgstr "Keluarga Fon" msgid "labels.font-providers" msgstr "Pembekal fon" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Gaya" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fon" @@ -1571,11 +1568,11 @@ msgstr "Pengasas/VP" msgid "labels.freelancer" msgstr "Saya seorang pekerja bebas (freelancer)" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Repositori Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Beri maklum balas" @@ -1583,11 +1580,11 @@ msgstr "Beri maklum balas" msgid "labels.go-back" msgstr "Pergi balik" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Pusat Bantuan" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Sembunyikan komen yang diselesaikan" @@ -1595,7 +1592,7 @@ msgstr "Sembunyikan komen yang diselesaikan" msgid "labels.inactive" msgstr "tidak aktif" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Fon yang dipasang" @@ -1621,7 +1618,7 @@ msgstr "Jemputan" msgid "labels.language" msgstr "Bahasa" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Perpustakaan & Templat" @@ -1629,7 +1626,7 @@ msgstr "Perpustakaan & Templat" msgid "labels.log-or-sign" msgstr "Log masuk atau daftar" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Log keluar" @@ -1649,11 +1646,11 @@ msgstr "Ahli" msgid "labels.new-password" msgstr "Kata laluan baharu" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Seterusnya" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "" "Anda telah melihat semua yang baru! Pemberitahuan ulasan baharu akan " @@ -1679,7 +1676,7 @@ msgstr "" msgid "labels.not-found.main-message" msgstr "Alamak!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "%s fail" @@ -1739,7 +1736,7 @@ msgstr "Profil" msgid "labels.projects" msgstr "Projek" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Nota keluaran" @@ -1757,7 +1754,7 @@ msgstr "Alih keluar" msgid "labels.remove-member" msgstr "Buang ahli" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Namakan semula" @@ -1777,15 +1774,15 @@ msgstr "Cuba semula" msgid "labels.role" msgstr "Peranan" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Simpan" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Cari" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Cari fon" @@ -1825,15 +1822,15 @@ msgstr "Kongsi prototaip" msgid "labels.shared-libraries" msgstr "Perpustakaan" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Paparkan semua komen" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Paparkan senarai komen" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Paparkan komen anda sahaja" @@ -1853,7 +1850,7 @@ msgstr "Status" msgid "labels.student-teacher" msgstr "Pelajar atau guru" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutorial" @@ -1869,15 +1866,15 @@ msgstr "Kemas kini" msgid "labels.update-team" msgstr "Kemas kini pasukan" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Muat naik" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Muat naik fon tersuai" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Memuat naik…" @@ -1893,7 +1890,7 @@ msgstr "Penonton" msgid "labels.webhooks" msgstr "Cangkuk Web (Webhook)" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Tulis komen baharu" @@ -1901,7 +1898,7 @@ msgstr "Tulis komen baharu" msgid "labels.you" msgstr "(anda)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Akaun anda" @@ -1956,7 +1953,7 @@ msgstr "Tukar e-mel" msgid "modals.change-email.title" msgstr "Tukar e-mel anda" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Salin token" @@ -1972,7 +1969,7 @@ msgstr "Nama" msgid "modals.create-access-token.name.placeholder" msgstr "Nama boleh membantu untuk mengetahui token itu untuk apa" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Cipta token" @@ -1996,15 +1993,15 @@ msgstr "URL muatan" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Padam token" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Adakah anda pasti mahu memadamkan token ini?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Padam token" @@ -2026,25 +2023,25 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Adakah anda pasti mahu memadam akaun anda?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Padam perbualan" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Adakah anda pasti mahu memadamkan perbualan ini? Semua komen dalam urutan " "ini akan dipadamkan." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Padam perbualan" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Adakah anda pasti ingin memadamkan anotasi ini?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Padam anotasi" @@ -2072,31 +2069,31 @@ msgstr "Adakah anda pasti mahu memadamkan %s fail?" msgid "modals.delete-file-multi-confirm.title" msgstr "Memadamkan %s fail" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Adakah anda pasti mahu memadamkan gaya fon ini? Ia tidak akan dimuatkan " "jika digunakan dalam fail." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Memadam gaya fon" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Adakah anda pasti mahu memadamkan fon ini? Ia tidak akan dimuatkan jika " "digunakan dalam fail." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Memadam fon" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Adakah anda pasti mahu memadamkan halaman ini?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Padam halaman" @@ -2278,15 +2275,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Pemilik pasukan baru" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Terbitkan" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Pustaka anda kosong. Adakah anda pasti mahu menerbitkannya?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Terbitkan perpustakaan kosong" @@ -2338,21 +2335,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Kemas kini komponen dalam pustaka kongsi" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Kemas kini" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Batal" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Anda akan mengemas kini komponen dalam pustaka kongsi. Ini mungkin " "menjejaskan fail lain yang menggunakannya." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Kemas kini komponen dalam pustaka kongsi" @@ -2413,30 +2410,30 @@ msgstr "Video tutorial" msgid "onboarding-v2.before-start.title" msgstr "Sebelum anda mula" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Langgan surat berita Penpot untuk mengikuti perkembangan dan berita " "pembangunan produk." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Hantar kepada saya berita tentang Penpot (siaran blog, tutorial video, " "penstriman...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Kami mengambil berat tentang privasi, di sini anda boleh membaca. " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Kami hanya akan menghantar e-mel yang berkaitan kepada anda. Anda boleh " "berhenti melanggan pada bila-bila masa melalui pautan nyahlanggan dalam " "mana-mana surat berita kami." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Hantar kepada saya kemas kini produk (ciri baharu, keluaran, pembetulan...)." @@ -2535,17 +2532,17 @@ msgstr "Anda boleh membuat pasukan kemudian." msgid "onboarding.newsletter.accept" msgstr "Ya, langgan" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Permintaan langganan anda telah dihantar, kami akan menghantar e-mel kepada " "anda untuk mengesahkannya." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Dasar Privasi." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Ingin menerima berita Penpot?" @@ -2631,7 +2628,7 @@ msgstr "Pergi ke log masuk" msgid "settings.detach" msgstr "Tanggalkan" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Bercampur" @@ -2817,7 +2814,7 @@ msgstr "Buat baharu" msgid "shortcuts.cut" msgstr "Potong" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Zum keluar" @@ -2917,7 +2914,7 @@ msgstr "Edarkan secara mendatar" msgid "shortcuts.hide-ui" msgstr "Tunjukkan / Sembunyikan UI" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Zum kedalam" diff --git a/frontend/translations/nb_NO.po b/frontend/translations/nb_NO.po index 626fdb3cd6..7b4e213958 100644 --- a/frontend/translations/nb_NO.po +++ b/frontend/translations/nb_NO.po @@ -15,7 +15,7 @@ msgstr "" msgid "auth.confirm-password" msgstr "Bekreft passord" -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Glemt passordet?" @@ -27,7 +27,7 @@ msgstr "Fullt navn" msgid "auth.new-password" msgstr "Skriv inn et nytt passord" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Passord" @@ -39,11 +39,11 @@ msgstr "Gjenopprett passord" msgid "auth.recovery-submit" msgstr "Endre passordet ditt" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Ingen konto enda?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Opprett konto" @@ -55,7 +55,7 @@ msgstr "Opprett konto" msgid "dashboard.add-shared" msgstr "Legg til som delt bibliotek" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopi)" @@ -75,7 +75,7 @@ msgstr "Inviter til team" msgid "dashboard.leave-team" msgstr "Forlat team" -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Delte biblioteker" @@ -91,7 +91,7 @@ msgstr "Flytt %s filer til" msgid "dashboard.move-to-other-team" msgstr "Flytt til annet team" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Ny fil" @@ -144,7 +144,7 @@ msgstr "Velg grensesnittsspråk" msgid "dashboard.select-ui-theme" msgstr "Velg drakt" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Vis alle filer" @@ -172,15 +172,15 @@ msgstr "Din konto" msgid "dashboard.your-name" msgstr "Ditt navn" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Din Penpot" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Avbryt" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "OK" @@ -212,15 +212,15 @@ msgstr "Emne" msgid "inspect.attributes.blur.value" msgstr "Verdi" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Last ned kildebilde" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Høyde" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Bredde" @@ -239,7 +239,7 @@ msgstr "Venstre" msgid "inspect.attributes.layout.width" msgstr "Bredde" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Skygge" @@ -248,51 +248,51 @@ msgstr "Skygge" msgid "inspect.attributes.stroke.width" msgstr "Bredde" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Typografi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Skriftfamilie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Skriftstørrelse" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Skriftstil" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kode" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Sirkel" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Gruppe" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Bilde" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Sti" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Tekst" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Info" @@ -300,7 +300,7 @@ msgstr "Info" msgid "labels.accept" msgstr "Godta" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Avbryt" @@ -308,7 +308,7 @@ msgstr "Avbryt" msgid "labels.confirm-password" msgstr "Bekreft passord" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Opprett" @@ -328,15 +328,15 @@ msgstr "Egendefinerte skrifter" msgid "labels.dashboard" msgstr "Oversikt" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Slett" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Slett kommentar" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Slett tråd" @@ -344,15 +344,15 @@ msgstr "Slett tråd" msgid "labels.delete-multi-files" msgstr "Slett %s filer" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Kladder" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Rediger" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Skriftfamilie" @@ -360,11 +360,11 @@ msgstr "Skriftfamilie" msgid "labels.font-providers" msgstr "Skrifttilbydere" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Skrifter" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Installerte skrifter" @@ -372,7 +372,7 @@ msgstr "Installerte skrifter" msgid "labels.language" msgstr "Språk" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Logg ut" @@ -409,7 +409,7 @@ msgstr "Prosjekter" msgid "labels.remove" msgstr "Fjern" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Gi nytt navn" @@ -421,11 +421,11 @@ msgstr "Prøv igjen" msgid "labels.role" msgstr "Rolle" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Lagre" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Søk etter skrift" @@ -445,23 +445,23 @@ msgstr "Innstillinger" msgid "labels.shared-libraries" msgstr "Delte bibliotek" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Vis alle kommentarer" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Last opp" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Last opp egendefinerte skrifter" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Laster opp …" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Skriv ny kommentar" @@ -481,11 +481,11 @@ msgstr "Bekreft ny e-postadresse" msgid "modals.delete-account.confirm" msgstr "Ja, slett kontoen min" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Slett samtale" -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Slett samtale" @@ -497,7 +497,7 @@ msgstr "Slett fil" msgid "modals.delete-file-multi-confirm.accept" msgstr "Slett filer" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Slett side" @@ -517,7 +517,7 @@ msgstr "Slett teammedlem" msgid "modals.leave-confirm.accept" msgstr "Forlat team" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Avbryt" @@ -545,15 +545,15 @@ msgstr "Profil - Penpot" msgid "title.team-settings" msgstr "Innstillinger - %s - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Farger" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Komponenter" @@ -561,7 +561,7 @@ msgstr "Komponenter" msgid "workspace.assets.create-group" msgstr "Opprett en gruppe" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Slett" @@ -569,11 +569,11 @@ msgstr "Slett" msgid "workspace.assets.edit" msgstr "Rediger" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafikk" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Gruppe" @@ -581,11 +581,7 @@ msgstr "Gruppe" msgid "workspace.assets.group-name" msgstr "Gruppenavn" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Bibliotek" - -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Gi nytt navn" @@ -594,11 +590,11 @@ msgstr "Gi nytt navn" msgid "workspace.assets.typography.font-id" msgstr "Skrift" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Størrelse" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variant" @@ -611,7 +607,7 @@ msgstr "Vis regler" msgid "workspace.libraries.add" msgstr "Legg til" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s farger" @@ -623,19 +619,19 @@ msgstr "Filbibliotek" msgid "workspace.libraries.colors.recent-colors" msgstr "Nylige farger" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Lagre fargestil" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s komponenter" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Filbibliotek" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Komponent" @@ -643,7 +639,7 @@ msgstr "Komponent" msgid "workspace.options.design" msgstr "Design" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Eksporterer …" diff --git a/frontend/translations/nl.po b/frontend/translations/nl.po index f065d3af80..f6413d7586 100644 --- a/frontend/translations/nl.po +++ b/frontend/translations/nl.po @@ -1,15 +1,15 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-01-29 22:23+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Dutch \n" +"Language-Team: Dutch " +"\n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -38,13 +38,13 @@ msgstr "Demo-account aanmaken" msgid "auth.create-demo-profile" msgstr "Wil je het gewoon proberen?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Dit is een DEMO-service, GEBRUIK DIT NIET voor echt werk, de projecten " "worden regelmatig gewist." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Wachtwoord vergeten?" @@ -52,7 +52,7 @@ msgstr "Wachtwoord vergeten?" msgid "auth.fullname" msgstr "Volledige naam" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Log in op mijn account" @@ -60,33 +60,33 @@ msgstr "Log in op mijn account" msgid "auth.login-here" msgstr "Hier inloggen." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Inloggen" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot is de gratis open-source ontwerptool voor samenwerking op het gebied " "van ontwerp en code" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -110,7 +110,7 @@ msgstr "Wachtwoordherstel-link is per e-mail naar je verzonden." msgid "auth.notifications.team-invitation-accepted" msgstr "Succesvol toegetreden tot het team" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Wachtwoord" @@ -138,7 +138,7 @@ msgstr "Wachtwoord vergeten?" msgid "auth.recovery-submit" msgstr "Wachtwoord wijzigen" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Nog geen account?" @@ -150,7 +150,7 @@ msgstr "Laat ons weten hoe we je moeten aanspreken op het dashboard en in e-mail msgid "auth.register-account-title" msgstr "Je naam" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Account aanmaken" @@ -174,7 +174,7 @@ msgstr "De open-source oplossing voor ontwerp en prototyping." msgid "auth.terms-and-privacy-agreement" msgstr "Ik ga akkoord met de [servicevoorwaarden] (%s) en [privacybeleid] (%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Gebruiksvoorwaarden" @@ -188,7 +188,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "We hebben een verificatie-e-mail verzonden naar" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Werk e-mail" @@ -197,11 +197,11 @@ msgstr "Werk e-mail" msgid "branding-illustrations-marketing-pieces" msgstr "…branding, illustraties, marketingstukken, etc." -#: src/app/main/ui/comments.cljs:504 +#: src/app/main/ui/comments.cljs:532 msgid "comments.mentions.not-found" msgstr "Geen mensen gevonden voor @%s" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publiceren" @@ -273,7 +273,7 @@ msgstr "Prototypes delen" msgid "common.share-link.view-all" msgstr "Alles selecteren" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Publicatie ongedaan maken" @@ -327,7 +327,7 @@ msgstr "Rondleiding door de interface" msgid "dashboard.access-tokens.copied-success" msgstr "Toegangsbewijs gekopieerd" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Nieuw toegangsbewijs aanmaken" @@ -335,11 +335,11 @@ msgstr "Nieuw toegangsbewijs aanmaken" msgid "dashboard.access-tokens.create.success" msgstr "Toegangsbewijs is succesvol aangemaakt." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Klik op de knop \"Nieuw toegangsbewijs aanmaken\" om er een aan te maken." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Je hebt nog geen toegangsbewijzen." @@ -363,23 +363,23 @@ msgstr "90 dagen" msgid "dashboard.access-tokens.expiration-never" msgstr "Nooit" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Verlopen op %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Verloopt op %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Geen verloopdatum" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Persoonlijke toegangsbewijzen" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Persoonlijke toegangsbewijzen functioneren als alternatief voor ons " @@ -394,6 +394,10 @@ msgstr "Het toegangsbewijs verloopt op %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "Het toegangsbewijs heeft geen verloopdatum" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Bestand toevoegen" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Toevoegen als gedeelde bibliotheek" @@ -402,7 +406,7 @@ msgstr "Toevoegen als gedeelde bibliotheek" msgid "dashboard.change-email" msgstr "E-mailadres wijzigen" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopie)" @@ -438,23 +442,23 @@ msgstr "Dupliceren" msgid "dashboard.duplicate-multi" msgstr "%s bestanden dupliceren" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Zodra een projectlid een concept heeft gemaakt, wordt het hier weergegeven." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Nog geen concepten." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Zodra een projectlid een bestand heeft gemaakt, wordt het hier weergegeven." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Nog geen bestanden." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -470,11 +474,11 @@ msgstr "" "je bestanden te delen of voeg ze toe vanuit onze [Bibliotheken en " "sjablonen] (https://penpot.app/libraries-templates)." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Hier verschijnen bibliotheken die aan het project zijn toegevoegd." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Nog geen bibliotheken." @@ -568,35 +572,35 @@ msgstr "Inclusief gedeelde bibliotheek-assets in bestandsbibliotheken" msgid "dashboard.export.title" msgstr "Bestanden exporteren" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Lettertype ontbreekt" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Alles negeren" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Aangepaste lettertypen die je uploadt, verschijnen hier." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "Nog geen aangepaste lettertypen." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "" "Zodra een projectlid een aangepast lettertype heeft geüpload, wordt het " "hier weergegeven." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 lettertype toegevoegd" msgstr[1] "%s lettertypes toegevoegd" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -605,21 +609,20 @@ msgstr "" "Lettertypen worden gegroepeerd op familienaam. Je kunt lettertypen uploaden " "met de volgende formaten: **TTF, OTF en WOFF** (slechts één formaat nodig)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Je mag alleen lettertypen uploaden waarvan je de eigenaar bent of waarvoor " "je een licentie hebt om te gebruiken in Penpot. Lees meer in de sectie " -"Inhoudsrechten van [Penpot's " -"Servicevoorwaarden](%s). Misschien wil je ook " +"Inhoudsrechten van [Penpot's Servicevoorwaarden](%s). Misschien wil je ook " "meer lezen over [lettertypelicenties](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Alles uploaden" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -630,7 +633,7 @@ msgstr "" "[Transfonter](https://transfonter.org/) te gebruiken om web-lettertypen te " "genereren en soortgelijke fouten op te lossen. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importeer Penpot-bestanden" @@ -644,11 +647,11 @@ msgstr "" "Bestand met componenten v2 geactiveerd, maar dit team ondersteunt dit nog " "niet." -#: src/app/main/ui/dashboard.cljs:248 +#: src/app/main/ui/dashboard.cljs:247 msgid "dashboard.import.bad-url" msgstr "Importeren is mislukt. De sjabloon-URL is onjuist" -#: src/app/main/ui/dashboard.cljs:242 +#: src/app/main/ui/dashboard.cljs:241 msgid "dashboard.import.error" msgstr "Importeren is mislukt. Probeer het opnieuw" @@ -658,17 +661,17 @@ msgstr "" "Er is een probleem opgetreden bij het importeren van het bestand. Het " "bestand is niet geïmporteerd." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 bestand is geïmporteerd." msgstr[1] "%s bestanden zijn geïmporteerd." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Sommige bestanden bevatten ongeldige objecten die verwijderd zijn." -#: src/app/main/ui/dashboard.cljs:249 +#: src/app/main/ui/dashboard.cljs:248 msgid "dashboard.import.no-perms" msgstr "Je hebt geen toestemming om naar dit team te importeren" @@ -708,29 +711,29 @@ msgstr "Nodig mensen uit" msgid "dashboard.leave-team" msgstr "Team verlaten" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliotheken & sjablonen" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Ontdek er meer van en weet hoe je kunt bijdragen" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "" "Er is een probleem opgetreden bij het importeren van het sjabloon. Het " "sjabloon is niet geïmporteerd." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Bibliotheken" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "bestanden laden …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "lettertypen laden …" @@ -746,11 +749,11 @@ msgstr "Verplaats %s bestanden naar" msgid "dashboard.move-to-other-team" msgstr "Verplaats naar ander team" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Nieuw bestand" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Nieuw bestand" @@ -758,7 +761,7 @@ msgstr "Nieuw bestand" msgid "dashboard.new-project" msgstr "+ Nieuw project" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nieuw project" @@ -770,7 +773,7 @@ msgstr "Geen overeenkomsten gevonden voor \"%s\"" msgid "dashboard.no-projects-placeholder" msgstr "Vastgemaakte projecten worden hier weergegeven" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Meldingen" @@ -782,7 +785,7 @@ msgstr "Je e-mailadres is succesvol bijgewerkt" msgid "dashboard.notifications.email-verified-successfully" msgstr "Je e-mailadres is geverifieerd" -#: src/app/main/ui/settings/notifications.cljs:42 +#: src/app/main/data/profile.cljs:260 msgid "dashboard.notifications.notifications-saved" msgstr "Meldingsinstellingen bijgewerkt" @@ -802,7 +805,7 @@ msgstr "%s leden" msgid "dashboard.open-in-new-tab" msgstr "Bestand openen in een nieuw tabblad" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opties" @@ -830,15 +833,15 @@ msgstr "Je bent nu een lezer in dit team." msgid "dashboard.pin-unpin" msgstr "Vastzetten/losmaken" -#: src/app/main/ui/dashboard.cljs:212 +#: src/app/main/ui/dashboard.cljs:208 msgid "dashboard.plugins.bad-url" msgstr "De URL van de plug-in is onjuist" -#: src/app/main/ui/dashboard.cljs:210 +#: src/app/main/ui/dashboard.cljs:206 msgid "dashboard.plugins.parse-error" msgstr "Kan het plug-inmanifest niet verwerken" -#: src/app/main/ui/dashboard.cljs:173 +#: src/app/main/ui/dashboard.cljs:169 msgid "dashboard.plugins.try-plugin" msgstr "Probeer plugin: " @@ -879,67 +882,67 @@ msgstr "Taal selecteren" msgid "dashboard.select-ui-theme" msgstr "Thema selecteren" -#: src/app/main/ui/settings/notifications.cljs:76 +#: src/app/main/ui/settings/notifications.cljs:57 msgid "dashboard.settings.notifications.dashboard-comments.all" msgstr "Alle opmerkingen, vermeldingen en antwoorden" -#: src/app/main/ui/settings/notifications.cljs:78 +#: src/app/main/ui/settings/notifications.cljs:59 msgid "dashboard.settings.notifications.dashboard-comments.none" msgstr "Geen" -#: src/app/main/ui/settings/notifications.cljs:77 +#: src/app/main/ui/settings/notifications.cljs:58 msgid "dashboard.settings.notifications.dashboard-comments.partial" msgstr "Alleen vermeldingen en antwoorden" -#: src/app/main/ui/settings/notifications.cljs:73 +#: src/app/main/ui/settings/notifications.cljs:54 msgid "dashboard.settings.notifications.dashboard-comments.title" msgstr "Commentaar bij bestand" -#: src/app/main/ui/settings/notifications.cljs:72 +#: src/app/main/ui/settings/notifications.cljs:53 msgid "dashboard.settings.notifications.dashboard.title" msgstr "Meldingen op het dashboard" -#: src/app/main/ui/settings/notifications.cljs:86 +#: src/app/main/ui/settings/notifications.cljs:67 msgid "dashboard.settings.notifications.email-comments.all" msgstr "Alle opmerkingen, vermeldingen en antwoorden" -#: src/app/main/ui/settings/notifications.cljs:88 +#: src/app/main/ui/settings/notifications.cljs:69 msgid "dashboard.settings.notifications.email-comments.none" msgstr "Geen" -#: src/app/main/ui/settings/notifications.cljs:87 +#: src/app/main/ui/settings/notifications.cljs:68 msgid "dashboard.settings.notifications.email-comments.partial" msgstr "Alleen vermeldingen en antwoorden" -#: src/app/main/ui/settings/notifications.cljs:83 +#: src/app/main/ui/settings/notifications.cljs:64 msgid "dashboard.settings.notifications.email-comments.title" msgstr "Commentaar bij bestand" -#: src/app/main/ui/settings/notifications.cljs:95 +#: src/app/main/ui/settings/notifications.cljs:76 msgid "dashboard.settings.notifications.email-invites.all" msgstr "Alle soorten uitnodigingen en verzoeken" -#: src/app/main/ui/settings/notifications.cljs:98 +#: src/app/main/ui/settings/notifications.cljs:79 msgid "dashboard.settings.notifications.email-invites.none" msgstr "Geen" -#: src/app/main/ui/settings/notifications.cljs:92 +#: src/app/main/ui/settings/notifications.cljs:73 msgid "dashboard.settings.notifications.email-invites.title" msgstr "Uitnodigingen en verzoeken" -#: src/app/main/ui/settings/notifications.cljs:82 +#: src/app/main/ui/settings/notifications.cljs:63 msgid "dashboard.settings.notifications.email.title" msgstr "E-mail meldingen" -#: src/app/main/ui/settings/notifications.cljs:103 +#: src/app/main/ui/settings/notifications.cljs:84 msgid "dashboard.settings.notifications.submit" msgstr "Instellingen bijwerken" -#: src/app/main/ui/settings/notifications.cljs:71 +#: src/app/main/ui/settings/notifications.cljs:52 msgid "dashboard.settings.notifications.title" msgstr "Meldingen" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Alle bestanden tonen" @@ -967,7 +970,7 @@ msgstr[1] "Je bestanden zijn succesvol gedupliceerd" msgid "dashboard.success-duplicate-project" msgstr "Je project is succesvol gedupliceerd" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Je bestand is succesvol verplaatst" @@ -1011,15 +1014,15 @@ msgstr "Publicatie Bibliotheek ongedaan maken" msgid "dashboard.update-settings" msgstr "Instellingen bijwerken" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "Onbeperkte creativiteit" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Penpot Free" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "Power up" @@ -1078,7 +1081,7 @@ msgstr "E-mail" msgid "dashboard.your-name" msgstr "Naam" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Jouw Penpot" @@ -1098,11 +1101,11 @@ msgstr "Componenten bijwerken:" msgid "ds.confirm-allow" msgstr "Toestaan" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Annuleren" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Oké" @@ -1114,7 +1117,7 @@ msgstr "Weet je het zeker?" msgid "errors.auth-provider-not-allowed" msgstr "Auth-provider is niet toegestaan voor dit profiel" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Authenticatie-provider niet geconfigureerd." @@ -1124,11 +1127,11 @@ msgstr "" "Het lijkt erop dat je niet geauthentiseerd bent of dat de sessie is " "verlopen." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Het lettertype %s kon niet geladen worden" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "De lettertypen %s konden niet geladen worden" @@ -1136,7 +1139,7 @@ msgstr "De lettertypen %s konden niet geladen worden" msgid "errors.cannot-upload" msgstr "Kan het mediabestand niet uploaden." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Je browser kan deze functie niet uitvoeren" @@ -1148,7 +1151,7 @@ msgstr "E-mail is al in gebruik" msgid "errors.email-already-validated" msgstr "E-mail is al gevalideerd." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Je kan je e-mail niet als wachtwoord gebruiken" @@ -1197,7 +1200,7 @@ msgstr "" "moeten migraties voor '%s' worden toegepast voordat het bestand kan worden " "geopend." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Er ging iets mis." @@ -1210,8 +1213,7 @@ msgstr "Ongeldige kleur" msgid "errors.invalid-email" msgstr "Voer een geldig e-mailadres in" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Bevestigingsmail moet overeenkomen" @@ -1227,7 +1229,7 @@ msgstr "Uitnodiging ongeldig" msgid "errors.invite-invalid.info" msgstr "Deze uitnodiging is mogelijk geannuleerd of verlopen." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP-authenticatie is uitgeschakeld." @@ -1279,7 +1281,7 @@ msgstr "Wachtwoord moet minimaal 8 tekens lang zijn" msgid "errors.paste-data-validation" msgstr "Ongeldige gegevens op klembord" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Het profiel is geblokkeerd" @@ -1355,12 +1357,11 @@ msgstr "Onverwachte fout bij het valideren" msgid "errors.webhooks.unexpected-status" msgstr "Onverwachte status %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "E-mailadres of wachtwoord is incorrect." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Huidige wachtwoord is onjuist" @@ -1408,11 +1409,11 @@ msgstr "Hier om te helpen met je technische vragen." msgid "feedback.twitter-title" msgstr "X-ondersteuningsaccount" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "er is een fout opgetreden" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Vervagen" @@ -1420,31 +1421,31 @@ msgstr "Vervagen" msgid "inspect.attributes.blur.value" msgstr "Waarde" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Vullen" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Bronafbeelding downloaden" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Hoogte" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Breedte" @@ -1483,15 +1484,15 @@ msgstr "Top" msgid "inspect.attributes.layout.width" msgstr "Breedte" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Schaduw" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Grootte en positie" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Streek" @@ -1528,143 +1529,143 @@ msgstr "Solide" msgid "inspect.attributes.stroke.width" msgstr "Breedte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Typografie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Lettertype-familie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Lettergrootte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Lettertype-stijl" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Lettertype dikte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Letterafstand" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Regelafstand" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Tekst decoratie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Geen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Doorhalen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Onderstrepen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Teksttransformatie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Kleine letters" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Geen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Beginhoofdletters" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Uitschakelen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "HOOFDLETTERS" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Als je meer wilt weten over ontwerpinspectie, ga dan naar het helpcentrum " "van Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Meer info over inspecteren" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Selecteer een vorm, bord of groep om hun eigenschappen en code te " "inspecteren" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Code" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Cirkel" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Component" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Kromme" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Bord" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Groep" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Afbeelding" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Masker" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Geselecteerd" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Pad" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rechthoek" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Tekst" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Informatie" @@ -1684,15 +1685,15 @@ msgstr "Toegangsbewijzen" msgid "labels.active" msgstr "Actief" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Toevoegen" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Eigen lettertype toevoegen" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Toevoegen…" @@ -1704,7 +1705,7 @@ msgstr "Admin" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Alles" @@ -1726,7 +1727,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Bad Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Annuleren" @@ -1734,27 +1735,27 @@ msgstr "Annuleren" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Sluiten" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Samenvouwen" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Commentaar" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Markeren als opgelost" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Commentaar" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Gemeenschap" @@ -1762,7 +1763,7 @@ msgstr "Gemeenschap" msgid "labels.confirm-password" msgstr "Wachtwoord bevestigen" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Doorgaan" @@ -1782,7 +1783,7 @@ msgstr "Link kopiëren" msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Aanmaken" @@ -1802,15 +1803,15 @@ msgstr "Eigen lettertypen" msgid "labels.dashboard" msgstr "Dashboard" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Verwijderen" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Commentaar verwijderen" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Thread verwijderen" @@ -1830,15 +1831,15 @@ msgstr "Ontwikkeling" msgid "labels.director" msgstr "Directeur" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Weggooien" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Concepten" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Bewerken" @@ -1848,7 +1849,7 @@ msgstr "Bestand bewerken" #: src/app/main/ui/dashboard/team.cljs:126, src/app/main/ui/dashboard/team.cljs:310, src/app/main/ui/dashboard/team.cljs:555, src/app/main/ui/dashboard/team.cljs:588, src/app/main/ui/onboarding/team_choice.cljs:65 msgid "labels.editor" -msgstr "Editor" +msgstr "Redacteur" #: src/app/main/ui/onboarding/questions.cljs:404 msgid "labels.event" @@ -1858,7 +1859,7 @@ msgstr "Evenement" msgid "labels.expired-invitation" msgstr "Verlopen" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exporteren" @@ -1874,7 +1875,7 @@ msgstr "Feedback verstuurd" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Lettertype-familie" @@ -1882,11 +1883,11 @@ msgstr "Lettertype-familie" msgid "labels.font-providers" msgstr "Lettertypeaanbieders" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Stijlen" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Lettertypen" @@ -1898,11 +1899,11 @@ msgstr "CEO of oprichter" msgid "labels.freelancer" msgstr "Ik ben een freelancer" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "GitHub-repository" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Geef feedback" @@ -1914,15 +1915,15 @@ msgstr "Ga terug" msgid "labels.graphic-design" msgstr "Grafisch ontwerp" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Helpcentrum" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Verwerkt commentaar verbergen" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:355 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 msgid "labels.import" msgstr "Importeren" @@ -1930,7 +1931,7 @@ msgstr "Importeren" msgid "labels.inactive" msgstr "Inactief" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Geïnstalleerde lettertypen" @@ -1956,11 +1957,11 @@ msgstr "Uitnodigingen" msgid "labels.language" msgstr "Taal" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Bibliotheken en sjablonen" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Laden…" @@ -1972,7 +1973,7 @@ msgstr "Log in of meld je aan" msgid "labels.login" msgstr "Inloggen" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Uitloggen" @@ -1992,11 +1993,11 @@ msgstr "Leden" msgid "labels.new-password" msgstr "Nieuw wachtwoord" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Volgende" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Je bent helemaal bij! Nieuwe commentaarmeldingen verschijnen hier." @@ -2024,7 +2025,7 @@ msgstr "Oeps!" msgid "labels.notifications" msgstr "Meldingen" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 bestand" @@ -2055,7 +2056,7 @@ msgstr "Huidig wachtwoord" msgid "labels.only-yours" msgstr "Alleen van jou" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Opties" @@ -2083,7 +2084,7 @@ msgstr "Wachtwoord" msgid "labels.pending-invitation" msgstr "In behandeling" -#: src/app/main/ui/comments.cljs:657, src/app/main/ui/comments.cljs:690, src/app/main/ui/comments.cljs:759 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "Verzenden" @@ -2107,7 +2108,7 @@ msgstr "Profiel" msgid "labels.projects" msgstr "Projecten" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Release-opmerkingen" @@ -2125,7 +2126,7 @@ msgstr "Verwijderen" msgid "labels.remove-member" msgstr "Lid verwijderen" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Hernoemen" @@ -2133,23 +2134,23 @@ msgstr "Hernoemen" msgid "labels.rename-team" msgstr "Team hernoemen" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "reacties" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "nieuwe reacties" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "reactie" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "nieuwe reactie" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Reageren" @@ -2169,15 +2170,15 @@ msgstr "Opnieuw proberen" msgid "labels.role" msgstr "Rol" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Opslaan" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Zoeken" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Lettertype zoeken" @@ -2201,7 +2202,7 @@ msgstr "We zijn bezig met onderhoud van onze systemen." msgid "labels.service-unavailable.main-message" msgstr "Service niet beschikbaar" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "Verzamelingen" @@ -2221,19 +2222,19 @@ msgstr "Prototype delen" msgid "labels.shared-libraries" msgstr "Bibliotheek" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Alle commentaar tonen" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Commentaarlijst tonen" -#: src/app/main/ui/workspace/comments.cljs:66, src/app/main/ui/workspace/comments.cljs:136 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-mentions" msgstr "Alleen jouw vermeldingen weergeven" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Alleen eigen commentaar tonen" @@ -2261,11 +2262,11 @@ msgstr "Teamleider" msgid "labels.team-member" msgstr "Teamlid" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Thema's" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Introductie" @@ -2281,15 +2282,15 @@ msgstr "Bijwerken" msgid "labels.update-team" msgstr "Team bijwerken" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Uploaden" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Eigen lettertypen uploaden" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Uploaden…" @@ -2305,7 +2306,7 @@ msgstr "Kijker" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Nieuw commentaar toevoegen" @@ -2313,7 +2314,7 @@ msgstr "Nieuw commentaar toevoegen" msgid "labels.you" msgstr "(jij)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Jouw account" @@ -2321,23 +2322,23 @@ msgstr "Jouw account" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Afbeelding kiezen" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Verloop" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Afbeelding" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Verhoudingen behouden" @@ -2355,7 +2356,7 @@ msgstr "Afbeelding laden…" msgid "media.radial" msgstr "Radiaal" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Solide" @@ -2407,7 +2408,7 @@ msgstr "E-mailadres wijzigen" msgid "modals.change-email.title" msgstr "Je e-mailadres wijzigen" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Toegangsbewijs kopiëren" @@ -2423,7 +2424,7 @@ msgstr "Naam" msgid "modals.create-access-token.name.placeholder" msgstr "De naam helpt je te onthouden waar het toegangsbewijs voor is" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Toegangsbewijs aanmaken" @@ -2447,15 +2448,15 @@ msgstr "Payload-URL" msgid "modals.create-webhook.url.placeholder" msgstr "https://voorbeeld.nl/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Toegangsbewijs verwijderen" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Weet je zeker dat je dit toegangsbewijs wilt verwijderen?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Toegangsbewijs verwijderen" @@ -2477,25 +2478,25 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Weet je zeker dat je je account wilt verwijderen?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Gesprek verwijderen" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Weet je zeker dat je dit gesprek wilt verwijderen? Alle reacties in deze " "thread worden verwijderd." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Gesprek verwijderen" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Weet je zeker dat je deze aantekening wilt verwijderen?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Aantekening verwijderen" @@ -2523,31 +2524,31 @@ msgstr "Weet je zeker dat je %s bestanden wilt verwijderen?" msgid "modals.delete-file-multi-confirm.title" msgstr "Verwijderen van %s bestanden" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Weet je zeker dat je deze lettertypestijl wilt verwijderen? Het wordt dan " "niet meer geladen als het in een bestand wordt gebruikt." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Lettertypestijl verwijderen" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Weet je zeker dat je dit lettertype wilt verwijderen? Het wordt dan niet " "meer geladen als het in een bestand wordt gebruikt." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Lettertype verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Weet je zeker dat je deze pagina wilt verwijderen?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Pagina verwijderen" @@ -2761,15 +2762,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Nieuwe teameigenaar" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publiceren" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Je bibliotheek is leeg. Weet je zeker dat je het wilt publiceren?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Lege bibliotheek publiceren" @@ -2828,22 +2829,22 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Componenten in een gedeelde bibliotheek bijwerken" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Bijwerken" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Annuleren" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Je staat op het punt een component in een gedeelde bibliotheek bij te " "werken. Dit kan van invloed zijn op andere bestanden die er gebruik van " "maken." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Component in een gedeelde bibliotheek bijwerken" @@ -3011,27 +3012,27 @@ msgstr "Video-introducties" msgid "onboarding-v2.before-start.title" msgstr "Voordat je begint" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Abonneer je op de Penpot-nieuwsbrief om op de hoogte te blijven van de " "voortgang van de productontwikkeling en nieuws." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "Stuur mij nieuws over Penpot (blogposts, video-introducties, streamings…)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Wij geven om privacy, lees hier onze " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "We sturen je alleen relevante e-mails. Je kunt je op elk moment afmelden " "via de afmeldlink in al onze nieuwsbrieven." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Stuur mij productnieuws (nieuwe functies, releases, correcties…)." @@ -3129,17 +3130,17 @@ msgstr "Je kunt later een team samenstellen." msgid "onboarding.newsletter.accept" msgstr "Ja, abonneren" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Je inschrijvingsverzoek is verzonden, wij sturen je een e-mail ter " "bevestiging." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Privacybeleid." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Wil je Penpot-nieuws ontvangen?" @@ -3332,7 +3333,7 @@ msgstr "Ga naar inlogscherm" msgid "settings.detach" msgstr "Ontkoppelen" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Gemixt" @@ -3530,7 +3531,7 @@ msgstr "Nieuw project aanmaken" msgid "shortcuts.cut" msgstr "Knippen" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Uitzoomen" @@ -3630,7 +3631,7 @@ msgstr "Horizontaal verdelen" msgid "shortcuts.hide-ui" msgstr "UI tonen/verbergen" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Inzoomen" @@ -4014,15 +4015,15 @@ msgstr "Zoomen naar selectie" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Lettertypeaanbieders - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Lettertypen - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projecten - %s - Penpot" @@ -4030,7 +4031,7 @@ msgstr "Projecten - %s - Penpot" msgid "title.dashboard.search" msgstr "Zoeken - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Gedeelde bibliotheken - %s - Penpot" @@ -4038,7 +4039,7 @@ msgstr "Gedeelde bibliotheken - %s - Penpot" msgid "title.default" msgstr "Penpot - Ontwerpvrijheid voor teams" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profiel - Toegangsbewijzen" @@ -4046,7 +4047,7 @@ msgstr "Profiel - Toegangsbewijzen" msgid "title.settings.feedback" msgstr "Feedback geven - Penpot" -#: src/app/main/ui/settings/notifications.cljs:64 +#: src/app/main/ui/settings/notifications.cljs:45 msgid "title.settings.notifications" msgstr "Meldingen - Penpot" @@ -4082,7 +4083,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - Weergavemodus - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -4182,7 +4183,7 @@ msgstr "Verticaal verdelen (%s)" msgid "workspace.align.vtop" msgstr "Bovenkant uitlijnen (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Bibliotheek toevoegen" @@ -4191,11 +4192,11 @@ msgstr "Bibliotheek toevoegen" msgid "workspace.assets.assets" msgstr "Assets" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Alle assets" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Kleuren" @@ -4203,11 +4204,11 @@ msgstr "Kleuren" msgid "workspace.assets.colors.add-color" msgstr "Kleur toevoegen" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Componenten" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Component toevoegen" @@ -4219,15 +4220,15 @@ msgstr "Groep aanmaken" msgid "workspace.assets.create-group-hint" msgstr "Je items krijgen automatisch de naam \"groepsnaam / itemnaam\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Dupliceren" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Hoofdcomponent dupliceren" @@ -4235,19 +4236,19 @@ msgstr "Hoofdcomponent dupliceren" msgid "workspace.assets.edit" msgstr "Bewerken" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filteren" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Graphics" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Rasterweergave" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Groeperen" @@ -4255,27 +4256,23 @@ msgstr "Groeperen" msgid "workspace.assets.group-name" msgstr "Groepsnaam" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Bibliotheken" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Lijstweergave" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "Lokale bibliotheek" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Geen assets gevonden" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Open Bibliotheek-bestand" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Hernoemen" @@ -4283,7 +4280,7 @@ msgstr "Hernoemen" msgid "workspace.assets.rename-group" msgstr "Groep hernoemen" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Assets zoeken" @@ -4299,17 +4296,17 @@ msgstr[1] "%s items geselecteerd" msgid "workspace.assets.shared-library" msgstr "Gedeelde bibliotheek" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 component" msgstr[1] "%s componenten" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Sorteren" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Typografie" @@ -4322,27 +4319,27 @@ msgstr "Typografie toevoegen" msgid "workspace.assets.typography.font-id" msgstr "Lettertype" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Grootte" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variant" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Ga naar het stijl-bibliotheekbestand om te bewerken" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Letterafstand" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Regelafstand" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4350,7 +4347,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Tekststijlen" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Tekst transformeren" @@ -4358,55 +4355,55 @@ msgstr "Tekst transformeren" msgid "workspace.assets.ungroup" msgstr "Groep opheffen" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Gebied aanmaken" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Bord aanmaken" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Cellen samenvoegen" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Rechts 1 kolom toevoegen" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Links 1 kolom toevoegen" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Kolom verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Kolom en vormen verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Kolom dupliceren" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Onder 1 rij toevoegen" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Boven 1 rij toevoegen" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Rij verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Rij en vormen verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Rij dupliceren" @@ -4414,11 +4411,11 @@ msgstr "Rij dupliceren" msgid "workspace.focus.focus-mode" msgstr "Focusmodus" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Focus uit" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Focus aan" @@ -4576,37 +4573,36 @@ msgstr "Licht thema inschakelen" msgid "workspace.header.menu.undo" msgstr "Ongedaan maken" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Herstellen" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Fout tijdens opslaan" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Opgeslagen" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Opslaan" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Delen" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Niet-opgeslagen wijzigingen" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Weergavemodus (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zoomen" @@ -4618,7 +4614,7 @@ msgstr "Vullen - Schalen om te vullen" msgid "workspace.header.zoom-fit" msgstr "Passend maken - Verkleinen om te passen" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Passend zoomen" @@ -4626,19 +4622,19 @@ msgstr "Passend zoomen" msgid "workspace.header.zoom-full-screen" msgstr "Volledig scherm" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Naar selectie zoomen" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Raster bewerken" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Sluiten" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "4-zijdige opvulopties weergeven" @@ -4654,7 +4650,7 @@ msgstr "Klaar" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Lokaliseren" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Raster-layout tonen" @@ -4663,7 +4659,7 @@ msgstr "Raster-layout tonen" msgid "workspace.libraries.add" msgstr "Toevoegen" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s kleuren" @@ -4693,43 +4689,43 @@ msgstr "Recente kleuren" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Complementair" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Kleurstijl opslaan" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s componenten" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "Of voeg er enkele toe om te proberen:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "Er zijn geen Gedeelde Bibliotheken bij jouw team, je kunt zoeken naar" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "enkele sjablonen hier" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Bestandsbibliotheek" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s afbeeldingen" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTHEKEN IN DIT BESTAND" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTHEKEN" @@ -4738,71 +4734,64 @@ msgstr "BIBLIOTHEKEN" msgid "workspace.libraries.library" msgstr "BIBLIOTHEEK" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "BIBLIOTHEEK-UPDATES" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Laden…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "Je kun hier " -#: src/app/main/ui/workspace/libraries.cljs:391 -msgid "workspace.libraries.more-templates-link" -msgstr "meer sjablonen zoeken" - -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Er zijn geen gedeelde bibliotheken die moeten worden bijgewerkt" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Geen resultaten gevonden voor “%s“" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Er zijn geen gedeelde bibliotheken beschikbaar" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Gedeelde bibliotheken zoeken" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "GEDEELDE BIBLIOTHEKEN" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Bibliotheek verbinden" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Meervoudige typografie" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Alle typografie ontkoppelen" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s typografie" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Bibliotheekverbinding verbreken" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Bijwerken" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "alle wijzigingen bekijken" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "UPDATES" @@ -4834,43 +4823,43 @@ msgstr "Selectie vervagen" msgid "workspace.options.blur-options.toggle-blur" msgstr "Vervaging wisselen" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Canvasachtergrond" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Content bijsnijden" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Component" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Aantekening" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Kopiëren" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Aantekening maken" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Aantekening bewerken" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Hoofd" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Component uitwisselen" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "Er zijn nog geen assets in deze bibliotheek" @@ -4918,7 +4907,7 @@ msgstr "Boven- en onderkant" msgid "workspace.options.design" msgstr "Ontwerp" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exporteren" @@ -4927,21 +4916,21 @@ msgstr "Exporteren" msgid "workspace.options.export-multiple" msgstr "Selectie exporteren" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "1 Element exporteren" msgstr[1] "%s Elementen exporteren" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "Export toevoegen" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "Export verwijderen" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Achtervoegsel" @@ -4949,7 +4938,7 @@ msgstr "Achtervoegsel" msgid "workspace.options.exporting-complete" msgstr "Export klaar" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Exporteren…" @@ -4973,6 +4962,10 @@ msgstr "Vulkleur toevoegen" msgid "workspace.options.fill.remove-fill" msgstr "Vulling verwijderen" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "Grootte van bord aanpassen aan inhoud" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "Stroomdiagram-startpunt toevoegen" @@ -5111,7 +5104,7 @@ msgstr "Hulplijnen" msgid "workspace.options.guides.toggle-guide" msgstr "Hulplijn wisselen" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Hoogte" @@ -5434,19 +5427,19 @@ msgstr "Laagzichtbaarheid wisselen" msgid "workspace.options.layout-item.advanced-ops" msgstr "Geavanceerde opties" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Max.Hoogte" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Max.Breedte" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Min.Hoogte" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Min.Breedte" @@ -5560,11 +5553,11 @@ msgstr "ruimte tussen" msgid "workspace.options.layout.top" msgstr "Bovenkant" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Meer kleuren" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Meer bibliotheekkleuren" @@ -5609,7 +5602,7 @@ msgstr "Onafhankelijke radius inklappen" msgid "workspace.options.radius.show-single-corners" msgstr "Onafhankelijke radius weergeven" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Recent" @@ -5617,11 +5610,11 @@ msgstr "Recent" msgid "workspace.options.retry" msgstr "Opnieuw proberen" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotatie" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Lettertype zoeken" @@ -5631,7 +5624,7 @@ msgstr "" "Selecteer een vorm, bord of groep om d.m.v. slepen een verbinding met een " "ander bord te maken." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Geselecteerde kleuren" @@ -5643,55 +5636,55 @@ msgstr "Selectie vullen" msgid "workspace.options.selection-stroke" msgstr "Selectie-streek" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "Schaduw toevoegen" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Vervagen" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Schaduwkleur" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Slagschaduw" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Schaduw naar binnen" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "Schaduw verwijderen" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Spreiding" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Schaduw" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Groep voorzien van schaduw" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Selectie voorzien van schaduw" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:176 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 msgid "workspace.options.shadow-options.toggle-shadow" msgstr "Schaduw wisselen" @@ -5699,7 +5692,7 @@ msgstr "Schaduw wisselen" msgid "workspace.options.show-fill-on-export" msgstr "In exports tonen" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "In weergavemodus tonen" @@ -5707,7 +5700,7 @@ msgstr "In weergavemodus tonen" msgid "workspace.options.size" msgstr "Grootte" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Groottevoorinstellingen" @@ -5776,7 +5769,7 @@ msgstr "Driehoek" msgid "workspace.options.stroke-color" msgstr "Streekkleur" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Streekdikte" @@ -5848,11 +5841,11 @@ msgstr "Automatische breedte" msgid "workspace.options.text-options.grow-fixed" msgstr "Vast" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Letterafstand" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Regelafstand" @@ -5916,15 +5909,15 @@ msgstr "HOOFDLETTERS" msgid "workspace.options.use-play-button" msgstr "Gebruik de afspeelknop in de koptekst om de prototypeweergave uit te voeren." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Breedte" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X-as" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y-as" @@ -6102,123 +6095,127 @@ msgstr "PLUG-IN '%s' IS GEÏNSTALLEERD VOOR JE GEBRUIKER!" msgid "workspace.plugins.try-out.try" msgstr "PLUG-IN UITPROBEREN" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Flex-indeling toevoegen" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Rasterindeling toevoegen" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Lay-out toevoegen" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Naar achtergrond verplaatsen" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Naar achteren verplaatsen" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Kopiëren" -#: src/app/main/ui/workspace/context_menu.cljs:203 +#: src/app/main/ui/workspace/context_menu.cljs:204 msgid "workspace.shape.menu.copy-css" msgstr "Kopiëren als CSS" -#: src/app/main/ui/workspace/context_menu.cljs:205 +#: src/app/main/ui/workspace/context_menu.cljs:206 msgid "workspace.shape.menu.copy-css-nested" msgstr "Copy as CSS (geneste lagen)" -#: src/app/main/ui/workspace/context_menu.cljs:188 +#: src/app/main/ui/workspace/context_menu.cljs:189 msgid "workspace.shape.menu.copy-link" msgstr "Link kopiëren naar klembord" -#: src/app/main/ui/workspace/context_menu.cljs:201 +#: src/app/main/ui/workspace/context_menu.cljs:202 msgid "workspace.shape.menu.copy-paste-as" msgstr "Kopiëren/plakken als…" -#: src/app/main/ui/workspace/context_menu.cljs:213 +#: src/app/main/ui/workspace/context_menu.cljs:214 msgid "workspace.shape.menu.copy-props" msgstr "Eigenschappen kopiëren" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Kopiëren als tekst" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Aantekening maken" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Selectie naar bord" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Component aanmaken" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Meerdere componenten aanmaken" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Knippen" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Stroomdiagram-start verwijderen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Instantie losmaken" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Instanties losmaken" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Verschil" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Dupliceren" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Bewerken" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Uitsluiten" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Afvlakken" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Horizontaal spiegelen" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Verticaal spiegelen" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Stroomdiagram-start" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Naar voren brengen" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Naar voorgrond brengen" @@ -6227,107 +6224,107 @@ msgstr "Naar voorgrond brengen" msgid "workspace.shape.menu.go-main" msgstr "Ga naar hoofdcomponent" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Groep" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Verbergen" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Gebruikersinterface tonen/verbergen" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Kruispunt" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Vergrendelen" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Masker" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Plakken" -#: src/app/main/ui/workspace/context_menu.cljs:217 +#: src/app/main/ui/workspace/context_menu.cljs:218 msgid "workspace.shape.menu.paste-props" msgstr "Eigenschappen plekken" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Pad" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Flex-indeling verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Raster-layout verwijderen" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Lay-out verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Naam wijzigen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Overschrijvingen opnieuw instellen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Hoofdcomponent herstellen" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Laag selecteren" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Tonen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "In paneel Assets tonen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Hoofdcomponent tonen" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Miniatuur verwijderen" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Instellen als miniatuur" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transformeren naar pad" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Groep opheffen" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Vereniging" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Ontgrendelen" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Masker wegnemen" @@ -6336,7 +6333,7 @@ msgstr "Masker wegnemen" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Hoofdcomponenten bijwerken" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Hoofdcomponent bijwerken" @@ -6348,11 +6345,11 @@ msgstr "Zijbalk inklappen" msgid "workspace.sidebar.expand" msgstr "Zijbalk uitklappen" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Geschiedenis" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Lagen" @@ -6388,7 +6385,7 @@ msgstr "Vormen" msgid "workspace.sidebar.layers.texts" msgstr "Teksten" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Geïmporteerde SVG-kenmerken" @@ -6400,7 +6397,7 @@ msgstr "Pagina's" msgid "workspace.sidebar.sitemap.add-page" msgstr "Pagina toevoegen" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Sitemap" @@ -6418,43 +6415,43 @@ msgstr "%s actieve thema's" msgid "workspace.token.add set" msgstr "Verzameling toevoegen" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Toegepast op" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 msgid "workspace.token.back-to-themes" msgstr "Terug naar themalijst" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 msgid "workspace.token.create-new-theme" msgstr "Maak nu je eerste thema aan." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 msgid "workspace.token.create-one" msgstr "Maak er een aan." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 -msgid "workspace.token.create-theme-title" -msgstr "Thema aanmaken" - -#: src/app/main/ui/workspace/tokens/form.cljs:431 +#: src/app/main/ui/workspace/tokens/form.cljs:492 msgid "workspace.token.create-token" msgstr "Nieuw %s token aanmaken" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:228 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 msgid "workspace.token.delete" msgstr "Token verwijderen" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "Thema verwijderen" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:225 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 msgid "workspace.token.duplicate" msgstr "Token dupliceren" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:212 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 msgid "workspace.token.edit" msgstr "Token bewerken" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Thema bewerken" @@ -6462,15 +6459,15 @@ msgstr "Thema bewerken" msgid "workspace.token.edit-themes" msgstr "Thema's bewerken" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Token bewerken" -#: src/app/main/ui/workspace/tokens/form.cljs:481 +#: src/app/main/ui/workspace/tokens/form.cljs:544 msgid "workspace.token.enter-token-description" msgstr "Voeg een beschrijving toe (optioneel)" -#: src/app/main/ui/workspace/tokens/form.cljs:437 +#: src/app/main/ui/workspace/tokens/form.cljs:498 msgid "workspace.token.enter-token-name" msgstr "Voer de tokennaam %s in" @@ -6479,88 +6476,112 @@ msgstr "Voer de tokennaam %s in" msgid "workspace.token.grouping-set-alert" msgstr "Groepering van tokenverzamelingen is nog niet ondersteund." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:56 -msgid "workspace.token.new-theme" -msgstr "Nieuw thema" +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "Groep" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "Thema" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 msgid "workspace.token.no-active-theme" msgstr "Geen thema actief" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:146 -msgid "workspace.token.no-sets" -msgstr "Geen verzamelingen" +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "Je moet een redacteur zijn om verzamelingen in/uit te schakelen" -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "Je moet een redacteur zijn om thema's te gebruiken" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "Er zijn nog geen verzamelingen gedefinieerd. Maak er eerst een aan." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:215, src/app/main/ui/workspace/tokens/sidebar.cljs:221 +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 msgid "workspace.token.no-sets-yet" msgstr "Er zijn nog geen verzamelingen." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "Er zijn geen thema's." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "Je hebt momenteel geen thema's." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 -msgid "workspace.token.num-sets" -msgstr "%s verzamelingen" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" -msgstr "Oorspronkelijke waarde: " +msgstr "Oorspronkelijke waarde: %s" -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "Referentie is niet geldig of zit niet in een actieve verzameling" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" -msgstr "Besloten waarde: " +msgstr "Besloten waarde: %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Thema opslaan" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "Verzameling kiezen." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "" "Bepaal welke tokenverzamelingen moeten worden gebruikt als onderdeel van " "deze thema-optie:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Thema %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 -msgid "workspace.token.themes" -msgstr "Thema's" - -#: src/app/main/ui/workspace/tokens/form.cljs:482 +#: src/app/main/ui/workspace/tokens/form.cljs:545 msgid "workspace.token.token-description" msgstr "Beschrijving" -#: src/app/main/ui/workspace/tokens/form.cljs:440 +#: src/app/main/ui/workspace/tokens/form.cljs:501 msgid "workspace.token.token-name" msgstr "Naam" -#: src/app/main/ui/workspace/tokens/form.cljs:464 +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" is geen geldige tokennaam.\n" +"Tokennamen mogen alleen letters en cijfers bevatten, gescheiden door . " +"(punt) en mogen niet beginnen met een $." + +#: src/app/main/ui/workspace/tokens/form.cljs:526 msgid "workspace.token.token-value" msgstr "Waarde" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:348 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "TOKENS - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 msgid "workspace.token.tools" msgstr "Hulpmiddelen" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "Ongeldige waarde" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "" +"Met het wijzigen van de naam van dit token, worden alle verwijzingen naar " +"de oude naam verbroken." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Assets" @@ -6568,39 +6589,39 @@ msgstr "Assets" msgid "workspace.toolbar.color-palette" msgstr "Kleurenpalet (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Commentaar (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Kromme (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Ellips (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Bord (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Afbeelding (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Verplaatsen (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Pad (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Plug-ins (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rechthoek (%s)" @@ -6609,7 +6630,7 @@ msgstr "Rechthoek (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Sneltoetsen (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Tekst (%s)" @@ -6617,7 +6638,7 @@ msgstr "Tekst (%s)" msgid "workspace.toolbar.text-palette" msgstr "Typografie (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Werkbalk wisselen" @@ -6775,19 +6796,19 @@ msgstr "Voortgang van %s" msgid "workspace.undo.title" msgstr "Geschiedenis" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Afwijzen" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Meer info" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Er zijn updates in gedeelde bibliotheken" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Bijwerken" @@ -6847,11 +6868,11 @@ msgstr "Wil je deze versie herstellen?" msgid "workspace.versions.snapshot-menu" msgstr "Snapshot-menu openen" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "Acties" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "Geschiedenis" diff --git a/frontend/translations/pl.po b/frontend/translations/pl.po index b5f430542b..19d1de636e 100644 --- a/frontend/translations/pl.po +++ b/frontend/translations/pl.po @@ -35,13 +35,13 @@ msgstr "Utwórz konto demo" msgid "auth.create-demo-profile" msgstr "Chcesz tylko spróbować?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "To jest usługa DEMO, NIE UŻYWAJ jej do prawdziwej pracy, projekty będą " "okresowo usuwane." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Zapomniałeś hasła?" @@ -53,27 +53,27 @@ msgstr "Imię i nazwisko" msgid "auth.login-here" msgstr "Zaloguj się tutaj" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Zaloguj się" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "Gitlab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -97,7 +97,7 @@ msgstr "Link do odzyskiwania hasła został wysłany na Twój email." msgid "auth.notifications.team-invitation-accepted" msgstr "Pomyślnie dołączyłeś do zespołu" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Hasło" @@ -125,11 +125,11 @@ msgstr "Zapomniałeś hasła?" msgid "auth.recovery-submit" msgstr "Zmień hasło" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Nie masz jeszcze konta?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Utwórz konto" @@ -142,7 +142,7 @@ msgstr "Utwórz konto" msgid "auth.sidebar-tagline" msgstr "Rozwiązanie typu Open Source do projektowania i prototypowania." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Warunki świadczenia usług" @@ -150,7 +150,7 @@ msgstr "Warunki świadczenia usług" msgid "auth.verification-email-sent" msgstr "Wysłaliśmy email weryfikacyjny na adres" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Opublikuj" @@ -223,7 +223,7 @@ msgstr "Udostępnij prototypy" msgid "common.share-link.view-all" msgstr "Wybierz wszystko" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Cofnij publikację" @@ -279,7 +279,7 @@ msgstr "Dodaj jako Udostępnioną Bibliotekę" msgid "dashboard.change-email" msgstr "Zmień email" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(skopiuj)" @@ -401,26 +401,26 @@ msgstr "Uwzględnij zasoby bibliotek współdzielonych w bibliotekach plików" msgid "dashboard.export.title" msgstr "Eksportuj pliki" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Czcionka usunięta" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Odrzuć wszystko" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Niestandardowe czcionki, które prześlesz, pojawią się tutaj." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 czcionka dodana" msgstr[1] "%s czcionki dodane" msgstr[2] "%s czcionki dodane" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -430,21 +430,21 @@ msgstr "" "czcionek**. Możesz przesyłać czcionki w następujących formatach: **TTF, OTF " "i WOFF** (potrzebny będzie tylko jeden)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Powinieneś przesyłać tylko czcionki, których jesteś właścicielem lub " "posiadasz licencję na używanie w Penpot. Dowiedz się więcej w sekcji " -"dotyczącej praw do treści w [Warunkach świadczenia usług Penpot] " -"(%s). Możesz też przeczytać o [licencjonowaniu " +"dotyczącej praw do treści w [Warunkach świadczenia usług Penpot] (%s). " +"Możesz też przeczytać o [licencjonowaniu " "czcionek](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Prześlij wszystko" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importuj pliki Penpot" @@ -456,11 +456,11 @@ msgstr "Kurza stopa! Nie udało się zaimportować tego pliku" msgid "dashboard.import.import-error" msgstr "Podczas importowania pliku wystąpił problem. Plik nie został zaimportowany." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "%s plików zostało pomyślnie zaimportowanych." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Niektóre pliki zawierały nieprawidłowe obiekty, które zostały usunięte." @@ -500,27 +500,27 @@ msgstr "Zaproś ludzi" msgid "dashboard.leave-team" msgstr "Opuść zespół" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Biblioteki i szablony" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Poznaj więcej z nich i dowiedz się, jak pomóc" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Wystąpił problem z importem szablonu. Szablon nie został zaimportowany." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Biblioteki współdzielone" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "wczytywanie Twoich plików…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "wczytywanie Twoich czcionek…" @@ -536,11 +536,11 @@ msgstr "Przenieś %s pliki do" msgid "dashboard.move-to-other-team" msgstr "Przenieś do innego zespołu" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Nowy plik" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Nowy plik" @@ -548,7 +548,7 @@ msgstr "Nowy plik" msgid "dashboard.new-project" msgstr "+ Nowy projekt" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nowy projekt" @@ -580,7 +580,7 @@ msgstr "%s członków" msgid "dashboard.open-in-new-tab" msgstr "Otwórz plik w nowej zakładce" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opcje" @@ -625,7 +625,7 @@ msgstr "Wybierz język interfejsu" msgid "dashboard.select-ui-theme" msgstr "Wybierz temat" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Pokaż wszystkie pliki" @@ -637,7 +637,7 @@ msgstr "Twój projekt został pomyślnie usunięty" msgid "dashboard.success-duplicate-project" msgstr "Twój projekt został pomyślnie zduplikowany" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Twój plik został pomyślnie przeniesiony" @@ -732,7 +732,7 @@ msgstr "Email" msgid "dashboard.your-name" msgstr "Twoje imię" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Twój Penpot" @@ -748,11 +748,11 @@ msgstr "Uwaga" msgid "ds.component-subtitle" msgstr "Komponenty do aktualizacji:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Anuluj" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -760,7 +760,7 @@ msgstr "Ok" msgid "ds.confirm-title" msgstr "Jesteś pewien?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Dostawca uwierzytelniania nie został skonfigurowany." @@ -768,15 +768,15 @@ msgstr "Dostawca uwierzytelniania nie został skonfigurowany." msgid "errors.auth.unable-to-login" msgstr "Wygląda na to, że nie jesteś uwierzytelniony lub sesja wygasła." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Nie można załadować czcionki %s" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Nie można załadować czcionek %s" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Twoja przeglądarka nie może wykonać tej operacji" @@ -788,7 +788,7 @@ msgstr "Email jest już używany" msgid "errors.email-already-validated" msgstr "E-mail został już zweryfikowany." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Nie możesz użyć swojego adresu email jako hasła" @@ -810,7 +810,7 @@ msgstr "" msgid "errors.feature-not-supported" msgstr "Funkcja '%s' nie jest obsługiwana." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Coś poszło nie tak." @@ -823,8 +823,7 @@ msgstr "Nieprawidłowy kolor" msgid "errors.invalid-email" msgstr "Podaj prawidłowy adres e-mail" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "E-mail potwierdzający musi być zgodny" @@ -840,7 +839,7 @@ msgstr "Nieprawidłowe zaproszenie" msgid "errors.invite-invalid.info" msgstr "To zaproszenie może być anulowane lub wygasło." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Uwierzytelnianie LDAP jest wyłączone." @@ -876,7 +875,7 @@ msgstr "Hasło potwierdzające musi być zgodne" msgid "errors.password-too-short" msgstr "Hasło powinno zawierać co najmniej 8 znaków" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Profil jest zablokowany" @@ -942,12 +941,11 @@ msgstr "Nieoczekiwany błąd podczas sprawdzania poprawności" msgid "errors.webhooks.unexpected-status" msgstr "Nieoczekiwany status %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Email lub hasło są niepoprawne." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Stare hasło jest nieprawidłowe" @@ -995,11 +993,11 @@ msgstr "Służymy pomocą w kwestiach technicznych." msgid "feedback.twitter-title" msgstr "Konto wsparcia na Xze" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Wystąpił błąd" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Rozmycie" @@ -1007,31 +1005,31 @@ msgstr "Rozmycie" msgid "inspect.attributes.blur.value" msgstr "Wartość" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Wypełnienie" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Pobierz obraz źródłowy" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Wysokość" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Szerokość" @@ -1070,15 +1068,15 @@ msgstr "Góra" msgid "inspect.attributes.layout.width" msgstr "Szerokość" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Cień" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Rozmiar i położenie" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Obrys" @@ -1115,133 +1113,133 @@ msgstr "Ciągły" msgid "inspect.attributes.stroke.width" msgstr "Szerokość" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Typografia" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Rodzina czcionek" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Rozmiar czcionki" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Styl czcionki" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Rozstaw liter" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Wysokość linii" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Dekoracja tekstu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Brak" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Przekreślenie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Podkreślenie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Przekształcenie tekstu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "małe litery" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Brak" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Kapitaliki" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "DUŻE LITERY" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Jeśli chcesz dowiedzieć się więcej o inspekcji projektu, odwiedź centrum " "pomocy Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Więcej informacji o inspekcji" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Wybierz kształt, tablicę lub grupę, aby sprawdzić ich właściwości i kod" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kod" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Okrąg" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Komponent" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Krzywa" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Artboard" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grupa" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Obraz" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Maska" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s wybrano" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Ścieżka" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Prostokąt" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Tekst" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Informacje" @@ -1257,7 +1255,7 @@ msgstr "Akceptuj" msgid "labels.active" msgstr "Aktywny" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Dodaj niestandardową czcionkę" @@ -1265,7 +1263,7 @@ msgstr "Dodaj niestandardową czcionkę" msgid "labels.admin" msgstr "Admin" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Wszystko" @@ -1287,19 +1285,19 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Bad Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Anuluj" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Zamknij" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Komentarze" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Społeczność" @@ -1307,7 +1305,7 @@ msgstr "Społeczność" msgid "labels.confirm-password" msgstr "Potwierdź hasło" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Kontynuuj" @@ -1323,7 +1321,7 @@ msgstr "Możesz kontynuować z kontem Penpot" msgid "labels.copy-invitation-link" msgstr "Kopiuj link" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Stwórz" @@ -1343,15 +1341,15 @@ msgstr "Niestandardowe czcionki" msgid "labels.dashboard" msgstr "Kokpit" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Usuń" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Usuń komentarz" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Usuń wątek" @@ -1363,11 +1361,11 @@ msgstr "Usuń zaproszenie" msgid "labels.delete-multi-files" msgstr "Usuń %s plików" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Szkice" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Edytuj" @@ -1383,7 +1381,7 @@ msgstr "Edytor" msgid "labels.expired-invitation" msgstr "Wygasły" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Eksportuj" @@ -1395,7 +1393,7 @@ msgstr "Opinie wyłączone" msgid "labels.feedback-sent" msgstr "Opinia wysłana" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Rodzina czcionek" @@ -1403,19 +1401,19 @@ msgstr "Rodzina czcionek" msgid "labels.font-providers" msgstr "Dostawcy czcionek" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Style" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Czcionki" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Repozytorium Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Dodaj opinię" @@ -1423,11 +1421,11 @@ msgstr "Dodaj opinię" msgid "labels.go-back" msgstr "Wróć" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Centrum Pomocy" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Ukryj rozwiązane komentarze" @@ -1435,7 +1433,7 @@ msgstr "Ukryj rozwiązane komentarze" msgid "labels.inactive" msgstr "Nieaktywny" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Zainstalowane czcionki" @@ -1457,7 +1455,7 @@ msgstr "Zaproszenia" msgid "labels.language" msgstr "Język" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Biblioteki i szablony" @@ -1465,7 +1463,7 @@ msgstr "Biblioteki i szablony" msgid "labels.log-or-sign" msgstr "Zaloguj się lub zarejestruj" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Wyloguj" @@ -1481,7 +1479,7 @@ msgstr "Członkowie" msgid "labels.new-password" msgstr "Nowe hasło" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "" "Wszyscy jesteście na bieżąco! Tutaj będą pojawiać się powiadomienia o " @@ -1505,7 +1503,7 @@ msgstr "Ta strona może nie istnieć lub nie masz do niej uprawnień dostępu." msgid "labels.not-found.main-message" msgstr "Kurza stopa!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 plik" @@ -1559,7 +1557,7 @@ msgstr "Profil" msgid "labels.projects" msgstr "Projekty" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Uwagi do wydania" @@ -1577,7 +1575,7 @@ msgstr "Usuń" msgid "labels.remove-member" msgstr "Usuń członka zespołu" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Zmień nazwę" @@ -1597,11 +1595,11 @@ msgstr "Ponów" msgid "labels.role" msgstr "Rola" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Zapisz" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Szukaj czcionki" @@ -1633,15 +1631,15 @@ msgstr "Udostępnij prototyp" msgid "labels.shared-libraries" msgstr "Biblioteki Współdzielone" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Pokaż wszystkie komentarze" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Pokaż listę komentarzy" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Pokaż tylko swoje komentarze" @@ -1649,7 +1647,7 @@ msgstr "Pokaż tylko swoje komentarze" msgid "labels.status" msgstr "Status" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Samouczki" @@ -1665,15 +1663,15 @@ msgstr "Aktualizuj" msgid "labels.update-team" msgstr "Zaktualizuj zespół" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Wgraj" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Wgraj niestandardowe czcionki" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Wgrywanie…" @@ -1689,7 +1687,7 @@ msgstr "Widz" msgid "labels.webhooks" msgstr "Webhooki" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Napisz nowy komentarz" @@ -1697,7 +1695,7 @@ msgstr "Napisz nowy komentarz" msgid "labels.you" msgstr "(Ty)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Twoje konto" @@ -1777,17 +1775,17 @@ msgstr "Usuwając konto, stracisz wszystkie swoje bieżące i archiwalne projekt msgid "modals.delete-account.title" msgstr "Czy na pewno chcesz usunąć swoje konto?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Usuń rozmowę" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Czy na pewno chcesz usunąć tę rozmowę? Wszystkie komentarze w tym wątku " "zostaną usunięte." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Usuń rozmowę" @@ -1815,31 +1813,31 @@ msgstr "Czy na pewno chcesz usunąć %s pliki?" msgid "modals.delete-file-multi-confirm.title" msgstr "Usuwanie %s plików" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Czy na pewno chcesz usunąć ten styl czcionki? Nie zostanie załadowany, " "jeśli jest używany w pliku." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Usuwanie stylu czcionki" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Czy na pewno chcesz usunąć tę czcionkę? Nie zostanie załadowana, jeśli jest " "używana w pliku." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Usuwanie czcionki" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Czy na pewno chcesz usunąć tę stronę?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Usuń stronę" @@ -2058,21 +2056,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Aktualizuj komponenty w bibliotece współdzielonej" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Aktualizuj" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Anuluj" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Zamierzasz zaktualizować komponent w bibliotece współdzielonej. Może to " "wpłynąć na inne pliki, które z niego korzystają." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Zaktualizuj komponent w bibliotece współdzielonej" @@ -2127,30 +2125,30 @@ msgstr "Samouczki wideo" msgid "onboarding-v2.before-start.title" msgstr "Zanim zaczniesz" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Zapisz się do newslettera Penpot, aby być na bieżąco z postępami w rozwoju " "produktu i nowościami." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Wysyłaj mi wiadomości o Penpot (posty na blogach, samouczki wideo, " "transmisje na żywo...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Dbamy o prywatność, tutaj możesz przeczytać nasze " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Będziemy wysyłać do Ciebie tylko odpowiednie e-maile. Możesz zrezygnować z " "subskrypcji w dowolnym momencie, korzystając z łącza rezygnacji z " "subskrypcji w dowolnym z naszych biuletynów." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Wysyłaj mi aktualizacje produktów (nowe funkcje, wydania, poprawki...)." @@ -2212,17 +2210,17 @@ msgstr "Zaproś z rolą:" msgid "onboarding.newsletter.accept" msgstr "Tak, zasubskrybuj" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Twoja prośba o subskrypcję została wysłana, wyślemy Ci wiadomość email w " "celu jej potwierdzenia." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Polityka prywatności." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Chcesz otrzymywać informacje o Penpot?" @@ -2272,7 +2270,7 @@ msgstr "Penpot" msgid "profile.recovery.go-to-login" msgstr "Przejdź do logowania" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Mieszane" @@ -2442,7 +2440,7 @@ msgstr "Stwórz nowy" msgid "shortcuts.cut" msgstr "Wytnij" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Oddal" @@ -2534,7 +2532,7 @@ msgstr "Rozłóż w poziomie" msgid "shortcuts.hide-ui" msgstr "Pokaż/ukryj UI" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Przybliż" @@ -2818,15 +2816,15 @@ msgstr "Przybliż wybrane" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Dostawcy Czcionek - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Czcionki - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projekty - %s - Penpot" @@ -2834,7 +2832,7 @@ msgstr "Projekty - %s - Penpot" msgid "title.dashboard.search" msgstr "Szukaj - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Biblioteki Współdzielone - %s - Penpot" @@ -2878,7 +2876,7 @@ msgstr "Webhooki - %s - Penpot" msgid "title.viewer" msgstr "%s - Tryb wyświetlania - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -2983,15 +2981,15 @@ msgstr "Wyrównaj do góry (%s)" msgid "workspace.assets.assets" msgstr "Zasoby" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Wszystkie zasoby" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Kolory" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Komponenty" @@ -3005,11 +3003,11 @@ msgstr "" "Twoje elementy zostaną automatycznie nazwane jako „nazwa grupy / nazwa " "elementu”" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Usuń" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplikuj" @@ -3017,11 +3015,11 @@ msgstr "Duplikuj" msgid "workspace.assets.edit" msgstr "Edytuj" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafika" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Grupa" @@ -3029,19 +3027,15 @@ msgstr "Grupa" msgid "workspace.assets.group-name" msgstr "Nazwa grupy" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Biblioteki" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "lokalna biblioteka" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Nie znaleziono zasobów" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Zmień nazwę" @@ -3049,7 +3043,7 @@ msgstr "Zmień nazwę" msgid "workspace.assets.rename-group" msgstr "Zmień nazwę grupy" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Szukaj zasobów" @@ -3061,7 +3055,7 @@ msgstr[0] "Wybrano %s element" msgstr[1] "Wybrano %s elementy" msgstr[2] "Wybrano %s elementów" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Typografia" @@ -3074,27 +3068,27 @@ msgstr "" msgid "workspace.assets.typography.font-id" msgstr "Czcionka" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Rozmiar" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Wariant" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Przejdź do pliku biblioteki stylów, żeby edytować" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Odstępy między literami" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Wysokość Linii" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3102,7 +3096,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Style tekstu" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transformacja tekstu" @@ -3114,11 +3108,11 @@ msgstr "Rozgrupuj" msgid "workspace.focus.focus-mode" msgstr "Tryb skupienia" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Tryb skupienia wyłączony" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Tryb skupienia włączony" @@ -3232,29 +3226,28 @@ msgstr "Pokaż linijki" msgid "workspace.header.menu.show-textpalette" msgstr "Pokaż paletę czcionek" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Resetuj" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Błąd przy zapisywaniu" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Zapisano" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Zapisywanie" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Niezapisane zmiany" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Tryb widoku (%s)" @@ -3266,7 +3259,7 @@ msgstr "Wypełnij — skaluj, aby wypełnić" msgid "workspace.header.zoom-fit" msgstr "Dopasuj — zmniejsz, aby dopasować" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Powiększ, aby dopasować wszystko" @@ -3274,7 +3267,7 @@ msgstr "Powiększ, aby dopasować wszystko" msgid "workspace.header.zoom-full-screen" msgstr "Pełny ekran" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Powiększ wybrane" @@ -3283,7 +3276,7 @@ msgstr "Powiększ wybrane" msgid "workspace.libraries.add" msgstr "Dodaj" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s kolory" @@ -3305,31 +3298,31 @@ msgstr "Bieżące kolory" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB - Komplementarne" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Zapisz styl koloru" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s komponenty" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Biblioteka plików" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s grafiki" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTEKI W TYM PLIKU" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTEKI" @@ -3338,43 +3331,39 @@ msgstr "BIBLIOTEKI" msgid "workspace.libraries.library" msgstr "BIBLIOTEKA" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Nie ma Bibliotek Współdzielonych, które wymagają aktualizacji" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Nie znaleziono dopasowań dla “%s“" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Brak dostępnych Bibliotek Współdzielonych" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Przeszukaj Biblioteki Współdzielone" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "BIBLIOTEKI WSPÓŁDZIELONE" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Wiele typografii" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Odlinkuj wszystkie typografie" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s typografie" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Aktualizuj" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "AKTUALIZACJE" @@ -3394,15 +3383,15 @@ msgstr "Rozmycie grupowe" msgid "workspace.options.blur-options.title.multiple" msgstr "Rozmycie zaznaczenia" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Tło płótna" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Przytnij treść" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Komponent" @@ -3450,7 +3439,7 @@ msgstr "Góra i dół" msgid "workspace.options.design" msgstr "Projektowanie" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Eksport" @@ -3459,14 +3448,14 @@ msgstr "Eksport" msgid "workspace.options.export-multiple" msgstr "Eksportuj zaznaczone" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Eksportuj 1 element" msgstr[1] "Eksportuj %s elementy" msgstr[2] "Eksportuj %s elementów" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Przyrostek" @@ -3474,7 +3463,7 @@ msgstr "Przyrostek" msgid "workspace.options.exporting-complete" msgstr "Eksportowanie zakończone" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Eksportowanie…" @@ -3604,7 +3593,7 @@ msgstr "Wypełnienie grupy" msgid "workspace.options.group-stroke" msgstr "Obrys grupy" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Wysokość" @@ -3914,19 +3903,19 @@ msgstr "Wybrane warstwy" msgid "workspace.options.layout-item.advanced-ops" msgstr "Zaawansowane opcje" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Maks.Wysokość" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Maks.Szerokość" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Min.Wysokość" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Min.Szerokość" @@ -4030,11 +4019,11 @@ msgstr "przestrzeń pomiędzy" msgid "workspace.options.layout.top" msgstr "Góra" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Więcej kolorów" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Więcej kolorów z biblioteki" @@ -4071,7 +4060,7 @@ msgstr "Górne lewo" msgid "workspace.options.radius-top-right" msgstr "Górne prawo" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Bieżące" @@ -4079,11 +4068,11 @@ msgstr "Bieżące" msgid "workspace.options.retry" msgstr "Ponów" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Obrót" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Szukaj czcionki" @@ -4093,7 +4082,7 @@ msgstr "" "Wybierz kształt, obszar roboczy lub grupę, aby przeciągnąć połączenie do " "innego obszaru kompozycji." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Wybrane kolory" @@ -4105,43 +4094,43 @@ msgstr "Wypełnienie zaznaczenia" msgid "workspace.options.selection-stroke" msgstr "Obrys zaznaczenia" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Rozmycie" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Kolor cienia" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Rzuć cień" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Cień wewnętrzny" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Rozłożenie" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Cień" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Cień grupy" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Cień zaznaczenia" @@ -4149,7 +4138,7 @@ msgstr "Cień zaznaczenia" msgid "workspace.options.show-fill-on-export" msgstr "Pokaż przy eksporcie" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Pokaż w trybie przeglądania" @@ -4157,7 +4146,7 @@ msgstr "Pokaż w trybie przeglądania" msgid "workspace.options.size" msgstr "Rozmiar" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Wstępne ustawienia rozmiaru" @@ -4206,7 +4195,7 @@ msgstr "Trójkątny grot" msgid "workspace.options.stroke-color" msgstr "Kolor obrysu" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Szerokość obrysu" @@ -4270,11 +4259,11 @@ msgstr "Automatyczna szerokość" msgid "workspace.options.text-options.grow-fixed" msgstr "Stały" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Odstępy między literami" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Wysokość linii" @@ -4338,15 +4327,15 @@ msgstr "DUŻE LITERY" msgid "workspace.options.use-play-button" msgstr "Użyj przycisku odtwarzania w nagłówku, aby uruchomić widok prototypu." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Szerokość" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "Oś X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Oś Y" @@ -4390,87 +4379,87 @@ msgstr "Rozłącz węzły (%s)" msgid "workspace.path.actions.snap-nodes" msgstr "Przyciągnij węzły (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Dodaj układ flex" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Przesuń na spód" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Przesuń do tyłu" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Kopiuj" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Zaznaczone do obszaru kompozycji" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Utwórz komponent" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Wytnij" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Usuń" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Usuń początek flow" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Odłącz instancję" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Odłącz instancje" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Różnica" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplikuj" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Edytuj" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Wyklucz" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Spłaszcz" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Odwróć w poziomie" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Odwróć w pionie" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Początek flow" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Przesuń do góry" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Przesuń na wierzch" @@ -4479,91 +4468,91 @@ msgstr "Przesuń na wierzch" msgid "workspace.shape.menu.go-main" msgstr "Przejdź do głównego pliku komponentu" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Grupuj" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Ukryj" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Pokaż/Ukryj UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Przecięcie" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Zablokuj" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Maskuj" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Wklej" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Ścieżka" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Usuń układ flex" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Zresetuj nadpisania" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Przywróć główny komponent" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Zaznacz warstwę" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Pokaż" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Pokaż w panelu zasobów" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Pokaż główny komponent" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Usuń miniaturę" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Ustaw jako miniaturę" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Przekształć w ścieżkę" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Rozgrupuj" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Złącz" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Odblokuj" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Odmaskuj" @@ -4572,7 +4561,7 @@ msgstr "Odmaskuj" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Aktualizuj główne komponenty" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Aktualizuj główny komponent" @@ -4584,11 +4573,11 @@ msgstr "Zwiń pasek boczny" msgid "workspace.sidebar.expand" msgstr "Rozwiń pasek boczny" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Historia" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Warstwy" @@ -4624,7 +4613,7 @@ msgstr "Kształty" msgid "workspace.sidebar.layers.texts" msgstr "Teksty" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Importowane atrybuty SVG" @@ -4632,11 +4621,11 @@ msgstr "Importowane atrybuty SVG" msgid "workspace.sidebar.sitemap" msgstr "Strony" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Mapa strony" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Zasoby" @@ -4644,35 +4633,35 @@ msgstr "Zasoby" msgid "workspace.toolbar.color-palette" msgstr "Palety kolorów (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Komentarze (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Krzywa (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elipsa (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Obszar kompozycji (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Obraz (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Przenieś (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Ścieżka (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Prostokąt (%s)" @@ -4681,7 +4670,7 @@ msgstr "Prostokąt (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Skróty (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Tekst (%s)" @@ -4834,15 +4823,15 @@ msgstr "Operacja ponad %s" msgid "workspace.undo.title" msgstr "Historia" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Odrzuć" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "W bibliotekach współdzielonych są aktualizacje" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Aktualizuj" diff --git a/frontend/translations/pt_BR.po b/frontend/translations/pt_BR.po index 94564a14f9..47d9d6fb9c 100644 --- a/frontend/translations/pt_BR.po +++ b/frontend/translations/pt_BR.po @@ -1,7 +1,7 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-06-17 08:07+0000\n" -"Last-Translator: Anonymous \n" +"PO-Revision-Date: 2025-02-07 14:01+0000\n" +"Last-Translator: Robson Cardoso dos Santos \n" "Language-Team: Portuguese (Brazil) " "\n" "Language: pt_BR\n" @@ -9,12 +9,16 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.6-dev\n" +"X-Generator: Weblate 5.10-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" msgstr "Já tem uma conta?" +#: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:274 +msgid "auth.check-mail" +msgstr "Confira seu email" + #: src/app/main/ui/auth/register.cljs:277 msgid "auth.check-your-email" msgstr "" @@ -34,13 +38,13 @@ msgstr "Criar conta de demonstração" msgid "auth.create-demo-profile" msgstr "Quer apenas experimentar?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Este é um serviço DEMONSTRATIVO, NÃO USE para trabalho real, os projetos " "serão apagados periodicamente." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Esqueceu sua senha?" @@ -48,31 +52,41 @@ msgstr "Esqueceu sua senha?" msgid "auth.fullname" msgstr "Nome completo" +#: src/app/main/ui/auth/login.cljs:282 +msgid "auth.login-account-title" +msgstr "Entrar na minha conta" + #: src/app/main/ui/auth/register.cljs:137, src/app/main/ui/static.cljs:158, src/app/main/ui/viewer/login.cljs:101 msgid "auth.login-here" -msgstr "Entrar aqui" +msgstr "Fazer Login." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Entrar" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:285 +msgid "auth.login-tagline" +msgstr "" +"Penpot é uma ferramenta de código aberto gratuíto para colaboração em " +"Design e código" + +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -96,7 +110,7 @@ msgstr "Link de recuperação de senha foi enviado para sua caixa de entrada." msgid "auth.notifications.team-invitation-accepted" msgstr "Entrou para a equipe com sucesso" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Senha" @@ -124,11 +138,11 @@ msgstr "Esqueceu sua senha?" msgid "auth.recovery-submit" msgstr "Mudar a sua senha" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Ainda não tem uma conta?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Criar uma conta" @@ -141,15 +155,21 @@ msgstr "Criar uma conta" msgid "auth.sidebar-tagline" msgstr "A solução de código aberto para design e prototipação." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Termos de serviço" +#, unused +msgid "auth.terms-privacy-agreement" +msgstr "" +"Ao criar uma nova conta, você concorda com nossos termos de serviço e " +"política de privacidade." + #: src/app/main/ui/auth/register.cljs:275 msgid "auth.verification-email-sent" msgstr "Enviamos um e-mail de verificação para" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publicar" @@ -221,7 +241,7 @@ msgstr "Compartilhar protótipos" msgid "common.share-link.view-all" msgstr "Selecionar todos" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Cancelar publicação" @@ -269,6 +289,58 @@ msgstr "Começar tour" msgid "dasboard.walkthrough-hero.title" msgstr "Passo a passo da interface" +#: src/app/main/ui/settings/access_tokens.cljs:104 +msgid "dashboard.access-tokens.copied-success" +msgstr "Token copiado" + +#: src/app/main/ui/settings/access_tokens.cljs:190 +msgid "dashboard.access-tokens.create" +msgstr "Gerar novo token" + +#: src/app/main/ui/settings/access_tokens.cljs:65 +msgid "dashboard.access-tokens.create.success" +msgstr "Token de acesso criado com sucesso." + +#: src/app/main/ui/settings/access_tokens.cljs:288 +msgid "dashboard.access-tokens.empty.add-one" +msgstr "Pressione o botão \"Gerar novo token\" para gerar um." + +#: src/app/main/ui/settings/access_tokens.cljs:287 +msgid "dashboard.access-tokens.empty.no-access-tokens" +msgstr "Você não possui tokens no momento." + +#: src/app/main/ui/settings/access_tokens.cljs:136 +msgid "dashboard.access-tokens.expiration-180-days" +msgstr "180 dias" + +#: src/app/main/ui/settings/access_tokens.cljs:133 +msgid "dashboard.access-tokens.expiration-30-days" +msgstr "30 dias" + +#: src/app/main/ui/settings/access_tokens.cljs:134 +msgid "dashboard.access-tokens.expiration-60-days" +msgstr "60 dias" + +#: src/app/main/ui/settings/access_tokens.cljs:135 +msgid "dashboard.access-tokens.expiration-90-days" +msgstr "90 dias" + +#: src/app/main/ui/settings/access_tokens.cljs:132 +msgid "dashboard.access-tokens.expiration-never" +msgstr "Nunca" + +#: src/app/main/ui/settings/access_tokens.cljs:270 +msgid "dashboard.access-tokens.expired-on" +msgstr "Expirado em %s" + +#: src/app/main/ui/settings/access_tokens.cljs:271 +msgid "dashboard.access-tokens.expires-on" +msgstr "Expira em %s" + +#: src/app/main/ui/settings/access_tokens.cljs:269 +msgid "dashboard.access-tokens.no-expiration" +msgstr "Sem data de expiração" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Adicionar a biblioteca compartilhada" @@ -277,7 +349,7 @@ msgstr "Adicionar a biblioteca compartilhada" msgid "dashboard.change-email" msgstr "Alterar e-mail" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(copiar)" @@ -285,6 +357,10 @@ msgstr "(copiar)" msgid "dashboard.create-new-team" msgstr "Criar nova equipe" +#: src/app/main/ui/workspace/main_menu.cljs:623 +msgid "dashboard.create-version-menu" +msgstr "Fixar esta versão" + #: src/app/main/ui/components/context_menu_a11y.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:659 msgid "dashboard.default-team-name" msgstr "Seu Penpot" @@ -401,25 +477,25 @@ msgstr "" msgid "dashboard.export.title" msgstr "Exportar arquivos" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Fonte deletada" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Retirar todas" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Fontes customizadas que você adicionar vão aparecer aqui." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 fonte adicionada" msgstr[1] "%s fontes adicionadas" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -429,21 +505,20 @@ msgstr "" "como uma **única família de fontes**. Você pode fazer upload de fontes com " "os seguintes formatos: **TTF, OTF e WOFF** (apenas uma será necessária)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Envie somente fontes que você possui os direitos ou tem licença para usar " "no Penpot. Descubra mais na seção de Direitos de conteúdo nos [Termos de " -"Serviço do Penpot](%s). Caso queira saber mais, " -"veja esta leitura sobre [licenciamento de " -"fontes](https://www.typography.com/faq)." +"Serviço do Penpot](%s). Caso queira saber mais, veja esta leitura sobre " +"[licenciamento de fontes](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Enviar tudo" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importar arquivos" @@ -455,11 +530,11 @@ msgstr "Ops! Não conseguimos importar este arquivo" msgid "dashboard.import.import-error" msgstr "Ocorreu um problema ao importar o arquivo, então ele não foi importado." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "%s arquivos foram importados com sucesso." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Alguns arquivos continham objetos inválidos que foram removidos." @@ -499,27 +574,27 @@ msgstr "Convidar pessoas" msgid "dashboard.leave-team" msgstr "Sair da equipe" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliotecas e Modelos" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Explore mais e aprenda como contribuir" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Ocorreu um problema ao importar o modelo. O modelo não foi importado." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Bibliotecas de ativos" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "carregando seus arquivos…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "carregando suas fontes …" @@ -535,11 +610,11 @@ msgstr "Mover %s arquivos para" msgid "dashboard.move-to-other-team" msgstr "Mover para outra equipe" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Novo arquivo" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Novo arquivo" @@ -547,7 +622,7 @@ msgstr "Novo arquivo" msgid "dashboard.new-project" msgstr "+ Novo projeto" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Novo projeto" @@ -579,7 +654,7 @@ msgstr "%s membros" msgid "dashboard.open-in-new-tab" msgstr "Abrir arquivo em uma nova guia" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opções" @@ -624,10 +699,16 @@ msgstr "Selecionar idioma da Interface" msgid "dashboard.select-ui-theme" msgstr "Selecionar tema" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Mostrar todos os arquivos" +#: src/app/main/ui/dashboard/file_menu.cljs:97 +msgid "dashboard.success-delete-file" +msgid_plural "dashboard.success-delete-file" +msgstr[0] "Seu arquivo foi excluído com sucesso" +msgstr[1] "Seus arquivos foram excluídos com sucesso" + #: src/app/main/ui/dashboard/project_menu.cljs:61 msgid "dashboard.success-delete-project" msgstr "Seu projeto foi excluído com sucesso" @@ -636,7 +717,7 @@ msgstr "Seu projeto foi excluído com sucesso" msgid "dashboard.success-duplicate-project" msgstr "Seu projeto foi duplicado com sucesso" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Seu arquivo foi movido com sucesso" @@ -731,7 +812,7 @@ msgstr "E-mail" msgid "dashboard.your-name" msgstr "Seu nome" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Seu Penpot" @@ -747,11 +828,11 @@ msgstr "Atenção" msgid "ds.component-subtitle" msgstr "Componentes para atualizar:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Cancelar" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -759,7 +840,7 @@ msgstr "Ok" msgid "ds.confirm-title" msgstr "Tem certeza?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Provedor de autenticação não configurado." @@ -767,15 +848,15 @@ msgstr "Provedor de autenticação não configurado." msgid "errors.auth.unable-to-login" msgstr "Parece que você não está autenticado ou a sessão expirou." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "A fonte %s não pôde ser carregada" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "As fontes %s não puderam ser carregadas" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Seu navegador não pode fazer esta operação" @@ -787,7 +868,7 @@ msgstr "E-mail já utilizado" msgid "errors.email-already-validated" msgstr "E-mail já validado." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Você não pode usar seu e-mail como senha" @@ -810,7 +891,7 @@ msgstr "" msgid "errors.feature-not-supported" msgstr "Recurso '%s' não é suportado." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Algo errado aconteceu." @@ -823,8 +904,7 @@ msgstr "Cor inválida" msgid "errors.invalid-email" msgstr "Por favor, insira um email válido" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "E-mail de confirmação deve ser o mesmo" @@ -840,7 +920,7 @@ msgstr "Convite inválido" msgid "errors.invite-invalid.info" msgstr "Este convite pode ter sido cancelado ou expirou." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Autenticação por LDAP está desativada." @@ -876,7 +956,7 @@ msgstr "A senha de confirmação deve ser a mesma" msgid "errors.password-too-short" msgstr "A senha deve ter pelo menos 8 caracteres" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "O perfil está bloqueado" @@ -940,12 +1020,11 @@ msgstr "Erro inesperado durante a validação" msgid "errors.webhooks.unexpected-status" msgstr "Status inesperado %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "E-mail ou senha está incorreto." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "A senha antiga está incorreta" @@ -994,11 +1073,11 @@ msgstr "Precisa de ajuda com dúvidas mais técnicas? Veja o nosso X." msgid "feedback.twitter-title" msgstr "Conta de suporte no X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Um erro ocorreu" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Desfoque" @@ -1006,31 +1085,31 @@ msgstr "Desfoque" msgid "inspect.attributes.blur.value" msgstr "Valor" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Preenchimento" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Baixar imagem original" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Altura" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Largura" @@ -1069,15 +1148,15 @@ msgstr "Superior" msgid "inspect.attributes.layout.width" msgstr "Largura" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Sombra" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Tamanho e posição" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Traçado" @@ -1114,135 +1193,135 @@ msgstr "Sólido" msgid "inspect.attributes.stroke.width" msgstr "Largura" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografia" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Família tipográfica" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Tamanho da fonte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Estilo da fonte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Espaçamento entre letras" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Altura da linha" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Decoração de texto" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Nenhum" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Riscado" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Sublinhado" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformação de texto" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Minúsculo" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Nenhuma" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Iniciais em maiúsculas" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Maiúsculo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Se quiser saber mais sobre inspecionar o design, visite a central de ajuda " "do Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Mais informações sobre inspecionar" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Selecione uma forma, board ou grupo para inspecionar suas propriedades e " "código" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Código" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Círculo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Componente" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Curva" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Board" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grupo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Imagem" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Máscara" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s selecionados" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Caminho" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Retângulo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Texto" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Informação" @@ -1258,7 +1337,7 @@ msgstr "Aceitar" msgid "labels.active" msgstr "Ativo" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Adicionar fonte personalizada" @@ -1266,7 +1345,7 @@ msgstr "Adicionar fonte personalizada" msgid "labels.admin" msgstr "Administrador" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Todos" @@ -1288,19 +1367,19 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Erro do servidor (Bad Gateway)" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Cancelar" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Fechar" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Comentários" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Comunidade" @@ -1308,7 +1387,7 @@ msgstr "Comunidade" msgid "labels.confirm-password" msgstr "Confirmar senha" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Continuar" @@ -1324,7 +1403,7 @@ msgstr "Você pode continuar com uma conta do Penpot" msgid "labels.copy-invitation-link" msgstr "Copiar link" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Criar" @@ -1344,15 +1423,15 @@ msgstr "Fontes personalizadas" msgid "labels.dashboard" msgstr "Painel" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Excluir" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Excluir comentário" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Excluir tópico" @@ -1364,11 +1443,11 @@ msgstr "Excluir convite" msgid "labels.delete-multi-files" msgstr "Excluir %s arquivos" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Rascunhos" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Editar" @@ -1384,7 +1463,7 @@ msgstr "Editor" msgid "labels.expired-invitation" msgstr "Expirado" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exportar" @@ -1396,7 +1475,7 @@ msgstr "Feedback desativado" msgid "labels.feedback-sent" msgstr "Feedback enviado" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Família tipográfica" @@ -1404,19 +1483,19 @@ msgstr "Família tipográfica" msgid "labels.font-providers" msgstr "Provedores de fonte" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Estilos" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fontes" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Repositório do Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Enviar feedback" @@ -1424,11 +1503,11 @@ msgstr "Enviar feedback" msgid "labels.go-back" msgstr "Voltar" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Central de Ajuda" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Ocultar comentários resolvidos" @@ -1436,7 +1515,7 @@ msgstr "Ocultar comentários resolvidos" msgid "labels.inactive" msgstr "Inativo" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Fontes instaladas" @@ -1458,7 +1537,7 @@ msgstr "Convites" msgid "labels.language" msgstr "Linguagem" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Bibliotecas & Modelos" @@ -1466,7 +1545,7 @@ msgstr "Bibliotecas & Modelos" msgid "labels.log-or-sign" msgstr "Entre ou cadastre-se" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Sair" @@ -1482,7 +1561,7 @@ msgstr "Membros" msgid "labels.new-password" msgstr "Nova senha" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Nada de novo por aqui! Novas notificações de comentários irão aparecer aqui." @@ -1504,7 +1583,7 @@ msgstr "Esta página não existe ou você não tem permissão para acessá-la." msgid "labels.not-found.main-message" msgstr "Ops!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 arquivo" @@ -1555,7 +1634,7 @@ msgstr "Perfil" msgid "labels.projects" msgstr "Projetos" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Notas de atualização" @@ -1573,7 +1652,7 @@ msgstr "Remover" msgid "labels.remove-member" msgstr "Remover membro" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Renomear" @@ -1593,11 +1672,11 @@ msgstr "Tentar novamente" msgid "labels.role" msgstr "Cargo" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Salvar" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Buscar fonte" @@ -1629,15 +1708,15 @@ msgstr "Compartilhar protótipo" msgid "labels.shared-libraries" msgstr "Bibliotecas" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Mostrar todos os comentários" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Mostrar lista de comentários" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Mostrar apenas seus comentários" @@ -1645,7 +1724,7 @@ msgstr "Mostrar apenas seus comentários" msgid "labels.status" msgstr "Status" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutorial" @@ -1661,15 +1740,15 @@ msgstr "Atualizar" msgid "labels.update-team" msgstr "Atualizar equipe" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Carregar" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Enviar fontes personalizadas" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Enviando…" @@ -1685,7 +1764,7 @@ msgstr "Visualizador" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Escrever um novo comentário" @@ -1693,7 +1772,7 @@ msgstr "Escrever um novo comentário" msgid "labels.you" msgstr "(você)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Sua conta" @@ -1774,17 +1853,17 @@ msgstr "Ao excluir sua conta, você perderá todos os seus projetos e arquivos a msgid "modals.delete-account.title" msgstr "Tem certeza que deseja excluir sua conta?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Excluir conversa" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Tem certeza de que deseja excluir esta conversa? Todos os comentários neste " "tópico serão excluídos." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Excluir conversa" @@ -1812,31 +1891,31 @@ msgstr "Tem certeza de que deseja excluir %s arquivos?" msgid "modals.delete-file-multi-confirm.title" msgstr "Excluindo %s arquivos" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Tem certeza de que deseja excluir este estilo de fonte? Ele não será " "carregado se for usado em um arquivo." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Excluindo estilo de fonte" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Tem certeza que deseja excluir essa fonte? Ela não será carregada se for " "utilizada em um arquivo." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Excluindo fonte" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Tem certeza de que deseja excluir esta página?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Excluir página" @@ -2048,21 +2127,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Atualizar componentes em uma biblioteca compartilhada" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Atualizar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Cancelar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Você está prestes a atualizar um componente em uma biblioteca " "compartilhada. Isso pode afetar outros arquivos que a utilizam." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Atualizar componente em uma biblioteca compartilhada" @@ -2118,30 +2197,30 @@ msgstr "Tutoriais em vídeo" msgid "onboarding-v2.before-start.title" msgstr "Antes de começar" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Assine a newsletter do Penpot para se manter atualizado sobre o " "desenvolvimento, progressos e novidades." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Quero receber notícias sobre o Penpot (postagens do blog, tutoriais em " "vídeo, lives...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Sua privacidade é importante para nós, saiba mais aqui " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Enviaremos apenas e-mails relevantes para você e você pode cancelar a " "inscrição a qualquer momento através do link de cancelamento em qualquer " "uma das newsletters." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Quero receber atualizações do produto (novos recursos, lançamentos, " @@ -2203,17 +2282,17 @@ msgstr "Convide com a função:" msgid "onboarding.newsletter.accept" msgstr "Sim, assinar" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Sua solicitação de inscrição foi enviada, enviaremos um e-mail para " "confirmá-la." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Politica de privacidade." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Deseja receber novidades sobre o Penpot?" @@ -2263,7 +2342,7 @@ msgstr "Penpot" msgid "profile.recovery.go-to-login" msgstr "Ir para a página de login" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Misto" @@ -2433,7 +2512,7 @@ msgstr "Criar novo" msgid "shortcuts.cut" msgstr "Recortar" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Reduzir zoom" @@ -2525,7 +2604,7 @@ msgstr "Distribuir horizontalmente" msgid "shortcuts.hide-ui" msgstr "Mostrar/ocultar interface" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Mais zoom" @@ -2809,15 +2888,15 @@ msgstr "Ajustar zoom a seleção" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Provedores de fonte - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Fontes - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projetos - %s - Penpot" @@ -2825,7 +2904,7 @@ msgstr "Projetos - %s - Penpot" msgid "title.dashboard.search" msgstr "Pesquisar - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Bibliotecas Compartilhadas - %s - Penpot" @@ -2869,7 +2948,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - Modo protótipo - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -2974,15 +3053,15 @@ msgstr "Alinhar ao topo (%s)" msgid "workspace.assets.assets" msgstr "Ativos" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Todos os ativos" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Cores" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Componentes" @@ -2996,11 +3075,11 @@ msgstr "" "Seus itens serão nomeados automaticamente como \"nome do grupo / nome do " "item\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Excluir" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplicar" @@ -3008,11 +3087,11 @@ msgstr "Duplicar" msgid "workspace.assets.edit" msgstr "Editar" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Imagens" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Agrupar" @@ -3020,19 +3099,15 @@ msgstr "Agrupar" msgid "workspace.assets.group-name" msgstr "Nome do grupo" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Bibliotecas" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "biblioteca local" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Nenhum ativo encontrado" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Renomear" @@ -3040,7 +3115,7 @@ msgstr "Renomear" msgid "workspace.assets.rename-group" msgstr "Renomear grupo" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Procurar nos ativos" @@ -3051,7 +3126,7 @@ msgid_plural "workspace.assets.selected-count" msgstr[0] "%s item selecionado" msgstr[1] "%s itens selecionados" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Tipografias" @@ -3060,27 +3135,27 @@ msgstr "Tipografias" msgid "workspace.assets.typography.font-id" msgstr "Fonte" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Tamanho" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variante" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Ir para biblioteca de estilo para editar" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Espaçamento de letra" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Altura da linha" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3088,7 +3163,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Estilos de texto" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transformações de texto" @@ -3100,11 +3175,11 @@ msgstr "Desagrupar" msgid "workspace.focus.focus-mode" msgstr "Modo de foco" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Foco desligado" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Foco ligado" @@ -3218,29 +3293,28 @@ msgstr "Mostrar réguas" msgid "workspace.header.menu.show-textpalette" msgstr "Mostrar paleta de tipografias" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Redefinir" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Erro ao salvar" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Salvo" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Salvando" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Há alterações não salvas" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Ver protótipo (%s)" @@ -3252,7 +3326,7 @@ msgstr "Ajustar até preencher" msgid "workspace.header.zoom-fit" msgstr "Ajustar até encaixar" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Ajustar a janela" @@ -3260,7 +3334,7 @@ msgstr "Ajustar a janela" msgid "workspace.header.zoom-full-screen" msgstr "Tela cheia" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zoom na seleção" @@ -3269,7 +3343,7 @@ msgstr "Zoom na seleção" msgid "workspace.libraries.add" msgstr "Adicionar" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s cores" @@ -3291,31 +3365,31 @@ msgstr "Cores recentes" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Complementar" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Salvar estilo de cor" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s componentes" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Biblioteca de arquivos" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s imagens" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTECAS NESTE ARQUIVO" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTECAS" @@ -3324,43 +3398,39 @@ msgstr "BIBLIOTECAS" msgid "workspace.libraries.library" msgstr "BIBLIOTECA" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Não há bibliotecas compartilhadas para atualizar" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Não foram encontrados resultados para “%s“" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Não há bibliotecas compartilhadas disponíveis" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Procurar bibliotecas compartilhadas" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "BIBLIOTECAS COMPARTILHADAS" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Tipografias múltiplas" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Desassociar todas as tipografias" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s tipografias" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Atualizar" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "ATUALIZAÇÔES" @@ -3380,15 +3450,15 @@ msgstr "Desfoque do grupo" msgid "workspace.options.blur-options.title.multiple" msgstr "Desfoque da seleção" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Fundo da tela" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Cortar conteúdo" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Componente" @@ -3436,7 +3506,7 @@ msgstr "Cima e Baixo" msgid "workspace.options.design" msgstr "Design" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exportar" @@ -3445,7 +3515,7 @@ msgstr "Exportar" msgid "workspace.options.export-multiple" msgstr "Exportar seleção" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Sufixo" @@ -3453,7 +3523,7 @@ msgstr "Sufixo" msgid "workspace.options.exporting-complete" msgstr "Exportação completa" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Exportando…" @@ -3583,7 +3653,7 @@ msgstr "Preenchimento do grupo" msgid "workspace.options.group-stroke" msgstr "Traçado do grupo" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Altura" @@ -3893,19 +3963,19 @@ msgstr "Camadas selecionadas" msgid "workspace.options.layout-item.advanced-ops" msgstr "Opções avançadas" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Altura Máx." -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Largura Máx." -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Altura Min." -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Altura Min." @@ -4009,11 +4079,11 @@ msgstr "espaçar dentro" msgid "workspace.options.layout.top" msgstr "Topo" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Mais cores" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Mais cores da biblioteca" @@ -4050,7 +4120,7 @@ msgstr "Superior (a esquerda)" msgid "workspace.options.radius-top-right" msgstr "Superior (a direita)" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Recente" @@ -4058,11 +4128,11 @@ msgstr "Recente" msgid "workspace.options.retry" msgstr "Repetir" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotação" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Procurar fonte" @@ -4072,7 +4142,7 @@ msgstr "" "Selecione uma forma, tela ou grupo para arrastar uma conexão para outra " "tela." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Cores selecionadas" @@ -4084,43 +4154,43 @@ msgstr "Preenchimento da seleção" msgid "workspace.options.selection-stroke" msgstr "Selecionar traçado" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Desfoque" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Cor da sombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Sombra projetada" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Sombra interna" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Alcance" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Sombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Sombra do grupo" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Sombras da seleção" @@ -4128,7 +4198,7 @@ msgstr "Sombras da seleção" msgid "workspace.options.show-fill-on-export" msgstr "Mostrar nas exportações" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Mostrar no modo protótipo" @@ -4136,7 +4206,7 @@ msgstr "Mostrar no modo protótipo" msgid "workspace.options.size" msgstr "Tamanho" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Padrões de tamanho" @@ -4185,7 +4255,7 @@ msgstr "Seta triangular" msgid "workspace.options.stroke-color" msgstr "Cor do traçado" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Largura do traçado" @@ -4249,11 +4319,11 @@ msgstr "Largura automática" msgid "workspace.options.text-options.grow-fixed" msgstr "Fixo" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Espaçamento entre letras" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Altura de linha" @@ -4317,15 +4387,15 @@ msgstr "Maiúsculo" msgid "workspace.options.use-play-button" msgstr "Use o botão play no cabeçalho para visualizar o protótipo." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Largura" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "eixo X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "eixo Y" @@ -4369,87 +4439,87 @@ msgstr "Separar pontos (%s)" msgid "workspace.path.actions.snap-nodes" msgstr "Aderir aos pontos (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Adicionar Flex Layout" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Enviar para o fundo" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Enviar para trás" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Copiar" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Agrupar em uma tela" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Criar componente" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Cortar" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Remover" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Remover início de fluxo" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Quebrar instância" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Quebrar instâncias" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Diferença" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplicar" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Editar" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Excluir" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Achatar" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Inverter horizontalmente" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Inverter verticalmente" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Início do fluxo" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Trazer para a frente" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Trazer para o topo" @@ -4458,91 +4528,91 @@ msgstr "Trazer para o topo" msgid "workspace.shape.menu.go-main" msgstr "Ir para o arquivo do componente principal" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Agrupar" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Esconder" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Mostrar/ocultar Interface" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Interseção" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Bloquear" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Máscara" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Colar" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Caminho" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Excluir Flex Layout" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Redefinir substituições" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Restaurar componente principal" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Selecionar camada" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Mostrar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Mostrar no painel de ativos" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Mostrar componente principal" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Remover miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Definir como miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transformar em caminho" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Desagrupar" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Unir" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Desbloquear" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Remover máscara" @@ -4551,7 +4621,7 @@ msgstr "Remover máscara" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Atualizar componentes principais" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Atualizar o componente principal" @@ -4563,11 +4633,11 @@ msgstr "Recolher a barra lateral" msgid "workspace.sidebar.expand" msgstr "Expandir a barra lateral" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Histórico" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Camadas" @@ -4603,7 +4673,7 @@ msgstr "Formas" msgid "workspace.sidebar.layers.texts" msgstr "Textos" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Atributos SVG importados" @@ -4611,11 +4681,79 @@ msgstr "Atributos SVG importados" msgid "workspace.sidebar.sitemap" msgstr "Páginas" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/sidebar/sitemap.cljs:249 +msgid "workspace.sidebar.sitemap.add-page" +msgstr "Adicionar página" + +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Mapa do site" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 +msgid "workspace.token.back-to-themes" +msgstr "Voltar a listagem de temas" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 +msgid "workspace.token.create-new-theme" +msgstr "Crie seu primeiro tema agora." + +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 +msgid "workspace.token.create-one" +msgstr "Criar um." + +#: src/app/main/ui/workspace/tokens/form.cljs:492 +msgid "workspace.token.create-token" +msgstr "Criar novo token %s" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 +msgid "workspace.token.delete" +msgstr "Remover token" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 +msgid "workspace.token.delete-theme-title" +msgstr "Remover tema" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 +msgid "workspace.token.duplicate" +msgstr "Duplicar token" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 +msgid "workspace.token.edit" +msgstr "Editar token" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 +msgid "workspace.token.theme-name" +msgstr "Tema %s" + +#: src/app/main/ui/workspace/tokens/form.cljs:545 +msgid "workspace.token.token-description" +msgstr "Descrição" + +#: src/app/main/ui/workspace/tokens/form.cljs:501 +msgid "workspace.token.token-name" +msgstr "Nome" + +#: src/app/main/ui/workspace/tokens/form.cljs:526 +msgid "workspace.token.token-value" +msgstr "Valor" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 +msgid "workspace.token.tools" +msgstr "Ferramentas" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "O valor não é válido" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "Renomear este token quebrará quaisquer referência para o nome antigo." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Ativos" @@ -4623,35 +4761,35 @@ msgstr "Ativos" msgid "workspace.toolbar.color-palette" msgstr "Paleta de cores (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Comentários (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Ferramenta Curvas (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Ferramenta Elipse (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Ferramenta Tela (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Importar Imagem (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Ferramenta Seleção/Mover (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Ferramenta Caneta (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Ferramenta Retângulo (%s)" @@ -4660,7 +4798,7 @@ msgstr "Ferramenta Retângulo (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Atalhos (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Ferramenta Texto (%s)" @@ -4813,18 +4951,85 @@ msgstr "Operação em %s" msgid "workspace.undo.title" msgstr "Histórico" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Dispensar" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1222 +msgid "workspace.updates.more-info" +msgstr "Mais informações" + +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Existem atualizações nas bibliotecas compartilhadas" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Atualizar" +#: src/app/main/ui/workspace/sidebar/versions.cljs:203 +msgid "workspace.versions.button.pin" +msgstr "Fixar versão" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:198 +msgid "workspace.versions.button.restore" +msgstr "Restaurar versão" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:327, src/app/main/ui/workspace/sidebar/versions.cljs:329 +msgid "workspace.versions.button.save" +msgstr "Salvar versão" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:336 +msgid "workspace.versions.empty" +msgstr "Não existem versões ainda" + +#: src/app/main/ui/ds/product/autosaved_milestone.cljs:53 +msgid "workspace.versions.expand-snapshot" +msgstr "Expandir snapshot" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:309 +msgid "workspace.versions.filter.all" +msgstr "Todas as versões" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:308 +msgid "workspace.versions.filter.label" +msgstr "Filtro de versões" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:310 +msgid "workspace.versions.filter.mine" +msgstr "Minhas versões" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:316 +msgid "workspace.versions.filter.user" +msgstr "%s's versões" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:322 +msgid "workspace.versions.loading" +msgstr "Carregando..." + +#: src/app/main/ui/workspace/sidebar/versions.cljs:259 +msgid "workspace.versions.restore-warning" +msgstr "Gostaria de restaurar esta versão?" + +#, unused +msgid "workspace.versions.snapshot-menu" +msgstr "Abrir menu snapshot" + +#: src/app/main/ui/ds/product/autosaved_milestone.cljs:67, src/app/main/ui/ds/product/user_milestone.cljs:74 +msgid "workspace.versions.version-menu" +msgstr "Abrir menu de versão" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:365 +#, markdown +msgid "workspace.versions.warning.subtext" +msgstr "" +"Se você gostaria de aumentar esse limite, nos envie um email para " +"[support@penpot.app](%s)" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:361 +msgid "workspace.versions.warning.text" +msgstr "Versões com salvamento automático serão mantidos por %s dias." + #, unused msgid "workspace.viewport.click-to-close-path" msgstr "Clique para fechar o caminho" diff --git a/frontend/translations/pt_PT.po b/frontend/translations/pt_PT.po index e23495cd04..5a2993dddf 100644 --- a/frontend/translations/pt_PT.po +++ b/frontend/translations/pt_PT.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-08-23 09:16+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Portuguese (Portugal) " "\n" @@ -9,7 +9,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.7.1-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -38,13 +38,13 @@ msgstr "Cria uma conta de demonstração" msgid "auth.create-demo-profile" msgstr "Só queres experimentar?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Este é um serviço de DEMONSTRAÇÃO, NÃO UTILIZES para trabalhos reais. Os " "projetos serão eliminados periodicamente." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Esqueceste a tua palavra-passe?" @@ -52,7 +52,7 @@ msgstr "Esqueceste a tua palavra-passe?" msgid "auth.fullname" msgstr "Nome completo" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Entrar na minha conta" @@ -60,33 +60,33 @@ msgstr "Entrar na minha conta" msgid "auth.login-here" msgstr "Inicia a sessão aqui." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Iniciar sessão" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "O Penpot é a ferramenta de desenho gratuita e de código aberto para " "colaboração entre Design e Código" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" -msgstr "Github" +msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID Connect" @@ -110,7 +110,7 @@ msgstr "Link de recuperação da palavra-passe enviado para o teu e-mail." msgid "auth.notifications.team-invitation-accepted" msgstr "Entraste na equipa com sucesso" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Palavra-passe" @@ -138,7 +138,7 @@ msgstr "Não te lembras da tua palavra-passe?" msgid "auth.recovery-submit" msgstr "Altera a palavra-passe" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Não tens conta?" @@ -150,7 +150,7 @@ msgstr "Diz-nos como te devemos tratar no painel principal e em emails." msgid "auth.register-account-title" msgstr "O teu nome" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Criar conta" @@ -175,7 +175,7 @@ msgstr "A solução de código aberto para design e prototipagem." msgid "auth.terms-and-privacy-agreement" msgstr "Aceito os [termos de serviço](%s) e a [política de privacidade](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Termos de serviço" @@ -189,7 +189,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Enviámos um email de verificação para" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Email profissional" @@ -198,7 +198,7 @@ msgstr "Email profissional" msgid "branding-illustrations-marketing-pieces" msgstr "...branding, ilustrações, artigos de marketing, etc." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publicar" @@ -270,7 +270,7 @@ msgstr "Partilha protótipos" msgid "common.share-link.view-all" msgstr "Seleciona tudo" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Cancelar publicação" @@ -322,7 +322,7 @@ msgstr "Passo a passo na interface" msgid "dashboard.access-tokens.copied-success" msgstr "Token copiado" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Gerar novo token" @@ -330,11 +330,11 @@ msgstr "Gerar novo token" msgid "dashboard.access-tokens.create.success" msgstr "Token de acesso criado com sucesso." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Clica no botão \"Gerar novo token\" para gerar um." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Ainda não tens nenhum token." @@ -358,23 +358,23 @@ msgstr "90 dias" msgid "dashboard.access-tokens.expiration-never" msgstr "Nunca" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Expirou a %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Expira a %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Sem data de expiração" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Tokens de acesso pessoais" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Os tokens de acesso pessoais funcionam como uma alternativa ao nosso " @@ -389,6 +389,10 @@ msgstr "O token irá expirar a %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "O token não tem data de expiração" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Adicionar ficheiro" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Adicionar como biblioteca partilhada" @@ -397,7 +401,7 @@ msgstr "Adicionar como biblioteca partilhada" msgid "dashboard.change-email" msgstr "Alterar e-mail" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(copiar)" @@ -405,6 +409,10 @@ msgstr "(copiar)" msgid "dashboard.create-new-team" msgstr "+ Criar nova equipa" +#: src/app/main/ui/workspace/main_menu.cljs:623 +msgid "dashboard.create-version-menu" +msgstr "Afixar esta versão" + #: src/app/main/ui/components/context_menu_a11y.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:659 msgid "dashboard.default-team-name" msgstr "O teu Penpot" @@ -429,6 +437,30 @@ msgstr "Duplicar" msgid "dashboard.duplicate-multi" msgstr "Duplicar %s ficheiros" +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 +msgid "dashboard.empty-placeholder-drafts-subtitle" +msgstr "Assim que um membro do projeto crie um rascunho, será apresentado aqui." + +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 +msgid "dashboard.empty-placeholder-drafts-title" +msgstr "Ainda não existem rascunhos." + +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 +msgid "dashboard.empty-placeholder-files-subtitle" +msgstr "Assim que um membro do projeto criar um ficheiro, será apresentado aqui." + +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 +msgid "dashboard.empty-placeholder-files-title" +msgstr "Ainda não existem ficheiros." + +#: src/app/main/ui/dashboard/placeholder.cljs:73 +msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" +msgstr "As bibliotecas que forem adicionadas ao projeto aparecerão aqui." + +#: src/app/main/ui/dashboard/placeholder.cljs:70 +msgid "dashboard.empty-placeholder-libraries-title" +msgstr "Ainda não existem bibliotecas." + #: src/app/main/ui/dashboard/file_menu.cljs:249, src/app/main/ui/dashboard/file_menu.cljs:254 msgid "dashboard.export-binary-multi" msgstr "Descarrega %s ficheiros Penpot (.penpot)" @@ -519,25 +551,25 @@ msgstr "Incluir recursos da biblioteca partilhada em bibliotecas de ficheiros" msgid "dashboard.export.title" msgstr "Exportar ficheiros" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Tipo de letra eliminado" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Ignorar todas" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Ainda não tens tipos de letra personalizados instalados." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 tipo de letra adicionado" msgstr[1] "%s tipos de letra adicionados" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -547,20 +579,20 @@ msgstr "" "carregar tipos de letra com os seguintes formatos: **TTF, OTF e WOFF** " "(apenas um será necessário)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Deves carregar tipos de letra que possuas or tenhas licença para utilizar " "no Penpot. Sabe mais na secção de Direitos de Conteúdos dos [Termos de " -"serviço do Penpot](%s). Podes também ler mais " -"sobre [licenciamento de fontes](https://www.typography.com/faq)." +"serviço do Penpot](%s). Podes também ler mais sobre [licenciamento de " +"fontes](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Carregar tudo" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -570,7 +602,7 @@ msgstr "" "além disso, recomendamos o uso do [Transfonter](https://transfonter.org/) " "para gerar fontes web e corrigir erros. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importar ficheiros Penpot" @@ -588,13 +620,13 @@ msgstr "" msgid "dashboard.import.import-error" msgstr "Ocorreu um problema na importação do ficheiro. O ficheiro não foi importado." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 ficheiro foi importado com sucesso." msgstr[1] "%s ficheiros foram importados com sucesso." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Alguns ficheiros continham objetos inválidos que foram removidos." @@ -634,29 +666,29 @@ msgstr "Convidar para a equipa" msgid "dashboard.leave-team" msgstr "Sair da equipa" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliotecas e Templates" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Explora mais e sabe como contribuir" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "" "Ocorreu um problema com a importação do template. O template não foi " "importado." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Bibliotecas" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "a carregar os teus ficheiros …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "a carregar as tuas fontes …" @@ -672,11 +704,11 @@ msgstr "Mover %s ficheiros para" msgid "dashboard.move-to-other-team" msgstr "Mover para outra equipa" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Novo Ficheiro" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Novo Ficheiro" @@ -684,7 +716,7 @@ msgstr "Novo Ficheiro" msgid "dashboard.new-project" msgstr "+ Novo projeto" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Novo Projeto" @@ -696,6 +728,10 @@ msgstr "Não há resultados para \"%s\"" msgid "dashboard.no-projects-placeholder" msgstr "Projetos afixados aparecerão aqui" +#: src/app/main/ui/dashboard/comments.cljs:90 +msgid "dashboard.notifications" +msgstr "Notificações" + #: src/app/main/ui/auth/verify_token.cljs:34 msgid "dashboard.notifications.email-changed-successfully" msgstr "O teu endereço de e-mail foi atualizado com sucesso" @@ -704,10 +740,18 @@ msgstr "O teu endereço de e-mail foi atualizado com sucesso" msgid "dashboard.notifications.email-verified-successfully" msgstr "O teu endereço de e-mail foi verificado com sucesso" +#: src/app/main/data/profile.cljs:260 +msgid "dashboard.notifications.notifications-saved" +msgstr "Definições de notificação atualizadas" + #: src/app/main/ui/settings/password.cljs:36 msgid "dashboard.notifications.password-saved" msgstr "Palavra-passe guardada com sucesso!" +#: src/app/main/ui/dashboard/comments.cljs:44 +msgid "dashboard.notifications.view" +msgstr "Ver notificações" + #: src/app/main/ui/dashboard/team.cljs:1133 msgid "dashboard.num-of-members" msgstr "%s membros" @@ -716,7 +760,7 @@ msgstr "%s membros" msgid "dashboard.open-in-new-tab" msgstr "Abrir ficheiro num novo separador" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opções" @@ -741,6 +785,10 @@ msgstr "Queres remover a tua conta?" msgid "dashboard.remove-shared" msgstr "Remover como Biblioteca Partilhada" +#: src/app/main/data/common.cljs:242 +msgid "dashboard.removed-from-team" +msgstr "Já não pertences à equipa “%s“." + #: src/app/main/ui/settings/profile.cljs:78 msgid "dashboard.save-settings" msgstr "Guardar definições" @@ -761,10 +809,54 @@ msgstr "Selecionar idioma da Interface" msgid "dashboard.select-ui-theme" msgstr "Selecionar tema" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/settings/notifications.cljs:57 +msgid "dashboard.settings.notifications.dashboard-comments.all" +msgstr "Todos os comentários, menções e respostas" + +#: src/app/main/ui/settings/notifications.cljs:58 +msgid "dashboard.settings.notifications.dashboard-comments.partial" +msgstr "Apenas menções e respostas" + +#: src/app/main/ui/settings/notifications.cljs:54 +msgid "dashboard.settings.notifications.dashboard-comments.title" +msgstr "Comentários de ficheiros" + +#: src/app/main/ui/settings/notifications.cljs:67 +msgid "dashboard.settings.notifications.email-comments.all" +msgstr "Todos os comentários, menções e respostas" + +#: src/app/main/ui/settings/notifications.cljs:68 +msgid "dashboard.settings.notifications.email-comments.partial" +msgstr "Apenas menções e respostas" + +#: src/app/main/ui/settings/notifications.cljs:64 +msgid "dashboard.settings.notifications.email-comments.title" +msgstr "Comentários de ficheiros" + +#: src/app/main/ui/settings/notifications.cljs:73 +msgid "dashboard.settings.notifications.email-invites.title" +msgstr "Convites e pedidos" + +#: src/app/main/ui/settings/notifications.cljs:63 +msgid "dashboard.settings.notifications.email.title" +msgstr "Notificações por Email" + +#: src/app/main/ui/settings/notifications.cljs:84 +msgid "dashboard.settings.notifications.submit" +msgstr "Atualizar definições" + +#: src/app/main/ui/settings/notifications.cljs:52 +msgid "dashboard.settings.notifications.title" +msgstr "Notificações" + +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Mostrar todos os ficheiros" +#: src/app/main/ui/workspace/main_menu.cljs:630 +msgid "dashboard.show-version-history" +msgstr "Histórico de versões" + #: src/app/main/ui/dashboard/file_menu.cljs:97 msgid "dashboard.success-delete-file" msgid_plural "dashboard.success-delete-file" @@ -785,7 +877,7 @@ msgstr[1] "Os teus ficheiros foram duplicados com sucesso" msgid "dashboard.success-duplicate-project" msgstr "O teu projeto foi duplicado com sucesso" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "O teu ficheiro foi movido com sucesso" @@ -829,6 +921,14 @@ msgstr "Cancelar publicação da Biblioteca" msgid "dashboard.update-settings" msgstr "Atualizar definições" +#: src/app/main/ui/dashboard/sidebar.cljs:970 +msgid "dashboard.upgrade-plan.no-limits" +msgstr "Criatividade sem limites" + +#: src/app/main/ui/dashboard/sidebar.cljs:969 +msgid "dashboard.upgrade-plan.penpot-free" +msgstr "Penpot Gratuito" + #: src/app/main/ui/dashboard/team.cljs:909 msgid "dashboard.webhooks.active" msgstr "Ativo" @@ -837,6 +937,10 @@ msgstr "Ativo" msgid "dashboard.webhooks.active.explain" msgstr "Quando este webhook for ativado serão enviados detalhes do evento" +#: src/app/main/ui/dashboard/team.cljs:954 +msgid "dashboard.webhooks.cant-edit" +msgstr "Só podes apagar ou modificar webhooks que criaste." + #: src/app/main/ui/dashboard/team.cljs:900 msgid "dashboard.webhooks.content-type" msgstr "Tipo de conteúdo" @@ -880,7 +984,7 @@ msgstr "E-mail" msgid "dashboard.your-name" msgstr "O teu nome" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "O teu Penpot" @@ -896,11 +1000,15 @@ msgstr "Atenção" msgid "ds.component-subtitle" msgstr "Componentes para atualizar:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/workspace/plugins.cljs:336, src/app/main/ui/workspace/plugins.cljs:390 +msgid "ds.confirm-allow" +msgstr "Permitir" + +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Cancelar" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -912,7 +1020,7 @@ msgstr "Tens a certeza?" msgid "errors.auth-provider-not-allowed" msgstr "O provedor de autenticação não é permitido neste perfil" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Provedor de autenticação não configurado." @@ -920,11 +1028,11 @@ msgstr "Provedor de autenticação não configurado." msgid "errors.auth.unable-to-login" msgstr "Parece que não estás autenticado ou a sessão expirou." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "A fonte %s não pôde ser carregada" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "As fontes %s não puderam ser carregadas" @@ -932,7 +1040,7 @@ msgstr "As fontes %s não puderam ser carregadas" msgid "errors.cannot-upload" msgstr "Não foi possível carregar o ficheiro." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "O teu browser não pode fazer esta operação" @@ -944,7 +1052,7 @@ msgstr "E-mail já utilizado" msgid "errors.email-already-validated" msgstr "E-mail já validado." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Não podes utilizar o teu e-mail como palavra-passe" @@ -977,7 +1085,7 @@ msgstr "" "funcionalidades do ficheiro que estás a tentar abrir. Será necessário " "aplicar migrações para '%s' antes de poder abrir o ficheiro." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Ocorreu algo inesperado." @@ -990,8 +1098,7 @@ msgstr "Cor inválida" msgid "errors.invalid-email" msgstr "Por favor introduz um email válido" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "O e-mail de confirmação deve combinar" @@ -1007,7 +1114,7 @@ msgstr "Convite inválido" msgid "errors.invite-invalid.info" msgstr "Este convite pode ter sido cancelado ou expirado." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Autenticação LDAP está desativada." @@ -1033,6 +1140,10 @@ msgstr "" "O perfil que estás a convidar tem e-mails silenciados (relatórios de spam " "ou devoluções altas)." +#: src/app/main/errors.cljs:228 +msgid "errors.migration-in-progress" +msgstr "Migração em progresso" + #: src/app/main/ui/settings/password.cljs #, unused msgid "errors.password-invalid-confirmation" @@ -1047,7 +1158,7 @@ msgstr "A palavra-passe deverá conter no mínimo 8 caracteres" msgid "errors.paste-data-validation" msgstr "Dados inválidos na área de transferência" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "O perfil está bloqueado" @@ -1123,12 +1234,11 @@ msgstr "Erro inesperado ao validar" msgid "errors.webhooks.unexpected-status" msgstr "Estado inesperado %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Utilizador ou palavra-passe parecem estar errados." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Palavra-passe antiga está incorreta" @@ -1177,11 +1287,11 @@ msgstr "Aqui para ajudar com as tuas dúvidas técnicas." msgid "feedback.twitter-title" msgstr "Conta de suporte no X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Ocorreu um erro" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Desfoque" @@ -1189,31 +1299,31 @@ msgstr "Desfoque" msgid "inspect.attributes.blur.value" msgstr "Valor" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Preencher" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Descarregar imagem original" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Altura" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Largura" @@ -1252,15 +1362,15 @@ msgstr "Topo" msgid "inspect.attributes.layout.width" msgstr "Largura" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Sombra" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Tamanho e posição" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Traço" @@ -1297,141 +1407,141 @@ msgstr "Sólido" msgid "inspect.attributes.stroke.width" msgstr "Largura" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografia" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Família da Fonte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Tamanho da Fonte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Estilo da Fonte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Espessura da fonte" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Espaço entre caracteres" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Altura da Linha" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Decoração de Texto" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Nenhum" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Rasurado" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Sublinhado" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformação de Texto" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Minúsculas" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Nenhum" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Capitalização de Título" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Sem atribuição" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Maiúsculas" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "Se quiseres saber mais sobre a inspeção, visita o centro de ajuda do Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Mais informações sobre a inspeção" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Seleciona uma forma, prancheta, ou grupo para inspecionar os seus atributos " "e código" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Código" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Círculo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Componente" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Curva" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Prancheta" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grupo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Imagem" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Máscara" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Selecionados" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Caminho" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rectângulo" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Texto" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Informação" @@ -1451,10 +1561,18 @@ msgstr "Tokens de acesso" msgid "labels.active" msgstr "Ativo" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/workspace/libraries.cljs:176 +msgid "labels.add" +msgstr "Adicionar" + +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Adicionar fonte personalizada" +#: src/app/main/ui/workspace/libraries.cljs:176 +msgid "labels.adding" +msgstr "A adicionar..." + #: src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:313, src/app/main/ui/dashboard/team.cljs:554, src/app/main/ui/dashboard/team.cljs:584, src/app/main/ui/onboarding/team_choice.cljs:66 msgid "labels.admin" msgstr "Administração" @@ -1463,7 +1581,7 @@ msgstr "Administração" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Todos" @@ -1485,7 +1603,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Error de Servidor (Bad Gateway)" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Cancelar" @@ -1493,15 +1611,27 @@ msgstr "Cancelar" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Fechar" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 +msgid "labels.collapse" +msgstr "Colapsar" + +#: src/app/main/ui/comments.cljs:881 +msgid "labels.comment" +msgstr "Comentário" + +#: src/app/main/ui/comments.cljs:885 +msgid "labels.comment.mark-as-solved" +msgstr "Marcar como resolvido" + +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Comentários" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Comunidade" @@ -1509,7 +1639,7 @@ msgstr "Comunidade" msgid "labels.confirm-password" msgstr "Confirmar palavra-passe" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Continuar" @@ -1525,7 +1655,11 @@ msgstr "Podes continuar com uma conta Penpot" msgid "labels.copy-invitation-link" msgstr "Copiar link" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/static.cljs:62 +msgid "labels.copyright" +msgstr "Kaleidos @2024" + +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Criar" @@ -1545,15 +1679,15 @@ msgstr "Fonte personalizada" msgid "labels.dashboard" msgstr "Painel" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Eliminar" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Eliminar comentário" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Eliminar tópico" @@ -1573,15 +1707,15 @@ msgstr "Desenvolvimento" msgid "labels.director" msgstr "Diretor" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Descartar" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Rascunhos" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Editar" @@ -1601,7 +1735,7 @@ msgstr "Evento" msgid "labels.expired-invitation" msgstr "Expirado" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exportar" @@ -1617,7 +1751,7 @@ msgstr "Feedback enviado" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Família da Fonte" @@ -1625,11 +1759,11 @@ msgstr "Família da Fonte" msgid "labels.font-providers" msgstr "Provedores de fontes" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Variantes" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fontes" @@ -1641,11 +1775,11 @@ msgstr "CEO ou Fundador" msgid "labels.freelancer" msgstr "Sou trabalhador(a) independente (freelancer)" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Repositório Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Dá feedback" @@ -1657,19 +1791,23 @@ msgstr "Voltar atrás" msgid "labels.graphic-design" msgstr "Design gráfico" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Centro de Ajuda" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Ocultar comentários resolvidos" +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 +msgid "labels.import" +msgstr "Importar" + #: src/app/main/ui/dashboard/team.cljs:1018 msgid "labels.inactive" msgstr "Inativo" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Fontes instaladas" @@ -1695,15 +1833,23 @@ msgstr "Convites" msgid "labels.language" msgstr "Idioma" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Bibliotecas e Templates" +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 +msgid "labels.loading" +msgstr "A carregar…" + #: src/app/main/ui/viewer/header.cljs:210 msgid "labels.log-or-sign" msgstr "Iniciar sessão ou registar" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/static.cljs:56, src/app/main/ui/static.cljs:134 +msgid "labels.login" +msgstr "Iniciar sessão" + +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Terminar sessão" @@ -1723,11 +1869,11 @@ msgstr "Membros" msgid "labels.new-password" msgstr "Palavra-passe nova" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Seguinte" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Não tens notificações de comentários pendentes." @@ -1751,7 +1897,11 @@ msgstr "Esta página não existe ou não tens permissões para a aceder." msgid "labels.not-found.main-message" msgstr "Ups!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/settings/sidebar.cljs:99 +msgid "labels.notifications" +msgstr "Notificações" + +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 ficheiro" @@ -1769,6 +1919,10 @@ msgid_plural "labels.num-of-projects" msgstr[0] "1 projeto" msgstr[1] "%s projetos" +#, unused +msgid "labels.ok" +msgstr "Ok" + #: src/app/main/ui/settings/password.cljs:77 msgid "labels.old-password" msgstr "Palavra-passe antiga" @@ -1778,6 +1932,10 @@ msgstr "Palavra-passe antiga" msgid "labels.only-yours" msgstr "Apenas teu" +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 +msgid "labels.options" +msgstr "Opções" + #, unused msgid "labels.or" msgstr "ou" @@ -1822,7 +1980,7 @@ msgstr "Perfil" msgid "labels.projects" msgstr "Projetos" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Notas de versões" @@ -1840,7 +1998,7 @@ msgstr "Remover" msgid "labels.remove-member" msgstr "Remover membro" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Renomear" @@ -1848,10 +2006,34 @@ msgstr "Renomear" msgid "labels.rename-team" msgstr "Renomear equipa" +#: src/app/main/ui/comments.cljs:641 +msgid "labels.replies" +msgstr "respostas" + +#: src/app/main/ui/comments.cljs:646 +msgid "labels.replies.new" +msgstr "novas respostas" + +#: src/app/main/ui/comments.cljs:640 +msgid "labels.reply" +msgstr "resposta" + +#: src/app/main/ui/comments.cljs:645 +msgid "labels.reply.new" +msgstr "nova resposta" + +#: src/app/main/ui/comments.cljs:721 +msgid "labels.reply.thread" +msgstr "Responder" + #: src/app/main/ui/dashboard/team.cljs:686 msgid "labels.resend-invitation" msgstr "Reenviar convite" +#: src/app/main/ui/workspace/sidebar/versions.cljs:133, src/app/main/ui/workspace/sidebar/versions.cljs:263 +msgid "labels.restore" +msgstr "Restaurar" + #: src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:351, src/app/main/ui/static.cljs:428 msgid "labels.retry" msgstr "Tentar novamente" @@ -1860,15 +2042,15 @@ msgstr "Tentar novamente" msgid "labels.role" msgstr "Cargo" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Salvar" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Pesquisar" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Pesquisar font" @@ -1908,15 +2090,19 @@ msgstr "Partilhar protótipo" msgid "labels.shared-libraries" msgstr "Bibliotecas" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Mostrar todos os comentários" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Mostrar lista de comentários" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 +msgid "labels.show-mentions" +msgstr "Mostrar apenas as tuas menções" + +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Mostrar apenas os teus comentários" @@ -1944,7 +2130,11 @@ msgstr "Líder de equipa" msgid "labels.team-member" msgstr "Membro de equipa" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 +msgid "labels.themes" +msgstr "Temas" + +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutoriais" @@ -1960,15 +2150,15 @@ msgstr "Atualizar" msgid "labels.update-team" msgstr "Atualizar equipa" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Carregar" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Carregar fontes personalizadas" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Carregando…" @@ -1984,7 +2174,7 @@ msgstr "Visualizador" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Escrever novo comentário" @@ -1992,7 +2182,7 @@ msgstr "Escrever novo comentário" msgid "labels.you" msgstr "(tu)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "A tua conta" @@ -2000,23 +2190,23 @@ msgstr "A tua conta" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Escolher imagem" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Gradiente" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Imagem" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Manter proporções" @@ -2034,7 +2224,7 @@ msgstr "A carregar imagem…" msgid "media.radial" msgstr "Radial" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Sólido" @@ -2086,7 +2276,7 @@ msgstr "Alterar e-mail" msgid "modals.change-email.title" msgstr "Altera o teu e-mail" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Copiar token" @@ -2102,7 +2292,7 @@ msgstr "Nome" msgid "modals.create-access-token.name.placeholder" msgstr "O nome pode ajudar a sugerir para que o token serve" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Criar token" @@ -2126,15 +2316,15 @@ msgstr "URL do payload" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Apagar token" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Tens a certeza que queres apagar este token?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Apagar token" @@ -2154,25 +2344,25 @@ msgstr "Ao remover a tua conta vais perder todos os projetos e ficheiros." msgid "modals.delete-account.title" msgstr "Tens a certeza de que queres eliminar a tua conta?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Eliminar conversa" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Tens a certeza de que pretender eliminar esta conversa? Todos os " "comentários neste tópico serão eliminados." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Eliminar conversa" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Tens a certeza que queres apagar esta nota?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Apagar nota" @@ -2200,31 +2390,31 @@ msgstr "Tens a certeza de que pretendes eliminar %s ficheiros?" msgid "modals.delete-file-multi-confirm.title" msgstr "Eliminando %s ficheiros" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Tens a certeza de que pretendes eliminar este estilo de fonte? Não " "carregará se estiver a ser utilizado num ficheiro." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Eliminando estilo de fonte" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Tens a certeza de que pretendes eliminar esta fonte? Não carregará se " "estiver a ser utilizada num ficheiro." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Eliminando fonte" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Tens a certeza de que pretendes eliminar esta página?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Eliminar página" @@ -2340,6 +2530,12 @@ msgstr "" "Alguns endereços de email pertencem a membros atuais da equipa. Não serão " "enviados convites para estes endereços." +#: src/app/main/ui/dashboard/team.cljs:216 +msgid "modals.invite-team-member.text" +msgstr "" +"Podes convidar membros para a equipa para que estes possam ter acesso a " +"este ficheiro e todos os ficheiros da equipa." + #: src/app/main/ui/dashboard/team.cljs:212 msgid "modals.invite-team-member.title" msgstr "Convidar membros para a equipa" @@ -2432,15 +2628,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Novo proprietário de equipa" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publicar" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "A tua biblioteca está vazia. Tens a certeza que queres publicá-la?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Publicar biblioteca vazia" @@ -2496,24 +2692,102 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Atualizar componentes numa biblioteca partilhada" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Atualizar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Cancelar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Estás prestes a atualizar componentes numa biblioteca partilhada. Pode " "afetar outros ficheiros que o utilizam." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Atualizar componente numa biblioteca partilhada" +#: src/app/main/ui/static.cljs:331 +msgid "not-found.desc-message.doesnt-exist" +msgstr "Esta página não existe" + +#: src/app/main/ui/static.cljs:330 +msgid "not-found.desc-message.error" +msgstr "Erro 404" + +#: src/app/main/ui/static.cljs:135 +msgid "not-found.login.free" +msgstr "" +"O Penpot é a ferramenta de design gratuita e de código aberto para a " +"colaboração entre designers e programadores" + +#: src/app/main/ui/auth/recovery_request.cljs:114 +msgid "not-found.login.sent-recovery" +msgstr "Enviámos um email de recuperação para" + +#: src/app/main/ui/auth/recovery_request.cljs:116 +msgid "not-found.login.sent-recovery-check" +msgstr "Verifica o teu email e clica no link para criares uma nova palavra-passe." + +#: src/app/main/ui/static.cljs:149 +msgid "not-found.login.signup-free" +msgstr "Inscreve-te gratuitamente" + +#: src/app/main/ui/static.cljs:150 +msgid "not-found.login.start-using" +msgstr "E começa a usar o Penpot em poucos segundos!" + +#: src/app/main/ui/static.cljs:64 +msgid "not-found.made-with-love" +msgstr "Feito com AMOR e código aberto" + +#: src/app/main/ui/static.cljs:291 +msgid "not-found.no-permission.already-requested.file" +msgstr "Já solicitaste acesso a este ficheiro." + +#: src/app/main/ui/static.cljs:292 +msgid "not-found.no-permission.already-requested.or-others.file" +msgstr "" +"Já solicitaste acesso a este ficheiro, ou outros ficheiros, ou projetos " +"desta equipa." + +#: src/app/main/ui/static.cljs:297 +msgid "not-found.no-permission.already-requested.project" +msgstr "Já solicitaste acesso a este projeto." + +#: src/app/main/ui/static.cljs:312, src/app/main/ui/static.cljs:321 +msgid "not-found.no-permission.ask" +msgstr "PEDIR ACESSO" + +#: src/app/main/ui/static.cljs:303 +msgid "not-found.no-permission.done.success" +msgstr "O teu pedido foi enviado com sucesso!" + +#: src/app/main/ui/static.cljs:309 +msgid "not-found.no-permission.file" +msgstr "Não tens acesso a este ficheiro." + +#: src/app/main/ui/static.cljs:51, src/app/main/ui/static.cljs:287, src/app/main/ui/static.cljs:293, src/app/main/ui/static.cljs:299, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:323 +msgid "not-found.no-permission.go-dashboard" +msgstr "Ir para o teu Penpot" + +#: src/app/main/ui/static.cljs:249, src/app/main/ui/static.cljs:261 +msgid "not-found.no-permission.penpot-file" +msgstr "Ficheiro do Penpot" + +#: src/app/main/ui/static.cljs:248, src/app/main/ui/static.cljs:259 +msgid "not-found.no-permission.project-name" +msgstr "PROJETO" + +#: src/app/main/data/common.cljs:93 +msgid "notifications.by-code.maintenance" +msgstr "" +"Pausa de manutenção: nos próximos 5 minutos estaremos fora de serviço para " +"manutenção." + #: src/app/main/data/common.cljs:83 msgid "notifications.by-code.upgrade-version" msgstr "Está disponível uma nova versão, por favor atualiza a página" @@ -2568,30 +2842,30 @@ msgstr "Tutoriais em vídeo" msgid "onboarding-v2.before-start.title" msgstr "Antes de começares" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Subscreva a Penpot newsletter para ficar a par do progresso do " "desenvolvimento do produto e das novidades." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Envie-me notícias sobre o Penpot (postagens em blogs, tutoriais em vídeo, " "streamings...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Sua privacidade é importante para nós, saiba mais aqui " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Enviaremos apenas e-mails relevantes para você. Você pode cancelar a " "inscrição a qualquer momento através do link de cancelamento de inscrição " "em qualquer uma de nossas newsletter." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Envie-me atualizações do produto (novas funcionalidades, lançamentos, " @@ -2689,17 +2963,17 @@ msgstr "Poderás criar uma equipa mais tarde." msgid "onboarding.newsletter.accept" msgstr "Sim, subscreve" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "A tua solicitação de inscrição foi enviada, iremos enviar-te um e-mail para " "confirmá-la." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Política de Privacidade." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Queres receber as novidades do Penpot?" @@ -2723,6 +2997,18 @@ msgstr "A averiguar se o Penpot se adequa à minha equipa" msgid "onboarding.questions.reasons.testing" msgstr "Testar antes de fazer self-hosting" +#: src/app/main/ui/onboarding/questions.cljs:407 +msgid "onboarding.questions.referer.article" +msgstr "Artigo (Blogue, Post, Newsletter)" + +#: src/app/main/ui/onboarding/questions.cljs:405 +msgid "onboarding.questions.referer.search" +msgstr "Motor de busca (Google, Yahoo, Bing)" + +#: src/app/main/ui/onboarding/questions.cljs:406 +msgid "onboarding.questions.referer.social" +msgstr "Redes sociais (X, Linkedin, FB, etc)" + #: src/app/main/ui/onboarding/questions.cljs:349 msgid "onboarding.questions.start-with.code" msgstr "Gerar código a partir de designs" @@ -2880,10 +3166,14 @@ msgstr "Ir para login" msgid "settings.detach" msgstr "Desacoplar" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Misturado" +#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:270 +msgid "settings.remove-color" +msgstr "Remover cor" + #: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:275 msgid "settings.select-this-color" msgstr "Selecionar itens que usem este estilo" @@ -3058,6 +3348,10 @@ msgstr "Limpar historial" msgid "shortcuts.copy" msgstr "Copiar" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:94 +msgid "shortcuts.copy-link" +msgstr "Copiar ligação para a área de transferência" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:95 msgid "shortcuts.create-component" msgstr "Criar componente" @@ -3070,7 +3364,7 @@ msgstr "Criar novo" msgid "shortcuts.cut" msgstr "Recortar" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Menos zoom" @@ -3170,7 +3464,7 @@ msgstr "Distribuir horizontalmente" msgid "shortcuts.hide-ui" msgstr "Mostrar/ocultar interface" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Mais zoom" @@ -3354,6 +3648,10 @@ msgstr "Quadro anterior" msgid "shortcuts.redo" msgstr "Refazer" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:167 +msgid "shortcuts.rename" +msgstr "Renomear" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:168 msgid "shortcuts.reset-zoom" msgstr "Redefinir zoom" @@ -3550,15 +3848,15 @@ msgstr "Zoom para selecionados" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Provedores de fonte - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Fontes - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projetos - %s - Penpot" @@ -3566,7 +3864,7 @@ msgstr "Projetos - %s - Penpot" msgid "title.dashboard.search" msgstr "Pesquisa - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Bibliotecas partilhadas - %s - Penpot" @@ -3574,7 +3872,7 @@ msgstr "Bibliotecas partilhadas - %s - Penpot" msgid "title.default" msgstr "Penpot - Liberdade de Design para Equipas" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Perfil - Tokens de acesso" @@ -3582,6 +3880,10 @@ msgstr "Perfil - Tokens de acesso" msgid "title.settings.feedback" msgstr "Dá feedback - Penpot" +#: src/app/main/ui/settings/notifications.cljs:45 +msgid "title.settings.notifications" +msgstr "Notificações - Penpot" + #: src/app/main/ui/settings/options.cljs:76 msgid "title.settings.options" msgstr "Definições - Penpot" @@ -3614,7 +3916,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - Modo visualizador - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3714,23 +4016,35 @@ msgstr "Distribuir espaçamento vertical (%s)" msgid "workspace.align.vtop" msgstr "Alinhar ao topo (%s)" +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 +msgid "workspace.assets.add-library" +msgstr "Adicionar biblioteca" + #: src/app/main/ui/workspace/sidebar/assets.cljs #, unused msgid "workspace.assets.assets" msgstr "Recursos" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Todos os recursos" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Cores" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:494 +msgid "workspace.assets.colors.add-color" +msgstr "Adicionar cor" + +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Componentes" +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 +msgid "workspace.assets.components.add-component" +msgstr "Adicionar componente" + #: src/app/main/ui/workspace/sidebar/assets/groups.cljs:127 msgid "workspace.assets.create-group" msgstr "Criar grupo" @@ -3741,15 +4055,15 @@ msgstr "" "Os teus itens serão nomeados automaticamente como \"nome do grupo / nome do " "item\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Eliminar" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplicar" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Duplicar principal" @@ -3757,15 +4071,15 @@ msgstr "Duplicar principal" msgid "workspace.assets.edit" msgstr "Editar" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filtrar" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Gráficos" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Agrupar" @@ -3773,23 +4087,19 @@ msgstr "Agrupar" msgid "workspace.assets.group-name" msgstr "Nome do grupo" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Bibliotecas" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "biblioteca local" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Recursos não encontrados" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Abrir ficheiro de biblioteca" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Renomear" @@ -3797,7 +4107,7 @@ msgstr "Renomear" msgid "workspace.assets.rename-group" msgstr "Renomear grupo" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Pesquisar recursos" @@ -3813,46 +4123,50 @@ msgstr[1] "%s itens selecionados" msgid "workspace.assets.shared-library" msgstr "Biblioteca partilhada" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 componente" msgstr[1] "%s componentes" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Ordenar" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Tipografias" +#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:404 +msgid "workspace.assets.typography.add-typography" +msgstr "Adicionar tipografia" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs #, unused msgid "workspace.assets.typography.font-id" msgstr "Fonte" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Tamanho" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variante" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Ir para ficheiro da biblioteca de estilos para editar" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Espaço entre letras" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Altura da Linha" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3860,7 +4174,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Estilos de texto" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transformar Texto" @@ -3868,55 +4182,55 @@ msgstr "Transformar Texto" msgid "workspace.assets.ungroup" msgstr "Desagrupar" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Criar área" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Criar prancheta" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Unir células" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Adicionar 1 coluna à direita" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Adicionar 1 coluna à esquerda" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Eliminar coluna" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Apagar coluna e conteúdos" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Duplicar coluna" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Adicionar 1 fila abaixo" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Adicionar 1 fila acima" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Apagar fila" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Apagar fila e conteúdos" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Duplicar fila" @@ -3924,11 +4238,11 @@ msgstr "Duplicar fila" msgid "workspace.focus.focus-mode" msgstr "Modo de foco" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Foco desativado" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Foco ativo" @@ -4082,33 +4396,36 @@ msgstr "Mudar para tema claro" msgid "workspace.header.menu.undo" msgstr "Desfazer" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Ampliar em 100%" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Erro ao salvar" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Guardado" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "A salvar" +#: src/app/main/ui/workspace/right_header.cljs:221 +msgid "workspace.header.share" +msgstr "Partilhar" + #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Alterações não guardadas" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Modo de visualização (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zoom" @@ -4120,7 +4437,7 @@ msgstr "Ajustar para preencher" msgid "workspace.header.zoom-fit" msgstr "Ajustar para encaixar" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Ajustar para mostrar tudo" @@ -4128,19 +4445,19 @@ msgstr "Ajustar para mostrar tudo" msgid "workspace.header.zoom-full-screen" msgstr "Tela cheia" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Aumentar para seleção" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Editar grelha" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Sair" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Mostrar 4 opções de preenchimento de lados" @@ -4156,7 +4473,7 @@ msgstr "Feito" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Localizar" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Localizar layout em grelha" @@ -4165,7 +4482,7 @@ msgstr "Localizar layout em grelha" msgid "workspace.libraries.add" msgstr "Adicionar" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s cores" @@ -4195,31 +4512,31 @@ msgstr "Cores recentes" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Complementar" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Guardar estilo de cor" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s componentes" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Biblioteca de ficheiros" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s gráficos" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTECAS NESTE FICHEIRO" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTECAS" @@ -4228,63 +4545,59 @@ msgstr "BIBLIOTECAS" msgid "workspace.libraries.library" msgstr "BIBLIOTECA" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "ATUALIZAÇÕES DE BIBLIOTECAS" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "A carregar…" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Não há bibliotecas partilhadas que precisem de atualização" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Não há resultados para \"%s\"" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Não há bibliotecas partilhadas disponíveis" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Pesquisar bibliotecas partilhadas" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "BIBLIOTECAS PARTILHADAS" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Conectar biblioteca" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Múltiplas tipografias" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Desassociar todas as tipografias" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s tipografias" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Desconectar biblioteca" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Atualizar" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "ver todas as alterações" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "ATUALIZAÇÕES" @@ -4292,6 +4605,14 @@ msgstr "ATUALIZAÇÕES" msgid "workspace.options.add-interaction" msgstr "Clica no botão + para adicionar interações." +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:91 +msgid "workspace.options.blur-options.add-blur" +msgstr "Adicionar desfoque" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:112 +msgid "workspace.options.blur-options.remove-blur" +msgstr "Remover desfoque" + #: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:105 msgid "workspace.options.blur-options.title" msgstr "Desfoque" @@ -4304,43 +4625,43 @@ msgstr "Desfoque de grupo" msgid "workspace.options.blur-options.title.multiple" msgstr "Desfoque de seleção" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Plano de fundo" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Recorte do conteúdo" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Componente" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Nota" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Cópia" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Criar uma nota" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Editar uma nota" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Principal" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Trocar de componente" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "Ainda não existem recursos nesta biblioteca" @@ -4388,7 +4709,7 @@ msgstr "Topo e Abaixo" msgid "workspace.options.design" msgstr "Design" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exportar" @@ -4397,13 +4718,13 @@ msgstr "Exportar" msgid "workspace.options.export-multiple" msgstr "Exportar seleção" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Exportar 1 elemento" msgstr[1] "Exportar %s elementos" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Sufixo" @@ -4411,7 +4732,7 @@ msgstr "Sufixo" msgid "workspace.options.exporting-complete" msgstr "Exportação completa" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "A exportar…" @@ -4427,6 +4748,18 @@ msgstr "Exportação inesperadamente lenta" msgid "workspace.options.fill" msgstr "Preenchimento" +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:151 +msgid "workspace.options.fill.add-fill" +msgstr "Adicionar cor de preenchimento" + +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:164 +msgid "workspace.options.fill.remove-fill" +msgstr "Remover preenchimento" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "Redimensionar para ajustar ao conteúdo" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "Adicionar início de fluxo" @@ -4545,11 +4878,19 @@ msgstr "Preenchimento de grupo" msgid "workspace.options.group-stroke" msgstr "Traço de grupo" +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:323 +msgid "workspace.options.guides.add-guide" +msgstr "Adicionar guia" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:187 +msgid "workspace.options.guides.remove-guide" +msgstr "Remover guia" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:320 msgid "workspace.options.guides.title" msgstr "Guias" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Altura" @@ -4775,6 +5116,15 @@ msgstr "Durante a premir" msgid "workspace.options.interactions" msgstr "Interações" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:735 +msgid "workspace.options.interactions.add-interaction" +msgstr "Adicionar interação" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs +#, unused +msgid "workspace.options.interactions.remove-interaction" +msgstr "Remover interação" + #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:152 msgid "workspace.options.layer-options.blend-mode.color" msgstr "Cor" @@ -4859,19 +5209,19 @@ msgstr "Camadas selecionadas" msgid "workspace.options.layout-item.advanced-ops" msgstr "Opções avançadas" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Altura.Máx" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Largura.Máx" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Altura.Min" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Largura.Min" @@ -4985,11 +5335,11 @@ msgstr "espaço entre" msgid "workspace.options.layout.top" msgstr "Topo" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Mais cores" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Mais bibliotecas de cor" @@ -5026,7 +5376,7 @@ msgstr "Superior esquerdo" msgid "workspace.options.radius-top-right" msgstr "Superior direito" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Recente" @@ -5034,11 +5384,11 @@ msgstr "Recente" msgid "workspace.options.retry" msgstr "Repetir" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotação" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Pesquisar fonte" @@ -5048,7 +5398,7 @@ msgstr "" "Selecionar a forma, prancheta ou grupo para arrastar uma conexão para outra " "prancheta." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Cores selecionadas" @@ -5060,43 +5410,51 @@ msgstr "Preenchimento de seleção" msgid "workspace.options.selection-stroke" msgstr "Traço da seleção" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 +msgid "workspace.options.shadow-options.add-shadow" +msgstr "Adicionar sombra" + +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Desfoque" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Cor da sombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Sombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Sombra interna" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +msgid "workspace.options.shadow-options.remove-shadow" +msgstr "Remover sombra" + +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Difundir" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Sombra" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Grupo de sombras" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Seleção de sombras" @@ -5104,7 +5462,7 @@ msgstr "Seleção de sombras" msgid "workspace.options.show-fill-on-export" msgstr "Mostrar na exportação" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Mostrar no modo de visualização" @@ -5112,7 +5470,7 @@ msgstr "Mostrar no modo de visualização" msgid "workspace.options.size" msgstr "Tamanho" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Tamanho pré-definido" @@ -5181,10 +5539,14 @@ msgstr "Triângulo" msgid "workspace.options.stroke-color" msgstr "Cor do traço" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Largura do traço" +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:171 +msgid "workspace.options.stroke.add-stroke" +msgstr "Adicionar cor de traço" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:89 msgid "workspace.options.stroke.center" msgstr "Centro" @@ -5209,6 +5571,10 @@ msgstr "Misto" msgid "workspace.options.stroke.outer" msgstr "Exterior" +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:184 +msgid "workspace.options.stroke.remove-stroke" +msgstr "Remover traço" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:105 msgid "workspace.options.stroke.solid" msgstr "Sólido" @@ -5245,11 +5611,11 @@ msgstr "Largura automática" msgid "workspace.options.text-options.grow-fixed" msgstr "Fixo" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Espaço entre letras" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Altura entre linhas" @@ -5315,15 +5681,15 @@ msgstr "" "Utiliza o botão de play no cabeçalho para iniciar a visualização do " "protótipo." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Largura" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "Eixo X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y" @@ -5371,10 +5737,19 @@ msgstr "Ajustar nós (%s)" msgid "workspace.plugins.button-open" msgstr "Abrir" +#: src/app/main/ui/workspace/plugins.cljs:202 +#, markdown +msgid "workspace.plugins.discover" +msgstr "Descobre [mais plugins](%s)" + #: src/app/main/ui/workspace/plugins.cljs:209 msgid "workspace.plugins.empty-plugins" msgstr "Sem plugins instalados" +#: src/app/main/data/plugins.cljs:86, src/app/main/ui/workspace/main_menu.cljs:743, src/app/main/ui/workspace/plugins.cljs:82 +msgid "workspace.plugins.error.need-editor" +msgstr "Precisas de ser um(a) editor(a) para usar este plugin" + #: src/app/main/ui/workspace/plugins.cljs:192 msgid "workspace.plugins.error.url" msgstr "O plugin não existe ou o URL está incorreto." @@ -5395,10 +5770,42 @@ msgstr "Gestor de plugins" msgid "workspace.plugins.menu.title" msgstr "Plugins" +#: src/app/main/ui/workspace/plugins.cljs:372 +msgid "workspace.plugins.permissions-update.title" +msgstr "ATUALIZAR ESTE PLUGIN" + +#: src/app/main/ui/workspace/plugins.cljs:276 +msgid "workspace.plugins.permissions.comment-read" +msgstr "Ler os teus comentários e respostas." + +#: src/app/main/ui/workspace/plugins.cljs:270 +msgid "workspace.plugins.permissions.comment-write" +msgstr "Ler e modificar os teus comentários, e enviar respostas em teu nome." + +#: src/app/main/ui/workspace/plugins.cljs:263 +msgid "workspace.plugins.permissions.library-read" +msgstr "Ler informações sobre as tuas bibliotecas e recursos." + +#: src/app/main/ui/workspace/plugins.cljs:257 +msgid "workspace.plugins.permissions.library-write" +msgstr "Ler e modificar as tuas bibliotecas e recursos." + +#: src/app/main/ui/workspace/plugins.cljs:316 +msgid "workspace.plugins.permissions.title" +msgstr "O PLUGIN '%s' SOLICITA ACESSO A:" + +#: src/app/main/ui/workspace/plugins.cljs:250 +msgid "workspace.plugins.permissions.user-read" +msgstr "Ler as informações de perfil do utilizador atual." + #: src/app/main/ui/workspace/plugins.cljs:214 msgid "workspace.plugins.plugin-list-link" msgstr "Lista de plugins" +#: src/app/main/ui/workspace/plugins.cljs:86 +msgid "workspace.plugins.remove-plugin" +msgstr "Remover plugin" + #: src/app/main/ui/workspace/plugins.cljs:183 msgid "workspace.plugins.search-placeholder" msgstr "Introduz um URL de plugin" @@ -5411,99 +5818,135 @@ msgstr "Plugin carregado com sucesso." msgid "workspace.plugins.title" msgstr "Plugins" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/plugins.cljs:436 +msgid "workspace.plugins.try-out.cancel" +msgstr "AGORA NÃO" + +#: src/app/main/ui/workspace/plugins.cljs:425 +msgid "workspace.plugins.try-out.title" +msgstr "O PLUGIN '%s' FOI INSTALADO PARA O TEU UTILIZADOR!" + +#: src/app/main/ui/workspace/plugins.cljs:442 +msgid "workspace.plugins.try-out.try" +msgstr "TESTAR PLUGIN" + +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Adicionar layout flex" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Adicionar layout em grelha" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 +msgid "workspace.shape.menu.add-layout" +msgstr "Adicionar layout" + +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Enviar para trás" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Mover para trás" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Copiar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/context_menu.cljs:204 +msgid "workspace.shape.menu.copy-css" +msgstr "Copiar como CSS" + +#: src/app/main/ui/workspace/context_menu.cljs:189 +msgid "workspace.shape.menu.copy-link" +msgstr "Copiar ligação para a área de transferência" + +#: src/app/main/ui/workspace/context_menu.cljs:202 +msgid "workspace.shape.menu.copy-paste-as" +msgstr "Copiar/Colar como ..." + +#: src/app/main/ui/workspace/context_menu.cljs:214 +msgid "workspace.shape.menu.copy-props" +msgstr "Copiar propriedades" + +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Copiar como texto" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Criar nota" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Seleção para a prancheta" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Criar componente" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Criar múltiplos componentes" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Recortar" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Eliminar" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Eliminar início de fluxo" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Desprender instância" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Desprender instâncias" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Diferença" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplicar" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Editar" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Excluir" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Achatar" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Virar na horizontal" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Virar na vertical" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Início de fluxo" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Mover para a frente" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Enviar para a frente" @@ -5512,95 +5955,107 @@ msgstr "Enviar para a frente" msgid "workspace.shape.menu.go-main" msgstr "Ir para ficheiro do componente principal" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Agrupar" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Ocultar" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Mostrar/Ocultar interface" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Interseção" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Bloquear" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Máscara" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Colar" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:218 +msgid "workspace.shape.menu.paste-props" +msgstr "Colar propriedades" + +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Curvas" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Remover layout flex" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Remover layout em grelha" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 +msgid "workspace.shape.menu.remove-layout" +msgstr "Remover layout" + +#: src/app/main/ui/workspace/context_menu.cljs:313 +msgid "workspace.shape.menu.rename" +msgstr "Renomear" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Anular alterações" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Restaurar componente principal" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Selecionar camada" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Mostrar" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Mostrar recursos no painel" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Mostrar componente principal" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Remover miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Definir como miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transformar em vector" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Desagrupar" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "União" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Desbloquear" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Retirar máscara" @@ -5609,7 +6064,7 @@ msgstr "Retirar máscara" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Atualizar componentes principais" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Atualizar componente principal" @@ -5621,11 +6076,11 @@ msgstr "Fechar barra lateral" msgid "workspace.sidebar.expand" msgstr "Expandir barra lateral" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Histórico" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Camadas" @@ -5661,7 +6116,7 @@ msgstr "Formas" msgid "workspace.sidebar.layers.texts" msgstr "Textos" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Importar atributos do SVG" @@ -5669,11 +6124,80 @@ msgstr "Importar atributos do SVG" msgid "workspace.sidebar.sitemap" msgstr "Páginas" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/sidebar/sitemap.cljs:249 +msgid "workspace.sidebar.sitemap.add-page" +msgstr "Adicionar página" + +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Mapa do site" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/theme_select.cljs:84 +msgid "workspace.token.active-themes" +msgstr "%s temas ativos" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Aplicado a" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 +msgid "workspace.token.back-to-themes" +msgstr "Voltar à lista de temas" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 +msgid "workspace.token.delete-theme-title" +msgstr "Eliminar tema" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 +msgid "workspace.token.edit-theme-title" +msgstr "Editar tema" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:72 +msgid "workspace.token.edit-themes" +msgstr "Editar temas" + +#: src/app/main/ui/workspace/tokens/form.cljs:544 +msgid "workspace.token.enter-token-description" +msgstr "Adicionar uma descrição (opcional)" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "Tema" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 +#, fuzzy +msgid "workspace.token.original-value" +msgstr "Valor original: %s" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 +msgid "workspace.token.save-theme" +msgstr "Guardar tema" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 +msgid "workspace.token.theme-name" +msgstr "Tema %s" + +#: src/app/main/ui/workspace/tokens/form.cljs:545 +msgid "workspace.token.token-description" +msgstr "Descrição" + +#: src/app/main/ui/workspace/tokens/form.cljs:501 +msgid "workspace.token.token-name" +msgstr "Nome" + +#: src/app/main/ui/workspace/tokens/form.cljs:526 +msgid "workspace.token.token-value" +msgstr "Valor" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 +msgid "workspace.token.tools" +msgstr "Ferramentas" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "O valor não é válido" + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Recursos" @@ -5681,35 +6205,39 @@ msgstr "Recursos" msgid "workspace.toolbar.color-palette" msgstr "Paleta de cores (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Comentários (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Curvas (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elipse (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Prancheta (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Imagem (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Mover (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Caminho (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 +msgid "workspace.toolbar.plugins" +msgstr "Plugins (%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rectângulo (%s)" @@ -5718,7 +6246,7 @@ msgstr "Rectângulo (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Atalhos (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Texto (%s)" @@ -5726,7 +6254,7 @@ msgstr "Texto (%s)" msgid "workspace.toolbar.text-palette" msgstr "Tipografias (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Alternar barra de ferramentas" @@ -5884,22 +6412,74 @@ msgstr "Operação sobre %s" msgid "workspace.undo.title" msgstr "Histórico" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Ignorar" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Mais informações" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Existem atualizações nas bibliotecas partilhadas" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Atualizar" +#: src/app/main/ui/workspace/sidebar/versions.cljs:203 +msgid "workspace.versions.button.pin" +msgstr "Afixar versão" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:198 +msgid "workspace.versions.button.restore" +msgstr "Restaurar versão" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:327, src/app/main/ui/workspace/sidebar/versions.cljs:329 +msgid "workspace.versions.button.save" +msgstr "Guardar versão" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:336 +msgid "workspace.versions.empty" +msgstr "Ainda não existem versões" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:309 +msgid "workspace.versions.filter.all" +msgstr "Todas as versões" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:308 +msgid "workspace.versions.filter.label" +msgstr "Filtro de versões" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:310 +msgid "workspace.versions.filter.mine" +msgstr "As minhas versões" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:316 +msgid "workspace.versions.filter.user" +msgstr "Versões de %s" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:322 +msgid "workspace.versions.loading" +msgstr "A carregar..." + +#: src/app/main/ui/workspace/sidebar/versions.cljs:259 +msgid "workspace.versions.restore-warning" +msgstr "Queres restaurar esta versão?" + +#: src/app/main/ui/workspace/sidebar.cljs:285 +msgid "workspace.versions.tab.actions" +msgstr "Ações" + +#: src/app/main/ui/workspace/sidebar.cljs:282 +msgid "workspace.versions.tab.history" +msgstr "Histórico" + +#: src/app/main/ui/ds/product/autosaved_milestone.cljs:67, src/app/main/ui/ds/product/user_milestone.cljs:74 +msgid "workspace.versions.version-menu" +msgstr "Abrir menu de versões" + #, unused msgid "workspace.viewport.click-to-close-path" msgstr "Clica para fechar o caminho" diff --git a/frontend/translations/ro.po b/frontend/translations/ro.po index b8f591a5a4..84dc1ae3fa 100644 --- a/frontend/translations/ro.po +++ b/frontend/translations/ro.po @@ -39,13 +39,13 @@ msgstr "Creează un cont demo" msgid "auth.create-demo-profile" msgstr "Vrei doar să încerci?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Acesta este un DEMO, NU UTILIZAȚI pentru lucrări reale, întrucât proiectele " "vor fi șterse periodic." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Ai uitat parola?" @@ -53,7 +53,7 @@ msgstr "Ai uitat parola?" msgid "auth.fullname" msgstr "Numele complet" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Logare în contul meu" @@ -61,33 +61,33 @@ msgstr "Logare în contul meu" msgid "auth.login-here" msgstr "Logați-vă aici." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Intră în cont" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot este unealta gratuită cu cod sursă liber pentru colaborare în design " "și cod" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -113,7 +113,7 @@ msgstr "Un link de recuperare a parolei s-a trimis pe e-mail." msgid "auth.notifications.team-invitation-accepted" msgstr "Te-ai alăturat echipei cu success" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Parola" @@ -141,7 +141,7 @@ msgstr "Ai uitat parola?" msgid "auth.recovery-submit" msgstr "Schimbă parola" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Nu aveți încă un cont?" @@ -153,7 +153,7 @@ msgstr "Spuneți-ne cum ar trebui să vă adresăm pe pagina de pornire și în msgid "auth.register-account-title" msgstr "Numele dvs." -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Creează un cont" @@ -179,7 +179,7 @@ msgstr "" "Sunt de acord cu [termenii și condițiile](%s) și [politica de " "confidențialitate](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Termenii serviciului" @@ -193,7 +193,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Am trimis un email de verificare la" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Email lucru" @@ -202,7 +202,7 @@ msgstr "Email lucru" msgid "branding-illustrations-marketing-pieces" msgstr "... mărci, ilustrații, piese de marketing, etc." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publică" @@ -275,7 +275,7 @@ msgstr "Distribuiți prototipuri" msgid "common.share-link.view-all" msgstr "Selectează Tot" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Anulați publicarea" @@ -329,7 +329,7 @@ msgstr "Tutorial interfață" msgid "dashboard.access-tokens.copied-success" msgstr "Jeton copiat" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Generați jeton nou" @@ -337,11 +337,11 @@ msgstr "Generați jeton nou" msgid "dashboard.access-tokens.create.success" msgstr "Jeton de acces creat cu succes." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Apăsați butonul 'Generați jeton nou' pentru a genera unul." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Nu aveți încă jetoane." @@ -365,23 +365,23 @@ msgstr "90 zile" msgid "dashboard.access-tokens.expiration-never" msgstr "Niciodată" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Expirat pe %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Expiră pe %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Fără dată de expirare" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Jeton de acces personal" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Jetoanele de acces personal funcționează ca o alternativă la sistemul " @@ -404,7 +404,7 @@ msgstr "Adăugați ca bibliotecă partajată" msgid "dashboard.change-email" msgstr "Schimbă adresa de e-mail" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(copiază)" @@ -440,23 +440,23 @@ msgstr "Duplicat" msgid "dashboard.duplicate-multi" msgstr "Duplicați %s fișiere" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Odată ce un membru de proiect creează o ciornă, aceasta va fi afișată aici." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Nu aveți încă ciorne." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Odată ce un membru de proiect creează un fișier, acesta va fi afișat aici." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Nu aveți încă fișiere." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -472,11 +472,11 @@ msgstr "" "fișierele sau adăugați din [Biblioteci și " "șabloane](https://penpot.app/libraries-templates)." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Bibliotecile adăugate la proiect vor apărea aici." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Nu aveți încă biblioteci." @@ -570,36 +570,36 @@ msgstr "Includeți elementele bibliotecii partajate în bibliotecile de fișiere msgid "dashboard.export.title" msgstr "Exportați fișiere" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Font șters" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Anulează tot" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Fonturile personalizate pe care le încărcați vor apărea aici." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "Nu aveți încă fonturi personalizate." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "" "Odată ce un membru de proiect încarcă un font personalizat. acesta va fi " "afișat aici." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 font adăugat" msgstr[1] "%s fonturi adăugate" msgstr[2] "%s de fonturi adăugate" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -608,21 +608,20 @@ msgstr "" "familie de font-uri**. Tipurile de fişiere acceptate: **TTF, OTF și WOFF** " "(se poate urca doar un singur tip)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Ar trebui să urcați doar fonturi la care aveți drept de folosință sau " "fonturi personale. Află mai multe despre Dreptul de conținut la secțiunea " -"[Termenii și Condițiile Penpot](%s). De " -"asemenea, vă recomandăm să citiți și despre [licențierea " -"fonturilor](https://www.typography.com/faq)." +"[Termenii și Condițiile Penpot](%s). De asemenea, vă recomandăm să citiți " +"și despre [licențierea fonturilor](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Încarcă toate" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -633,7 +632,7 @@ msgstr "" "utilizați [Transfonter](https://transfonter.org/) pentru a genera fonturi " "web și a remedia erorile. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importați fișiere Penpot" @@ -649,14 +648,14 @@ msgstr "Fișier cu componente v2 activat, dar această echipă încă nu îl sup msgid "dashboard.import.import-error" msgstr "A apărut o problemă la importul fișierului. Fișierul nu a fost importat." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 fișier a fost importat cu succes." msgstr[1] "% fișiere au fost importate cu succes." msgstr[2] "% de fișiere au fost importate cu succes." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Unele fișiere conțineau obiecte nevalide care au fost eliminate." @@ -696,27 +695,27 @@ msgstr "Invitați persoane" msgid "dashboard.leave-team" msgstr "Părăsește echipa" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Biblioteci & Șabloane" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Explorează mai multe dintre ele și află cum să contribui" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "A apărut o problemă la importarea șablonului. Șablonul nu a fost importat." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Biblioteci Partajate" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "încărcarea fișierelor …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "se încarcă fonturile tale…" @@ -732,11 +731,11 @@ msgstr "Mutați %s fișiere la" msgid "dashboard.move-to-other-team" msgstr "Mutați la altă echipă" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Fișier nou" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Fișer nou" @@ -744,7 +743,7 @@ msgstr "Fișer nou" msgid "dashboard.new-project" msgstr "+ Proiect nou" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Proiect nou" @@ -756,7 +755,7 @@ msgstr "Nu există rezultate pentru “%s“" msgid "dashboard.no-projects-placeholder" msgstr "Proiectele fixate vor apărea aici" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Notificări" @@ -784,7 +783,7 @@ msgstr "%s membrii" msgid "dashboard.open-in-new-tab" msgstr "Deschide fișier într-o pagină nouă" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Opțiuni" @@ -849,7 +848,7 @@ msgstr "Selectați limbajul interfeței" msgid "dashboard.select-ui-theme" msgstr "Selectați o temă" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Afișați toate fișierele" @@ -879,7 +878,7 @@ msgstr[2] "Fișierele dumneavoastră au fost duplicate cu succes" msgid "dashboard.success-duplicate-project" msgstr "Proiectul s-a duplicat cu succes" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Fișierul a fost mutat cu succes" @@ -975,7 +974,7 @@ msgstr "Email" msgid "dashboard.your-name" msgstr "Numele tău" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Contul Penpot" @@ -991,11 +990,11 @@ msgstr "Atenţie" msgid "ds.component-subtitle" msgstr "Componente de actualizat:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Anulează" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -1003,7 +1002,7 @@ msgstr "Ok" msgid "ds.confirm-title" msgstr "Ești sigur?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Furnizorul de autentificare nu este configurat." @@ -1011,11 +1010,11 @@ msgstr "Furnizorul de autentificare nu este configurat." msgid "errors.auth.unable-to-login" msgstr "Se pare că nu sunteți autentificat sau sesiunea a expirat." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Fontul %s nu a putut fi încărcat" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Fonturile %s nu au putut fi încărcate" @@ -1023,7 +1022,7 @@ msgstr "Fonturile %s nu au putut fi încărcate" msgid "errors.cannot-upload" msgstr "Fișierul media nu s-a putut încărca." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Bowser-ul tău nu permite clipboard" @@ -1035,7 +1034,7 @@ msgstr "Email deja trimis" msgid "errors.email-already-validated" msgstr "Adresa de email este deja validată." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Nu vă puteți folosi e-mailul ca parolă" @@ -1057,7 +1056,7 @@ msgstr "" msgid "errors.feature-not-supported" msgstr "Funcția \"%s\" nu este acceptată." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "S-a întâmplat ceva în neregulă." @@ -1070,8 +1069,7 @@ msgstr "Culoare invalidă" msgid "errors.invalid-email" msgstr "Vă rugăm să introduceți un e-mail valid" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "E-mailul de confirmare trebuie să se potrivească" @@ -1087,7 +1085,7 @@ msgstr "Invitație invalidă" msgid "errors.invite-invalid.info" msgstr "Această invitație poate fi anulată sau expirată." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Autentificarea cu LDAP este dezactivată." @@ -1123,7 +1121,7 @@ msgstr "Parola de confirmare trebuie să se potrivească" msgid "errors.password-too-short" msgstr "Parola trebuie să conțină cel puțin 8 caractere" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Profilul este blocat" @@ -1189,12 +1187,11 @@ msgstr "Eroare neașteptată la validare" msgid "errors.webhooks.unexpected-status" msgstr "Stare neașteptată %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "E-mailul sau parola sunt incorecte." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Parola veche este incorectă" @@ -1242,11 +1239,11 @@ msgstr "Aici pentru a vă ajuta cu întrebările tehnice." msgid "feedback.twitter-title" msgstr "Cont de asistență X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Am întâmpinat o eroare" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Estompare" @@ -1254,31 +1251,31 @@ msgstr "Estompare" msgid "inspect.attributes.blur.value" msgstr "Valoare" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Umple" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Descarcă imaginea sursă" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Înălțime" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Lățime" @@ -1317,15 +1314,15 @@ msgstr "Top" msgid "inspect.attributes.layout.width" msgstr "Lățime" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Umbră" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Dimensiune și poziție" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Linie" @@ -1362,139 +1359,139 @@ msgstr "Solid" msgid "inspect.attributes.stroke.width" msgstr "Lățime" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografie" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Familie de Fonturi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Dimensiune Font" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Stil Font" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Greutate Font" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Spațiere" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Înălțimea rândului" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Decorare Text" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Niciunul" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Barat" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Subliniat" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Transformare Text" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Minuscule" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Niciunul" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Majuscule Titlu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Majuscule" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Dacă doriți să aflați mai multe despre inspectorul de design, vizitați " "centrul de ajutor Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Mai multe informații despre inspector" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Selectați o formă, o placă sau un grup pentru a le inspecta proprietățile " "și codul" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Cod" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Cerc" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Componentă" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Curbat" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Planșă de lucru" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grup" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Imagine" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Mască" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Selectate" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Traiectorie" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Dreptunghi" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Text" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Info" @@ -1514,7 +1511,7 @@ msgstr "Jetoane acces" msgid "labels.active" msgstr "Activ" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Adăugați font personalizat" @@ -1526,7 +1523,7 @@ msgstr "Administrator" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Toate" @@ -1546,7 +1543,7 @@ msgstr "Momentan serverele noastre sunt în mentenanță. Revino în scurt timp. msgid "labels.bad-gateway.main-message" msgstr "Eroare de Server" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Anulează" @@ -1554,15 +1551,15 @@ msgstr "Anulează" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Închide" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Comentarii" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Comunitate" @@ -1570,7 +1567,7 @@ msgstr "Comunitate" msgid "labels.confirm-password" msgstr "Confirmă parola" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Continuă" @@ -1586,7 +1583,7 @@ msgstr "Poți continua cu un cont Penpot" msgid "labels.copy-invitation-link" msgstr "Copiați link-ul" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Creează" @@ -1606,15 +1603,15 @@ msgstr "Fonturi personalizate" msgid "labels.dashboard" msgstr "Administrare" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Șterge" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Șterge comentariu" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Șterge discuție" @@ -1626,15 +1623,15 @@ msgstr "Șterge invitație" msgid "labels.delete-multi-files" msgstr "Șterge %s fișiere" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Anulați" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Drafturi" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Editează" @@ -1650,7 +1647,7 @@ msgstr "Editor" msgid "labels.expired-invitation" msgstr "Expirat" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exportă" @@ -1666,7 +1663,7 @@ msgstr "Feedback trimis" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Familie de Fonturi" @@ -1674,11 +1671,11 @@ msgstr "Familie de Fonturi" msgid "labels.font-providers" msgstr "Provideri de Fonturi" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Stiluri" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fonturi" @@ -1686,11 +1683,11 @@ msgstr "Fonturi" msgid "labels.freelancer" msgstr "Sunt un freelancer" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Repozitoriu Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Lasă un feedback" @@ -1698,11 +1695,11 @@ msgstr "Lasă un feedback" msgid "labels.go-back" msgstr "Întoarce-te" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Centru Ajutor" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Ascunde comentariile rezolvate" @@ -1710,7 +1707,7 @@ msgstr "Ascunde comentariile rezolvate" msgid "labels.inactive" msgstr "Inactiv" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Fonturi instalate" @@ -1736,7 +1733,7 @@ msgstr "Invitații" msgid "labels.language" msgstr "Limbă" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Biblioteci & Șabloane" @@ -1744,7 +1741,7 @@ msgstr "Biblioteci & Șabloane" msgid "labels.log-or-sign" msgstr "Conectați-vă sau înregistrați-vă" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Deconectare" @@ -1760,11 +1757,11 @@ msgstr "Membri" msgid "labels.new-password" msgstr "Parolă nouă" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Următor" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Sunteți la zi! Notificările de comentarii noi vor apărea aici." @@ -1788,7 +1785,7 @@ msgstr "Această pagină nu există sau nu ai permisiunea să o accesezi." msgid "labels.not-found.main-message" msgstr "Opa!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 fişier" @@ -1850,7 +1847,7 @@ msgstr "Profil" msgid "labels.projects" msgstr "Proiecte" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Mențiuni" @@ -1868,7 +1865,7 @@ msgstr "Elimină" msgid "labels.remove-member" msgstr "Eliminați membru" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Redenumire" @@ -1888,11 +1885,11 @@ msgstr "Încearcă din nou" msgid "labels.role" msgstr "Rol" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Salvează" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Caută font" @@ -1928,15 +1925,15 @@ msgstr "Distribuie link" msgid "labels.shared-libraries" msgstr "Biblioteci distribuite" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Afișează toate comentariile" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Arată lista de comentarii" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Afișează doar comentariile mele" @@ -1956,7 +1953,7 @@ msgstr "Stare" msgid "labels.student-teacher" msgstr "Student sau profesor" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Tutoriale" @@ -1972,15 +1969,15 @@ msgstr "Actualizare" msgid "labels.update-team" msgstr "Actualizare echipă" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Încărcare" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Încarcă fonturi personalizate" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Se încarcă…" @@ -1996,7 +1993,7 @@ msgstr "Vizitator" msgid "labels.webhooks" msgstr "Webhook-uri" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Scrie un comentariu" @@ -2004,7 +2001,7 @@ msgstr "Scrie un comentariu" msgid "labels.you" msgstr "(tu)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Contul tău" @@ -2057,7 +2054,7 @@ msgstr "Schimbă adresa de e-mail" msgid "modals.change-email.title" msgstr "Schimbă-ți adresa de E-mail" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Copiați jeton" @@ -2073,7 +2070,7 @@ msgstr "Nume" msgid "modals.create-access-token.name.placeholder" msgstr "Numele vă poate ajuta să știți pentru ce este folosit jetonul" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Creați jeton" @@ -2097,15 +2094,15 @@ msgstr "URL a încărcăturii" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Ștergeți jeton" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Sunteți sigur că doriți să ștergeți acest jeton?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Ștergeți jeton" @@ -2125,25 +2122,25 @@ msgstr "Prin ștergerea contului, se vor șterge toate proiectele și arhivele t msgid "modals.delete-account.title" msgstr "Ești sigur că dorești ștergerea contului?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Șterge conversație" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Ești sigur că dorești să ștergi această conversație? Toate discuțiile din " "cadrul subiect vor fi șterse." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Șterge conversație" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Sunteți sigur că doriți să ștergeți această notă?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Ștergeți notă" @@ -2171,31 +2168,31 @@ msgstr "Ești sigur că dorești să ștergi aceste %s fișiere?" msgid "modals.delete-file-multi-confirm.title" msgstr "Ștergere %s fișeiere în curs" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Sigur doriți să ștergeți acest stil de font? Nu se va încărca dacă este " "folosit într-un fișier." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Ștergerea stilului fontului" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Ești sigur că dorești să ștergi acest font? O dată șters acesta nu se va " "mai încărca în proiectele tale." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Ștergere font" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Ești sigur că dorești să ștergi această pagină?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Șterge pagină" @@ -2389,15 +2386,15 @@ msgstr "Ești sigur că dorești să promovezi acest utilizator ca deținător a msgid "modals.promote-owner-confirm.title" msgstr "Confirmare promovare" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publicați" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Librăria dvs. este goală. Sunteți sigur că doriți să o publicați?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Publicați librărie goală" @@ -2455,21 +2452,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Actualizează componentele într-o bibliotecă partajată" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Actualizare componentă" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Anulează" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Actualizezi o componentă dintr-o colecţie distribuită. Pot fi afectate alte " "fişiere ce o folosesc." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Actualizaţi o componentă dintr-o colecţie distribuită" @@ -2528,29 +2525,29 @@ msgstr "Tutoriale video" msgid "onboarding-v2.before-start.title" msgstr "Înainte de a începe" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Abonați-vă la newsletter-ul Penpot pentru a fi la curent cu progresul și " "noutățile dezvoltării produsului." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Trimite-mi noutăți despre Penpot (postări pe blog, tutoriale video, " "streaming...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Ne pasă de confidențialitate, aici puteți citi " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Vă vom trimite doar e-mailuri relevante. Vă puteți dezabona oricând prin " "linkul de dezabonare din oricare dintre buletinele noastre informative." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Trimite-mi actualizări de produse (funcții noi, lansări, remedieri...)." @@ -2611,17 +2608,17 @@ msgstr "Invitați cu rolul:" msgid "onboarding.newsletter.accept" msgstr "Da, abonează" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Solicitarea dvs. de abonament a fost trimisă, vă vom trimite un e-mail " "pentru a o confirma." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Politica de Confidențialitate." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Vrei să primești știri Penpot?" @@ -2699,7 +2696,7 @@ msgstr "Mergi la autentificare" msgid "settings.detach" msgstr "Detașați" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Multiple" @@ -2885,7 +2882,7 @@ msgstr "Creează nou" msgid "shortcuts.cut" msgstr "Taie" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Micșorează" @@ -2985,7 +2982,7 @@ msgstr "Distribuiți pe orizontală" msgid "shortcuts.hide-ui" msgstr "Arată/ascunde interfața" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Măriți" @@ -3337,15 +3334,15 @@ msgstr "Mărește la selecție" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Furnizori de Fonturi - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Fonturi - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Proiecte - %s - Penpot" @@ -3353,7 +3350,7 @@ msgstr "Proiecte - %s - Penpot" msgid "title.dashboard.search" msgstr "Caută - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Biblioteci Distribuite - %s - Penpot" @@ -3361,7 +3358,7 @@ msgstr "Biblioteci Distribuite - %s - Penpot" msgid "title.default" msgstr "Penpot - Libertate în Design pentru Echipe" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profil - Jetoane acces" @@ -3401,7 +3398,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - Vizualizare - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3506,15 +3503,15 @@ msgstr "Aliniază sus (%s)" msgid "workspace.assets.assets" msgstr "Obiecte" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Toate obiectele" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Culori" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Componente" @@ -3526,15 +3523,15 @@ msgstr "Creează grup" msgid "workspace.assets.create-group-hint" msgstr "Obiectele vor fi numite automat ca \"nume grup / nume obiect\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Şterge" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplică" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Duplicare principală" @@ -3542,11 +3539,11 @@ msgstr "Duplicare principală" msgid "workspace.assets.edit" msgstr "Editează" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Obiecte grafice" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Grup" @@ -3554,23 +3551,19 @@ msgstr "Grup" msgid "workspace.assets.group-name" msgstr "Nume grup" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Biblioteci" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "biblioteca locală" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Nu au fost găsite obiecte" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Deschideți fișier librărie" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Redenumeşte" @@ -3578,7 +3571,7 @@ msgstr "Redenumeşte" msgid "workspace.assets.rename-group" msgstr "Redenumiți grupul" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Caută obiecte" @@ -3595,7 +3588,7 @@ msgstr[2] "%s obiecte selectate" msgid "workspace.assets.shared-library" msgstr "Librărie partajată" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Tipografii" @@ -3604,27 +3597,27 @@ msgstr "Tipografii" msgid "workspace.assets.typography.font-id" msgstr "Font" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Dimensiune" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variante" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Editează fişierul în Colecţia de stiluri" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Spaţiere Litere" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Înălţime linie" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3632,7 +3625,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Stiluri de text" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Transformare Text" @@ -3644,11 +3637,11 @@ msgstr "Degrupați" msgid "workspace.focus.focus-mode" msgstr "Mod focus" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Focus oprit" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Focus pornit" @@ -3778,33 +3771,32 @@ msgstr "Afișați paleta de fonturi" msgid "workspace.header.menu.undo" msgstr "Anulare" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Resetați" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Eroare în timpul salvării" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Salvat" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Salvare în curs" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Modificări nesalvate" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Vizualizare (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zoom" @@ -3816,7 +3808,7 @@ msgstr "Umplere - Scalare pentru a umple" msgid "workspace.header.zoom-fit" msgstr "Potrivire - Scalare în jos a se potrivi" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Zoom pentru a potrivi tot" @@ -3824,7 +3816,7 @@ msgstr "Zoom pentru a potrivi tot" msgid "workspace.header.zoom-full-screen" msgstr "Ecran complet" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zoom la selecție" @@ -3837,7 +3829,7 @@ msgstr "Editare grilă" msgid "workspace.libraries.add" msgstr "Adaugă" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s culori" @@ -3867,31 +3859,31 @@ msgstr "Culori recente" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Complementar" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Salvează stilul culorii" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s componente" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Bibliotecă de fișiere" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s obiecte grafice" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTECILE FIŞIERULUI" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTECI" @@ -3900,51 +3892,47 @@ msgstr "BIBLIOTECI" msgid "workspace.libraries.library" msgstr "BIBLIOTECĂ" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "ACTUALIZĂRI LIBRĂRII" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Nu există Biblioteci Distribuite ce necesită update" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Nu au fost găsite asemănări pentru “%s“" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Nu există Biblioteci Distribuite" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Caută în bibliotecile distribuite" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "BIBLIOTECI DISTRIBUITE" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Tipografii multiple" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Deconectează toate tipografiile" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s tipografii" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Actualizați" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "vedeți toate schimbările" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "ACTUALIZĂRI" @@ -3964,35 +3952,35 @@ msgstr "Blur pe grup" msgid "workspace.options.blur-options.title.multiple" msgstr "Selecţie de blur" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Fundal canvas" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Conținutul clipului" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Componentă" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Notă" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Copiați" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Creați o notă" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Editați o notă" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Principal" @@ -4040,7 +4028,7 @@ msgstr "Sus & Jos" msgid "workspace.options.design" msgstr "Design" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exportă" @@ -4049,14 +4037,14 @@ msgstr "Exportă" msgid "workspace.options.export-multiple" msgstr "Exportați selecția" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Exportați 1 element" msgstr[1] "Exportați %s elemente" msgstr[2] "Exportați %s elemente" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Sufix" @@ -4064,7 +4052,7 @@ msgstr "Sufix" msgid "workspace.options.exporting-complete" msgstr "Export finalizat" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Se exportă…" @@ -4194,7 +4182,7 @@ msgstr "Umplere grup" msgid "workspace.options.group-stroke" msgstr "Conturare grup" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Înălțime" @@ -4504,19 +4492,19 @@ msgstr "Layere selectate" msgid "workspace.options.layout-item.advanced-ops" msgstr "Opțiuni avansate" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Înălțime maximă" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Lățime maximă" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Înălțime minimă" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Lățime minimă" @@ -4630,11 +4618,11 @@ msgstr "spațiu între" msgid "workspace.options.layout.top" msgstr "Sus" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Mai multe culori" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Mai multe culori de bibliotecă" @@ -4671,7 +4659,7 @@ msgstr "Stânga sus" msgid "workspace.options.radius-top-right" msgstr "Dreapta sus" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Recente" @@ -4679,11 +4667,11 @@ msgstr "Recente" msgid "workspace.options.retry" msgstr "Reîncercați" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotaţie" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Căutați font" @@ -4691,7 +4679,7 @@ msgstr "Căutați font" msgid "workspace.options.select-a-shape" msgstr "Selectează o formă, o planşă sau grupează pentru a conecta o altă planşă." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Culori selectate" @@ -4703,43 +4691,43 @@ msgstr "Umplere selecție" msgid "workspace.options.selection-stroke" msgstr "Contur selecție" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Estompare" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Culoare umbră" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Umbră proiectată" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Umbră interioară" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Accentuare" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Umbră" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Umbră grup" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Umbre de selecție" @@ -4747,7 +4735,7 @@ msgstr "Umbre de selecție" msgid "workspace.options.show-fill-on-export" msgstr "Afișați în exporturi" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Afișare în modul de vizualizare" @@ -4755,7 +4743,7 @@ msgstr "Afișare în modul de vizualizare" msgid "workspace.options.size" msgstr "Mărime" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Dimensiuni presetate" @@ -4824,7 +4812,7 @@ msgstr "Triunghi" msgid "workspace.options.stroke-color" msgstr "Culoare contur" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Lățimea conturului" @@ -4888,11 +4876,11 @@ msgstr "Lăţime auto" msgid "workspace.options.text-options.grow-fixed" msgstr "Fix" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Spaţiere Litere" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Înălţime linii" @@ -4956,15 +4944,15 @@ msgstr "Majuscule" msgid "workspace.options.use-play-button" msgstr "Foloseşte butonul play din header pentru a porni vizualizarea prototip." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Lăţime" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "Axa X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Axa Y" @@ -5008,99 +4996,99 @@ msgstr "Separă noduri (%s)" msgid "workspace.path.actions.snap-nodes" msgstr "Trage noduri (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Adăugați aspect flexibil" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Adăugați aspect grilă" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Trimite înapoi" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Trimite în urmă" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Copiază" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Creați notă" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Selecție la planșă" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Creează componentă" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Creați componente multiple" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Taie" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Şterge" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Ștergeți începutul fluxului" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Detaşează instanţă" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Detașați instanțele" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Diferență" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplică" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Editează" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Excludeți" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Aplatizați" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Întoarce pe orizontală" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Întoarce pe verticală" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Pornirea fluxului" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Aduceţi înainte" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Aduceţi în faţă" @@ -5109,91 +5097,91 @@ msgstr "Aduceţi în faţă" msgid "workspace.shape.menu.go-main" msgstr "Mergi la componenta principală" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Grupează" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Ascunde" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Afișați/ Ascundeți UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Intersecție" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Blochează" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Maschează" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Lipeşte" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Drum" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Îndepărtați aspect flexibil" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Resetează suprascrierile" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Restaurați componenta principală" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Selectați stratul" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Afişează" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Afișați în panoul de obiecte" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Afişează componenta principală" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Eliminați miniatura" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Setați ca miniatură" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Transformați în drum" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Degrupează" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Uniune" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Deblochează" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Demaschează" @@ -5202,7 +5190,7 @@ msgstr "Demaschează" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Actualizați componentele principale" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Actualizaţi principala componentă" @@ -5214,11 +5202,11 @@ msgstr "Restrângeți bara laterală" msgid "workspace.sidebar.expand" msgstr "Extindeți bara laterală" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Istoric" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Layere" @@ -5254,7 +5242,7 @@ msgstr "Forme" msgid "workspace.sidebar.layers.texts" msgstr "Texte" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Atribute SVG importate" @@ -5262,11 +5250,11 @@ msgstr "Atribute SVG importate" msgid "workspace.sidebar.sitemap" msgstr "Pagini" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Harta site-ului" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Obiecte" @@ -5274,35 +5262,35 @@ msgstr "Obiecte" msgid "workspace.toolbar.color-palette" msgstr "Paletă de culori (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Comentarii (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Curbe (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elipsă (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Planşă de lucru (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Imagine (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Poziţionează (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Cale (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Dreptunghi (%s)" @@ -5311,7 +5299,7 @@ msgstr "Dreptunghi (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Comenzi rapide (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Text (%s)" @@ -5464,19 +5452,19 @@ msgstr "Operaţiune terminată %s" msgid "workspace.undo.title" msgstr "Istoric" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Renunţă" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Mai multe informații" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Există actualizări în bibliotecile distribuite" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Actualizează" diff --git a/frontend/translations/ru.po b/frontend/translations/ru.po index c3d6d1b183..ceb571b203 100644 --- a/frontend/translations/ru.po +++ b/frontend/translations/ru.po @@ -1,7 +1,7 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-10-10 10:15+0000\n" -"Last-Translator: Inex Code \n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" +"Last-Translator: Anonymous \n" "Language-Team: Russian " "\n" "Language: ru\n" @@ -9,7 +9,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Weblate 5.8-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -36,13 +36,13 @@ msgstr "Создать демо-аккаунт" msgid "auth.create-demo-profile" msgstr "Хотите попробовать?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Это ДЕМОНСТРАЦИЯ, НЕ ИСПОЛЬЗУЙТЕ для работы, проекты будут периодически " "удаляться." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Забыли пароль?" @@ -50,7 +50,7 @@ msgstr "Забыли пароль?" msgid "auth.fullname" msgstr "Полное имя" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Войдите в свой аккаунт" @@ -58,33 +58,33 @@ msgstr "Войдите в свой аккаунт" msgid "auth.login-here" msgstr "Войти здесь." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Вход" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" -"Penpot - это бесплатный инструмент проектирования с открытым исходным кодом " -"для совместной работы над дизайном и кодом" +"Penpot — это бесплатный инструмент для дизайна с открытым исходным кодом, " +"созданный для совместной работы с дизайном и кодом" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -98,7 +98,7 @@ msgstr "Пароль успешно изменён" #: src/app/main/ui/auth/recovery_request.cljs:50 msgid "auth.notifications.profile-not-verified" -msgstr "Профиль не подтверждён, проверьте почту." +msgstr "Профиль не подтверждён, пожалуйста, сначала подтвердите профиль." #: src/app/main/ui/auth/recovery_request.cljs:33 msgid "auth.notifications.recovery-token-sent" @@ -108,7 +108,7 @@ msgstr "Ссылка для восстановления пароля отпра msgid "auth.notifications.team-invitation-accepted" msgstr "Приглашение в команду принято" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Пароль" @@ -136,7 +136,7 @@ msgstr "Забыли пароль?" msgid "auth.recovery-submit" msgstr "Изменить пароль" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Ещё нет аккаунта?" @@ -150,7 +150,7 @@ msgstr "" msgid "auth.register-account-title" msgstr "Ваше имя" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Создать аккаунт" @@ -177,7 +177,7 @@ msgstr "" "Я согласен с [условиями обслуживания](%s) и [политикой " "конфиденциальности](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Условия использования" @@ -191,7 +191,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Мы отправили эл. письмо с подтверждением на" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Рабочая эл. почта" @@ -200,7 +200,7 @@ msgstr "Рабочая эл. почта" msgid "branding-illustrations-marketing-pieces" msgstr "...брендинг, иллюстрации, маркетинговые материалы и т.д." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Опубликовать" @@ -242,11 +242,11 @@ msgstr[1] "%s общих страниц" #: src/app/main/ui/viewer/share_link.cljs:299 msgid "common.share-link.permissions-can-comment" -msgstr "Можно оставлять комментарии" +msgstr "Могут комментировать" #: src/app/main/ui/viewer/share_link.cljs:309 msgid "common.share-link.permissions-can-inspect" -msgstr "Может проверять код" +msgstr "Могут проверять код" #: src/app/main/ui/viewer/share_link.cljs:194 msgid "common.share-link.permissions-hint" @@ -272,7 +272,7 @@ msgstr "Поделиться прототипами" msgid "common.share-link.view-all" msgstr "Выбрать все" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Снять с публикации" @@ -324,7 +324,7 @@ msgstr "Руководство по интерфейсу" msgid "dashboard.access-tokens.copied-success" msgstr "Токен скопирован" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Сгенерировать новый токен" @@ -332,11 +332,11 @@ msgstr "Сгенерировать новый токен" msgid "dashboard.access-tokens.create.success" msgstr "Токен доступа успешно создан." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Нажмите кнопку «Сгенерировать новый токен», чтобы сгенерировать его." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "У вас пока нет токенов." @@ -360,23 +360,23 @@ msgstr "90 дней" msgid "dashboard.access-tokens.expiration-never" msgstr "Никогда" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Срок истёк %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Срок истекает %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Срока истечения нет" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Личные токены доступа" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Личные токены доступа функционируют как альтернатива нашей системе " @@ -391,6 +391,10 @@ msgstr "Срок действия токена истечёт %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "Токен не имеет срока действия" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Добавить файл" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Добавить как общую библиотеку" @@ -399,7 +403,7 @@ msgstr "Добавить как общую библиотеку" msgid "dashboard.change-email" msgstr "Изменить эл. почту" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(копия)" @@ -407,6 +411,10 @@ msgstr "(копия)" msgid "dashboard.create-new-team" msgstr "Создать новую команду" +#: src/app/main/ui/workspace/main_menu.cljs:623 +msgid "dashboard.create-version-menu" +msgstr "Закрепить эту версию" + #: src/app/main/ui/components/context_menu_a11y.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:659 msgid "dashboard.default-team-name" msgstr "Ваш Penpot" @@ -431,6 +439,46 @@ msgstr "Дублировать" msgid "dashboard.duplicate-multi" msgstr "Дублировать файлы (%s)" +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 +msgid "dashboard.empty-placeholder-drafts-subtitle" +msgstr "Как только участник проекта создаст черновик, он отобразится здесь." + +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 +msgid "dashboard.empty-placeholder-drafts-title" +msgstr "Черновиков пока нет." + +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 +msgid "dashboard.empty-placeholder-files-subtitle" +msgstr "Как только участник проекта создаст файл, он отобразится здесь." + +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 +msgid "dashboard.empty-placeholder-files-title" +msgstr "Файлов пока нет." + +#: src/app/main/ui/dashboard/placeholder.cljs:77 +#, markdown +msgid "dashboard.empty-placeholder-libraries" +msgstr "" +"Библиотеки, добавленные в проект, будут отображаться здесь. Попробуйте " +"поделиться своими файлами или добавьте из наших [Библиотек и " +"шаблонов](https://penpot.app/libraries-templates)." + +#: src/app/main/ui/dashboard/placeholder.cljs +#, markdown, unused +msgid "dashboard.empty-placeholder-libraries-subtitle" +msgstr "" +"Библиотеки, добавленные в проект, будут отображаться здесь. Попробуйте " +"поделиться своими файлами или добавьте из наших [Библиотек и " +"шаблонов](https://penpot.app/libraries-templates)." + +#: src/app/main/ui/dashboard/placeholder.cljs:73 +msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" +msgstr "Библиотеки, добавленные в проект, будут отображаться здесь." + +#: src/app/main/ui/dashboard/placeholder.cljs:70 +msgid "dashboard.empty-placeholder-libraries-title" +msgstr "Библиотек пока нет." + #: src/app/main/ui/dashboard/file_menu.cljs:249, src/app/main/ui/dashboard/file_menu.cljs:254 msgid "dashboard.export-binary-multi" msgstr "Скачать файлы Penpot (.penpot) (%s)" @@ -519,25 +567,29 @@ msgstr "Включить ресурсы общей библиотеки в фа msgid "dashboard.export.title" msgstr "Экспорт файлов" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Шрифт удалён" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Отменить все" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Пользовательские шрифты, которые вы загружаете, будут отображаться здесь." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:450 +msgid "dashboard.fonts.empty-placeholder-viewer" +msgstr "Пользовательских шрифтов пока нет." + +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "Шрифт добавлен" msgstr[1] "Шрифты добавлены (%s)" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -547,21 +599,21 @@ msgstr "" "загрузки допустимы следующие форматы: **TTF, OTF и WOFF** (используйте один " "из них)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Вам следует загружать только собственные шрифты, или у которых есть " "лицензия на использование в Penpot. Больше информации в разделе \"Content " -"rights\" в [Условиях использования Penpot](%s). " -"Также можете прочитать о [лицензированием " -"шрифтов](https://www.typography.com/faq) в целом." +"rights\" в [Условиях использования Penpot](https://penpot.app/terms.html). " +"Также можете прочитать о [лицензировании " +"шрифтов](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Загрузить все" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -572,7 +624,7 @@ msgstr "" "использовать [Transfonter](https://transfonter.org/) для создания " "веб-шрифтов и исправления ошибок. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Импорт файлов Penpot" @@ -584,15 +636,19 @@ msgstr "Ой! Не вышло импортировать этот файл" msgid "dashboard.import.analyze-error.components-v2" msgstr "Файл с компонентами v2 активирован, но эта команда пока не поддерживает его." +#: src/app/main/ui/dashboard.cljs:247 +msgid "dashboard.import.bad-url" +msgstr "Импорт не удался. URL-адрес шаблона неверен" + +#: src/app/main/ui/dashboard.cljs:241 +msgid "dashboard.import.error" +msgstr "Импорт не удался. Пожалуйста, попробуйте снова" + #: src/app/main/ui/dashboard/import.cljs:292 msgid "dashboard.import.import-error" msgstr "Есть проблема с импортом файла. Файл не был импортирован." -#: src/app/main/ui/dashboard/import.cljs:466 -msgid "dashboard.import.import-message" -msgstr "Файлы успешно импортированы (%s)." - -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Некоторые файлы содержали неверные объекты, которые были удалены." @@ -632,27 +688,27 @@ msgstr "Пригласить людей" msgid "dashboard.leave-team" msgstr "Покинуть команду" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Библиотеки и шаблоны" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Узнайте больше о них и о том, как внести свой вклад" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Возникла проблема с импортом шаблона. Шаблон не был импортирован." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Библиотеки" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "загрузка ваших файлов …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "загрузка ваших шрифтов …" @@ -668,11 +724,11 @@ msgstr "Переместить файлы (%s)" msgid "dashboard.move-to-other-team" msgstr "Перевести в другую команду" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Новый файл" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Новый файл" @@ -680,7 +736,7 @@ msgstr "Новый файл" msgid "dashboard.new-project" msgstr "+ Новый проект" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Новый проект" @@ -692,17 +748,29 @@ msgstr "Совпадений для “%s“ не найдено" msgid "dashboard.no-projects-placeholder" msgstr "Закреплённые проекты будут здесь" +#: src/app/main/ui/dashboard/comments.cljs:90 +msgid "dashboard.notifications" +msgstr "Уведомления" + #: src/app/main/ui/auth/verify_token.cljs:34 msgid "dashboard.notifications.email-changed-successfully" msgstr "Ваш адрес эл. почты был успешно обновлён" #: src/app/main/ui/auth/verify_token.cljs:28 msgid "dashboard.notifications.email-verified-successfully" -msgstr "Ваш email адрес успешно подтвержден" +msgstr "Ваш адрес эл. почты был успешно подтверждён" + +#: src/app/main/data/profile.cljs:260 +msgid "dashboard.notifications.notifications-saved" +msgstr "Настройки уведомлений обновлены" #: src/app/main/ui/settings/password.cljs:36 msgid "dashboard.notifications.password-saved" -msgstr "Пароль успешно сохранен!" +msgstr "Пароль успешно сохранён!" + +#: src/app/main/ui/dashboard/comments.cljs:44 +msgid "dashboard.notifications.view" +msgstr "Просмотреть уведомления" #: src/app/main/ui/dashboard/team.cljs:1133 msgid "dashboard.num-of-members" @@ -712,7 +780,7 @@ msgstr "Участников: %s" msgid "dashboard.open-in-new-tab" msgstr "Открыть в новой вкладке" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Опции" @@ -720,10 +788,38 @@ msgstr "Опции" msgid "dashboard.password-change" msgstr "Изменить пароль" +#: src/app/main/data/common.cljs:209 +msgid "dashboard.permissions-change.admin" +msgstr "Теперь вы администратор в этой команде." + +#: src/app/main/data/common.cljs:208 +msgid "dashboard.permissions-change.editor" +msgstr "Теперь вы редактор в этой команде." + +#: src/app/main/data/common.cljs:210 +msgid "dashboard.permissions-change.owner" +msgstr "Теперь вы владелец этой команды." + +#: src/app/main/data/common.cljs:207 +msgid "dashboard.permissions-change.viewer" +msgstr "Теперь вы наблюдатель в этой команде." + #: src/app/main/ui/dashboard/pin_button.cljs:24, src/app/main/ui/dashboard/project_menu.cljs:96 msgid "dashboard.pin-unpin" msgstr "Закрепить/Открепить" +#: src/app/main/ui/dashboard.cljs:208 +msgid "dashboard.plugins.bad-url" +msgstr "URL-адрес плагина неверен" + +#: src/app/main/ui/dashboard.cljs:206 +msgid "dashboard.plugins.parse-error" +msgstr "Невозможно проанализировать манифест плагина" + +#: src/app/main/ui/dashboard.cljs:169 +msgid "dashboard.plugins.try-plugin" +msgstr "Попробуйте плагин: " + #: src/app/main/ui/dashboard/projects.cljs:55 msgid "dashboard.projects-title" msgstr "Проекты" @@ -757,10 +853,74 @@ msgstr "Выберите язык интерфейса" msgid "dashboard.select-ui-theme" msgstr "Выберите тему" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/settings/notifications.cljs:57 +msgid "dashboard.settings.notifications.dashboard-comments.all" +msgstr "Все комментарии, упоминания и ответы" + +#: src/app/main/ui/settings/notifications.cljs:59 +msgid "dashboard.settings.notifications.dashboard-comments.none" +msgstr "Никакие" + +#: src/app/main/ui/settings/notifications.cljs:58 +msgid "dashboard.settings.notifications.dashboard-comments.partial" +msgstr "Только упоминания и ответы" + +#: src/app/main/ui/settings/notifications.cljs:54 +msgid "dashboard.settings.notifications.dashboard-comments.title" +msgstr "Комментарии к файлам" + +#: src/app/main/ui/settings/notifications.cljs:53 +msgid "dashboard.settings.notifications.dashboard.title" +msgstr "Уведомления в панели управления" + +#: src/app/main/ui/settings/notifications.cljs:67 +msgid "dashboard.settings.notifications.email-comments.all" +msgstr "Все комментарии, упоминания и ответы" + +#: src/app/main/ui/settings/notifications.cljs:69 +msgid "dashboard.settings.notifications.email-comments.none" +msgstr "Никакие" + +#: src/app/main/ui/settings/notifications.cljs:68 +msgid "dashboard.settings.notifications.email-comments.partial" +msgstr "Только упоминания и ответы" + +#: src/app/main/ui/settings/notifications.cljs:64 +msgid "dashboard.settings.notifications.email-comments.title" +msgstr "Комментарии к файлам" + +#: src/app/main/ui/settings/notifications.cljs:76 +msgid "dashboard.settings.notifications.email-invites.all" +msgstr "Все виды приглашений и запросов" + +#: src/app/main/ui/settings/notifications.cljs:79 +msgid "dashboard.settings.notifications.email-invites.none" +msgstr "Никакие" + +#: src/app/main/ui/settings/notifications.cljs:73 +msgid "dashboard.settings.notifications.email-invites.title" +msgstr "Приглашения и запросы" + +#: src/app/main/ui/settings/notifications.cljs:63 +msgid "dashboard.settings.notifications.email.title" +msgstr "Уведомления по эл. почте" + +#: src/app/main/ui/settings/notifications.cljs:84 +msgid "dashboard.settings.notifications.submit" +msgstr "Обновить настройки" + +#: src/app/main/ui/settings/notifications.cljs:52 +msgid "dashboard.settings.notifications.title" +msgstr "Уведомления" + +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Показать все файлы" +#: src/app/main/ui/workspace/main_menu.cljs:630 +msgid "dashboard.show-version-history" +msgstr "История версий" + #: src/app/main/ui/dashboard/file_menu.cljs:97 msgid "dashboard.success-delete-file" msgid_plural "dashboard.success-delete-file" @@ -781,7 +941,7 @@ msgstr[1] "Ваши файлы были успешно продублирова msgid "dashboard.success-duplicate-project" msgstr "Ваш проект продублирован" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Ваш файл успешно перемещён" @@ -825,6 +985,10 @@ msgstr "Снять библиотеку с публикации" msgid "dashboard.update-settings" msgstr "Обновить настройки" +#: src/app/main/ui/dashboard/sidebar.cljs:972 +msgid "dashboard.upgrade-plan.power-up" +msgstr "Расширить" + #: src/app/main/ui/dashboard/team.cljs:909 msgid "dashboard.webhooks.active" msgstr "Активен" @@ -876,7 +1040,7 @@ msgstr "Эл. почта" msgid "dashboard.your-name" msgstr "Ваше имя" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Ваш Penpot" @@ -892,11 +1056,11 @@ msgstr "Внимание" msgid "ds.component-subtitle" msgstr "Компоненты для обновления:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Отмена" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Oк" @@ -908,7 +1072,7 @@ msgstr "Вы уверены?" msgid "errors.auth-provider-not-allowed" msgstr "Поставщик аутентификации не разрешён для этого профиля" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Провайдер аутентификации не настроен." @@ -916,11 +1080,11 @@ msgstr "Провайдер аутентификации не настроен." msgid "errors.auth.unable-to-login" msgstr "Кажется, сеанс истёк. Войдите снова." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Шрифт %s не может быть загружен" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Шрифты %s не могут быть загружены" @@ -928,7 +1092,7 @@ msgstr "Шрифты %s не могут быть загружены" msgid "errors.cannot-upload" msgstr "Невозможно загрузить медиафайл." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Ваш браузер не поддерживает эту операцию" @@ -940,7 +1104,7 @@ msgstr "Такая эл. почта уже используется" msgid "errors.email-already-validated" msgstr "Эл. почта уже подтверждена." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Нельзя указывать в качестве пароля адрес эл. почты" @@ -973,7 +1137,7 @@ msgstr "" "функциями файла, который вы пытаетесь открыть. Прежде чем файл можно будет " "открыть, необходимо применить миграцию для «%s»." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Что-то пошло не так." @@ -981,8 +1145,7 @@ msgstr "Что-то пошло не так." msgid "errors.invalid-color" msgstr "Неверный цвет" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Эл. почта для подтверждения должна совпадать" @@ -998,7 +1161,7 @@ msgstr "Приглашение недействительно" msgid "errors.invite-invalid.info" msgstr "Возможно, это приглашение отменено или истёк срок его действия." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Вход c LDAP отключён." @@ -1036,7 +1199,7 @@ msgstr "Пароль должен быть минимум 8 символов" msgid "errors.paste-data-validation" msgstr "Недопустимые данные в буфере обмена" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Профиль заблокирован" @@ -1110,12 +1273,11 @@ msgstr "Неожиданная ошибка при проверке" msgid "errors.webhooks.unexpected-status" msgstr "Неожиданный статус %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Эл. почта или пароль неверны." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Старый пароль неверный" @@ -1163,11 +1325,11 @@ msgstr "Здесь, чтобы помочь с вашими технически msgid "feedback.twitter-title" msgstr "Аккаунт поддержки в X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Произошла ошибка" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Размытие" @@ -1175,31 +1337,31 @@ msgstr "Размытие" msgid "inspect.attributes.blur.value" msgstr "Значение" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Заливка" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Скачать оригинал" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Высота" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Ширина" @@ -1238,15 +1400,15 @@ msgstr "Сверху" msgid "inspect.attributes.layout.width" msgstr "Ширина" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Тень" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Размер и положение" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Обводка" @@ -1283,141 +1445,141 @@ msgstr "Сплошная" msgid "inspect.attributes.stroke.width" msgstr "Толщина" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Текст" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Гарнитура" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Размер" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Шрифт" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Толщина шрифта" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Трекинг" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Интерлиньяж" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Оформление" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Нет" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Перечёркнутый" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Подчёркнутый" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Регистр" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Нижний регистр" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Какой есть" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Регистр Заголовка" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Не установлено" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Верхний регистр" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Если вы хотите узнать больше о осмотре дизайна, посетите справочный центр " "Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Подробнее об осмотре" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Выберите фигуру, доску или группу, чтобы просмотреть свойства и код" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Код" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Круг" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Компонент" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Кривая" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Кадр" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Группа" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Изображение" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Маска" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "Выделено: %s" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Контур" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Прямоугольник" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Текст" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Информация" @@ -1437,7 +1599,7 @@ msgstr "Токены доступа" msgid "labels.active" msgstr "Действующий" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Добавить произвольный шрифт" @@ -1449,7 +1611,7 @@ msgstr "Администратор" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Все" @@ -1469,7 +1631,7 @@ msgstr "Возможны технические работы. Пожалуйст msgid "labels.bad-gateway.main-message" msgstr "Bad Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Отмена" @@ -1477,15 +1639,15 @@ msgstr "Отмена" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Закрыть" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Комментарии" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Сообщество" @@ -1493,7 +1655,7 @@ msgstr "Сообщество" msgid "labels.confirm-password" msgstr "Подтвердите пароль" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Продолжить" @@ -1509,7 +1671,7 @@ msgstr "Вы можете продолжить с аккаунтом Penpot" msgid "labels.copy-invitation-link" msgstr "Копировать ссылку" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Создать" @@ -1529,15 +1691,15 @@ msgstr "Произвольные шрифты" msgid "labels.dashboard" msgstr "Панель управления" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Удалить" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Удалить комментарий" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Удалить обсуждение" @@ -1557,15 +1719,15 @@ msgstr "Разработка" msgid "labels.director" msgstr "Директор" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Отказаться" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Черновики" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Редактировать" @@ -1585,7 +1747,7 @@ msgstr "Событие" msgid "labels.expired-invitation" msgstr "Истекло" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Экспорт" @@ -1601,7 +1763,7 @@ msgstr "Отзыв отправлен" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Семейство шрифтов" @@ -1609,11 +1771,11 @@ msgstr "Семейство шрифтов" msgid "labels.font-providers" msgstr "Поставщики шрифтов" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Начертания" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Шрифты" @@ -1625,11 +1787,11 @@ msgstr "Генеральный директор или основатель" msgid "labels.freelancer" msgstr "Фрилансер" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Репозиторий на Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Оставить отзыв" @@ -1641,11 +1803,11 @@ msgstr "Назад" msgid "labels.graphic-design" msgstr "Графический дизайн" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Помощь" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Скрыть решённые комментарии" @@ -1653,7 +1815,7 @@ msgstr "Скрыть решённые комментарии" msgid "labels.inactive" msgstr "Недействующий" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Установленные шрифты" @@ -1677,7 +1839,7 @@ msgstr "Приглашения" msgid "labels.language" msgstr "Язык" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Библиотеки и шаблоны" @@ -1685,7 +1847,7 @@ msgstr "Библиотеки и шаблоны" msgid "labels.log-or-sign" msgstr "Войти или зарегистрироваться" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Выйти" @@ -1705,13 +1867,15 @@ msgstr "Участники" msgid "labels.new-password" msgstr "Новый пароль" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Далее" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" -msgstr "Вы попались! Здесь будут появляться уведомления о новых комментариях." +msgstr "" +"Вы ничего не пропустили! Здесь будут появляться уведомления о новых " +"комментариях." #: src/app/main/ui/dashboard/team.cljs:740 msgid "labels.no-invitations" @@ -1731,7 +1895,11 @@ msgstr "Эта страница не существует, или у вас не msgid "labels.not-found.main-message" msgstr "Ой!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/settings/sidebar.cljs:99 +msgid "labels.notifications" +msgstr "Уведомления" + +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "Файл" @@ -1802,7 +1970,7 @@ msgstr "Профиль" msgid "labels.projects" msgstr "Проекты" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Примечания к выпуску" @@ -1820,7 +1988,7 @@ msgstr "Удалить" msgid "labels.remove-member" msgstr "Удалить участника" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Переименовать" @@ -1840,15 +2008,15 @@ msgstr "Заново" msgid "labels.role" msgstr "Роль" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Сохранить" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Поиск" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Искать шрифт" @@ -1888,15 +2056,19 @@ msgstr "Поделиться ссылкой" msgid "labels.shared-libraries" msgstr "Библиотеки" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Все комментарии" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Показать список комментариев" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 +msgid "labels.show-mentions" +msgstr "Показать только упоминания" + +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Только мои" @@ -1924,7 +2096,7 @@ msgstr "Руководитель группы" msgid "labels.team-member" msgstr "Член команды" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Руководства" @@ -1940,15 +2112,15 @@ msgstr "Обновить" msgid "labels.update-team" msgstr "Обновить команду" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Загрузить" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Загрузить произвольные шрифты" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Загрузка…" @@ -1964,7 +2136,7 @@ msgstr "Наблюдатель" msgid "labels.webhooks" msgstr "Вебхуки" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Написать комментарий" @@ -1972,7 +2144,7 @@ msgstr "Написать комментарий" msgid "labels.you" msgstr "(вы)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Ваш аккаунт" @@ -1980,23 +2152,23 @@ msgstr "Ваш аккаунт" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Выбрать изображение" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Градиент" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Изображение" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "изобр." -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Сохранять соотношение сторон" @@ -2014,7 +2186,7 @@ msgstr "Загрузка изображения…" msgid "media.radial" msgstr "Радиальный" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Сплошной" @@ -2065,7 +2237,7 @@ msgstr "Изменить эл. почту" msgid "modals.change-email.title" msgstr "Изменить эл. почту" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Копировать токен" @@ -2081,7 +2253,7 @@ msgstr "Название" msgid "modals.create-access-token.name.placeholder" msgstr "Название может помочь понять, для чего предназначен токен" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Создать токен" @@ -2105,15 +2277,15 @@ msgstr "Ссылка полезной нагрузки" msgid "modals.create-webhook.url.placeholder" msgstr "https://пример.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Удалить токен" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Вы уверены, что хотите удалить этот токен?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Удалить токен" @@ -2127,31 +2299,31 @@ msgstr "Да, удалить мой аккаунт" #: src/app/main/ui/settings/delete_account.cljs:53 msgid "modals.delete-account.info" -msgstr "Удалив аккаунт Вы потеряете все прокты и архивы." +msgstr "Удалив аккаунт, вы потеряете все свои текущие проекты и архивы." #: src/app/main/ui/settings/delete_account.cljs:46 msgid "modals.delete-account.title" msgstr "Вы уверены, что хотите удалить аккаунт?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Удалить переписку" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Вы уверены, что хотите удалить это обсуждение? Все комментарии, входящие в " "него будут удалены." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Удалить обсуждение" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Вы уверены, что хотите удалить эту аннотацию?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Удалить аннотацию" @@ -2179,31 +2351,31 @@ msgstr "Точно хотите удалить файлы (%s)?" msgid "modals.delete-file-multi-confirm.title" msgstr "Удаление файлов (%s)" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Вы действительно хотите удалить это начертание шрифта? Оно не будет " "загружаться, если используется в файле." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Удаление начертания шрифта" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Вы действительно хотите удалить этот шрифт? Он не будет загружаться, если " "используется в файле." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Удаление шрифта" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Вы уверены, что хотите удалить эту страницу?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Удаление страницы" @@ -2411,15 +2583,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Новый владелец команды" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Опубликовать" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Ваша библиотека пуста. Вы уверены, что хотите опубликовать её?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Опубликовать пустую библиотеку" @@ -2474,24 +2646,30 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Обновить компоненты в общей библиотеке" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Обновить" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Отменить" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Вы собираетесь обновить компонент в общей библиотеке. Это может повлиять на " "другие файлы, которые её используют." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Обновить компонент в общей библиотеке" +#: src/app/main/data/common.cljs:93 +msgid "notifications.by-code.maintenance" +msgstr "" +"Технический перерыв: сервис будет недоступен короткое время в течение 5 " +"минут." + #: src/app/main/data/common.cljs:83 msgid "notifications.by-code.upgrade-version" msgstr "Доступна новая версия, обновите страницу" @@ -2547,28 +2725,28 @@ msgstr "Видеоуроки" msgid "onboarding-v2.before-start.title" msgstr "Прежде чем начать" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Подпишитесь на рассылку Penpot, чтобы всегда быть в курсе развития продукта " "и новостей." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "Присылайте мне новости о Penpot (записи в блоге, видеоуроки, стримы...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Мы заботимся о конфиденциальности, поэтому вы можете ознакомиться с " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Мы будем отправлять вам только актуальные электронные письма. Вы можете " "отказаться от рассылки в любое время, воспользовавшись ссылкой \"Отказаться " "от рассылки\" в любом из наших информационных бюллетеней." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Присылать мне обновления продукта (новые функции, выпуски, исправления...)." @@ -2667,17 +2845,17 @@ msgstr "Вы сможете создать команду позже." msgid "onboarding.newsletter.accept" msgstr "Да, подписаться" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Ваш запрос на подписку отправлен, мы вышлем вам электронное письмо для " "подтверждения." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Политика конфиденциальности." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Хотите получать новости Penpot?" @@ -2687,7 +2865,7 @@ msgstr "Давайте начнём!" #: src/app/main/ui/onboarding/questions.cljs:94 msgid "onboarding.questions.reasons.alternative" -msgstr "Ищу альтернативу Figma, XD и т.д." +msgstr "Ищу альтернативу Figma, XD и т. д." #: src/app/main/ui/onboarding/questions.cljs:88 msgid "onboarding.questions.reasons.exploring" @@ -2858,7 +3036,7 @@ msgstr "Перейти к входу" msgid "settings.detach" msgstr "Отсоединить" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Смешаный" @@ -3048,7 +3226,7 @@ msgstr "Создать новый" msgid "shortcuts.cut" msgstr "Вырезать" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Отдалить" @@ -3148,7 +3326,7 @@ msgstr "Распределить горизонтально" msgid "shortcuts.hide-ui" msgstr "Показать/скрыть интерфейс" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Приблизить" @@ -3528,15 +3706,15 @@ msgstr "Приблизить выбранное" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Поставщики шрифтов - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Шрифты - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Проекты - %s - Penpot" @@ -3544,7 +3722,7 @@ msgstr "Проекты - %s - Penpot" msgid "title.dashboard.search" msgstr "Поиск - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Общие библиотеки - %s - Penpot" @@ -3552,7 +3730,7 @@ msgstr "Общие библиотеки - %s - Penpot" msgid "title.default" msgstr "Penpot — свобода в дизайне для команд" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Профиль - токены доступа" @@ -3560,6 +3738,10 @@ msgstr "Профиль - токены доступа" msgid "title.settings.feedback" msgstr "Оставить отзыв - Penpot" +#: src/app/main/ui/settings/notifications.cljs:45 +msgid "title.settings.notifications" +msgstr "Уведомления - Penpot" + #: src/app/main/ui/settings/options.cljs:76 msgid "title.settings.options" msgstr "Настройки - Penpot" @@ -3592,7 +3774,7 @@ msgstr "Вебхуки - %s - Penpot" msgid "title.viewer" msgstr "%s - Режим просмотра - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3697,15 +3879,15 @@ msgstr "Выровнять по верхнему краю (%s)" msgid "workspace.assets.assets" msgstr "Ресурсы" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Все ресурсы" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Цвета" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Компоненты" @@ -3719,15 +3901,15 @@ msgstr "" "Вашим элементам будет автоматически присвоено название «название " "группы/название элемента»" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Удалить" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Дублировать" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Дублировать главное" @@ -3735,15 +3917,15 @@ msgstr "Дублировать главное" msgid "workspace.assets.edit" msgstr "Редактировать" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Фильтр" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Графика" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Группа" @@ -3751,23 +3933,19 @@ msgstr "Группа" msgid "workspace.assets.group-name" msgstr "Имя группы" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Библиотеки" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "локальная библиотека" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Ресурсы не найдены" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Открыть файл библиотеки" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Переименовать" @@ -3775,7 +3953,7 @@ msgstr "Переименовать" msgid "workspace.assets.rename-group" msgstr "Переименовать группу" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Поиск ресурсов" @@ -3791,17 +3969,17 @@ msgstr[1] "Выбраны ресурсы (%s)" msgid "workspace.assets.shared-library" msgstr "Общая библиотека" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 компонент" msgstr[1] "%s компонентов" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Сортировка" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Типографика" @@ -3810,27 +3988,27 @@ msgstr "Типографика" msgid "workspace.assets.typography.font-id" msgstr "Шрифт" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Размер" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Начертание" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Перейти к файлу библиотеки стилей для редактирования" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Кернинг" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Интерлиньяж" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3838,7 +4016,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Стиль текста" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Регистр" @@ -3846,55 +4024,55 @@ msgstr "Регистр" msgid "workspace.assets.ungroup" msgstr "Разгруппировать" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Создать область" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Создать доску" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Объединить ячейки" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Добавить 1 столбец справа" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Добавить 1 столбец слева" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Удалить столбец" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Удалить столбец и фигуры" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Дублировать столбец" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Добавить 1 строку ниже" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Добавить 1 строку выше" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Удалить строку" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Удалить строку и фигуры" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Дублировать строку" @@ -3902,11 +4080,11 @@ msgstr "Дублировать строку" msgid "workspace.focus.focus-mode" msgstr "Режим фокусировки" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Фокусировка выключена" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Фокусировка включена" @@ -4008,6 +4186,10 @@ msgstr "Файл" msgid "workspace.header.menu.option.help-info" msgstr "Помощь и информация" +#: src/app/main/ui/workspace/main_menu.cljs:910 +msgid "workspace.header.menu.option.power-up" +msgstr "Расширьте свой план" + #: src/app/main/ui/workspace/main_menu.cljs:877 msgid "workspace.header.menu.option.preferences" msgstr "Предпочтения" @@ -4060,33 +4242,32 @@ msgstr "Переключить на светлую тему" msgid "workspace.header.menu.undo" msgstr "Отменить" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Сброс" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Ошибка при сохранении" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Сохранено" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Сохранение" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Есть несохранённые изменения" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Открыть предпросмотр (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Масштаб" @@ -4098,7 +4279,7 @@ msgstr "Заполнение - Масштаб заполнения" msgid "workspace.header.zoom-fit" msgstr "Подогнать - масштабировать до необходимого размера" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Масштабировать, чтобы всё вместилось" @@ -4106,19 +4287,19 @@ msgstr "Масштабировать, чтобы всё вместилось" msgid "workspace.header.zoom-full-screen" msgstr "На весь экран" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Масштабировать до выбранного" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Изменить сетку" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Выход" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Настроить внутренний отступ по отдельности" @@ -4134,7 +4315,7 @@ msgstr "Готово" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Разместить" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Размещение макета сетки" @@ -4143,7 +4324,7 @@ msgstr "Размещение макета сетки" msgid "workspace.libraries.add" msgstr "Добавить" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s цветов" @@ -4173,31 +4354,31 @@ msgstr "Недавние цвета" msgid "workspace.libraries.colors.rgb-complementary" msgstr "Дополнительный цвет RGB" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Сохранить стиль цвета" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s компонентов" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Библиотека файлов" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s графики" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "БИБЛИОТЕКИ В ЭТОМ ФАЙЛЕ" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "БИБЛИОТЕКИ" @@ -4206,63 +4387,59 @@ msgstr "БИБЛИОТЕКИ" msgid "workspace.libraries.library" msgstr "БИБЛИОТЕКА" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "ОБНОВЛЕНИЯ БИБЛИОТЕКИ" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Загрузка…" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Нет общих библиотек, требующих обновления" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Совпадений для \"%s\" не найдено" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Общие библиотеки отсутсвуют" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Искать общие библиотеки" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "ОБЩИЕ БИБЛИОТЕКИ" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Подключить библиотеку" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Несколько типографик" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Отвязать все типографики" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "Типографики (%s)" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Отключить библиотеку" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Обновить" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "смотреть все изменения" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "ОБНОВЛЕНИЯ" @@ -4282,43 +4459,43 @@ msgstr "Групповое размытие" msgid "workspace.options.blur-options.title.multiple" msgstr "Выборка размытия" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Фон холста" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Зажать содержимое" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Компонент" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Аннотация" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Копировать" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Создать аннотацию" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Изменить аннотацию" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Главный" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Заменить компонент" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "В этой библиотеке ещё нет ресурсов" @@ -4366,7 +4543,7 @@ msgstr "Верх и низ" msgid "workspace.options.design" msgstr "Дизайн" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Экспорт" @@ -4375,13 +4552,13 @@ msgstr "Экспорт" msgid "workspace.options.export-multiple" msgstr "Экспорт выбранного" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Экспорт 1 элемента" msgstr[1] "Экспорт %s элементов" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Суффикс" @@ -4389,7 +4566,7 @@ msgstr "Суффикс" msgid "workspace.options.exporting-complete" msgstr "Экспорт завершён" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Экспортирование…" @@ -4527,7 +4704,7 @@ msgstr "Обводка для группы" msgid "workspace.options.guides.title" msgstr "Направляющие" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Высота" @@ -4837,19 +5014,19 @@ msgstr "Выделенные слои" msgid "workspace.options.layout-item.advanced-ops" msgstr "Дополнительные параметры" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Макс. высота" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Макс. ширина" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Мин. высота" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Мин. ширина" @@ -4963,11 +5140,11 @@ msgstr "пространство между" msgid "workspace.options.layout.top" msgstr "Сверху" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Больше цветов" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Больше цветов библиотеки" @@ -5004,7 +5181,7 @@ msgstr "Сверху слева" msgid "workspace.options.radius-top-right" msgstr "Сверху справа" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Последние" @@ -5012,11 +5189,11 @@ msgstr "Последние" msgid "workspace.options.retry" msgstr "Повторить" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Вращение" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Искать шрифт" @@ -5024,7 +5201,7 @@ msgstr "Искать шрифт" msgid "workspace.options.select-a-shape" msgstr "Выберите фигуру, кадр или группу для соединения с другим кадром." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Выбранные цвета" @@ -5036,43 +5213,43 @@ msgstr "Заливка выбранного" msgid "workspace.options.selection-stroke" msgstr "Обводка выбранного" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Размытие" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Цвет тени" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Отбрасывание тени" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Внутренняя тень" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Распространение" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Тень" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Групповая тень" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Выборочные тени" @@ -5080,7 +5257,7 @@ msgstr "Выборочные тени" msgid "workspace.options.show-fill-on-export" msgstr "Показать в экспорте" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Показать в режиме просмотра" @@ -5088,7 +5265,7 @@ msgstr "Показать в режиме просмотра" msgid "workspace.options.size" msgstr "Размер" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Предустановки размеров" @@ -5157,7 +5334,7 @@ msgstr "Треугольник" msgid "workspace.options.stroke-color" msgstr "Цвет обводки" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Толщина обводки" @@ -5221,11 +5398,11 @@ msgstr "Автоширина" msgid "workspace.options.text-options.grow-fixed" msgstr "Фиксированно" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Межсимвольный интервал" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Высота строки" @@ -5289,15 +5466,15 @@ msgstr "Верхний регистр" msgid "workspace.options.use-play-button" msgstr "Нажмите кнопку воспроизведения вверху для показа прототипа." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Ширина" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "Ось X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Ось Y" @@ -5345,13 +5522,22 @@ msgstr "Прилипать узлами (%s)" msgid "workspace.plugins.button-open" msgstr "Открыть" +#: src/app/main/ui/workspace/plugins.cljs:202 +#, markdown +msgid "workspace.plugins.discover" +msgstr "Откройте для себя [больше плагинов](%s)" + #: src/app/main/ui/workspace/plugins.cljs:209 msgid "workspace.plugins.empty-plugins" msgstr "Плагины ещё не установлены" +#: src/app/main/ui/workspace/plugins.cljs:196 +msgid "workspace.plugins.error.manifest" +msgstr "Манифест плагина неверен." + #: src/app/main/ui/workspace/plugins.cljs:192 msgid "workspace.plugins.error.url" -msgstr "Плагин не существует или его URL неверен." +msgstr "Плагин не существует или его URL-адрес неверен." #: src/app/main/ui/workspace/plugins.cljs:188 msgid "workspace.plugins.install" @@ -5385,99 +5571,99 @@ msgstr "Плагин загружен правильно." msgid "workspace.plugins.title" msgstr "Плагины" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Добавить макет гибкости" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Добавить макет сетки" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "На задний план" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Перенести назад" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Скопировать" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Создать аннотацию" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Выделенное в кадр" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Создать компонент" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Создать несколько компонентов" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Вырезать" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Удалить" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Удалить начало потока" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Отсоединить экземпляр" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Отсоединить экземпляры" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Разница" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Дублировать" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Редактировать" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Исключить" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Flatten" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Отразить по горизонтали" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Отразить по вертикали" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Начало потока" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Перенести вперёд" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "На передний план" @@ -5486,95 +5672,95 @@ msgstr "На передний план" msgid "workspace.shape.menu.go-main" msgstr "Перейти к основному файлу компонента" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Группа" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Скрыть" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Показать/скрыть UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Пересечь" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Заблокировать" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Маска" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Вставить" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Контур" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Удалить макет гибкости" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Удалить макет сетки" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Сбросить переопределения" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Восстановить основной компонент" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Выбрать слой" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Показать" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Показать на панели ресурсов" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Показать основной компонент" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Удалить миниатюру" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Сделать миниатюрой" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Преобразовать в контур" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Разгруппировать" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Суммировать" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Paзблокировать" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Убрать маску" @@ -5583,7 +5769,7 @@ msgstr "Убрать маску" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Обновить основные компоненты" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Обновить основной компонент" @@ -5595,11 +5781,11 @@ msgstr "Свернуть боковую панель" msgid "workspace.sidebar.expand" msgstr "Расширить боковую панель" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "История" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Слои" @@ -5635,7 +5821,7 @@ msgstr "Формы" msgid "workspace.sidebar.layers.texts" msgstr "Тексты" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Импортированные атрибуты SVG" @@ -5643,11 +5829,15 @@ msgstr "Импортированные атрибуты SVG" msgid "workspace.sidebar.sitemap" msgstr "Страницы" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Карта сайта" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 +msgid "workspace.token.save-theme" +msgstr "Сохранить тему" + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Ресурсы" @@ -5655,35 +5845,35 @@ msgstr "Ресурсы" msgid "workspace.toolbar.color-palette" msgstr "Палитра цветов (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Комментарии (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Кривая (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Эллипс (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Кадр (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Изображение (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Перемещение (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Контур (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Прямоугольник (%s)" @@ -5692,7 +5882,7 @@ msgstr "Прямоугольник (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Сочетание клавиш (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Текст (%s)" @@ -5700,7 +5890,7 @@ msgstr "Текст (%s)" msgid "workspace.toolbar.text-palette" msgstr "Типографики (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Переключить панель инструментов" @@ -5711,7 +5901,7 @@ msgstr "Готово" #: src/app/main/ui/workspace/viewport/top_bar.cljs:36 #, markdown msgid "workspace.top-bar.view-only" -msgstr "**Осмотр кода** (Только просмотр)" +msgstr "**Проверка кода** (Только просмотр)" #: src/app/main/ui/workspace/sidebar/history.cljs:331 msgid "workspace.undo.empty" @@ -5858,22 +6048,45 @@ msgstr "Работа над %s" msgid "workspace.undo.title" msgstr "История" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Отклонить" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Дополнительная информация" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Обнаружены обновления общих библиотек" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Обновить" +#: src/app/main/ui/workspace/sidebar/versions.cljs:327, src/app/main/ui/workspace/sidebar/versions.cljs:329 +msgid "workspace.versions.button.save" +msgstr "Сохранить версию" + +#: src/app/main/ui/workspace/sidebar.cljs:285 +msgid "workspace.versions.tab.actions" +msgstr "Действия" + +#: src/app/main/ui/workspace/sidebar.cljs:282 +msgid "workspace.versions.tab.history" +msgstr "История" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:365 +#, markdown +msgid "workspace.versions.warning.subtext" +msgstr "" +"Если вы хотите увеличить этот лимит, напишите нам на " +"[support@penpot.app](%s)" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:361 +msgid "workspace.versions.warning.text" +msgstr "Автосохранённые версии будут храниться в течение %s дней." + #, unused msgid "workspace.viewport.click-to-close-path" msgstr "Нажмите для замыкания контура" diff --git a/frontend/translations/sr.po b/frontend/translations/sr.po index afc0f1a8a5..6a21400a05 100644 --- a/frontend/translations/sr.po +++ b/frontend/translations/sr.po @@ -39,13 +39,13 @@ msgstr "Креирајте демо налог" msgid "auth.create-demo-profile" msgstr "Само желите да пробате?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Ово је ДЕМО услуга, НЕ КОРИСТИТЕ за прави рад, пројекти ће се повремено " "брисати." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Заборављена лозинка?" @@ -53,7 +53,7 @@ msgstr "Заборављена лозинка?" msgid "auth.fullname" msgstr "Пуно име" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Пријавите се на свој налог" @@ -61,31 +61,31 @@ msgstr "Пријавите се на свој налог" msgid "auth.login-here" msgstr "Пријавите се овде." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Пријава" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "Penpot је бесплатан алат отвореног кода за сарадњу у дизајну и програмирању" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -109,7 +109,7 @@ msgstr "Линк за опоравак лозинке је послат у Ва msgid "auth.notifications.team-invitation-accepted" msgstr "Успешно придружење тиму" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Лозинка" @@ -137,7 +137,7 @@ msgstr "Заборавили сте лозинку?" msgid "auth.recovery-submit" msgstr "Промените своју лозинку" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Још немате налог?" @@ -149,7 +149,7 @@ msgstr "Како желите да Вас ословљавамо на управ msgid "auth.register-account-title" msgstr "Ваше име" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Креирајте налог" @@ -174,7 +174,7 @@ msgstr "Решење отвореног кода за дизајн и израд msgid "auth.terms-and-privacy-agreement" msgstr "Слажем се са [условима коришћења](%s) и [политиком приватности](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Услови коришћења" @@ -188,7 +188,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Послали смо потврдно е-писмо на" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Радна е-пошта" @@ -197,7 +197,7 @@ msgstr "Радна е-пошта" msgid "branding-illustrations-marketing-pieces" msgstr "...брендирање, илустрације, маркетиншки комади, итд." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Објави" @@ -270,7 +270,7 @@ msgstr "Дели прототипе" msgid "common.share-link.view-all" msgstr "Изабери све" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Опозови објављивање" @@ -322,7 +322,7 @@ msgstr "Упознавање са интерфејсом" msgid "dashboard.access-tokens.copied-success" msgstr "Токен је копиран" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Генеришите нови токен" @@ -330,11 +330,11 @@ msgstr "Генеришите нови токен" msgid "dashboard.access-tokens.create.success" msgstr "Приступни токен је успешно креиран." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Притисните дугме \"Генеришите нови токен\" да бисте генерисали један." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "До сада немате никакве токене." @@ -358,23 +358,23 @@ msgstr "90 дана" msgid "dashboard.access-tokens.expiration-never" msgstr "Никад" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Истекао на %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Истиче на %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Без датума истека" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Лични токени за приступ" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Лични токени за приступ функционишу као алтернатива нашем систему " @@ -397,7 +397,7 @@ msgstr "Додај као дељену библиотеку" msgid "dashboard.change-email" msgstr "Промените е-пошту" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(копија)" @@ -519,26 +519,26 @@ msgstr "Укључите средства дељених библиотека у msgid "dashboard.export.title" msgstr "Извези датотеке" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Недостаје фонт" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Одбаци све" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Овде ће се појавити прилагођени фонтови које отпремите." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "фонт додат" msgstr[1] "%s фонта додато" msgstr[2] "%s фонтова додато" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -547,20 +547,20 @@ msgstr "" "фонта биће груписани као **једна породица фонта**. Можете отпремити фонтове " "у следећим форматима: **TTF, OTF и WOFF** (довољан је само један)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Требало би да отпремате само фонтове које поседујете или за које имате " "лиценцу за коришћење у Penpot-у. Сазнајте више у одељку о правима садржаја " -"у [Условима коришћења Penpot-а](%s). Такође, " -"можете прочитати о [лиценцирању фонтовa](https://www.typography.com/faq)." +"у [Условима коришћења Penpot-а](%s). Такође, можете прочитати о " +"[лиценцирању фонтовa](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Отпреми све" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -571,7 +571,7 @@ msgstr "" "коришћење [Transfonter](https://transfonter.org/) за генерисање веб фонтовa " "и исправљање грешака. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Увези Penpot датотеке" @@ -589,14 +589,14 @@ msgstr "" msgid "dashboard.import.import-error" msgstr "Дошло је до проблема при увозу датотеке. Датотека није увезена." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "%s датотека је успешно увезена." msgstr[1] "%s датотеке су успешно увезене." msgstr[2] "%s датотека успешно увезено." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Неке датотеке су садржале неважеће објекте који су уклоњени." @@ -636,27 +636,27 @@ msgstr "Позовите људе" msgid "dashboard.leave-team" msgstr "Напустите тим" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Библиотеке и шаблони" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Истражите више њих и знајте како да допринесете" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Дошло је до проблема при увозу шаблона. Шаблон није увезен." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Библиотеке" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "учитавање ваших датотека…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "учитавање ваших фонтова…" @@ -672,11 +672,11 @@ msgstr "Премести %s датотека у" msgid "dashboard.move-to-other-team" msgstr "Премести у други тим" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Нова датотека" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Нова датотека" @@ -684,7 +684,7 @@ msgstr "Нова датотека" msgid "dashboard.new-project" msgstr "+ Нови пројекат" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Нови пројекат" @@ -716,7 +716,7 @@ msgstr "%s чланова" msgid "dashboard.open-in-new-tab" msgstr "Отворите датотеку у новој картици" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Опције" @@ -761,7 +761,7 @@ msgstr "Изаберите језик корисничког интерфејс msgid "dashboard.select-ui-theme" msgstr "Изаберите тему" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Прикажи све датотеке" @@ -787,7 +787,7 @@ msgstr[2] "Ваше датотеке су успешно дуплиране" msgid "dashboard.success-duplicate-project" msgstr "Ваш пројекат је успешно дуплиран" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Ваша датотека је успешно премештена" @@ -882,7 +882,7 @@ msgstr "Е-пошта" msgid "dashboard.your-name" msgstr "Ваше име" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Ваш Penpot" @@ -898,11 +898,11 @@ msgstr "Пажња" msgid "ds.component-subtitle" msgstr "Компоненте за ажурирање:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Откажите" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Уреду" @@ -914,7 +914,7 @@ msgstr "Да ли сте сигурни?" msgid "errors.auth-provider-not-allowed" msgstr "Провајдер ауторизације није дозвољен за овај налог" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Провајдер аутентификације није конфигурисан." @@ -922,11 +922,11 @@ msgstr "Провајдер аутентификације није конфиг msgid "errors.auth.unable-to-login" msgstr "Изгледа да нисте аутентификовани или је сесија истекла." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Фонт %s није могао бити учитан" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Фонтови %s нису могли бити учитани" @@ -934,7 +934,7 @@ msgstr "Фонтови %s нису могли бити учитани" msgid "errors.cannot-upload" msgstr "Није могуће отпремити медијску датотеку." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Ваш претраживач не може да одради ову операцију" @@ -946,7 +946,7 @@ msgstr "Е-пошта је већ коришћена" msgid "errors.email-already-validated" msgstr "Е-пошта је већ потврђена." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Не можете да користите своју е-пошту као лозинку" @@ -979,7 +979,7 @@ msgstr "" "датотеке коју покушавате да отворите. Миграције за \"%s\" морају бити " "примењене пре него што се датотека може отворити." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Нешто погрешно се десило." @@ -995,7 +995,7 @@ msgstr "Позив је неважећи" msgid "errors.invite-invalid.info" msgstr "Ова позивница је можда отказана или истекла." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP аутентификација је онемогућена." @@ -1035,7 +1035,7 @@ msgstr "Лозинка треба да има најмање 8 знакова" msgid "errors.paste-data-validation" msgstr "Неважећи подаци у међуспремнику" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Налог је блокиран" @@ -1109,12 +1109,11 @@ msgstr "Неочекивана грешка при валидацији" msgid "errors.webhooks.unexpected-status" msgstr "Неочекивани статус %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Е-пошта или лозинка су нетачни." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Стара лозинка је нетачна" @@ -1162,11 +1161,11 @@ msgstr "Овде смо да помогнемо са вашим технички msgid "feedback.twitter-title" msgstr "X налог за подршку" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Дошло је до грешке" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Замућење" @@ -1174,31 +1173,31 @@ msgstr "Замућење" msgid "inspect.attributes.blur.value" msgstr "Вредност" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Попуњење" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Преузмите изворну слику" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Висина" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Ширина" @@ -1237,15 +1236,15 @@ msgstr "Врх" msgid "inspect.attributes.layout.width" msgstr "Ширина" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Сенка" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Величина и положај" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Контура" @@ -1282,141 +1281,141 @@ msgstr "Чврсто" msgid "inspect.attributes.stroke.width" msgstr "Ширина" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Типографија" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Породица фонта" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Величина фонта" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Стил фонта" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Тежина фонта" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Размак између слова" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Висина линије" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Декорација текста" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Ништа" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Прелазна линија" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Подвачење" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Трансформација текста" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Мала слова" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Ништа" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Насловно слово" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Без вредности" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Велико слово" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Ако желите да сазнате више о прегледу дизајна, посетите Помоћни центар " "Penpot-а" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Више информација о прегледу" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Изаберите облик, таблу или групу да бисте прегледали њихова својства и код" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Код" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Круг" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Компонента" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Кривина" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Табла" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Група" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Слика" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Маска" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Изабрано" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Путања" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Правоугаоник" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Текст" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Инфо" @@ -1436,7 +1435,7 @@ msgstr "Токени за приступ" msgid "labels.active" msgstr "Активно" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Додај прилагођени фонт" @@ -1448,7 +1447,7 @@ msgstr "Админ" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Све" @@ -1470,7 +1469,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Лош Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Откажите" @@ -1478,15 +1477,15 @@ msgstr "Откажите" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Затвори" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Коментари" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Заједница" @@ -1494,7 +1493,7 @@ msgstr "Заједница" msgid "labels.confirm-password" msgstr "Потврди лозинку" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Настави" @@ -1510,7 +1509,7 @@ msgstr "Можете наставити са Penpot налогом" msgid "labels.copy-invitation-link" msgstr "Копирај везу" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Створи" @@ -1530,15 +1529,15 @@ msgstr "Прилагођени фонтови" msgid "labels.dashboard" msgstr "Управљачка табла" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Избришите" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Избришите коментар" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Избришите дискусију" @@ -1558,15 +1557,15 @@ msgstr "Развој" msgid "labels.director" msgstr "Директор" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Одбаци" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Нацрти" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Уреди" @@ -1586,7 +1585,7 @@ msgstr "Догађај" msgid "labels.expired-invitation" msgstr "Истекло" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Извези" @@ -1602,7 +1601,7 @@ msgstr "Повратне информације су послате" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Породица фонта" @@ -1610,11 +1609,11 @@ msgstr "Породица фонта" msgid "labels.font-providers" msgstr "Добављачи фонтова" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Стилови" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Фонтови" @@ -1626,11 +1625,11 @@ msgstr "Извршни директор или оснивач" msgid "labels.freelancer" msgstr "Фриленсер" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Github репозиторијум" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Оставите повратне информације" @@ -1642,11 +1641,11 @@ msgstr "Иди назад" msgid "labels.graphic-design" msgstr "Графички дизајн" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Центар за помоћ" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Сакриј решене коментаре" @@ -1654,7 +1653,7 @@ msgstr "Сакриј решене коментаре" msgid "labels.inactive" msgstr "Неактиван" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Инсталирани фонтови" @@ -1680,7 +1679,7 @@ msgstr "Позивнице" msgid "labels.language" msgstr "Језик" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Библиотеке и шаблони" @@ -1688,7 +1687,7 @@ msgstr "Библиотеке и шаблони" msgid "labels.log-or-sign" msgstr "Пријава или регистрација" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Одјава" @@ -1708,11 +1707,11 @@ msgstr "Чланови" msgid "labels.new-password" msgstr "Нова лозинка" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Даље" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Све сте прегледали! Нова обавештења о коментарима ће се појавити овде." @@ -1734,7 +1733,7 @@ msgstr "Ова страница можда не постоји или немат msgid "labels.not-found.main-message" msgstr "Упс!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "датотека" @@ -1808,7 +1807,7 @@ msgstr "Налог" msgid "labels.projects" msgstr "Пројекти" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Напомене о издању" @@ -1826,7 +1825,7 @@ msgstr "Уколни" msgid "labels.remove-member" msgstr "Уклони члана" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Преименуј" @@ -1846,15 +1845,15 @@ msgstr "Покушај поново" msgid "labels.role" msgstr "Улога" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Сачувај" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Претражи" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Претражи фонт" @@ -1894,15 +1893,15 @@ msgstr "Дели прототип" msgid "labels.shared-libraries" msgstr "Библиотеке" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Прикажи све коментаре" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Прикажи листу кометара" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Покажите само своје коментаре" @@ -1930,7 +1929,7 @@ msgstr "Вођа тима" msgid "labels.team-member" msgstr "Члан тима" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Туторијали" @@ -1946,15 +1945,15 @@ msgstr "Ажурирајте" msgid "labels.update-team" msgstr "Ажурирајте тим" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Отпреми" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Отпреми прилагођене фонтове" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Отпремање…" @@ -1970,7 +1969,7 @@ msgstr "Прегледник" msgid "labels.webhooks" msgstr "Веб-куке" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Напиши нови коментар" @@ -1978,7 +1977,7 @@ msgstr "Напиши нови коментар" msgid "labels.you" msgstr "(ти)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Ваш налог" @@ -1986,23 +1985,23 @@ msgstr "Ваш налог" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Изаберите слику" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Градијент" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Слика" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Задржите однос ширине и висине" @@ -2020,7 +2019,7 @@ msgstr "Учитавање слике…" msgid "media.radial" msgstr "Радијалан" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Чврст" @@ -2071,7 +2070,7 @@ msgstr "Промените е-пошту" msgid "modals.change-email.title" msgstr "Промените своју е-пошту" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Копирај токен" @@ -2087,7 +2086,7 @@ msgstr "Назив" msgid "modals.create-access-token.name.placeholder" msgstr "Назив може помоћи да сазнате чему служи токен" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Направи токен" @@ -2111,15 +2110,15 @@ msgstr "URL оптерећења" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Избришите токен" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Да ли сте сигурни да желите да избришете овај токен?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Избришите токен" @@ -2139,25 +2138,25 @@ msgstr "Уклањањем налога изгубићете све своје msgid "modals.delete-account.title" msgstr "Да ли сте сигурни да желите да избришете свој налог?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Избришите разговор" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Да ли сте сигурни да желите да обришете овај разговор? Сви коментари у овој " "нити биће обрисани." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Избришите разговор" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Да ли сте сигурни да желите да избришете ову напомену?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Избришите напомену" @@ -2185,31 +2184,31 @@ msgstr "Да ли сте сигурни да желите да обришете msgid "modals.delete-file-multi-confirm.title" msgstr "Брисање %s датотека" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Да ли сте сигурни да желите да избришете овај стил фонта? Неће се учитати " "ако се користи у датотеци." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Брисање стила фонта" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Да ли сте сигурни да желите да избришете овај фонт? Неће се учитати ако се " "користи у датотеци." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Брисање фонта" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Да ли сте сигурни да желите да обришете ову страницу?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Избришите страницу" @@ -2428,15 +2427,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Нови власник тима" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Објавите" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Ваша библиотека је празна. Да ли сте сигурни да желите да је објавите?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Објавите празну библиотеку" @@ -2494,21 +2493,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Ажурирајте компоненте у дељеној библиотеци" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Ажурирајте" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Откажите" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Управо ћете ажурирати компоненту у дељеној библиотеци. Ово може утицати на " "друге датотеке које га користе." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Ажурирајте компоненту у дељеној библиотеци" @@ -2568,29 +2567,29 @@ msgstr "Видео туторијали" msgid "onboarding-v2.before-start.title" msgstr "Пре него што почнете" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Претплатите се на Penpot билтен како бисте били у току са напретком у " "развоју производа и новостима." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Шаљи ми вести о Penpot-у (објаве на блогу, видео туторијали, преноси " "уживо...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Бринемо о приватности, овде можете прочитати наше " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Ми ћемо вам слати само релевантне е-поруке. Можете се одјавити у било ком " "тренутку путем везе за одјаву у било ком од наших билтена." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Шаљи ми ажурирања производа (нове функције, издања, поправке...)." @@ -2687,15 +2686,15 @@ msgstr "Касније ћете моћи да направите тим." msgid "onboarding.newsletter.accept" msgstr "Да, претплати се" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "Ваш захтев за претплату је послат, послаћемо вам е-пошту да то потврдимо." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Политика приватности." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Желите ли примате Penpot новости?" @@ -2876,7 +2875,7 @@ msgstr "Идите на пријаву" msgid "settings.detach" msgstr "Одвоји" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Мешано" @@ -3066,7 +3065,7 @@ msgstr "Направи ново" msgid "shortcuts.cut" msgstr "Исеци" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Умањи" @@ -3166,7 +3165,7 @@ msgstr "Распореди водоравно" msgid "shortcuts.hide-ui" msgstr "Прикажи / Сакриј интерфејс" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Увећај" @@ -3546,15 +3545,15 @@ msgstr "Увећај на изабрано" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Добављачи фонтова - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Фонтови - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Пројекти - %s - Penpot" @@ -3562,7 +3561,7 @@ msgstr "Пројекти - %s - Penpot" msgid "title.dashboard.search" msgstr "Претражи - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Дељене библиотеке - %s - Penpot" @@ -3570,7 +3569,7 @@ msgstr "Дељене библиотеке - %s - Penpot" msgid "title.default" msgstr "Penpot - Слобода дизајнирања за тимове" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Налог - Токени за приступ" @@ -3610,7 +3609,7 @@ msgstr "Веб-куке - %s - Penpot" msgid "title.viewer" msgstr "%s - Режим прегледа - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3715,15 +3714,15 @@ msgstr "Поравнај по врху (%s)" msgid "workspace.assets.assets" msgstr "Средства" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Сва средства" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Боје" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Компоненте" @@ -3735,15 +3734,15 @@ msgstr "Направите групу" msgid "workspace.assets.create-group-hint" msgstr "Ваше ставке ће бити аутоматски именоване као \"име групе / име ставке“" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Избирши" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Дуплирај" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Дуплирај главно" @@ -3751,15 +3750,15 @@ msgstr "Дуплирај главно" msgid "workspace.assets.edit" msgstr "Уреди" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Филтер" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Графика" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Група" @@ -3767,23 +3766,19 @@ msgstr "Група" msgid "workspace.assets.group-name" msgstr "Име групе" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Библиотеке" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "локална библиотека" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Нема пронађених средстава" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Отворите датотеку библиотеке" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Преименуј" @@ -3791,7 +3786,7 @@ msgstr "Преименуј" msgid "workspace.assets.rename-group" msgstr "Преименуј гурпу" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Претражите средства" @@ -3808,18 +3803,18 @@ msgstr[2] "%s изабраних ставки" msgid "workspace.assets.shared-library" msgstr "Дељена библиотека" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "компонента" msgstr[1] "%s компоненте" msgstr[2] "%s компоненти" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Сортирај" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Тиупографије" @@ -3828,27 +3823,27 @@ msgstr "Тиупографије" msgid "workspace.assets.typography.font-id" msgstr "Фонт" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Величина" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Варијанта" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Идите на датотеку библиотеке стилова да бисте је уредили" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Размак између слова" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Висина линије" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3856,7 +3851,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Стилови текста" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Трансформација текста" @@ -3864,55 +3859,55 @@ msgstr "Трансформација текста" msgid "workspace.assets.ungroup" msgstr "Разгрупиши" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Направи област" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Направи таблу" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Споји ћелије" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Додај 1 колону десно" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Додај 1 колону лево" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Избирши колону" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Избриши колоне и облике" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Дуплирај колону" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Додај 1 ред испод" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Додај 1 ред изнад" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Избриши ред" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Избриши редове и облике" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Дуплирај ред" @@ -3920,11 +3915,11 @@ msgstr "Дуплирај ред" msgid "workspace.focus.focus-mode" msgstr "Режим фокуса" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Искључи фокус" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Укљичи фокус" @@ -4078,33 +4073,32 @@ msgstr "Пребаците се на светлу тему" msgid "workspace.header.menu.undo" msgstr "Опозови" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Почни поново" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Грешка при чувању" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Сачувано" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Чување" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Несачуване промене" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Режим прегледа (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Увећај" @@ -4116,7 +4110,7 @@ msgstr "Попуњавање - Размера за попуњавање" msgid "workspace.header.zoom-fit" msgstr "Прилагоди - Смањи да се уклопи" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Увећај да се све уклопи" @@ -4124,19 +4118,19 @@ msgstr "Увећај да се све уклопи" msgid "workspace.header.zoom-full-screen" msgstr "Цели екран" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Увећај на изабрано" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Уреди мрежу" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Изађи" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Прикажи опције за 4-страни padding" @@ -4152,7 +4146,7 @@ msgstr "Готово" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Пронађи" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Пронађи распоред мреже" @@ -4161,7 +4155,7 @@ msgstr "Пронађи распоред мреже" msgid "workspace.libraries.add" msgstr "Додај" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s боја" @@ -4191,31 +4185,31 @@ msgstr "Недавне боје" msgid "workspace.libraries.colors.rgb-complementary" msgstr "Додатна РГБ боја" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Сачувајте стил боја" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s компоненти" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Библиотека датотека" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s графика" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "БИБЛИОТЕКЕ У ОВОЈ ДАТОТЕЦИ" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "БИБЛИОТЕКЕ" @@ -4224,63 +4218,59 @@ msgstr "БИБЛИОТЕКЕ" msgid "workspace.libraries.library" msgstr "БИБЛИОТЕКА" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "АЖУРИРАЊА БИБЛИОТЕКЕ" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Учитавање…" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Нема дељених библиотека које треба ажурирати" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Нема резултата за %s" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Нема доступних дељених библиотека" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Претражите заједничке библиотеке" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "ДЕЉЕНЕ БИБЛИОТЕКЕ" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Повежите библиотеку" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Више типографија" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Прекините везу са свим типографијама" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s типографија" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Прекините везу са библиотеком" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Ажурирај" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "види све промене" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "АЖУРИРАЊА" @@ -4300,43 +4290,43 @@ msgstr "Групно замућење" msgid "workspace.options.blur-options.title.multiple" msgstr "Замућење избора" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Позадина платна" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Ограничите садржај" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Компонента" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Напомена" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Копирај" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Направи напомену" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Уреди напомену" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Главно" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Замени компоненту" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "У овој библиотеци још увек нема средстава" @@ -4384,7 +4374,7 @@ msgstr "Врх и Дно" msgid "workspace.options.design" msgstr "Дизајн" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Извоз" @@ -4393,14 +4383,14 @@ msgstr "Извоз" msgid "workspace.options.export-multiple" msgstr "Избор извоза" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Извоз 1 елемента" msgstr[1] "Извоз %s елемента" msgstr[2] "Извоз %s елементата" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Суфикс" @@ -4408,7 +4398,7 @@ msgstr "Суфикс" msgid "workspace.options.exporting-complete" msgstr "Извоз је завршен" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Извоз…" @@ -4546,7 +4536,7 @@ msgstr "Контура групе" msgid "workspace.options.guides.title" msgstr "Вођице" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Висина" @@ -4856,19 +4846,19 @@ msgstr "Изабрани слојеви" msgid "workspace.options.layout-item.advanced-ops" msgstr "Напредна подешавања" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Макс.Висина" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Макс.Ширина" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Мин.Висина" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Мин.Ширина" @@ -4982,11 +4972,11 @@ msgstr "простор између" msgid "workspace.options.layout.top" msgstr "Врх" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Више боја" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Више боја библиотеке" @@ -5023,7 +5013,7 @@ msgstr "Горе лево" msgid "workspace.options.radius-top-right" msgstr "Горе десно" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Недавно" @@ -5031,11 +5021,11 @@ msgstr "Недавно" msgid "workspace.options.retry" msgstr "Покушајте поново" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Ротација" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Претражите фонт" @@ -5043,7 +5033,7 @@ msgstr "Претражите фонт" msgid "workspace.options.select-a-shape" msgstr "Изаберите облик, таблу или групу да бисте превукли везу на другу таблу." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Изабране боје" @@ -5055,43 +5045,43 @@ msgstr "Попуна избора" msgid "workspace.options.selection-stroke" msgstr "Избор контуре" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Замућење" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Боја сенке" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Бацање сенке" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Унутрашња сенка" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Ширење" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Сенка" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Групна сенка" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Избор сенки" @@ -5099,7 +5089,7 @@ msgstr "Избор сенки" msgid "workspace.options.show-fill-on-export" msgstr "Прикажи у извозу" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Прикажи у режиму приказа" @@ -5107,7 +5097,7 @@ msgstr "Прикажи у режиму приказа" msgid "workspace.options.size" msgstr "Величина" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Унапред подешене величине" @@ -5176,7 +5166,7 @@ msgstr "Троугао" msgid "workspace.options.stroke-color" msgstr "Боја контуре" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Ширина контуре" @@ -5240,11 +5230,11 @@ msgstr "Ауто ширина" msgid "workspace.options.text-options.grow-fixed" msgstr "Фиксно" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Размак између слова" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Висина линије" @@ -5310,15 +5300,15 @@ msgstr "" "Користите дугме за репродукцију у заглављу да бисте покренули приказ " "прототипа." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Ширина" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X оса" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y оса" @@ -5406,99 +5396,99 @@ msgstr "Додатак је исправно учитан." msgid "workspace.plugins.title" msgstr "Додаци" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Додајте флексибилни распоред" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Додајте распоред мреже" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Пошаљи позади" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Пошаљи назад" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Копирај" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Направи напомену" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Избор на табли" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Направи компоненту" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Направи више компоненти" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Исеци" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Избриши" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Избриши почетак протока" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Раздвоји инстанцу" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Раздвоји инстанце" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Разлика" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Дуплицирај" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Уреди" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Изузми" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Изравнај" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Окрени водоравно" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Окрени усправно" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Почетак протока" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Изнесите напред" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Изнесите напред" @@ -5507,95 +5497,95 @@ msgstr "Изнесите напред" msgid "workspace.shape.menu.go-main" msgstr "Идите на датотеку главне компоненте" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Групиши" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Сакриј" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Прикажи / Сакриј интерфејс" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Раскрсница" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Закључај" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Маскирај" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Залепи" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Путања" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Уклоните флексибилни распоред" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Уклоните распоред мреже" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Врати преиначења на подразумеване вредности" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Врати главну компоненту" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Изабери слој" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Прикажи" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Прикажи на панелу са средствима" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Прикажи главну компоненту" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Уклони сличицу" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Постави као сличицу" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Претвори у путanju" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Разгрупиши" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Унија" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Откључај" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Демаскирај" @@ -5604,7 +5594,7 @@ msgstr "Демаскирај" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Ажурирај главне компоненте" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Ажурирајте главну компоненту" @@ -5616,11 +5606,11 @@ msgstr "Скупи бочну траку" msgid "workspace.sidebar.expand" msgstr "Прошири бочну траку" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Историја" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Слојеви" @@ -5656,7 +5646,7 @@ msgstr "Облици" msgid "workspace.sidebar.layers.texts" msgstr "Текстови" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Увезена SVG својства" @@ -5664,11 +5654,11 @@ msgstr "Увезена SVG својства" msgid "workspace.sidebar.sitemap" msgstr "Странице" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Мапа сајта" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Средства" @@ -5676,35 +5666,35 @@ msgstr "Средства" msgid "workspace.toolbar.color-palette" msgstr "Палета боја (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Коментари (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Контура (%s0" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Елипса (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Табла (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Слика (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Премести (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Путања (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Правоугаоник (%s)" @@ -5713,7 +5703,7 @@ msgstr "Правоугаоник (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Пречице (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Текст (%s)" @@ -5721,7 +5711,7 @@ msgstr "Текст (%s)" msgid "workspace.toolbar.text-palette" msgstr "Типографије (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Укључите траку са алаткама" @@ -5879,19 +5869,19 @@ msgstr "Операција над %s" msgid "workspace.undo.title" msgstr "Историја" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Одбаци" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Више информација" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Постоје ажурирања у дељеним библиотекама" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Ажурирај" diff --git a/frontend/translations/sv.po b/frontend/translations/sv.po index 4254a6bdcd..4b3db732d3 100644 --- a/frontend/translations/sv.po +++ b/frontend/translations/sv.po @@ -1,15 +1,15 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-01-29 22:23+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Swedish \n" +"Language-Team: Swedish " +"\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -38,13 +38,13 @@ msgstr "Skapa demokonto" msgid "auth.create-demo-profile" msgstr "Vill du prova?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Detta är en DEMO-tjänst, ANVÄND INTE för produktion, projekten i miljön " "raderas regelbundet." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Glömt lösenordet?" @@ -52,7 +52,7 @@ msgstr "Glömt lösenordet?" msgid "auth.fullname" msgstr "Fullständigt namn" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Logga in på mitt konto" @@ -60,31 +60,31 @@ msgstr "Logga in på mitt konto" msgid "auth.login-here" msgstr "Logga in här." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Logga in" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "Penpot är det fria open-source designverktyget för design and kod samarbete" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -110,7 +110,7 @@ msgstr "En återställningslänk har skickats till din inkorg." msgid "auth.notifications.team-invitation-accepted" msgstr "Tillagd i teamet" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Lösenord" @@ -138,7 +138,7 @@ msgstr "Glömt lösenordet?" msgid "auth.recovery-submit" msgstr "Ändra lösenordet" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Inget konto?" @@ -150,7 +150,7 @@ msgstr "Vilket visningsnamn ska vara på översiktsvyn och i mail från oss." msgid "auth.register-account-title" msgstr "Ditt namn" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Skapa ett konto" @@ -174,7 +174,7 @@ msgstr "Den öppna källkodslösningen för design och prototyper." msgid "auth.terms-and-privacy-agreement" msgstr "Jag godkänner [terms of service](%s) och [privacy policy](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Användarvillkor" @@ -188,7 +188,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Vi har skickat ett verifieringsmail till" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Arbetsmail" @@ -197,11 +197,11 @@ msgstr "Arbetsmail" msgid "branding-illustrations-marketing-pieces" msgstr "...varumärkesbyggande, illustrationer, marknadsföringsmaterial, etc." -#: src/app/main/ui/comments.cljs:504 +#: src/app/main/ui/comments.cljs:532 msgid "comments.mentions.not-found" msgstr "Inga personer hittades för @%s" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Publicera" @@ -273,7 +273,7 @@ msgstr "Dela prototyper" msgid "common.share-link.view-all" msgstr "Markera allt" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Avpublicera" @@ -327,7 +327,7 @@ msgstr "Gränssnittsgenomgång" msgid "dashboard.access-tokens.copied-success" msgstr "Token kopierad" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Skapa ny token" @@ -335,11 +335,11 @@ msgstr "Skapa ny token" msgid "dashboard.access-tokens.create.success" msgstr "Accesstoken skapad." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Tryck på knappen \"Generera ny token\" för att generera en." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Du har inga tokens." @@ -363,23 +363,23 @@ msgstr "90 dagar" msgid "dashboard.access-tokens.expiration-never" msgstr "Aldrig" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Förföll den %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Förfaller den %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Inget förfallodatum" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Personliga accesstokens" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Personliga åtkomsttokens fungerar som ett alternativ till vårt " @@ -402,7 +402,7 @@ msgstr "Lägg till som delat bibliotek" msgid "dashboard.change-email" msgstr "Ändra e-post" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopia)" @@ -438,23 +438,23 @@ msgstr "Duplicera" msgid "dashboard.duplicate-multi" msgstr "Duplicera %s filer" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "När en projektmedlem skapar ett utkast kommer det att visas här." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Inga utkast än." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "När en projektmedlem skapar en fil kommer den att visas här." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Inga filer än." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -470,11 +470,11 @@ msgstr "" "dina filer eller lägg till från våra [Bibliotek & mallar] " "(https://penpot.app/libraries-templates)." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Bibliotek som läggs till i projektet visas här." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Inga bibliotek än." @@ -568,33 +568,33 @@ msgstr "Inkludera delade bibliotekstillgångar i filbibliotek" msgid "dashboard.export.title" msgstr "Exportera filer" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Typsnittet saknas" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Avfärda alla" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Egna teckensnitt som du laddar upp visas här." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "Inga anpassade teckensnitt än." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "När en projektmedlem laddar upp ett anpassat teckensnitt visas det här." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 teckensnitt adderas" msgstr[1] "%s teckensnitt adderas" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -604,20 +604,20 @@ msgstr "" "grupperas som en **enkel teckensnittsfamilj**. Du kan ladda upp teckensnitt " "med följande format: **TTF, OTF och WOFF** (endast ett format behövs)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Du bör endast ladda upp teckensnitt som du äger eller har licens att " "använda i Penpot. Läs mer i avsnittet om innehållsrättigheter i [Penpots " -"användarvillkor](%s). Du kanske också vill läsa " -"om [licensiering av teckensnitt](https://www.typography.com/faq)." +"användarvillkor](%s). Du kanske också vill läsa om [licensiering av " +"teckensnitt](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Ladda upp allt" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -628,7 +628,7 @@ msgstr "" "använder [Transfonter](https://transfonter.org/) för att generera " "webbteckensnitt och åtgärda fel. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importera Penpot-filer" @@ -640,11 +640,11 @@ msgstr "Oops! Vi kunde inte importera denna fil" msgid "dashboard.import.analyze-error.components-v2" msgstr "Fil med komponenter v2 aktiverad men det här teamet stöder det inte ännu." -#: src/app/main/ui/dashboard.cljs:248 +#: src/app/main/ui/dashboard.cljs:247 msgid "dashboard.import.bad-url" msgstr "Importen misslyckades. Mall URL:en är inkorrekt" -#: src/app/main/ui/dashboard.cljs:242 +#: src/app/main/ui/dashboard.cljs:241 msgid "dashboard.import.error" msgstr "Importen misslyckades. Försök igen" @@ -652,17 +652,17 @@ msgstr "Importen misslyckades. Försök igen" msgid "dashboard.import.import-error" msgstr "Problem att importera filen. Filen importerades inte." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 fil importerades." msgstr[1] "%s filer importerades." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Vissa filer innehöll ogiltiga objekt som har tagits bort." -#: src/app/main/ui/dashboard.cljs:249 +#: src/app/main/ui/dashboard.cljs:248 msgid "dashboard.import.no-perms" msgstr "Du har inte behörighet att importera till det här teamet" @@ -702,27 +702,27 @@ msgstr "Bjud in personer" msgid "dashboard.leave-team" msgstr "Lämna teamet" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Bibliotek & mallar" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Ta reda på mer om dem och hur du kan bidra" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Problem när mallen importerades. Mallen importerades inte." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Bibliotek" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "laddar dina filer …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "laddar dina teckensnitt …" @@ -738,11 +738,11 @@ msgstr "Flytta %s filer till" msgid "dashboard.move-to-other-team" msgstr "Flytta till andra team" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Ny fil" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Ny fil" @@ -750,7 +750,7 @@ msgstr "Ny fil" msgid "dashboard.new-project" msgstr "+ Nytt projekt" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Nytt projekt" @@ -762,7 +762,7 @@ msgstr "Inga träffar hittades för ”%s”" msgid "dashboard.no-projects-placeholder" msgstr "Fastklistrade projekt visas här" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Notifieringar" @@ -774,7 +774,7 @@ msgstr "Din e-postadress har uppdaterats" msgid "dashboard.notifications.email-verified-successfully" msgstr "Din e-postadress har verifierats" -#: src/app/main/ui/settings/notifications.cljs:42 +#: src/app/main/data/profile.cljs:260 msgid "dashboard.notifications.notifications-saved" msgstr "Notifieringsinställningar uppdaterade" @@ -794,7 +794,7 @@ msgstr "%s medlemmar" msgid "dashboard.open-in-new-tab" msgstr "Öppna filen i en ny flik" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Alternativ" @@ -822,15 +822,15 @@ msgstr "Du är nu en tittare i det här teamet." msgid "dashboard.pin-unpin" msgstr "Klistra fast/Lossa" -#: src/app/main/ui/dashboard.cljs:212 +#: src/app/main/ui/dashboard.cljs:208 msgid "dashboard.plugins.bad-url" msgstr "Plugin-URL:en är felaktig" -#: src/app/main/ui/dashboard.cljs:210 +#: src/app/main/ui/dashboard.cljs:206 msgid "dashboard.plugins.parse-error" msgstr "Kan inte tolka plugin-manifestet" -#: src/app/main/ui/dashboard.cljs:173 +#: src/app/main/ui/dashboard.cljs:169 msgid "dashboard.plugins.try-plugin" msgstr "Testa plugin: " @@ -871,67 +871,67 @@ msgstr "Välj språk för användargränssnittet" msgid "dashboard.select-ui-theme" msgstr "Välj tema" -#: src/app/main/ui/settings/notifications.cljs:76 +#: src/app/main/ui/settings/notifications.cljs:57 msgid "dashboard.settings.notifications.dashboard-comments.all" msgstr "Alla kommentarer, omnämnanden och svar" -#: src/app/main/ui/settings/notifications.cljs:78 +#: src/app/main/ui/settings/notifications.cljs:59 msgid "dashboard.settings.notifications.dashboard-comments.none" msgstr "Inga" -#: src/app/main/ui/settings/notifications.cljs:77 +#: src/app/main/ui/settings/notifications.cljs:58 msgid "dashboard.settings.notifications.dashboard-comments.partial" msgstr "Bara omnämnanden och svar" -#: src/app/main/ui/settings/notifications.cljs:73 +#: src/app/main/ui/settings/notifications.cljs:54 msgid "dashboard.settings.notifications.dashboard-comments.title" msgstr "Filkommentarer" -#: src/app/main/ui/settings/notifications.cljs:72 +#: src/app/main/ui/settings/notifications.cljs:53 msgid "dashboard.settings.notifications.dashboard.title" msgstr "Översiktsvy Notifieringar" -#: src/app/main/ui/settings/notifications.cljs:86 +#: src/app/main/ui/settings/notifications.cljs:67 msgid "dashboard.settings.notifications.email-comments.all" msgstr "Alla kommentarer, omnämnanden och svar" -#: src/app/main/ui/settings/notifications.cljs:88 +#: src/app/main/ui/settings/notifications.cljs:69 msgid "dashboard.settings.notifications.email-comments.none" msgstr "Inga" -#: src/app/main/ui/settings/notifications.cljs:87 +#: src/app/main/ui/settings/notifications.cljs:68 msgid "dashboard.settings.notifications.email-comments.partial" msgstr "Bara omnämnaden och svar" -#: src/app/main/ui/settings/notifications.cljs:83 +#: src/app/main/ui/settings/notifications.cljs:64 msgid "dashboard.settings.notifications.email-comments.title" msgstr "Filkommentarer" -#: src/app/main/ui/settings/notifications.cljs:95 +#: src/app/main/ui/settings/notifications.cljs:76 msgid "dashboard.settings.notifications.email-invites.all" msgstr "Alla typer av inbjudningar och förfrågningar" -#: src/app/main/ui/settings/notifications.cljs:98 +#: src/app/main/ui/settings/notifications.cljs:79 msgid "dashboard.settings.notifications.email-invites.none" msgstr "Inga" -#: src/app/main/ui/settings/notifications.cljs:92 +#: src/app/main/ui/settings/notifications.cljs:73 msgid "dashboard.settings.notifications.email-invites.title" msgstr "Inbjudningar och förfrågningar" -#: src/app/main/ui/settings/notifications.cljs:82 +#: src/app/main/ui/settings/notifications.cljs:63 msgid "dashboard.settings.notifications.email.title" msgstr "Mail Notifieringar" -#: src/app/main/ui/settings/notifications.cljs:103 +#: src/app/main/ui/settings/notifications.cljs:84 msgid "dashboard.settings.notifications.submit" msgstr "Uppdatera inställningar" -#: src/app/main/ui/settings/notifications.cljs:71 +#: src/app/main/ui/settings/notifications.cljs:52 msgid "dashboard.settings.notifications.title" msgstr "Notifieringar" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Visa alla filer" @@ -959,7 +959,7 @@ msgstr[1] "Dina filer har duplicerats" msgid "dashboard.success-duplicate-project" msgstr "Ditt projekt har duplicerats" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Din fil har flyttats" @@ -1003,15 +1003,15 @@ msgstr "Avpublicera biblioteket" msgid "dashboard.update-settings" msgstr "Uppdatera inställningarna" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "Inga gränser för kreativitet" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Gratis Penpot" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "Starta upp" @@ -1070,7 +1070,7 @@ msgstr "E-post" msgid "dashboard.your-name" msgstr "Ditt namn" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Ditt Penpot" @@ -1090,11 +1090,11 @@ msgstr "Komponenter att uppdatera:" msgid "ds.confirm-allow" msgstr "Tillåt" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Avbryt" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -1106,7 +1106,7 @@ msgstr "Är du säker?" msgid "errors.auth-provider-not-allowed" msgstr "Autentiseringsleverantör inte tillåten för denna profil" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Autentiseringsleverantör inte konfigurerad." @@ -1114,11 +1114,11 @@ msgstr "Autentiseringsleverantör inte konfigurerad." msgid "errors.auth.unable-to-login" msgstr "Du är inte autentiserad eller har sessionen löpt ut." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Teckensnittet % kunde inte laddas" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Teckensnittet %s kunde inte laddas" @@ -1126,7 +1126,7 @@ msgstr "Teckensnittet %s kunde inte laddas" msgid "errors.cannot-upload" msgstr "Kan inte ladda upp mediafilen." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Din webbläsare kan inte utföra denna åtgärd" @@ -1138,7 +1138,7 @@ msgstr "E-postadressen används redan" msgid "errors.email-already-validated" msgstr "E-postadressen är redan validerad." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Du kan inte använda e-postadressen som lösenord" @@ -1187,7 +1187,7 @@ msgstr "" "aktiverade funktionerna och funktionerna i den fil du försöker öppna. " "Migreringar för ”%s” måste tillämpas innan filen kan öppnas." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Något fel har inträffat." @@ -1200,8 +1200,7 @@ msgstr "Ogiltig färg" msgid "errors.invalid-email" msgstr "Ange en giltig e-postadress" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Bekräftelsemail måste matcha" @@ -1217,7 +1216,7 @@ msgstr "Inbjudan ogiltig" msgid "errors.invite-invalid.info" msgstr "Denna inbjudan kan vara avbruten eller har upphört att gälla." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP-autentisering är inaktiverad." @@ -1267,7 +1266,7 @@ msgstr "Lösenordet måste innehålla minst 8 tecken" msgid "errors.paste-data-validation" msgstr "Ogiltiga data i urklipp" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Profilen är blockerad" @@ -1341,12 +1340,11 @@ msgstr "Oväntat fel vid validering" msgid "errors.webhooks.unexpected-status" msgstr "Oväntad status %" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "E-post eller lösenord är felaktigt." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Det gamla lösenordet är felaktigt" @@ -1395,11 +1393,11 @@ msgstr "Här kan du få hjälp med dina tekniska frågor." msgid "feedback.twitter-title" msgstr "X supportkonto" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Ett fel har inträffat" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Oskärpa" @@ -1407,31 +1405,31 @@ msgstr "Oskärpa" msgid "inspect.attributes.blur.value" msgstr "Värde" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Fylla" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Ladda ner källbilden" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Höjd" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Bredd" @@ -1470,15 +1468,15 @@ msgstr "Topp" msgid "inspect.attributes.layout.width" msgstr "Bredd" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Skugga" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Storlek och position" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Fet" @@ -1515,141 +1513,141 @@ msgstr "Ifylld" msgid "inspect.attributes.stroke.width" msgstr "Bredd" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Typografi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Teckensnittsfamilj" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Teckenstorlek" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Teckensnitt" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Teckensnittsvikt" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Teckenavstånd" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Radavstånd" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Textdekorering" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Ingen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Genomstruken" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Understrykning" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Texttransformation" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Gemener" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Ingen" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Versalbörjan" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Oinställt" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Versaler" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "Om du vill veta mer om designinspektion kan du besöka Penpots hjälpcenter" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Mer information om inspektion" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Välj en form, ett tavla eller en grupp för att inspektera deras egenskaper " "och kod" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kod" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Cirkel" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Komponent" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Kurva" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Tavla" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grupp" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Bild" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Mask" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s valda" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Bana" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rektangel" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Text" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Info" @@ -1669,15 +1667,15 @@ msgstr "Accesstokens" msgid "labels.active" msgstr "Aktiv" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Lägg till" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Lägg till teckensnitt" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Lägger till..." @@ -1689,7 +1687,7 @@ msgstr "Admin" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Allt" @@ -1711,7 +1709,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Bad Gateway" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Avbryt" @@ -1719,27 +1717,27 @@ msgstr "Avbryt" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Stäng" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Dra ihop" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Kommentar" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Markera som löst" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Kommentarer" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Community" @@ -1747,7 +1745,7 @@ msgstr "Community" msgid "labels.confirm-password" msgstr "Bekräfta lösenordet" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Fortsätt" @@ -1767,7 +1765,7 @@ msgstr "Kopiera länk" msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Skapa" @@ -1787,15 +1785,15 @@ msgstr "Anpassade teckensnitt" msgid "labels.dashboard" msgstr "Översiktsvy" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Radera" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Radera kommentar" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Radera tråd" @@ -1815,15 +1813,15 @@ msgstr "Utveckling" msgid "labels.director" msgstr "Direktör" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Kassera" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Utkast" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Redigera" @@ -1843,7 +1841,7 @@ msgstr "Evenemang" msgid "labels.expired-invitation" msgstr "Löpt ut" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Exportera" @@ -1859,7 +1857,7 @@ msgstr "Feedback skickad" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Teckensnittsfamilj" @@ -1867,11 +1865,11 @@ msgstr "Teckensnittsfamilj" msgid "labels.font-providers" msgstr "Teckensnittsleverantör" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Stilar" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Teckensnitt" @@ -1883,11 +1881,11 @@ msgstr "VD eller Grundare" msgid "labels.freelancer" msgstr "Frilansare" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Github repo" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Ge feedback" @@ -1899,15 +1897,15 @@ msgstr "Gå tillbaka" msgid "labels.graphic-design" msgstr "Grafisk design" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Hjälpcenter" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Dölj åtgärdade kommentarer" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:355 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 msgid "labels.import" msgstr "Importera" @@ -1915,7 +1913,7 @@ msgstr "Importera" msgid "labels.inactive" msgstr "Inaktiv" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Installerade teckensnitt" @@ -1941,11 +1939,11 @@ msgstr "Inbjudningar" msgid "labels.language" msgstr "Språk" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Bibliotek & mallar" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Laddar…" @@ -1957,7 +1955,7 @@ msgstr "Logga in eller registrera dig" msgid "labels.login" msgstr "Logga in" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Logga ut" @@ -1977,11 +1975,11 @@ msgstr "Medlemmar" msgid "labels.new-password" msgstr "Nytt lösenord" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Nästa" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Du har kommit ikapp! Nya meddelanden om kommentarer visas här." @@ -2011,7 +2009,7 @@ msgstr "Oops!" msgid "labels.notifications" msgstr "Notifieringar" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 fil" @@ -2042,7 +2040,7 @@ msgstr "Gammalt lösenord" msgid "labels.only-yours" msgstr "Endast din" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Alternativ" @@ -2070,7 +2068,7 @@ msgstr "Lösenord" msgid "labels.pending-invitation" msgstr "Pågående" -#: src/app/main/ui/comments.cljs:657, src/app/main/ui/comments.cljs:690, src/app/main/ui/comments.cljs:759 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "Inlägg" @@ -2094,7 +2092,7 @@ msgstr "Profil" msgid "labels.projects" msgstr "Projekt" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Releaseinformation" @@ -2112,7 +2110,7 @@ msgstr "Ta bort" msgid "labels.remove-member" msgstr "Ta bort medlem" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Byt namn" @@ -2120,23 +2118,23 @@ msgstr "Byt namn" msgid "labels.rename-team" msgstr "Byt teamnamn" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "svar" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "nya svar" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "svara" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "nytt svar" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Svara" @@ -2156,15 +2154,15 @@ msgstr "Försök igen" msgid "labels.role" msgstr "Roll" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Spara" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Sök" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Sök teckensnitt" @@ -2188,7 +2186,7 @@ msgstr "Vi utför schemalagt underhåll av våra system." msgid "labels.service-unavailable.main-message" msgstr "Tjänsten är inte tillgänglig" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "Uppsättningar" @@ -2208,19 +2206,19 @@ msgstr "Dela prototyp" msgid "labels.shared-libraries" msgstr "Bibliotek" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Visa alla kommentarer" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Visa kommentarslista" -#: src/app/main/ui/workspace/comments.cljs:66, src/app/main/ui/workspace/comments.cljs:136 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-mentions" msgstr "Visa bara dina omnämnanden" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Visa bara dina kommentarer" @@ -2248,11 +2246,11 @@ msgstr "Teamledare" msgid "labels.team-member" msgstr "Teammedlem" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Teman" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Självstudier" @@ -2268,15 +2266,15 @@ msgstr "Uppdatera" msgid "labels.update-team" msgstr "Uppdatera teamet" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Ladda upp" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Ladda upp teckensnitt" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Laddar upp…" @@ -2292,7 +2290,7 @@ msgstr "Visare" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Skriv ny kommentar" @@ -2300,7 +2298,7 @@ msgstr "Skriv ny kommentar" msgid "labels.you" msgstr "(du)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Ditt konto" @@ -2308,23 +2306,23 @@ msgstr "Ditt konto" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Välj bild" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Gradient" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Bild" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Behåll aspektförhållandet" @@ -2342,7 +2340,7 @@ msgstr "Laddar bild…" msgid "media.radial" msgstr "Radiell" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Fylld" @@ -2394,7 +2392,7 @@ msgstr "Ändra e-post" msgid "modals.change-email.title" msgstr "Ändra din e-post" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Kopiera token" @@ -2410,7 +2408,7 @@ msgstr "Namn" msgid "modals.create-access-token.name.placeholder" msgstr "Namnet kan hjälpa till att veta vad token är till för" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Skapa token" @@ -2434,15 +2432,15 @@ msgstr "Payload URL" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Radera token" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Är du säker på att du vill radera denna token?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Radera token" @@ -2462,25 +2460,25 @@ msgstr "Genom att ta bort ditt konto förlorar du alla dina projekt och arkiv." msgid "modals.delete-account.title" msgstr "Är du säker på att du vill radera ditt konto?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Radera konversation" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Är du säker på att du vill radera konversationen? Alla kommentarer i denna " "tråd kommer att raderas." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Radera konversation" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Är du säker på att du vill radera anteckningen?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Radera anteckningen" @@ -2508,31 +2506,31 @@ msgstr "Är du säker på att du vill radera %s filerna?" msgid "modals.delete-file-multi-confirm.title" msgstr "Raderar %s filer" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Är du säker på att du vill radera denna typsnittsstil? Den laddas inte om " "den används i en fil." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Ta bort teckensnittsformat" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Är du säker på att du vill ta bort detta teckensnitt? Den laddas inte om " "den används i en fil." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Ta bort teckensnitt" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Är du säker på att du vill ta bort den här sidan?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Radera sida" @@ -2746,15 +2744,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Ny teamägare" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Publicera" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Ditt bibliotek är tomt. Är du säker på att du vill publicera den?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Publicera tomt bibliotek" @@ -2810,21 +2808,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Uppdaterar komponenter i ett delat bibliotek" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Uppdatera" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Avbryt" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Du håller på att uppdatera komponenter i ett delat bibliotek. Detta kan " "påverka andra filer som använder den." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Uppdatera en komponent i ett delat bibliotek" @@ -2986,28 +2984,28 @@ msgstr "Videokurser" msgid "onboarding-v2.before-start.title" msgstr "Innan du börjar" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Prenumerera på Penpots nyhetsbrev för att hålla dig uppdaterad om " "produktutvecklingen och nyheter." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "Skicka mig nyheter om Penpot (blogginlägg, videokurser, livesändningar...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Vi bryr oss om integritet, här kan du läsa vår " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Vi kommer endast att skicka relevanta e-postmeddelanden till dig. Du kan " "när som helst avregistrera dig via avregistreringslänken i något av våra " "nyhetsbrev." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Skicka mig produktuppdateringar (nya funktioner, releaser, fixar...)." @@ -3105,17 +3103,17 @@ msgstr "Du kan skapa ett team senare." msgid "onboarding.newsletter.accept" msgstr "Ja, prenumerera" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Din prenumerationsbegäran har skickats, vi skickar ett e-postmeddelande för " "att bekräfta det." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Integritetspolicy." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Vill du få Penpot-nyheter?" @@ -3308,7 +3306,7 @@ msgstr "Gå till Logga in" msgid "settings.detach" msgstr "Separera" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Mixad" @@ -3506,7 +3504,7 @@ msgstr "Skapa ny" msgid "shortcuts.cut" msgstr "Klipp ut" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Zooma ut" @@ -3606,7 +3604,7 @@ msgstr "Distribuera horisontellt" msgid "shortcuts.hide-ui" msgstr "Visa / dölja UI" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Zooma in" @@ -3990,15 +3988,15 @@ msgstr "Zooma in markerad" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Teckensnittsleverantörer - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Teckensnitt - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projekt - %s - Penpot" @@ -4006,7 +4004,7 @@ msgstr "Projekt - %s - Penpot" msgid "title.dashboard.search" msgstr "Sök -%s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Delade bibliotek -%s - Penpot" @@ -4014,7 +4012,7 @@ msgstr "Delade bibliotek -%s - Penpot" msgid "title.default" msgstr "Penpot - Designfrihet för team" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profil - Accesstokens" @@ -4022,7 +4020,7 @@ msgstr "Profil - Accesstokens" msgid "title.settings.feedback" msgstr "Ge feedback - Penpot" -#: src/app/main/ui/settings/notifications.cljs:64 +#: src/app/main/ui/settings/notifications.cljs:45 msgid "title.settings.notifications" msgstr "Notifieringar - Penpot" @@ -4058,7 +4056,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - Visningsläge - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -4158,7 +4156,7 @@ msgstr "Distribuera vertikalt avstånd (%)" msgid "workspace.align.vtop" msgstr "Justera toppen (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Lägg till bibliotek" @@ -4167,11 +4165,11 @@ msgstr "Lägg till bibliotek" msgid "workspace.assets.assets" msgstr "Tillgångar" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Alla tillgångar" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Färger" @@ -4179,11 +4177,11 @@ msgstr "Färger" msgid "workspace.assets.colors.add-color" msgstr "Lägg till färg" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Komponenter" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Lägg till komponent" @@ -4195,15 +4193,15 @@ msgstr "Skapa en grupp" msgid "workspace.assets.create-group-hint" msgstr "Dina objekt kommer att namnges automatiskt som \"gruppnamn / objektnamn\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Radera" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Duplicera" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Duplicera huvudarbetsytan" @@ -4211,19 +4209,19 @@ msgstr "Duplicera huvudarbetsytan" msgid "workspace.assets.edit" msgstr "Redigera" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filter" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafik" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Rutnätsvy" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Grupp" @@ -4231,27 +4229,23 @@ msgstr "Grupp" msgid "workspace.assets.group-name" msgstr "Gruppnamn" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Bibliotek" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Listvy" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "lokala bibliotek" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Inga tillgångar hittades" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Öppna bibliotek fil" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Byt namn" @@ -4259,7 +4253,7 @@ msgstr "Byt namn" msgid "workspace.assets.rename-group" msgstr "Byt namn på gruppen" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Sök tillgångar" @@ -4275,17 +4269,17 @@ msgstr[1] "%s objekt markerade" msgid "workspace.assets.shared-library" msgstr "Delat bibliotek" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 komponent" msgstr[1] "%s komponenter" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Sortera" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Typografi" @@ -4298,27 +4292,27 @@ msgstr "Lägg till teckenssnitt" msgid "workspace.assets.typography.font-id" msgstr "Teckensnitt" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Storlek" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Variation" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Gå till stilbibliotek fil för att redigera" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Teckenavstånd" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Radavstånd" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4326,7 +4320,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Textstilar" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Texttransformation" @@ -4334,55 +4328,55 @@ msgstr "Texttransformation" msgid "workspace.assets.ungroup" msgstr "Avgruppera" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Skapa område" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Skapa tavla" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Sammanfoga celler" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Lägg till 1 kolumn till höger" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Lägg till 1 kolumn till vänster" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Radera kolumn" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Ta bort kolumn och former" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Duplicera kolumn" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Lägg till 1 rad nedanför" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Lägg till 1 rad ovanför" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Ta bort rad" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Ta bort rad och former" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Duplicera rad" @@ -4390,11 +4384,11 @@ msgstr "Duplicera rad" msgid "workspace.focus.focus-mode" msgstr "Fokusläge" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Fokusera av" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Fokusera på" @@ -4552,37 +4546,36 @@ msgstr "Växla till ljust tema" msgid "workspace.header.menu.undo" msgstr "Ångra" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Återställ" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Fel vid sparandet" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Sparad" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Sparar" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Dela" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Osparade ändringar" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Visningsläge (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Zoom" @@ -4594,7 +4587,7 @@ msgstr "Fylla - Skala för att fylla" msgid "workspace.header.zoom-fit" msgstr "Anpassa - Skala ner för att passa" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Zooma för att få plats med alla" @@ -4602,19 +4595,19 @@ msgstr "Zooma för att få plats med alla" msgid "workspace.header.zoom-full-screen" msgstr "Helskärm" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Zooma in markerad" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Redigera grid" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Avsluta" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Visa padding-inställningar för 4 sidor" @@ -4630,7 +4623,7 @@ msgstr "Klart" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Lokalisera" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Lokalisera rutnätslayout" @@ -4639,7 +4632,7 @@ msgstr "Lokalisera rutnätslayout" msgid "workspace.libraries.add" msgstr "Lägg till" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s färger" @@ -4669,43 +4662,43 @@ msgstr "Nyligen använda färger" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB komplementerande" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Spara färgstil" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s komponenter" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "Eller lägg till några av dessa för att prova:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "Det finns inga delade bibliotek i ditt team, du kan leta efter" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "några mallar här" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Filbibliotek" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s grafik" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTEK I DENNA FIL" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "BIBLIOTEK" @@ -4714,71 +4707,64 @@ msgstr "BIBLIOTEK" msgid "workspace.libraries.library" msgstr "BIBLIOTEK" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "BIBLIOTEKUPDATERINGAR" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Laddar…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "Du kan titta efter " -#: src/app/main/ui/workspace/libraries.cljs:391 -msgid "workspace.libraries.more-templates-link" -msgstr "fler mallar här" - -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Det finns inga delade bibliotek som behöver uppdateras" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Inga träffar hittades för ”%s”" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Det finns inga delade bibliotek" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Sök delade bibliotek" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "DELADE BIBLIOTEK" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Anslut bibliotek" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Flera typografier" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Avlänka alla typografier" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s typografier" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Koppla från biblioteket" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Uppdatera" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "se alla ändringar" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "UPDATERINGAR" @@ -4810,43 +4796,43 @@ msgstr "Oskärpemarkering" msgid "workspace.options.blur-options.toggle-blur" msgstr "Växla oskärpa" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Canvas bakgrund" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Innehåll i urklipp" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Komponent" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Anteckning" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Kopiera" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Skapa en anteckning" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Redigera en anteckning" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Huvuddel" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Växla komponent" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "Det finns inga tillgångar i detta bibliotek" @@ -4894,7 +4880,7 @@ msgstr "Topp & Botten" msgid "workspace.options.design" msgstr "Design" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Exportera" @@ -4903,21 +4889,21 @@ msgstr "Exportera" msgid "workspace.options.export-multiple" msgstr "Exportera markerade" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Exportera 1 element" msgstr[1] "Exportera %s element" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "Lägg till export" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "Ta bort export" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Suffix" @@ -4925,7 +4911,7 @@ msgstr "Suffix" msgid "workspace.options.exporting-complete" msgstr "Exporten lyckades" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Exporterar…" @@ -5087,7 +5073,7 @@ msgstr "Guidelinjer" msgid "workspace.options.guides.toggle-guide" msgstr "Växla guide" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Höjd" @@ -5410,19 +5396,19 @@ msgstr "Växla lagersynlighet" msgid "workspace.options.layout-item.advanced-ops" msgstr "Avancerade alternativ" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Max.höjd" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Max.bredd" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Min.höjd" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Min.bredd" @@ -5536,11 +5522,11 @@ msgstr "utrymme mellan" msgid "workspace.options.layout.top" msgstr "Topp" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Fler färger" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Fler biblioteksfärger" @@ -5585,7 +5571,7 @@ msgstr "Dra ihop oberoende radie" msgid "workspace.options.radius.show-single-corners" msgstr "Visa oberoende radie" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Nyligen" @@ -5593,11 +5579,11 @@ msgstr "Nyligen" msgid "workspace.options.retry" msgstr "Försök igen" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Rotering" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Sök teckensnitt" @@ -5605,7 +5591,7 @@ msgstr "Sök teckensnitt" msgid "workspace.options.select-a-shape" msgstr "Välj en form, tavla eller grupp för att dra en anslutning till andra kartor." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Markerade färger" @@ -5617,55 +5603,55 @@ msgstr "Fyllning inom markering" msgid "workspace.options.selection-stroke" msgstr "Markeringskontur" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "Lägg till skugga" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Oskärpa" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Skuggfärg" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Släpskugga" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Innerskugga" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "Ta bort skugga" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Spridning" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Skugga" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Gruppskugga" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Urvalda skuggor" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:176 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 msgid "workspace.options.shadow-options.toggle-shadow" msgstr "Växla skugga" @@ -5673,7 +5659,7 @@ msgstr "Växla skugga" msgid "workspace.options.show-fill-on-export" msgstr "Visa i exporter" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Visa i visningsläge" @@ -5681,7 +5667,7 @@ msgstr "Visa i visningsläge" msgid "workspace.options.size" msgstr "Storlek" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Storleksinställningar" @@ -5750,7 +5736,7 @@ msgstr "Triangel" msgid "workspace.options.stroke-color" msgstr "Konturfärg" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Konturbredd" @@ -5822,11 +5808,11 @@ msgstr "Autobredd" msgid "workspace.options.text-options.grow-fixed" msgstr "Fast" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Teckenavstånd" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Radavstånd" @@ -5890,15 +5876,15 @@ msgstr "Versaler" msgid "workspace.options.use-play-button" msgstr "Använd spelknappen i sidhuvudet för att köra prototypvisaren." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Bredd" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X axel" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y axel" @@ -6075,123 +6061,123 @@ msgstr "'%s' PLUGIN ÄR INSTALLERAD FÖR DIN ANVÄNDARE!" msgid "workspace.plugins.try-out.try" msgstr "TESTA PLUGIN" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Lägg till flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Lägg till grid layout" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Lägg till layout" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Flytta längst bak" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Flytta bakåt" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Kopiera" -#: src/app/main/ui/workspace/context_menu.cljs:203 +#: src/app/main/ui/workspace/context_menu.cljs:204 msgid "workspace.shape.menu.copy-css" msgstr "Kopiera som CSS" -#: src/app/main/ui/workspace/context_menu.cljs:205 +#: src/app/main/ui/workspace/context_menu.cljs:206 msgid "workspace.shape.menu.copy-css-nested" msgstr "Kopiera som CSS (nästlade lager)" -#: src/app/main/ui/workspace/context_menu.cljs:188 +#: src/app/main/ui/workspace/context_menu.cljs:189 msgid "workspace.shape.menu.copy-link" msgstr "Kopiera länken till urklipp" -#: src/app/main/ui/workspace/context_menu.cljs:201 +#: src/app/main/ui/workspace/context_menu.cljs:202 msgid "workspace.shape.menu.copy-paste-as" msgstr "Kopiera/Klistra in som ..." -#: src/app/main/ui/workspace/context_menu.cljs:213 +#: src/app/main/ui/workspace/context_menu.cljs:214 msgid "workspace.shape.menu.copy-props" msgstr "Kopiera egenskaper" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Skapa anteckning" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Markering till tavla" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Skapa komponent" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Skapa flera komponenter" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Klipp ut" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Radera" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Ta bort flödesstart" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Koppla från instans" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Koppla från instanser" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Skillnad" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Duplicera" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Redigera" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Exkludera" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Platta ut" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Vänd horisontellt" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Vänd vertikalt" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Flödesstart" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Flytta framåt" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Flytta längst fram" @@ -6200,107 +6186,107 @@ msgstr "Flytta längst fram" msgid "workspace.shape.menu.go-main" msgstr "Gå till huvudkomponentfil" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Grupp" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Dölj" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Via / Dölj UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Intersektion" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Lås" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Mask" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Klistra in" -#: src/app/main/ui/workspace/context_menu.cljs:217 +#: src/app/main/ui/workspace/context_menu.cljs:218 msgid "workspace.shape.menu.paste-props" msgstr "Klista in egenskaper" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Bana" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Ta bort flex layout" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Ta bort grid layout" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Ta bort layout" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Byt namn" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Återställ standardvärden" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Återställ huvudkomponent" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Välj lager" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Visa" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Visa i tillgångspanelen" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Visa huvudkomponent" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Ta bort miniatyrbild" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Ställ in som miniatyrbild" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Gör om till bana" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Avgruppera" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Sammanfoga" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Lås upp" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Avmaska" @@ -6309,7 +6295,7 @@ msgstr "Avmaska" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Uppdatera huvudkomponenter" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Uppdatera huvudkomponent" @@ -6321,11 +6307,11 @@ msgstr "Minimera sidonavigation" msgid "workspace.sidebar.expand" msgstr "Expandera sidonavigation" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Historia" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Lager" @@ -6361,7 +6347,7 @@ msgstr "Former" msgid "workspace.sidebar.layers.texts" msgstr "Texter" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Importerade SVG attribut" @@ -6373,7 +6359,7 @@ msgstr "Sidor" msgid "workspace.sidebar.sitemap.add-page" msgstr "Lägg till sida" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Översiktsplan" @@ -6391,43 +6377,39 @@ msgstr "%s aktiva teman" msgid "workspace.token.add set" msgstr "Lägg till uppsättning" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 msgid "workspace.token.back-to-themes" msgstr "Tillbaka till temalista" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 msgid "workspace.token.create-new-theme" msgstr "Skapa ditt första tema nu." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 msgid "workspace.token.create-one" msgstr "Skapa ett." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 -msgid "workspace.token.create-theme-title" -msgstr "Skapa tema" - -#: src/app/main/ui/workspace/tokens/form.cljs:431 +#: src/app/main/ui/workspace/tokens/form.cljs:492 msgid "workspace.token.create-token" msgstr "Skapa en ny %s token" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:228 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 msgid "workspace.token.delete" msgstr "Ta bort token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "Ta bort tema" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:225 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 msgid "workspace.token.duplicate" msgstr "Duplicera token" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:212 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 msgid "workspace.token.edit" msgstr "Redigera token" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Redigera tema" @@ -6435,15 +6417,15 @@ msgstr "Redigera tema" msgid "workspace.token.edit-themes" msgstr "Redigera teman" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Redigera token" -#: src/app/main/ui/workspace/tokens/form.cljs:481 +#: src/app/main/ui/workspace/tokens/form.cljs:544 msgid "workspace.token.enter-token-description" msgstr "Lägg till en beskrivning (valfritt)" -#: src/app/main/ui/workspace/tokens/form.cljs:437 +#: src/app/main/ui/workspace/tokens/form.cljs:498 msgid "workspace.token.enter-token-name" msgstr "Ange %s tokennamn" @@ -6452,88 +6434,71 @@ msgstr "Ange %s tokennamn" msgid "workspace.token.grouping-set-alert" msgstr "Gruppering av Token Set stöds inte." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:56 -msgid "workspace.token.new-theme" -msgstr "Nytt tema" - -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 msgid "workspace.token.no-active-theme" msgstr "Inget tema aktiverat" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:146 -msgid "workspace.token.no-sets" -msgstr "Inga uppsättningar" - -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "Det finns inga uppsättningar definierade. Skapa ett först." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:215, src/app/main/ui/workspace/tokens/sidebar.cljs:221 +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 msgid "workspace.token.no-sets-yet" msgstr "Det finns inga uppsättningar." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "Det finns inga teman." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "Du har för närvarande inga teman." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 -msgid "workspace.token.num-sets" -msgstr "%s uppsättningar" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" msgstr "Originalvärde: " -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" msgstr "Lösta värden: " -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Spara tema" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "Välj uppsättning." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "" "Definiera vilka tokenuppsättningar som ska användas som en del av detta " "temaalternativ:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Tema %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 -msgid "workspace.token.themes" -msgstr "Teman" - -#: src/app/main/ui/workspace/tokens/form.cljs:482 +#: src/app/main/ui/workspace/tokens/form.cljs:545 msgid "workspace.token.token-description" msgstr "Beskrivning" -#: src/app/main/ui/workspace/tokens/form.cljs:440 +#: src/app/main/ui/workspace/tokens/form.cljs:501 msgid "workspace.token.token-name" msgstr "Namn" -#: src/app/main/ui/workspace/tokens/form.cljs:464 +#: src/app/main/ui/workspace/tokens/form.cljs:526 msgid "workspace.token.token-value" msgstr "Värde" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:348 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 msgid "workspace.token.tools" msgstr "Verktyg" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Tillgångar" @@ -6541,39 +6506,39 @@ msgstr "Tillgångar" msgid "workspace.toolbar.color-palette" msgstr "Färgpalett (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Kommentarer (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Kurva (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Ellips (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Tavla (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Bild (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Flytta (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Bana (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Plugins (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Rektangel (%s)" @@ -6582,7 +6547,7 @@ msgstr "Rektangel (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Genvägar (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Text (%s)" @@ -6590,7 +6555,7 @@ msgstr "Text (%s)" msgid "workspace.toolbar.text-palette" msgstr "Typografier (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Växla verktygsfält" @@ -6748,19 +6713,19 @@ msgstr "Körning över %s" msgid "workspace.undo.title" msgstr "Historia" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Avfärda" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Mer info" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Det finns uppdateringar i delade bibliotek" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Uppdatera" @@ -6820,11 +6785,11 @@ msgstr "Vill du återställa den här versionen?" msgid "workspace.versions.snapshot-menu" msgstr "Öppna snapshot-menyn" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "Åtgärder" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "Historik" diff --git a/frontend/translations/ta.po b/frontend/translations/ta.po index 685706897b..21fae47a31 100644 --- a/frontend/translations/ta.po +++ b/frontend/translations/ta.po @@ -34,13 +34,13 @@ msgstr "டெமோ கணக்கை உருவாக்கவும்" msgid "auth.create-demo-profile" msgstr "அதை முயற்சி செய்ய வேண்டுமா?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "இது ஒரு டெமோ சேவை, உண்மையான வேலைக்கு பயன்படுத்த வேண்டாம், திட்டங்கள் " "அவ்வப்போது அழிக்கப்படும்." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "கடவுச்சொல்லை மறந்துவிட்டீர்களா?" @@ -52,27 +52,27 @@ msgstr "முழு பெயர்" msgid "auth.login-here" msgstr "இங்கே உள்நுழைக" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "உள்நுழை" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "கிட்லேப்" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "கூகுள்" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "ஓப்பன் ஐடி" @@ -98,7 +98,7 @@ msgstr "கடவுச்சொல் மீட்பு இணைப்பு msgid "auth.notifications.team-invitation-accepted" msgstr "அணியில் வெற்றிகரமாக இணைந்தார்" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "கடவுச்சொல்" @@ -126,11 +126,11 @@ msgstr "கடவுச்சொல்லை மறந்துவிட் msgid "auth.recovery-submit" msgstr "உங்கள் கடவுச்சொல்லை மாற்றுக" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "இன்னும் கணக்கு இல்லையா?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "ஒரு கணக்கை உருவாக்கவும்" @@ -143,7 +143,7 @@ msgstr "ஒரு கணக்கை உருவாக்கவும்" msgid "auth.sidebar-tagline" msgstr "வடிவமைப்பு மற்றும் முன்மாதிரிக்கான திறந்த மூல தீர்வு." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "சேவை விதிமுறைகள்" @@ -151,7 +151,7 @@ msgstr "சேவை விதிமுறைகள்" msgid "auth.verification-email-sent" msgstr "சரிபார்ப்பு மின்னஞ்சலை அனுப்பியுள்ளோம் இந்த முகவரிக்கு" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "வெளியிடுங்கள்" diff --git a/frontend/translations/th.po b/frontend/translations/th.po index 0f884457a1..31649d84f4 100644 --- a/frontend/translations/th.po +++ b/frontend/translations/th.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-12-28 16:02+0000\n" +"PO-Revision-Date: 2025-02-04 21:02+0000\n" "Last-Translator: Late Night Defender \n" "Language-Team: Thai " "\n" @@ -31,13 +31,13 @@ msgstr "ยืนยันรหัสผ่าน" msgid "auth.create-demo-account" msgstr "สร้างบัญชีสาธิตการใช้งาน" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "บริการนี้มีไว้สำหรับสาธิตการใช้งาน ห้ามใช้สำหรับชิ้นงานจริง " "เนื่องจากข้อมูลจะถูกลบเป็นระยะ ๆ" -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "ลืมรหัสผ่าน?" @@ -45,7 +45,7 @@ msgstr "ลืมรหัสผ่าน?" msgid "auth.fullname" msgstr "ชื่อเต็ม" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "ลงชื่อเข้าใช้บัญชีของฉัน" @@ -53,31 +53,31 @@ msgstr "ลงชื่อเข้าใช้บัญชีของฉัน msgid "auth.login-here" msgstr "ลงชื่อเข้าใช้ที่นี่" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "ลงชื่อเข้าใช้" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "Penpot เป็นเครื่องมือออกแบบที่ฟรีและโอเพนซอร์สสำหรับการดีไซน์และโค้ดร่วมกัน" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -101,7 +101,7 @@ msgstr "ลิงก์กู้คืนรหัสผ่านถูกส่ msgid "auth.notifications.team-invitation-accepted" msgstr "เข้าร่วมทีมสำเร็จ" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "รหัสผ่าน" @@ -125,7 +125,7 @@ msgstr "ลืมรหัสผ่าน?" msgid "auth.recovery-submit" msgstr "เปลี่ยนรหัสผ่านของคุณ" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "ยังไม่มีบัญชี?" @@ -137,7 +137,7 @@ msgstr "เราควรเรียกคุณในแดชบอร์ด msgid "auth.register-account-title" msgstr "ชื่อของคุณ" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "สร้างบัญชี" @@ -162,7 +162,7 @@ msgstr "โซลูชันโอเพนซอร์สสำหรับก msgid "auth.terms-and-privacy-agreement" msgstr "ฉันยอมรับ [ข้อกำหนดการให้บริการ](%s)และ[นโยบายความเป็นส่วนตัว](%s)" -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "เงื่อนไขการให้บริการ" @@ -174,7 +174,7 @@ msgstr "เมื่อคุณสร้างบัญชี คุณยอ msgid "auth.verification-email-sent" msgstr "เราได้ส่งอีเมลยืนยันให้กับ" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "อีเมลทำงาน" @@ -247,6 +247,16 @@ msgstr "เลือกทั้งหมด" msgid "dasboard.team-hero.management" msgstr "การจัดการทีม" +#: src/app/main/ui/dashboard/projects.cljs:90 +msgid "dasboard.team-hero.text" +msgstr "" +"Penpot เป็นเครื่องมือสำหรับการทำงานเป็นทีม " +"เชิญชวนสมาชิกมาทำงานด้วยกันผ่านโปรเจกต์และไฟล์ต่าง ๆ เลย" + +#: src/app/main/ui/dashboard/projects.cljs:88 +msgid "dasboard.team-hero.title" +msgstr "รวบรวมทีมเลย!" + #: src/app/main/ui/dashboard/projects.cljs #, unused msgid "dasboard.tutorial-hero.info" @@ -256,7 +266,7 @@ msgstr "เรียนรู้การใช้งาน Penpot เบื้ msgid "dashboard.access-tokens.copied-success" msgstr "คัดลอกโทเคนแล้ว" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "สร้างโทเคนใหม่" @@ -264,11 +274,11 @@ msgstr "สร้างโทเคนใหม่" msgid "dashboard.access-tokens.create.success" msgstr "สร้างโทเคนสำหรับการเข้าถึงสำเร็จแล้ว" -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "กดปุ่ม \"สร้างโทเคนใหม่\" เพื่อสร้างโทเคน" -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "คุณยังไม่มีโทเคนที่สร้างไว้" @@ -292,23 +302,23 @@ msgstr "90 วัน" msgid "dashboard.access-tokens.expiration-never" msgstr "ไม่มีวันหมดอายุ" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "หมดอายุแล้วเมื่อ %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "จะหมดอายุเมื่อ %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "ไม่มีวันหมดอายุ" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "โทเคนการเข้าถึงส่วนบุคคล" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "โทเคนการเข้าถึงส่วนบุคคลจะทำงานใกล้เคียงกับการยืนยันตัวตนด้วยชื่อผู้ใช้/" @@ -327,7 +337,7 @@ msgstr "โทเคนนี้ไม่มีวันหมดอายุ" msgid "dashboard.change-email" msgstr "เปลี่ยนอีเมล" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(คัดลอก)" @@ -351,23 +361,23 @@ msgstr "ดาวน์โหลดไฟล์ Penpot (.penpot)" msgid "dashboard.download-standard-file" msgstr "ดาวน์โหลดไฟล์มาตรฐาน (.svg + .json)" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "เมื่อสมาชิกโปรเจกต์สร้างแบบร่าง จะปรากฏที่นี่" -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "ยังไม่มีแบบร่าง" -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "เมื่อสมาชิกของโปรเจกต์สร้างไฟล์ จะแสดงผลที่นี่" -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "ยังไม่มีไฟล์" -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -383,11 +393,11 @@ msgstr "" "ลองแชร์ไฟล์ของคุณหรือเพิ่มจาก[ไลบรารีและเทมเพลต](https://penpot.app/" "libraries-templates)ของเรา" -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "ไลบรารีที่เพิ่มลงในโปรเจกต์จะปรากฏที่นี่" -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "ยังไม่มีไลบรารี" @@ -423,42 +433,41 @@ msgstr "ดาวน์โหลด %s ไฟล์มาตรฐาน (.svg + msgid "dashboard.export.title" msgstr "ส่งออกไฟล์" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "ฟอนต์ที่หายไป" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "ฟอนต์ที่กำหนดเองที่คุณอัปโหลดจะปรากฏที่นี่" -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" msgstr "ยังไม่มีฟอนต์ที่กำหนดเอง" -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "เมื่อสมาชิกโปรเจกต์เพิ่มฟอนต์ที่กำหนดเอง จะปรากฏที่นี่" -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "เพิ่มแล้ว %s ฟอนต์" -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "คุณควรอัปโหลดเฉพาะฟอนต์ที่คุณเป็นเจ้าของหรือมีสิทธิ์ในการใช้งานใน Penpot " -"ดูรายละอียดเพิ่มเติมในส่วนเนื้อหาของ[ข้อกำหนดการให้บริการของ " -"Penpot](%s) " +"ดูรายละอียดเพิ่มเติมในส่วนเนื้อหาของ[ข้อกำหนดการให้บริการของ Penpot](%s) " "นอกจากนี้คุณอาจต้องการอ่านเพิ่มเติมเกี่ยวกับ[ลิขสิทธิ์ฟอนต์](https://www." "typography.com/faq)" -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "อัปโหลดทั้งหมด" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "นำเข้าไฟล์ Penpot" @@ -470,12 +479,12 @@ msgstr "ไม่สามารถนำเข้าไฟล์นี้ได msgid "dashboard.import.import-error" msgstr "พบปัญหาในการนำเข้าไฟล์ ไฟล์นี้จึงไม่ถูกนำเข้า" -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "นำเข้าสำเร็จแล้ว %s ไฟล์" -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "บางไฟล์มีวัตถุที่ไม่ถูกต้อง ซึ่งถูกนำออกให้แล้ว" @@ -507,23 +516,23 @@ msgstr "กำลังอัปโหลดไฟล์: %s" msgid "dashboard.leave-team" msgstr "ออกจากทีม" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "ไลบรารีและเทมเพลต" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "พบปัญหาในการนำเข้าเทมเพลต เทมเพลตนี้จึงไม่ถูกนำเข้า" -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "ไลบรารี" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "กำลังโหลดไฟล์ของคุณ…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "กำลังโหลดฟอนต์ของคุณ…" @@ -539,11 +548,11 @@ msgstr "ย้าน %s ไฟล์ไปยัง" msgid "dashboard.move-to-other-team" msgstr "ย้ายไปยังทีมอื่น" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ สร้างไฟล์ใหม่" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "สร้างไฟล์ใหม่" @@ -551,7 +560,7 @@ msgstr "สร้างไฟล์ใหม่" msgid "dashboard.new-project" msgstr "+ สร้างโปรเจกต์ใหม่" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "สร้างโปรเจกต์ใหม่" @@ -567,7 +576,7 @@ msgstr "บันทึกรหัสผ่านแล้ว" msgid "dashboard.open-in-new-tab" msgstr "เปิดไฟล์ในแท็บใหม่" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "ตัวเลือก" @@ -603,7 +612,7 @@ msgstr "เลือกภาษาของ UI" msgid "dashboard.select-ui-theme" msgstr "เลือกธีม" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "แสดงไฟล์ทั้งหมด" @@ -659,7 +668,7 @@ msgstr "อีเมล" msgid "dashboard.your-name" msgstr "ชื่อของคุณ" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Penpot ของคุณ" @@ -667,7 +676,7 @@ msgstr "Penpot ของคุณ" msgid "ds.confirm-allow" msgstr "อนุญาต" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "ยกเลิก" @@ -702,12 +711,11 @@ msgstr "กรุณาใส่อีเมลที่ถูกต้อง" msgid "errors.password-too-short" msgstr "รหัสผ่านต้องมีอย่างน้อย 8 ตัวอักษร" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "อีเมลหรือรหัสผ่านไม่ถูกต้อง" -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "รหัสผ่านเดิมไม่ถูกต้อง" @@ -729,7 +737,7 @@ msgstr "ความสูง" msgid "inspect.attributes.layout.left" msgstr "ซ้าย" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "เงา" @@ -738,27 +746,27 @@ msgstr "เงา" msgid "inspect.attributes.stroke.width" msgstr "ความกว้าง" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "ขนาดฟอนต์" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "ระยะห่างระหว่างตัวอักษร" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "โคด" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "บอร์ด" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "ชุมชน" @@ -786,7 +794,7 @@ msgstr "ฟอนต์ที่กำหนดเอง" msgid "labels.dashboard" msgstr "แดชบอร์ด" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "แก้ไข" @@ -794,7 +802,7 @@ msgstr "แก้ไข" msgid "labels.editor" msgstr "เอดิเตอร์" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "ส่งออก" @@ -802,7 +810,7 @@ msgstr "ส่งออก" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "ฟอนต์" @@ -814,15 +822,15 @@ msgstr "กราฟิกดีไซน์" msgid "labels.language" msgstr "ภาษา" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "ไลบรารีและเทมเพลต" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "กำลังโหลด…" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "ลงชื่อออก" diff --git a/frontend/translations/tr.po b/frontend/translations/tr.po index b242086328..df0cfe0408 100644 --- a/frontend/translations/tr.po +++ b/frontend/translations/tr.po @@ -38,13 +38,13 @@ msgstr "Demo hesabı oluştur" msgid "auth.create-demo-profile" msgstr "Sadece denemek mi istiyorsun?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Bu bir DEMO hizmettir, gerçek işleriniz için KULLANMAYIN, projeler belirli " "aralıklarla silinecektir." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Parolanı mı unuttun?" @@ -52,7 +52,7 @@ msgstr "Parolanı mı unuttun?" msgid "auth.fullname" msgstr "Tam Adın" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Hesabımda oturum aç" @@ -60,33 +60,33 @@ msgstr "Hesabımda oturum aç" msgid "auth.login-here" msgstr "Buradan oturum açın." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Oturum aç" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot, tasarım ve kod işbirliği için özgür ve açık kaynaklı tasarım " "aracıdır" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -110,7 +110,7 @@ msgstr "Parola kurtarma bağlantısı e-posta kutuna gönderildi." msgid "auth.notifications.team-invitation-accepted" msgstr "Takıma başarıyla katıldın" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Parola" @@ -138,7 +138,7 @@ msgstr "Parolanı mı unuttun?" msgid "auth.recovery-submit" msgstr "Parolanı değiştir" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Henüz hesabın yok mu?" @@ -150,7 +150,7 @@ msgstr "Denetim panelinde ve e-postalarda size ne dememiz gerektiğini belirtin. msgid "auth.register-account-title" msgstr "Adınız" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Bir hesap oluştur" @@ -175,7 +175,7 @@ msgstr "Tasarım ve prototipleme için açık-kaynak çözüm." msgid "auth.terms-and-privacy-agreement" msgstr "[Hizmet koşullarını](%s) ve [gizlilik politikasını](%s) kabul ediyorum." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Hizmet şartları" @@ -189,7 +189,7 @@ msgstr "" msgid "auth.verification-email-sent" msgstr "Onay e-postanı şu adrese gönderdik" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "İş e-postası" @@ -198,7 +198,7 @@ msgstr "İş e-postası" msgid "branding-illustrations-marketing-pieces" msgstr "...marka çalışması, çizimler, pazarlama materyalleri, vb." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Yayınla" @@ -270,7 +270,7 @@ msgstr "Prototipleri paylaş" msgid "common.share-link.view-all" msgstr "Tümünü Seç" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Yayından kaldır" @@ -324,7 +324,7 @@ msgstr "Arayüz İncelemesi" msgid "dashboard.access-tokens.copied-success" msgstr "Belirteç kopyalandı" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Yeni belirteç oluştur" @@ -332,11 +332,11 @@ msgstr "Yeni belirteç oluştur" msgid "dashboard.access-tokens.create.success" msgstr "Erişim belirteci başarıyla oluşturuldu." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Bir belirteç oluşturmak için \"Yeni belirteç oluştur\" düğmesine basın." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Şu ana kadar hiç belirteciniz yok." @@ -360,23 +360,23 @@ msgstr "90 gün" msgid "dashboard.access-tokens.expiration-never" msgstr "Asla" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "%s tarihinde sona erdi" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "%s tarihinde sona eriyor" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Süresiz" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Kişisel erişim belirteçleri" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Kişisel erişim belirteçleri, oturum açma/parola kimlik doğrulama " @@ -399,7 +399,7 @@ msgstr "Paylaşılan Kütüphane olarak ekle" msgid "dashboard.change-email" msgstr "E-posta adresini değiştir" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(kopya)" @@ -521,25 +521,25 @@ msgstr "Dosya kütüphanelerine paylaşılan kütüphane varlıklarını dahil e msgid "dashboard.export.title" msgstr "Dosyaları dışarı aktar" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Yazı tipi silindi" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Hepsini kapat" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "Yüklediğiniz özel yazı tipleri burada görünecektir." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 yazı tipi eklendi" msgstr[1] "%s yazı tipi eklendi" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -549,22 +549,21 @@ msgstr "" "gruplandırılacak. Yazı tiplerini şu biçimlerde yükleyebilirsiniz: **TTF, " "OTF ve WOFF** (yalnızca bir tane gerekli olacak)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "Sadece kendinize ait veya Penpot'ta kullanılabilecek bir lisansa sahip olan " -"yazi tiplerini yükleyebilirsiniz. [Penpot'un Kullanım " -"Şartları](%s) içindeki İçerik hakları bölümünden " -"ayrıntılı bilgi alabilirsiniz. Ayrıca [yazı tipi " -"lisanslama](https://www.typography.com/faq) hakkında daha fazla bilgi almak " -"isteyebilirsiniz." +"yazi tiplerini yükleyebilirsiniz. [Penpot'un Kullanım Şartları](%s) " +"içindeki İçerik hakları bölümünden ayrıntılı bilgi alabilirsiniz. Ayrıca " +"[yazı tipi lisanslama](https://www.typography.com/faq) hakkında daha fazla " +"bilgi almak isteyebilirsiniz." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Tümünü karşıya yükle" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -575,7 +574,7 @@ msgstr "" "hataları düzeltmek için [Transfonter](https://transfonter.org/) " "kullanmanızı öneririz. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Penpot dosyalarını içe aktar" @@ -593,13 +592,13 @@ msgstr "" msgid "dashboard.import.import-error" msgstr "Dosya içeri aktarılırken bir sorun oluştu. Dosya içeri aktarılmadı." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "1 dosya başarıyla içeri aktarıldı." msgstr[1] "%s dosya başarıyla içeri aktarıldı." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Bazı dosyalar kaldırılmış geçersiz nesneler içeriyordu." @@ -639,27 +638,27 @@ msgstr "İnsanları davet et" msgid "dashboard.leave-team" msgstr "Takımdan ayrıl" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Kütüphaneler ve Şablonlar" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Daha fazlasını keşfedin ve nasıl katkıda bulunacağınızı öğrenin" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Şablon içe aktarılırken bir sorun oluştu. Şablon içe aktarılmadı." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Paylaşılan Kütüphaneler" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "dosyalarınız yükleniyor …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "yazı tipleriniz yükleniyor…" @@ -675,11 +674,11 @@ msgstr "%s dosyayı şuraya taşı" msgid "dashboard.move-to-other-team" msgstr "Başka takıma taşı" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Yeni Dosya" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Yeni Dosya" @@ -687,7 +686,7 @@ msgstr "Yeni Dosya" msgid "dashboard.new-project" msgstr "+ Yeni Proje" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Yeni Proje" @@ -719,7 +718,7 @@ msgstr "%s üye" msgid "dashboard.open-in-new-tab" msgstr "Dosyayı yeni sekmede aç" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Seçenekler" @@ -764,7 +763,7 @@ msgstr "Arayüz dilini seç" msgid "dashboard.select-ui-theme" msgstr "Tema seç" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Tüm dosyaları göster" @@ -788,7 +787,7 @@ msgstr[1] "Dosyalarınız başarıyla kopyalandı" msgid "dashboard.success-duplicate-project" msgstr "Projenin kopyası başarıyla oluşturuldu" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Dosyan başarıyla taşındı" @@ -883,7 +882,7 @@ msgstr "E-posta" msgid "dashboard.your-name" msgstr "Adın" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Penpot'un" @@ -903,11 +902,11 @@ msgstr "Güncellenecek bileşenler:" msgid "ds.confirm-allow" msgstr "İzin ver" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "İptal" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Tamam" @@ -919,7 +918,7 @@ msgstr "Emin misin?" msgid "errors.auth-provider-not-allowed" msgstr "Kimlik doğrulama sağlayıcısına bu profil için izin verilmiyor" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Kimlik doğrulama sağlayıcısı yapılandırılmadı." @@ -927,11 +926,11 @@ msgstr "Kimlik doğrulama sağlayıcısı yapılandırılmadı." msgid "errors.auth.unable-to-login" msgstr "Kimliğiniz doğrulanmamış veya oturumun süresi dolmuş gibi görünüyor." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "%s yazı tipi yüklenemedi" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "%s yazı tipleri yüklenemedi" @@ -939,7 +938,7 @@ msgstr "%s yazı tipleri yüklenemedi" msgid "errors.cannot-upload" msgstr "Medya dosyası yüklenemedi." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Tarayıcın bu işlemi gerçekleştiremiyor" @@ -951,7 +950,7 @@ msgstr "E-posta zaten kullanımda" msgid "errors.email-already-validated" msgstr "E-posta zaten doğrulandı." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "E-postanızı parola olarak kullanamazsınız" @@ -998,7 +997,7 @@ msgstr "" "arasında bir uyumsuzluk var gibi görünüyor. Dosyanın açılabilmesi için önce " "'%s' için geçişlerin uygulanması gerekiyor." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Bir şeyler ters gitti." @@ -1011,8 +1010,7 @@ msgstr "Geçersiz renk" msgid "errors.invalid-email" msgstr "Lütfen geçerli bir e-posta adresi girin" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Doğrulama e-postası eşleşmiyor" @@ -1028,7 +1026,7 @@ msgstr "Geçersiz davet" msgid "errors.invite-invalid.info" msgstr "Bu davet iptal edilmiş veya süresi dolmuş olabilir." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP ile oturum açma devre dışı bırakıldı." @@ -1068,7 +1066,7 @@ msgstr "Parola en az 8 karakterden oluşmalı" msgid "errors.paste-data-validation" msgstr "Panoda geçersiz veri" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Profil engellendi" @@ -1142,12 +1140,11 @@ msgstr "Doğrulamada beklenmeyen hata" msgid "errors.webhooks.unexpected-status" msgstr "Beklenmeyen durum %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "E-posta veya parola yanlış." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Eski parola yanlış" @@ -1195,11 +1192,11 @@ msgstr "Teknik sorularınıza yardımcı olmak için buradayız." msgid "feedback.twitter-title" msgstr "X destek hesabı" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Bir hata oluştu" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Bulanıklık" @@ -1207,31 +1204,31 @@ msgstr "Bulanıklık" msgid "inspect.attributes.blur.value" msgstr "Değer" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Doldur" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Kaynak görselini indir" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Yükseklik" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Genişlik" @@ -1270,15 +1267,15 @@ msgstr "Üst" msgid "inspect.attributes.layout.width" msgstr "Genişlik" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Gölge" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Boyut ve konum" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Çerçeve" @@ -1315,143 +1312,143 @@ msgstr "Düz" msgid "inspect.attributes.stroke.width" msgstr "Genişlik" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Tipografi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Yazı Tipi Ailesi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Yazı Tipi Boyutu" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Yazı Tipi Biçimi" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Yazı Tipi Kalınlığı" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Harf Aralığı" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Satır Yüksekliği" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Metin Süsleme" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Hiçbiri" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Üstü Çizili" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Altı Çizili" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Metin Dönüşümü" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Küçük Harf" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Hiçbiri" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "İlk Harfleri Büyük" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Ayarlanmadı" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Büyük Harf" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Tasarım incelemesi hakkında daha fazla bilgi edinmek istiyorsanız Penpot " "yardım merkezini ziyaret edin" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "İnceleme hakkında daha fazla bilgi" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "" "Özelliklerini ve kodunu incelemek için bir şekil, çalışma yüzeyi veya grup " "seçin" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kod" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Daire" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Bileşen" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Eğri" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Çalışma yüzeyi" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Grup" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Görsel" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Maskele" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Seçildi" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Yol" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Dikdörtgen" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Metin" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Bilgi" @@ -1471,7 +1468,7 @@ msgstr "Erişim belirteçleri" msgid "labels.active" msgstr "Etkin" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Özel yazı tipi ekle" @@ -1483,7 +1480,7 @@ msgstr "Yönetici" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Hepsi" @@ -1505,7 +1502,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Hatalı Ağ Geçidi" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "İptal" @@ -1513,15 +1510,15 @@ msgstr "İptal" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Kapat" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Yorumlar" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Topluluk" @@ -1529,7 +1526,7 @@ msgstr "Topluluk" msgid "labels.confirm-password" msgstr "Parolayı onayla" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Devam et" @@ -1549,7 +1546,7 @@ msgstr "Bağlantıyı kopyala" msgid "labels.copyright" msgstr "Kaleidos @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Oluştur" @@ -1569,15 +1566,15 @@ msgstr "Özel yazı tipleri" msgid "labels.dashboard" msgstr "Denetim paneli" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Sil" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Yorumu sil" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Mesaj dizisini sil" @@ -1597,15 +1594,15 @@ msgstr "Geliştirici" msgid "labels.director" msgstr "Yönetici" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "At" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Taslak" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Düzenle" @@ -1625,7 +1622,7 @@ msgstr "Etkinlik" msgid "labels.expired-invitation" msgstr "Süresi doldu" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Dışa aktar" @@ -1641,7 +1638,7 @@ msgstr "Geri bildirim gönderildi" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Yazı Tipi Ailesi" @@ -1649,11 +1646,11 @@ msgstr "Yazı Tipi Ailesi" msgid "labels.font-providers" msgstr "Yazı tipi sağlayıcıları" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Biçimler" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Yazı tipleri" @@ -1665,11 +1662,11 @@ msgstr "Kurucu/Başkan Yardımcısı" msgid "labels.freelancer" msgstr "Serbest çalışıyorum" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Github deposu" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Geri bildirimde bulun" @@ -1681,11 +1678,11 @@ msgstr "Geri dön" msgid "labels.graphic-design" msgstr "Grafik tasarımı" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Yardım Merkezi" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Çözülmüş yorumları gizle" @@ -1693,7 +1690,7 @@ msgstr "Çözülmüş yorumları gizle" msgid "labels.inactive" msgstr "Etkin değil" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Kurulu yazı tipleri" @@ -1719,11 +1716,11 @@ msgstr "Davetler" msgid "labels.language" msgstr "Dil" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Kütüphaneler ve Şablonlar" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Yükleniyor…" @@ -1735,7 +1732,7 @@ msgstr "Oturum açın veya kaydolun" msgid "labels.login" msgstr "Oturum aç" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Oturumu kapat" @@ -1755,11 +1752,11 @@ msgstr "Üyeler" msgid "labels.new-password" msgstr "Yeni parola" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Sonraki" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Hepsini bitirdiniz! Yeni yorum bildirimleri burada görünecektir." @@ -1783,7 +1780,7 @@ msgstr "Bu sayfa mevcut olmayabilir veya erişim izniniz olmayabilir." msgid "labels.not-found.main-message" msgstr "Oops!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "1 dosya" @@ -1858,7 +1855,7 @@ msgstr "Profil" msgid "labels.projects" msgstr "Projeler" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Sürüm notları" @@ -1876,7 +1873,7 @@ msgstr "Kaldır" msgid "labels.remove-member" msgstr "Üyeyi kaldır" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Yeniden adlandır" @@ -1896,15 +1893,15 @@ msgstr "Yeniden dene" msgid "labels.role" msgstr "Rol" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Kaydet" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Ara" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Yazı tipi ara" @@ -1944,15 +1941,15 @@ msgstr "Prototipi paylaş" msgid "labels.shared-libraries" msgstr "Paylaşılan Kütüphaneler" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Tüm yorumları göster" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Yorum listesini göster" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Yalnızca kendi yorumlarımı göster" @@ -1980,7 +1977,7 @@ msgstr "Takım Lideri" msgid "labels.team-member" msgstr "Takım üyesi" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Öğreticiler" @@ -1996,15 +1993,15 @@ msgstr "Güncelle" msgid "labels.update-team" msgstr "Takımı güncelle" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Yükle" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Özel yazı tipi yükle" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Yükleniyor…" @@ -2020,7 +2017,7 @@ msgstr "Görüntüleyici" msgid "labels.webhooks" msgstr "Web kancaları" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Yeni yorum yaz" @@ -2028,7 +2025,7 @@ msgstr "Yeni yorum yaz" msgid "labels.you" msgstr "(siz)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Hesabınız" @@ -2036,23 +2033,23 @@ msgstr "Hesabınız" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Görsel seç" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Değişim" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Görsel" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "görsel" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "En boy oranını koru" @@ -2070,7 +2067,7 @@ msgstr "Görsel yükleniyor…" msgid "media.radial" msgstr "Işınsal" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Katı" @@ -2121,7 +2118,7 @@ msgstr "E-postayı değiştir" msgid "modals.change-email.title" msgstr "E-postanızı değiştirin" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Belirteci kopyala" @@ -2137,7 +2134,7 @@ msgstr "İsim" msgid "modals.create-access-token.name.placeholder" msgstr "Adı, belirtecin ne için olduğunu bilmenize yardımcı olabilir" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Belirteç oluştur" @@ -2161,15 +2158,15 @@ msgstr "Yük URL'si" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Belirteci sil" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Bu belirteci silmek istediğinizden emin misiniz?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Belirteci sil" @@ -2189,25 +2186,25 @@ msgstr "Hesabını silerek tüm projelerini ve arşivlerini kaybedeceksin." msgid "modals.delete-account.title" msgstr "Hesabını silmek istediğinden emin misin?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Konuşmayı sil" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Bu konuşmayı silmek istediğinden emin misin? Konudaki tüm yorumlar " "silinecek." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Konuşmayı sil" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Bu açıklamayı silmek istediğinize emin misiniz?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Açıklamayı sil" @@ -2235,31 +2232,31 @@ msgstr "%s dosyayı silmek istediğinden emin misin?" msgid "modals.delete-file-multi-confirm.title" msgstr "%s dosyayı sil" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Bu yazı tipi biçimini silmek istediğinizden emin misiniz? Bir dosyada " "kullanılıyorsa yüklenmeyecektir." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Yazı tipi biçimini sil" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Bu yazı tipini silmek istediğinize emin misiniz? Bir dosyada kullanılıyorsa " "yüklenmeyecektir." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Yazı tipini sil" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Bu sayfayı silmek istediğinden emin misin?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Sayfayı sil" @@ -2467,15 +2464,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Yeni takım sahibi" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Yayınla" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Kütüphaneniz boş. Yine de yayınlamak istediğinizden emin misiniz?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Boş kütüphaneyi yayınla" @@ -2530,21 +2527,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Paylaşılan bir kütüphanedeki bileşenleri güncelle" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Güncelle" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "İptal" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Paylaşılmış bir kütüphanedeki bileşeni güncellemek üzeresin. Onu kullanan " "diğer dosyalar etkilenebilir." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Paylaşılmış bir kütüphanede bir bileşen güncelle" @@ -2704,30 +2701,30 @@ msgstr "Video öğreticiler" msgid "onboarding-v2.before-start.title" msgstr "Başlamadan önce" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Ürün geliştirme sürecinden ve haberlerden haberdar olmak için Penpot " "bültenine abone olun." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Bana Penpot hakkında haberler gönder (blog gönderileri, video öğreticiler, " "yayınlar...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Gizliliğe önem veriyoruz, buradan okuyabilirsiniz. " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Size yalnızca ilgili e-postaları göndereceğiz. Bültenlerimizden herhangi " "birindeki abonelikten çıkma bağlantısını kullanarak istediğiniz zaman " "aboneliğinizi iptal edebilirsiniz." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "Bana ürün güncellemeleri gönder (yeni özellikler, sürümler, düzeltmeler...)." @@ -2824,15 +2821,15 @@ msgstr "Daha sonra bir takım oluşturabileceksiniz." msgid "onboarding.newsletter.accept" msgstr "Evet, abone ol" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "Abonelik talebiniz iletildi, size onaylamak için bir e-posta göndereceğiz." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Gizlilik Politikası." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Penpot haberlerini almak ister misiniz?" @@ -3025,7 +3022,7 @@ msgstr "Oturum açmaya git" msgid "settings.detach" msgstr "Çıkar" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Karışık" @@ -3215,7 +3212,7 @@ msgstr "Yeni oluştur" msgid "shortcuts.cut" msgstr "Kes" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Uzaklaştır" @@ -3315,7 +3312,7 @@ msgstr "Yatay olarak dağıt" msgid "shortcuts.hide-ui" msgstr "Kullanıcı arayüzünü göster/gizle" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Yakınlaştır" @@ -3695,15 +3692,15 @@ msgstr "Seçilene yakınlaştır" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Yazı Tipi Sağlayıcıları - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Yazı Tipleri - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Projeler - %s - Penpot" @@ -3711,7 +3708,7 @@ msgstr "Projeler - %s - Penpot" msgid "title.dashboard.search" msgstr "Ara - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Paylaşılmış Kütüphaneler - %s - Penpot" @@ -3719,7 +3716,7 @@ msgstr "Paylaşılmış Kütüphaneler - %s - Penpot" msgid "title.default" msgstr "Penpot - Takımlar için Özgür Tasarım" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profil - Erişim belirteçleri" @@ -3759,7 +3756,7 @@ msgstr "Web kancaları - %s - Penpot" msgid "title.viewer" msgstr "%s - Görünüm modu - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3864,15 +3861,15 @@ msgstr "Üste hizala (%s)" msgid "workspace.assets.assets" msgstr "Varlıklar" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Tüm varlıklar" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Renkler" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Bileşenler" @@ -3884,15 +3881,15 @@ msgstr "Grup oluştur" msgid "workspace.assets.create-group-hint" msgstr "Ögeleriniz otomatik olarak \"grup adı / öge adı\" olarak adlandırılacak" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Sil" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Çoğalt" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Ana bileşeni çoğalt" @@ -3900,19 +3897,19 @@ msgstr "Ana bileşeni çoğalt" msgid "workspace.assets.edit" msgstr "Düzenle" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Filtrele" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Grafikler" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Izgara görünümü" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Grup" @@ -3920,27 +3917,23 @@ msgstr "Grup" msgid "workspace.assets.group-name" msgstr "Grup adı" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Kütüphaneler" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Liste görünümü" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "yerel kütüphane" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Varlık bulunmadı" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Kütüphane dosyasını aç" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Yeniden adlandır" @@ -3948,7 +3941,7 @@ msgstr "Yeniden adlandır" msgid "workspace.assets.rename-group" msgstr "Grubu yeniden adlandır" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Varlık ara" @@ -3964,17 +3957,17 @@ msgstr[1] "%s öge seçildi" msgid "workspace.assets.shared-library" msgstr "Paylaşılan kütüphane" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1 bileşen" msgstr[1] "%s bileşen" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Sırala" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Tipografiler" @@ -3983,27 +3976,27 @@ msgstr "Tipografiler" msgid "workspace.assets.typography.font-id" msgstr "Yazı tipi" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Boyut" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Çeşit" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Düzenlemek için biçim kütüphane dosyasına gidin" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Harf Boşluğu" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Satır Yüksekliği" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -4011,7 +4004,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Metin biçimleri" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Metin Dönüşümü" @@ -4019,55 +4012,55 @@ msgstr "Metin Dönüşümü" msgid "workspace.assets.ungroup" msgstr "Grubu dağıt" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Alan oluştur" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Çalışma yüzeyi oluştur" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Hücreleri birleştir" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Sağa 1 sütun ekle" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Sola 1 sütun ekle" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Sütunu sil" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Sütun ve şekilleri sil" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Yinelenen sütun" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Aşağıya 1 satır ekle" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Yukarıya 1 satır ekle" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Satırı sil" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Satır ve şekilleri sil" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Yinelenen satır" @@ -4075,11 +4068,11 @@ msgstr "Yinelenen satır" msgid "workspace.focus.focus-mode" msgstr "Odaklanma modu" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Odaklanma kapalı" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Odaklanma açık" @@ -4233,33 +4226,32 @@ msgstr "Açık temaya geç" msgid "workspace.header.menu.undo" msgstr "Geri al" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Sıfırla" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Kaydetme hatası" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Kaydedildi" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Kaydediliyor" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Kaydedilmemiş değişiklikler" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Görünüm modu (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Yakınlaştırma" @@ -4271,7 +4263,7 @@ msgstr "Doldur - Doldurmak için ölçeklendir" msgid "workspace.header.zoom-fit" msgstr "Sığdır - Sığdırmak için küçült" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Tümüne uydurmak için yakınlaştır" @@ -4279,19 +4271,19 @@ msgstr "Tümüne uydurmak için yakınlaştır" msgid "workspace.header.zoom-full-screen" msgstr "Tam ekran" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Seçilene yakınlaştır" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Izgarayı düzenle" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Çıkış" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "4 taraflı dolgu seçeneklerini göster" @@ -4307,7 +4299,7 @@ msgstr "Bitti" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Bul" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Izgara düzenini bul" @@ -4316,7 +4308,7 @@ msgstr "Izgara düzenini bul" msgid "workspace.libraries.add" msgstr "Ekle" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s renk" @@ -4346,31 +4338,31 @@ msgstr "Son renkler" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Tamamlayıcı" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Renk biçimini kaydet" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s bileşen" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Dosya kütüphanesi" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s grafik" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "BU DOSYADAKİ KÜTÜPHANELER" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "KÜTÜPHANELER" @@ -4379,63 +4371,59 @@ msgstr "KÜTÜPHANELER" msgid "workspace.libraries.library" msgstr "KÜTÜPHANE" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "KÜTÜPHANE GÜNCELLEMELERİ" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Yükleniyor…" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Güncelleme gerektiren Paylaşılmış Kütüphane bulunmuyor" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "“%s“ için eşleşme bulunmadı" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Paylaşılmış Kütüphane bulunmuyor" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Paylaşılmış kütüphane ara" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "PAYLAŞILMIŞ KÜTÜPHANELER" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Kütüphaneyi bağla" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Çoklu tipografiler" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Tüm tipografileri ayır" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s tipografi" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Kütüphanenin bağlantısını kes" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Güncelle" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "tüm değişiklikleri gör" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "GÜNCELLEMELER" @@ -4455,43 +4443,43 @@ msgstr "Grup bulanıklığı" msgid "workspace.options.blur-options.title.multiple" msgstr "Seçim bulanıklığı" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Tuval arka planı" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "İçeriği kırp" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Bileşen" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Açıklama" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Kopyala" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Bir açıklama oluştur" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Bir açıklamayı düzenle" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Ana bileşen" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Bileşeni değiştir" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "Bu kütüphanede henüz varlık yok" @@ -4539,7 +4527,7 @@ msgstr "Üst ve Alt" msgid "workspace.options.design" msgstr "Tasarım" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Dışa aktar" @@ -4548,13 +4536,13 @@ msgstr "Dışa aktar" msgid "workspace.options.export-multiple" msgstr "Seçimi dışa aktar" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "1 ögeyi dışa aktar" msgstr[1] "%s ögeyi dışa aktar" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Son ek" @@ -4562,7 +4550,7 @@ msgstr "Son ek" msgid "workspace.options.exporting-complete" msgstr "Dışa aktarma tamamlandı" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Dışa aktarılıyor…" @@ -4700,7 +4688,7 @@ msgstr "Grubu çiz" msgid "workspace.options.guides.title" msgstr "Kılavuzlar" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Yükseklik" @@ -5010,19 +4998,19 @@ msgstr "Seçili katmanlar" msgid "workspace.options.layout-item.advanced-ops" msgstr "Gelişmiş seçenekler" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Azami Yükseklik" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Azami Genişlik" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Asgari Yükseklik" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Asgari Genişlik" @@ -5136,11 +5124,11 @@ msgstr "arasında boşluk" msgid "workspace.options.layout.top" msgstr "Üst" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Daha fazla renk" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Daha fazla kütüphane rengi" @@ -5177,7 +5165,7 @@ msgstr "Sol üst" msgid "workspace.options.radius-top-right" msgstr "Sağ üst" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Son kullanılanlar" @@ -5185,11 +5173,11 @@ msgstr "Son kullanılanlar" msgid "workspace.options.retry" msgstr "Yeniden dene" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Döndür" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Yazı tipi ara" @@ -5199,7 +5187,7 @@ msgstr "" "Diğer çalışma yüzeyine bağlantı taşımak için bir şekil, çalışma yüzeyi ya " "da grup seçin." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Seçilen renkler" @@ -5211,43 +5199,43 @@ msgstr "Seçimi doldur" msgid "workspace.options.selection-stroke" msgstr "Seçimi çiz" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Bulanıklık" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Gölge rengi" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Kabartı gölgesi" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "İç gölge" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Yayılma" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Gölge" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Gölge grubu" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Gölge seçimi" @@ -5255,7 +5243,7 @@ msgstr "Gölge seçimi" msgid "workspace.options.show-fill-on-export" msgstr "Dışa aktarmalarda göster" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Görünüm modunda göster" @@ -5263,7 +5251,7 @@ msgstr "Görünüm modunda göster" msgid "workspace.options.size" msgstr "Boyut" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Boyut ön ayarları" @@ -5332,7 +5320,7 @@ msgstr "Üçgen" msgid "workspace.options.stroke-color" msgstr "Çerçeve rengi" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Çerçeve genişliği" @@ -5396,11 +5384,11 @@ msgstr "Otomatik genişlik" msgid "workspace.options.text-options.grow-fixed" msgstr "Sabit" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Harf Aralıkları" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Satır yüksekliği" @@ -5464,15 +5452,15 @@ msgstr "Büyük Harf" msgid "workspace.options.use-play-button" msgstr "Prototip görünümünü çalıştırmak için başlıktaki oynatma düğmesini kullan." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Genişlik" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X ekseni" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y ekseni" @@ -5593,99 +5581,99 @@ msgstr "Eklenti doğru şekilde yüklendi." msgid "workspace.plugins.title" msgstr "Eklentiler" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Esnek düzen ekle" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Izgara düzeni ekle" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "En arkaya gönder" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Arkaya gönder" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Kopyala" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Açıklama oluştur" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Çalışma yüzeyi için seçim" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Bileşen oluştur" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Çoklu bileşen oluştur" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Kes" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Sil" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Akış başlangıcını sil" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Örneği ayır" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Örnekleri ayır" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Fark" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Çoğalt" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Düzenle" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Dışla" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Düzleştir" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Yatay ters çevir" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Dikey ters çevir" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Akış başlangıcı" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Öne getir" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "En öne getir" @@ -5694,95 +5682,95 @@ msgstr "En öne getir" msgid "workspace.shape.menu.go-main" msgstr "Ana bileşen dosyasına git" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Grup" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Gizle" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Kullanıcı arayüzünü göster/gizle" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Kesişme" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Kilitle" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Maskele" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Yapıştır" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Yol" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Düzen esnekliğini kaldır" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Izgara düzenini kaldır" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Geçersiz kılmaları sıfırla" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Ana bileşeni geri yükle" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Katman seç" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Göster" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Varlıklar panelinde göster" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Ana bileşeni göster" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Küçük resmi kaldır" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Küçük resim olarak ayarla" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Yola dönüştür" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Grubu dağıt" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Birleşim" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Kilidi aç" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Maskelemeyi kaldır" @@ -5791,7 +5779,7 @@ msgstr "Maskelemeyi kaldır" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Ana bileşenleri güncelle" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Ana bileşeni güncelle" @@ -5803,11 +5791,11 @@ msgstr "Kenar çubuğunu daralt" msgid "workspace.sidebar.expand" msgstr "Kenar çubuğunu genişlet" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Geçmiş" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Katmanlar" @@ -5843,7 +5831,7 @@ msgstr "Şekiller" msgid "workspace.sidebar.layers.texts" msgstr "Metinler" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "İçe Aktarılan SVG Öznitelikleri" @@ -5851,11 +5839,11 @@ msgstr "İçe Aktarılan SVG Öznitelikleri" msgid "workspace.sidebar.sitemap" msgstr "Sayfalar" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Site haritası" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Varlıklar" @@ -5863,39 +5851,39 @@ msgstr "Varlıklar" msgid "workspace.toolbar.color-palette" msgstr "Renk Paketi (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Yorumlar (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Eğri (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Elips (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Çalışma Yüzeyi (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Görsel (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Taşı (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Yol (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Eklentiler (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Dikdörtgen (%s)" @@ -5904,7 +5892,7 @@ msgstr "Dikdörtgen (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Kısayollar (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Metin (%s)" @@ -5912,7 +5900,7 @@ msgstr "Metin (%s)" msgid "workspace.toolbar.text-palette" msgstr "Tipografiler (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Araç çubuğunu aç/kapat" @@ -6070,19 +6058,19 @@ msgstr "%s üstündeki işlem" msgid "workspace.undo.title" msgstr "Geçmiş" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Yoksay" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Daha fazla bilgi" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Paylaşılan kütüphaneler için güncellemeler var" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Güncelle" diff --git a/frontend/translations/ukr_UA.po b/frontend/translations/ukr_UA.po index cb32de0935..eee4c8067a 100644 --- a/frontend/translations/ukr_UA.po +++ b/frontend/translations/ukr_UA.po @@ -1,16 +1,16 @@ msgid "" msgstr "" -"PO-Revision-Date: 2025-01-29 22:23+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Ukrainian \n" +"Language-Team: Ukrainian " +"\n" "Language: ukr_UA\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -39,13 +39,13 @@ msgstr "Створити обліковий запис для демо" msgid "auth.create-demo-profile" msgstr "Хочете лише спробувати?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "Це демонстраційний варіант сервісу, не використовуйте для роботи, бо " "створені проєкти періодично очищуватимуться." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "Забули пароль?" @@ -53,7 +53,7 @@ msgstr "Забули пароль?" msgid "auth.fullname" msgstr "Повне ім'я" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "Увійти до мого облікового запису" @@ -61,39 +61,39 @@ msgstr "Увійти до мого облікового запису" msgid "auth.login-here" msgstr "Увійти тут." -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "Вхід" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "" "Penpot це вільний інструмент з відкритим сирцевим кодом для спільної роботи " "над дизайном та кодом" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "з OpenID" #: src/app/main/ui/auth/recovery.cljs:60 msgid "auth.new-password" -msgstr "Введіть новий пароль" +msgstr "Вкажіть новий пароль" #: src/app/main/ui/auth/recovery.cljs:36 msgid "auth.notifications.password-changed-successfully" @@ -113,7 +113,7 @@ msgstr "На вашу скриньку надіслано лист з посил msgid "auth.notifications.team-invitation-accepted" msgstr "Успішно приєднано до команди" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "Пароль" @@ -141,28 +141,28 @@ msgstr "Забули пароль?" msgid "auth.recovery-submit" msgstr "Змініть свій пароль" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "Не маєте облікового запису?" #: src/app/main/ui/auth/register.cljs:254 msgid "auth.register-account-tagline" -msgstr "Дайте нам знати як вас називати в панелі керування та у листах." +msgstr "Скажіть, як до Вас звертатись у панелі керування та листах." #: src/app/main/ui/auth/register.cljs:253 msgid "auth.register-account-title" msgstr "Ваше ім'я" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "Створити обліковий запис" #: src/app/main/ui/auth/register.cljs:124 msgid "auth.register-tagline" msgstr "" -"З безкоштовний обліковим записом Penpot ви зможете створювати необмежену " -"кількість команд та співпрацювати з іншими дизайнерами та розробниками над " -"будь-якою кількістю проєктів. " +"З безкоштовним обліковим записом Penpot Ви зможете створювати необмежену " +"кількість команд і співпрацювати з іншими дизайнерами та розробниками над " +"безліччю проєктів. " #: src/app/main/ui/auth/register.cljs:122 msgid "auth.register-title" @@ -180,21 +180,21 @@ msgstr "" "Я погоджуюсь із [умовами користування](%s) та [політикою " "конфіденційності](%s)." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "Умови користування" #, unused msgid "auth.terms-privacy-agreement" msgstr "" -"Створюючи обліковий запис, ви погоджуєтеся з нашими умовами користування та " +"Створюючи обліковий запис, Ви погоджуєтеся з нашими умовами користування та " "політикою конфіденційності." #: src/app/main/ui/auth/register.cljs:275 msgid "auth.verification-email-sent" msgstr "Ми надіслали лист для підтвердження облікового запису на" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "Робоча пошта" @@ -203,11 +203,11 @@ msgstr "Робоча пошта" msgid "branding-illustrations-marketing-pieces" msgstr "...брендинг, ілюстрації, маркетингові матеріали тощо." -#: src/app/main/ui/comments.cljs:504 +#: src/app/main/ui/comments.cljs:532 msgid "comments.mentions.not-found" -msgstr "Не знайдено людей для @%s" +msgstr "Не знайдено людей за @%s" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "Опублікувати" @@ -218,8 +218,8 @@ msgstr "Усі користувачі Penpot" #: src/app/main/ui/viewer/share_link.cljs:199 msgid "common.share-link.confirm-deletion-link-description" msgstr "" -"Ви впевнені, що хочете видалити це посилання? Якщо так, воно стане " -"недоступним назавжди" +"Ви впевнені, що хочете видалити це посилання? Якщо Ви це зробите, то " +"посилання більше не буде доступним" #: src/app/main/ui/viewer/share_link.cljs:260, src/app/main/ui/viewer/share_link.cljs:290 msgid "common.share-link.current-tag" @@ -280,7 +280,7 @@ msgstr "Поділитись прототипами" msgid "common.share-link.view-all" msgstr "Вибрати все" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "Скасувати публікацію" @@ -332,7 +332,7 @@ msgstr "Ознайомлення з інтерфейсом" msgid "dashboard.access-tokens.copied-success" msgstr "Токен скопійовано" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "Згенерувати новий токен" @@ -340,11 +340,11 @@ msgstr "Згенерувати новий токен" msgid "dashboard.access-tokens.create.success" msgstr "Токен доступу успішно створено." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "Натисніть на кнопку \"Згенерувати новий токен\" щоб створити його." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "Ви ще не створили жодного токену." @@ -368,23 +368,23 @@ msgstr "90 днів" msgid "dashboard.access-tokens.expiration-never" msgstr "Ніколи" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "Термін дії сплив %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "Термін дії сплине %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "Без терміну дії" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "Персональні токени доступу" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Персональні токени доступу є альтернативою нашій системі автентифікації " @@ -399,6 +399,10 @@ msgstr "Термін дії токену сплине %s" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "Токен не має терміну дії" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "Додати файл" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "Додати як Спільну Бібліотеку" @@ -407,7 +411,7 @@ msgstr "Додати як Спільну Бібліотеку" msgid "dashboard.change-email" msgstr "Змінити пошту" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(копія)" @@ -443,23 +447,23 @@ msgstr "Створити дублікат" msgid "dashboard.duplicate-multi" msgstr "Створити дублікат % файлів" -#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:285 +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 msgid "dashboard.empty-placeholder-drafts-subtitle" msgstr "Як тільки учасник проєкту створить чернетку, вона з'явиться тут." -#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:280 +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 msgid "dashboard.empty-placeholder-drafts-title" msgstr "Чернеток ще немає." -#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:286 +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 msgid "dashboard.empty-placeholder-files-subtitle" msgstr "Як тільки учасник проєкту створить файл, він зʼявиться тут." -#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:281 +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 msgid "dashboard.empty-placeholder-files-title" msgstr "Файлів ще немає." -#: src/app/main/ui/dashboard/placeholder.cljs:40 +#: src/app/main/ui/dashboard/placeholder.cljs:77 #, markdown msgid "dashboard.empty-placeholder-libraries" msgstr "" @@ -475,11 +479,11 @@ msgstr "" "чи додати з нашої [сторінки Бібліотек та " "шаблонів](https://penpot.app/libraries-templates)." -#: src/app/main/ui/dashboard/placeholder.cljs:36 +#: src/app/main/ui/dashboard/placeholder.cljs:73 msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" msgstr "Додані до проєкту бібліотеки з'являться тут." -#: src/app/main/ui/dashboard/placeholder.cljs:33 +#: src/app/main/ui/dashboard/placeholder.cljs:70 msgid "dashboard.empty-placeholder-libraries-title" msgstr "Бібліотек ще немає." @@ -519,7 +523,7 @@ msgstr "Інформація про те, як налаштувати експр #: src/app/main/ui/exports/assets.cljs:176 msgid "dashboard.export-shapes.no-elements" -msgstr "У вас немає елементів з налаштуваннями експорту." +msgstr "У Вас немає елементів з налаштуваннями експорту." #: src/app/main/ui/exports/assets.cljs:187 msgid "dashboard.export-shapes.title" @@ -527,7 +531,7 @@ msgstr "Вибір експорту" #: src/app/main/ui/dashboard/file_menu.cljs:259 msgid "dashboard.export-standard-multi" -msgstr "Завантажити %s стандартних файоів (.svg + .json)" +msgstr "Завантажити %s стандартних файлів (.svg + .json)" #: src/app/main/ui/exports/files.cljs:157 msgid "dashboard.export.detail" @@ -536,7 +540,7 @@ msgstr "* Може містити компоненти, графіки, коль #: src/app/main/ui/exports/files.cljs:156 msgid "dashboard.export.explain" msgstr "" -"Файли, які ви хочете експортувати, використовують спільні бібліотеки. Що ви " +"Файли, які Ви хочете експортувати, використовують спільні бібліотеки. Що " "плануєте зробити з їхніми ресурсами*?" #: src/app/main/ui/exports/files.cljs:165 @@ -573,36 +577,36 @@ msgstr "Додати ресурси спільної бібліотеки до msgid "dashboard.export.title" msgstr "Експортувати файли" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "Відсутній шрифт" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "Відхилити усе" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" -msgstr "Користувацькі шрифти, які ви завантажите, з'являться тут." +msgstr "Користувацькі шрифти, які Ви завантажите, з'являться тут." -#: src/app/main/ui/dashboard/fonts.cljs:448 +#: src/app/main/ui/dashboard/fonts.cljs:450 msgid "dashboard.fonts.empty-placeholder-viewer" -msgstr "Користувацьких шрифтів ще немає." +msgstr "Немає користувацьких шрифтів." -#: src/app/main/ui/dashboard/fonts.cljs:449 +#: src/app/main/ui/dashboard/fonts.cljs:451 msgid "dashboard.fonts.empty-placeholder-viewer-sub" msgstr "" -"Як тільки учасник проєкту завантажить користувацький шрифт, його буде " -"відображено тут." +"Як тільки учасник проєкту завантажить користувацький шрифт, він зʼявиться " +"тут." -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "%s шрифт було додано" msgstr[1] "%s шрифта було додано" msgstr[2] "% s шрифтів було додано" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -612,32 +616,31 @@ msgstr "" "шрифтів**. Ви можете вивантажувати шрифти у таких форматах: **TTF, OTF і " "WOFF** (потрібен лише один)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" -"Ви повинні завантажувати лише ті шрифти, якими ви володієте або маєте " -"ліцензію на використання в Penpot. Дізнайтеся більше в розділі \"Content " -"Rights\" в [Умовах користування Penpot](%s). Ви " -"також можете прочитати про [ліцензування " -"шрифтів](https://www.typography.com/faq)." +"Ви повинні завантажувати лише ті шрифти, якими володієте або маєте ліцензію " +"на використання в Penpot. Дізнайтеся більше в розділі \"Content Rights\" в " +"[Умовах користування Penpot](https://penpot.app/terms.html). Ви також " +"можете прочитати про [ліцензування шрифтів](https://www.typography.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "Вивантажити усе" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" -"Ми виявили можливу проблему у ваших шрифтах, пов'язану з вертикальною " -"метрикою для різних операційних систем. Щоб перевірити її, ви можете " +"Ми виявили можливу проблему у Ваших шрифтах, пов'язану з вертикальною " +"метрикою для різних операційних систем. Щоб перевірити її, Ви можете " "скористатися сервісами вертикальної метрики шрифтів, наприклад, " "[цим](https://vertical-metrics.netlify.app/). Крім того, ми рекомендуємо " "використовувати [Transfonter](https://transfonter.org/) для генерації " "веб-шрифтів і виправлення помилок. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Імпортувати файли Penpot" @@ -648,14 +651,14 @@ msgstr "Отакої! Ми не можемо імпортувати цей фа #, unused msgid "dashboard.import.analyze-error.components-v2" msgstr "" -"Файли з компонентами версії 2 активовані але ця команда, поки що, не " +"Файли з компонентами версії 2 активовані, але ця команда поки що не " "підтримує їх." -#: src/app/main/ui/dashboard.cljs:248 +#: src/app/main/ui/dashboard.cljs:247 msgid "dashboard.import.bad-url" msgstr "Імпортування не вдалось. Посилання шаблону неправильне" -#: src/app/main/ui/dashboard.cljs:242 +#: src/app/main/ui/dashboard.cljs:241 msgid "dashboard.import.error" msgstr "Імпортування не вдалось. Спробуйте пізніше" @@ -663,20 +666,20 @@ msgstr "Імпортування не вдалось. Спробуйте піз msgid "dashboard.import.import-error" msgstr "Виникла проблема при спробі імпортувати файл. Його не було імпортовано." -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgid_plural "dashboard.import.import-message" msgstr[0] "%s файл успішно імпортовано." msgstr[1] "%s файли успішно імпортовано." msgstr[2] "%s файлів успішно імпортовано." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "Деякі файли містили недійсні об'єкти, які було вилучено." -#: src/app/main/ui/dashboard.cljs:249 +#: src/app/main/ui/dashboard.cljs:248 msgid "dashboard.import.no-perms" -msgstr "Ви не маєте права імпортувати цю команду" +msgstr "Ви не маєте права імпортувати в цю команду" #: src/app/main/ui/dashboard/import.cljs:129 msgid "dashboard.import.progress.process-colors" @@ -696,7 +699,7 @@ msgstr "Обробка сторінки: %s" #: src/app/main/ui/dashboard/import.cljs:132 msgid "dashboard.import.progress.process-typographies" -msgstr "Обробка типографіки" +msgstr "Обробка типографік" #: src/app/main/ui/dashboard/import.cljs:120 msgid "dashboard.import.progress.upload-data" @@ -714,29 +717,29 @@ msgstr "Запросити людей" msgid "dashboard.leave-team" msgstr "Покинути команду" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "Бібліотеки та Шаблони" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "Дізнайтесь більше про них та як зробити внесок" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "Виникла проблема під час імпортування шаблону. Його не було імпортовано." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "Бібліотеки" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "завантаження ваших файлів…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" -msgstr "завантажую ваші шрифти…" +msgstr "завантаження ваших шрифтів…" #: src/app/main/ui/dashboard/file_menu.cljs:291, src/app/main/ui/dashboard/project_menu.cljs:101 msgid "dashboard.move-to" @@ -750,11 +753,11 @@ msgstr "Перемістити (%s) файлів до" msgid "dashboard.move-to-other-team" msgstr "Перенести в іншу команду" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ Новий файл" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "Новий файл" @@ -762,31 +765,31 @@ msgstr "Новий файл" msgid "dashboard.new-project" msgstr "+ Новий проєкт" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "Новий проєкт" #: src/app/main/ui/dashboard/search.cljs:77 msgid "dashboard.no-matches-for" -msgstr "Жодних відповідностей для \"%s\" не знайдено" +msgstr "Жодних відповідностей за \"%s\" не знайдено" #: src/app/main/ui/dashboard/sidebar.cljs:850 msgid "dashboard.no-projects-placeholder" msgstr "Закріплені проєкти з'являться тут" -#: src/app/main/ui/dashboard/comments.cljs:84 +#: src/app/main/ui/dashboard/comments.cljs:90 msgid "dashboard.notifications" msgstr "Сповіщення" #: src/app/main/ui/auth/verify_token.cljs:34 msgid "dashboard.notifications.email-changed-successfully" -msgstr "Адресу вашої електронної пошти було успішно змінено" +msgstr "Адресу Вашої електронної пошти було успішно змінено" #: src/app/main/ui/auth/verify_token.cljs:28 msgid "dashboard.notifications.email-verified-successfully" -msgstr "Адресу вашої електронної пошти було успішно підтверджено" +msgstr "Адресу Вашої електронної пошти було успішно підтверджено" -#: src/app/main/ui/settings/notifications.cljs:42 +#: src/app/main/data/profile.cljs:260 msgid "dashboard.notifications.notifications-saved" msgstr "Налаштування сповіщень оновлено" @@ -806,7 +809,7 @@ msgstr "%s учасників" msgid "dashboard.open-in-new-tab" msgstr "Відкрити файл у новій вкладці" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "Параметри" @@ -816,33 +819,33 @@ msgstr "Змінити пароль" #: src/app/main/data/common.cljs:209 msgid "dashboard.permissions-change.admin" -msgstr "Відтепер ви адміністратор цієї команди." +msgstr "Відтепер Ви адміністратор цієї команди." #: src/app/main/data/common.cljs:208 msgid "dashboard.permissions-change.editor" -msgstr "Відтепер ви редактор цієї команди." +msgstr "Відтепер Ви редактор цієї команди." #: src/app/main/data/common.cljs:210 msgid "dashboard.permissions-change.owner" -msgstr "Відтепер ви власник цієї команди." +msgstr "Відтепер Ви власник цієї команди." #: src/app/main/data/common.cljs:207 msgid "dashboard.permissions-change.viewer" -msgstr "Відтепер ви переглядач цієї команди." +msgstr "Відтепер Ви переглядач цієї команди." #: src/app/main/ui/dashboard/pin_button.cljs:24, src/app/main/ui/dashboard/project_menu.cljs:96 msgid "dashboard.pin-unpin" msgstr "Пришпилити/відшпилити" -#: src/app/main/ui/dashboard.cljs:212 +#: src/app/main/ui/dashboard.cljs:208 msgid "dashboard.plugins.bad-url" msgstr "Посилання плагіну неправильне" -#: src/app/main/ui/dashboard.cljs:210 +#: src/app/main/ui/dashboard.cljs:206 msgid "dashboard.plugins.parse-error" msgstr "Не вдається розібрати маніфест плагіну" -#: src/app/main/ui/dashboard.cljs:173 +#: src/app/main/ui/dashboard.cljs:169 msgid "dashboard.plugins.try-plugin" msgstr "Спробуйте плагін: " @@ -861,7 +864,7 @@ msgstr "Видалити Спільну Бібліотеку" #: src/app/main/data/common.cljs:242 msgid "dashboard.removed-from-team" -msgstr "Більше ви не є частиною команди \"%s\"." +msgstr "Ви більше не є частиною команди \"%s\"." #: src/app/main/ui/settings/profile.cljs:78 msgid "dashboard.save-settings" @@ -883,67 +886,67 @@ msgstr "Оберіть мову інтерфейсу" msgid "dashboard.select-ui-theme" msgstr "Оберіть тему" -#: src/app/main/ui/settings/notifications.cljs:76 +#: src/app/main/ui/settings/notifications.cljs:57 msgid "dashboard.settings.notifications.dashboard-comments.all" msgstr "Усі коментарі, згадки та відповіді" -#: src/app/main/ui/settings/notifications.cljs:78 +#: src/app/main/ui/settings/notifications.cljs:59 msgid "dashboard.settings.notifications.dashboard-comments.none" msgstr "Нічого" -#: src/app/main/ui/settings/notifications.cljs:77 +#: src/app/main/ui/settings/notifications.cljs:58 msgid "dashboard.settings.notifications.dashboard-comments.partial" msgstr "Тільки згадки та відповіді" -#: src/app/main/ui/settings/notifications.cljs:73 +#: src/app/main/ui/settings/notifications.cljs:54 msgid "dashboard.settings.notifications.dashboard-comments.title" msgstr "Коментарі до файлів" -#: src/app/main/ui/settings/notifications.cljs:72 +#: src/app/main/ui/settings/notifications.cljs:53 msgid "dashboard.settings.notifications.dashboard.title" msgstr "Сповіщення панелі керування" -#: src/app/main/ui/settings/notifications.cljs:86 +#: src/app/main/ui/settings/notifications.cljs:67 msgid "dashboard.settings.notifications.email-comments.all" msgstr "Усі коментарі, згадки та відповіді" -#: src/app/main/ui/settings/notifications.cljs:88 +#: src/app/main/ui/settings/notifications.cljs:69 msgid "dashboard.settings.notifications.email-comments.none" msgstr "Нічого" -#: src/app/main/ui/settings/notifications.cljs:87 +#: src/app/main/ui/settings/notifications.cljs:68 msgid "dashboard.settings.notifications.email-comments.partial" msgstr "Тільки згадки та відповіді" -#: src/app/main/ui/settings/notifications.cljs:83 +#: src/app/main/ui/settings/notifications.cljs:64 msgid "dashboard.settings.notifications.email-comments.title" msgstr "Коментарі до файлів" -#: src/app/main/ui/settings/notifications.cljs:95 +#: src/app/main/ui/settings/notifications.cljs:76 msgid "dashboard.settings.notifications.email-invites.all" msgstr "Усі види запрошень та запитів" -#: src/app/main/ui/settings/notifications.cljs:98 +#: src/app/main/ui/settings/notifications.cljs:79 msgid "dashboard.settings.notifications.email-invites.none" msgstr "Нічого" -#: src/app/main/ui/settings/notifications.cljs:92 +#: src/app/main/ui/settings/notifications.cljs:73 msgid "dashboard.settings.notifications.email-invites.title" msgstr "Запрошення та запити" -#: src/app/main/ui/settings/notifications.cljs:82 +#: src/app/main/ui/settings/notifications.cljs:63 msgid "dashboard.settings.notifications.email.title" msgstr "Сповіщення е-пошти" -#: src/app/main/ui/settings/notifications.cljs:103 +#: src/app/main/ui/settings/notifications.cljs:84 msgid "dashboard.settings.notifications.submit" msgstr "Оновити налаштування" -#: src/app/main/ui/settings/notifications.cljs:71 +#: src/app/main/ui/settings/notifications.cljs:52 msgid "dashboard.settings.notifications.title" msgstr "Сповіщення" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "Показати усі файли" @@ -973,7 +976,7 @@ msgstr[2] "Файли були успішно дубліковані" msgid "dashboard.success-duplicate-project" msgstr "Ваш проєкт успішно дубліковано" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "Файл було успішно переміщено" @@ -1007,7 +1010,7 @@ msgstr "Результати пошуку" #: src/app/main/ui/dashboard/search.cljs:67 msgid "dashboard.type-something" -msgstr "Введіть для пошуку" +msgstr "Вкажіть для пошуку" #: src/app/main/ui/dashboard/file_menu.cljs:298, src/app/main/ui/workspace/main_menu.cljs:604 msgid "dashboard.unpublish-shared" @@ -1017,15 +1020,15 @@ msgstr "Вилучити бібліотеку з публікації" msgid "dashboard.update-settings" msgstr "Оновити налаштування" -#: src/app/main/ui/dashboard/sidebar.cljs:969 +#: src/app/main/ui/dashboard/sidebar.cljs:970 msgid "dashboard.upgrade-plan.no-limits" msgstr "Без обмежень на креативність" -#: src/app/main/ui/dashboard/sidebar.cljs:968 +#: src/app/main/ui/dashboard/sidebar.cljs:969 msgid "dashboard.upgrade-plan.penpot-free" msgstr "Penpot Безкоштовний" -#: src/app/main/ui/dashboard/sidebar.cljs:971 +#: src/app/main/ui/dashboard/sidebar.cljs:972 msgid "dashboard.upgrade-plan.power-up" msgstr "Підсилити" @@ -1039,7 +1042,7 @@ msgstr "Після спрацювання хуку дані події буду #: src/app/main/ui/dashboard/team.cljs:954 msgid "dashboard.webhooks.cant-edit" -msgstr "Ви можете видаляти або редагувати лише створені вами вебхуки." +msgstr "Ви можете видаляти або редагувати лише створені Вами вебхуки." #: src/app/main/ui/dashboard/team.cljs:900 msgid "dashboard.webhooks.content-type" @@ -1056,7 +1059,7 @@ msgstr "Вебхук успішно створено." #: src/app/main/ui/dashboard/team.cljs:930 msgid "dashboard.webhooks.description" msgstr "" -"Веб-хуки - це простий спосіб дозволити іншим веб-сайтам і додаткам " +"Веб-хуки - це простий спосіб дозволити іншим веб-сайтам і застосункам " "отримувати сповіщення про певні події в Penpot. Ми надішлемо POST-запит на " "кожну з вказаних вами URL-адрес." @@ -1084,7 +1087,7 @@ msgstr "Електронна пошта" msgid "dashboard.your-name" msgstr "Ваше ім'я" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "Ваш Penpot" @@ -1104,11 +1107,11 @@ msgstr "Компоненти для оновлення:" msgid "ds.confirm-allow" msgstr "Дозволити" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "Скасувати" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Добре" @@ -1120,27 +1123,27 @@ msgstr "Ви впевнені?" msgid "errors.auth-provider-not-allowed" msgstr "Провайдер автентифікації не дозволений для цього профілю" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "Провайдер для автентифікації не налаштований." #: src/app/main/errors.cljs:112 msgid "errors.auth.unable-to-login" -msgstr "Схоже, ви не автентифіковані, або термін дії сесії сплинув." +msgstr "Схоже, Ви не автентифіковані, або термін дії сесії минув." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "Шрифт %s не можна завантажити" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "Шрифти %s не можна завантажити" #: src/app/main/data/workspace/media.cljs:198 msgid "errors.cannot-upload" -msgstr "Не можу вивантажити медіа." +msgstr "Не можна вивантажити медіа." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "Ваш браузер не може зробити це" @@ -1152,7 +1155,7 @@ msgstr "Електронна пошта вже використовується" msgid "errors.email-already-validated" msgstr "Електронна пошта вже підтверджена." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "Ви не можете використати електронну адресу як пароль" @@ -1175,7 +1178,7 @@ msgstr "" #: src/app/main/errors.cljs:242 msgid "errors.feature-mismatch" msgstr "" -"Схоже, ви намагаєтесь відкрити файл, який має активовану функцію \"%s\", " +"Схоже, Ви намагаєтесь відкрити файл, який має активовану функцію \"%s\", " "але поточна версія Penpot наразі не підтримує її або вона вимкнена." #: src/app/main/errors.cljs:246, src/app/main/errors.cljs:260 @@ -1194,16 +1197,16 @@ msgstr "Має містити принаймні 1 символ." #: src/app/main/ui/settings/team-form.cljs, src/app/main/ui/auth/register.cljs, src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/onboarding/team_choice.cljs, src/app/main/ui/settings/access_tokens.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/settings/profile.cljs, src/app/main/ui/workspace/sidebar/assets.cljs #, unused msgid "errors.field-not-all-whitespace" -msgstr "Ім'я повинно містити якийсь символ, окрім пробілу." +msgstr "Ім'я повинно містити якийсь символ замість пробілу." #: src/app/main/errors.cljs:238 msgid "errors.file-feature-mismatch" msgstr "" "Здається, існує невідповідність між увімкненими функціями та функціями " -"файлу, який ви намагаєтеся відкрити. Перш ніж відкрити файл, потрібно " +"файлу, який Ви намагаєтеся відкрити. Перш ніж відкрити файл, потрібно " "застосувати міграції для \"%s\"." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Виникла якась неполадка." @@ -1216,8 +1219,7 @@ msgstr "Хибний колір" msgid "errors.invalid-email" msgstr "Будь ласка, вкажіть дійсну електрону адресу" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Підтвердження має відповідати електронній пошті" @@ -1233,7 +1235,7 @@ msgstr "Хибне запрошення" msgid "errors.invite-invalid.info" msgstr "Це запрошення могло бути відкликане або його термін дії минув." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Автентифікація через LDAP вимкнена." @@ -1262,7 +1264,7 @@ msgstr "Схоже, це зображення є недійсним." #: src/app/main/ui/dashboard/team.cljs:615 msgid "errors.member-is-muted" msgstr "" -"Електронна пошта профілю, який ви намагаєтесь запросити, має приглушення " +"Електронна пошта профілю, який Ви намагаєтесь запросити, має приглушення " "листів (скарги на спам або постійне пересилання)." #: src/app/main/errors.cljs:228 @@ -1272,7 +1274,7 @@ msgstr "Міграція триває" #: src/app/main/ui/settings/password.cljs #, unused msgid "errors.password-invalid-confirmation" -msgstr "Підтвердження має відповідати паролю" +msgstr "Підтверджувальний пароль має збігатись" #: src/app/main/ui/settings/password.cljs #, unused @@ -1283,13 +1285,15 @@ msgstr "Пароль повинен мати, принаймні, 8 символ msgid "errors.paste-data-validation" msgstr "Недійсні дані в буфері обміну" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Профіль заблоковано" #: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:176, src/app/main/ui/dashboard/team.cljs:611, src/app/main/ui/onboarding/team_choice.cljs:96, src/app/main/ui/settings/change_email.cljs:33 msgid "errors.profile-is-muted" -msgstr "У вашому профілі приглушено листи (скарги на спам або постійне пересилання)." +msgstr "" +"Для Вашого профілю приглушено листи (скарги на спам або постійне " +"пересилання)." #: src/app/main/data/auth.cljs:310, src/app/main/ui/auth/register.cljs:51 msgid "errors.registration-disabled" @@ -1302,17 +1306,17 @@ msgstr "Виявлено несумісну функцію \"%s\"" #: src/app/main/ui/dashboard/sidebar.cljs:374, src/app/main/ui/dashboard/team.cljs:387 msgid "errors.team-leave.insufficient-members" msgstr "" -"Недостатньо учасників, щоб покинути команду, яку ви, ймовірно, хочете " +"Недостатньо учасників, щоб покинути команду, яку Ви, ймовірно, хочете " "видалити." #: src/app/main/ui/dashboard/sidebar.cljs:377, src/app/main/ui/dashboard/team.cljs:390 msgid "errors.team-leave.member-does-not-exists" -msgstr "Учасник, якого ви намагаєтеся призначити, не існує." +msgstr "Учасник, якого Ви намагаєтеся призначити, не існує." #: src/app/main/ui/dashboard/sidebar.cljs:380, src/app/main/ui/dashboard/team.cljs:393 msgid "errors.team-leave.owner-cant-leave" msgstr "" -"Власник не може покинути команду, тому ви повинні спершу призначити нового " +"Власник не може покинути команду, тому Ви повинні спершу призначити нового " "власника." #: src/app/main/data/media.cljs:71 @@ -1359,12 +1363,11 @@ msgstr "Неочікувана помилка під час перевірки" msgid "errors.webhooks.unexpected-status" msgstr "Неочікуваний статус %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Електронна пошта або пароль неправильні." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Старий пароль неправильний" @@ -1388,13 +1391,13 @@ msgstr "Спільнота Penpot" #: src/app/main/ui/settings/feedback.cljs:69 msgid "feedback.subject" -msgstr "Тема" +msgstr "Причина" #: src/app/main/ui/settings/feedback.cljs:66 msgid "feedback.subtitle" msgstr "" "Будь ласка, опишіть причину листа, вказавши чи є причина скаргою, ідеєю чи " -"сумнівами. Учасник нашої команди відповість вам якомогашвидше." +"сумнівами. Учасник нашої команди відповість вам якомога швидше." #: src/app/main/ui/settings/feedback.cljs:65 msgid "feedback.title" @@ -1412,11 +1415,11 @@ msgstr "Ми готові допомогти з вашими технічним msgid "feedback.twitter-title" msgstr "Обліковий запис служби підтримки в X" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Виникла помилка" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "Розмиття" @@ -1424,31 +1427,31 @@ msgstr "Розмиття" msgid "inspect.attributes.blur.value" msgstr "Значення" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Заливка" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Завантажити вихідне зображення" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Висота" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Ширина" @@ -1465,7 +1468,7 @@ msgstr "Висота" #: src/app/main/ui/inspect/attributes/layout.cljs #, unused msgid "inspect.attributes.layout.left" -msgstr "Зліва" +msgstr "Ліворуч" #: src/app/main/ui/inspect/attributes/layout.cljs, src/app/main/ui/inspect/attributes/layout.cljs #, unused @@ -1480,22 +1483,22 @@ msgstr "Обертання" #: src/app/main/ui/inspect/attributes/layout.cljs #, unused msgid "inspect.attributes.layout.top" -msgstr "Згори" +msgstr "Верх" #: src/app/main/ui/inspect/attributes/layout.cljs #, unused msgid "inspect.attributes.layout.width" msgstr "Ширина" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Тінь" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Розмір та розміщення" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Обведення" @@ -1532,141 +1535,141 @@ msgstr "Суцільний" msgid "inspect.attributes.stroke.width" msgstr "Товщина" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Типографія" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Сімейство шрифта" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Розмір шрифта" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Стиль шрифта" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Товщина шрифта" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Відступ між літерами" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Висота лінії" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Оформлення тексту" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Немає" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Закреслений" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Підкреслений" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "Видозміна тексту" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Нижній регістр" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Який є" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" -msgstr "Титульний відмінок" +msgstr "Заголовковий регістр" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "Не встановлено" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Верхній регістр" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Якщо ви хочете дізнатися більше про інспекцію дизайну, відвідайте " "довідковий центр Penpot" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Більше інформації про інспекцію" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Оберіть фігуру, дошку або групу, щоб переглянути їх властивості та код" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Код" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Коло" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Компонент" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Крива" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Кадр" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Група" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Зображення" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Маска" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "Виділено: %s" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Контур" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Прямокутник" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Текст" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Інформація" @@ -1686,15 +1689,15 @@ msgstr "Токени доступу" msgid "labels.active" msgstr "Активне" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.add" msgstr "Додати" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Додати користувацькі шрифти" -#: src/app/main/ui/workspace/libraries.cljs:173 +#: src/app/main/ui/workspace/libraries.cljs:176 msgid "labels.adding" msgstr "Додавання..." @@ -1706,7 +1709,7 @@ msgstr "Адміністратор" msgid "labels.adobe-xd" msgstr "Adobe ExpDesign" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Всі" @@ -1728,7 +1731,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Поганий шлюз" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Скасувати" @@ -1736,27 +1739,27 @@ msgstr "Скасувати" msgid "labels.canva" msgstr "Канва" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Закрити" -#: src/app/main/ui/workspace/tokens/sets.cljs:180 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 msgid "labels.collapse" msgstr "Згорнути" -#: src/app/main/ui/comments.cljs:812 +#: src/app/main/ui/comments.cljs:881 msgid "labels.comment" msgstr "Коментар" -#: src/app/main/ui/comments.cljs:816 +#: src/app/main/ui/comments.cljs:885 msgid "labels.comment.mark-as-solved" msgstr "Позначити як виконане" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "Коментарі" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Спільнота" @@ -1764,7 +1767,7 @@ msgstr "Спільнота" msgid "labels.confirm-password" msgstr "Підтвердити пароль" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Продовжити" @@ -1784,7 +1787,7 @@ msgstr "Копіювати посилання" msgid "labels.copyright" msgstr "Калейдос @2024" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Створити" @@ -1794,7 +1797,7 @@ msgstr "Створити нову команду" #: src/app/main/ui/dashboard/team_form.cljs:115 msgid "labels.create-team.placeholder" -msgstr "Введіть ім'я нової команди" +msgstr "Вкажіть ім'я нової команди" #, unused msgid "labels.custom-fonts" @@ -1804,15 +1807,15 @@ msgstr "Користувацькі шрифти" msgid "labels.dashboard" msgstr "Панель керування" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Видалити" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Видалити коментар" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Видалити гілку" @@ -1832,15 +1835,15 @@ msgstr "Розробка" msgid "labels.director" msgstr "Директор" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Відхилити" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Чернетки" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "Редагувати" @@ -1860,7 +1863,7 @@ msgstr "Подія" msgid "labels.expired-invitation" msgstr "Сплинув термін дії" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Експорт" @@ -1876,7 +1879,7 @@ msgstr "Відгук надіслано" msgid "labels.figma" msgstr "Фіґма" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Сімейство шрифтів" @@ -1884,11 +1887,11 @@ msgstr "Сімейство шрифтів" msgid "labels.font-providers" msgstr "Постачальники шрифтів" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Стилі" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Шрифти" @@ -1900,11 +1903,11 @@ msgstr "Генеральний директор або Засновник" msgid "labels.freelancer" msgstr "Фрилансер" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Репозиторій Github" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Надішліть відгук" @@ -1916,15 +1919,15 @@ msgstr "Повернутись назад" msgid "labels.graphic-design" msgstr "Графічний дизайн" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Центр Допомоги" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Приховати вирішені коментарі" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:355 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 msgid "labels.import" msgstr "Імпортувати" @@ -1932,7 +1935,7 @@ msgstr "Імпортувати" msgid "labels.inactive" msgstr "Не активний" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Встановлені шрифти" @@ -1958,11 +1961,11 @@ msgstr "Запрошення" msgid "labels.language" msgstr "Мова" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Бібліотеки та Шаблони" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "Завантаження…" @@ -1974,7 +1977,7 @@ msgstr "Увійти або зареєструватись" msgid "labels.login" msgstr "Увійти" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Вийти" @@ -1994,11 +1997,11 @@ msgstr "Учасники" msgid "labels.new-password" msgstr "Новий пароль" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Далі" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "Ви все наздогнали! Нові повідомлення про коментарі з’являться тут." @@ -2026,7 +2029,7 @@ msgstr "Отакої!" msgid "labels.notifications" msgstr "Сповіщення" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "%s файл" @@ -2060,7 +2063,7 @@ msgstr "Старий пароль" msgid "labels.only-yours" msgstr "Лише ваші" -#: src/app/main/ui/comments.cljs:545, src/app/main/ui/comments.cljs:822, src/app/main/ui/comments.cljs:886, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:295, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:324 +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 msgid "labels.options" msgstr "Параметри" @@ -2088,7 +2091,7 @@ msgstr "Пароль" msgid "labels.pending-invitation" msgstr "Очікування" -#: src/app/main/ui/comments.cljs:657, src/app/main/ui/comments.cljs:690, src/app/main/ui/comments.cljs:759 +#: src/app/main/ui/comments.cljs:678 msgid "labels.post" msgstr "Публікація" @@ -2112,7 +2115,7 @@ msgstr "Профіль" msgid "labels.projects" msgstr "Проєкти" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Примітки до випуску" @@ -2130,7 +2133,7 @@ msgstr "Видалити" msgid "labels.remove-member" msgstr "Вилучити учасника" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Перейменувати" @@ -2138,23 +2141,23 @@ msgstr "Перейменувати" msgid "labels.rename-team" msgstr "Перейменувати команду" -#: src/app/main/ui/comments.cljs:598 +#: src/app/main/ui/comments.cljs:641 msgid "labels.replies" msgstr "відповіді" -#: src/app/main/ui/comments.cljs:603 +#: src/app/main/ui/comments.cljs:646 msgid "labels.replies.new" msgstr "нові відповіді" -#: src/app/main/ui/comments.cljs:597 +#: src/app/main/ui/comments.cljs:640 msgid "labels.reply" msgstr "відповідь" -#: src/app/main/ui/comments.cljs:602 +#: src/app/main/ui/comments.cljs:645 msgid "labels.reply.new" msgstr "нова відповідь" -#: src/app/main/ui/comments.cljs:641 +#: src/app/main/ui/comments.cljs:721 msgid "labels.reply.thread" msgstr "Відповідь" @@ -2174,15 +2177,15 @@ msgstr "Повторити" msgid "labels.role" msgstr "Роль" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Зберегти" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "Пошук" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Пошук шрифта" @@ -2206,7 +2209,7 @@ msgstr "Ми проводимо програмне обслуговування msgid "labels.service-unavailable.main-message" msgstr "Сервіс недосяжний" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:252 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 msgid "labels.sets" msgstr "Набори" @@ -2226,19 +2229,19 @@ msgstr "Поділитись прототипом" msgid "labels.shared-libraries" msgstr "Бібліотеки" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Показати усі коментарі" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Показати список коментарів" -#: src/app/main/ui/workspace/comments.cljs:66, src/app/main/ui/workspace/comments.cljs:136 +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-mentions" msgstr "Показувати лише ваші згадки" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Показати лише ваші коментарі" @@ -2266,11 +2269,11 @@ msgstr "Керівник команди" msgid "labels.team-member" msgstr "Учасник команди" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:183 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 msgid "labels.themes" msgstr "Теми" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Посібники" @@ -2286,15 +2289,15 @@ msgstr "Оновити" msgid "labels.update-team" msgstr "Оновити команду" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Вивантажити" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Вивантажити користувацькі шрифти" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Вивантажую…" @@ -2310,15 +2313,15 @@ msgstr "Глядач" msgid "labels.webhooks" msgstr "Вебхуки" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Написати новий коментар" #: src/app/main/ui/dashboard/team.cljs:262 msgid "labels.you" -msgstr "(ви)" +msgstr "(Ви)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Ваш обліковий запис" @@ -2326,23 +2329,23 @@ msgstr "Ваш обліковий запис" msgid "labels.youtube" msgstr "Ютуб" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "Обрати зображення" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "Градієнт" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "Зображення" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr ".img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "Зберігати співвідношення сторін" @@ -2360,7 +2363,7 @@ msgstr "Завантаження зображення…" msgid "media.radial" msgstr "Круговий" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "Суцільний" @@ -2368,7 +2371,7 @@ msgstr "Суцільний" msgid "modals.add-shared-confirm-empty.hint" msgstr "" "Ваша бібліотека порожня. Після додавання до спільної бібліотеки створені " -"вами ресурси стануть доступними для використання серед інших ваших файлів. " +"Вами ресурси стануть доступними для використання серед інших Ваших файлів. " "Ви впевнені, що хочете опублікувати його?" #: src/app/main/data/common.cljs:136 @@ -2379,7 +2382,7 @@ msgstr "Додати як Спільну Бібліотеку" msgid "modals.add-shared-confirm.hint" msgstr "" "Після додавання як спільної бібліотеки ресурси цієї файлової бібліотеки " -"будуть доступні для використання серед решти ваших файлів." +"будуть доступні для використання серед решти Ваших файлів." #: src/app/main/data/common.cljs:133 msgid "modals.add-shared-confirm.message" @@ -2387,7 +2390,7 @@ msgstr "Додати \"%s\" як Спільну Бібліотеку" #: src/app/main/ui/workspace/nudge.cljs:60 msgid "modals.big-nudge" -msgstr "Велике зміщення" +msgstr "Великий зсув" #: src/app/main/ui/settings/change_email.cljs:111 msgid "modals.change-email.confirm-email" @@ -2411,7 +2414,7 @@ msgstr "Змінити електрону адресу" msgid "modals.change-email.title" msgstr "Змінити свою електрону адресу" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Скопіювати токен" @@ -2427,7 +2430,7 @@ msgstr "Ім'я" msgid "modals.create-access-token.name.placeholder" msgstr "Ім'я допоможе зрозуміти для чого призначений токен" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Створити токен" @@ -2451,15 +2454,15 @@ msgstr "Посилання на Payload" msgid "modals.create-webhook.url.placeholder" msgstr "https://savelife.in.ua/en" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Видалити токен" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Ви впевнені що хочете видалити цей токен?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Видалити токен" @@ -2473,31 +2476,31 @@ msgstr "Так, видалити мій обліковий запис" #: src/app/main/ui/settings/delete_account.cljs:53 msgid "modals.delete-account.info" -msgstr "Видаливши обліковий запис, ви втратите усі свої проєкти та архіви." +msgstr "Видаливши обліковий запис, Ви втратите усі свої проєкти та архіви." #: src/app/main/ui/settings/delete_account.cljs:46 msgid "modals.delete-account.title" msgstr "Ви впевнені, що хочете видалити обліковий запис?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Видалити бесіду" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Ви впевнені, що хочете видалити цю бесіду? Всі коментарі в цій гілці буде " "видалено." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Видалити бесіду" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Ви впевнені, що хочете видалити цю анотацію?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Видалити анотацію" @@ -2525,31 +2528,31 @@ msgstr "Ви впевнені, що хочете видалити %s файлі msgid "modals.delete-file-multi-confirm.title" msgstr "Видалення %s файлів" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" -"Ви впевнені, що хочете видалити стиль шрифта? Його не завантажиться, якщо " +"Ви впевнені, що хочете видалити стиль шрифта? Він не завантажиться якщо " "буде використаний у файлі." -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "Видалення стилю шрифта" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Ви впевнені, що хочете видалити цей шрифт? Він не завантажиться якщо буде " "використаний у файлі." -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "Видалення шрифта" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Ви впевнені, що хочете видалити цю сторінку?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Видалити сторінку" @@ -2686,7 +2689,7 @@ msgstr "Запросити учасників до команди" #: src/app/main/ui/dashboard/sidebar.cljs:432, src/app/main/ui/dashboard/team.cljs:421 msgid "modals.leave-and-close-confirm.hint" msgstr "" -"Так як ви єдиний учасником цієї команди, її буде видалено разом з проєктами " +"Так як Ви єдиний учасником цієї команди, її буде видалено разом з проєктами " "та файлами команди." #: src/app/main/ui/dashboard/sidebar.cljs:431, src/app/main/ui/dashboard/team.cljs:420 @@ -2752,7 +2755,7 @@ msgstr[2] "Перемістити бібліотеки" #: src/app/main/ui/workspace/main_menu.cljs:271, src/app/main/ui/workspace/nudge.cljs:47 msgid "modals.nudge-title" -msgstr "Кількість зміщень" +msgstr "Розмір зсуву" #: src/app/main/ui/dashboard/team.cljs:374 msgid "modals.promote-owner-confirm.accept" @@ -2761,7 +2764,7 @@ msgstr "Передати права власності" #: src/app/main/ui/dashboard/team.cljs:373 msgid "modals.promote-owner-confirm.hint" msgstr "" -"Якщо ви передасте права власності, ви зміните свою роль на Admin, втративши " +"Якщо Ви передасте права власності, Ви зміните свою роль на Admin, втративши " "деякі повноваження над цією командою. " #: src/app/main/ui/dashboard/team.cljs:372 @@ -2774,15 +2777,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Новий власник команди" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Опублікувати" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Ваша бібліотека порожня. Ви впевнені, що хочете опублікувати її?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Опублікувати пусту бібліотеку" @@ -2796,7 +2799,7 @@ msgstr "Видалити як Спільну Бібліотеку" msgid "modals.remove-shared-confirm.hint" msgstr "" "Після вилучення як спільної бібліотеки, бібліотека файлів цього файлу " -"перестане бути доступною для використання серед інших ваших файлів." +"перестане бути доступною для використання серед інших Ваших файлів." #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs #, unused @@ -2805,7 +2808,7 @@ msgstr "Видалити \"%s\" як Спільну Бібліотеку" #: src/app/main/ui/workspace/nudge.cljs:53 msgid "modals.small-nudge" -msgstr "Мале зміщення" +msgstr "Малий зсув" #: src/app/main/ui/delete_shared.cljs:52 msgid "modals.unpublish-shared-confirm.accept" @@ -2840,21 +2843,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Оновити компоненти в спільній бібліотеці" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Оновити" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Скасувати" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "Ви збираєтесь оновити компонент у спільній бібліотеці. Це вплине також на " "файли, які її використовують." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Оновити компонент спільної бібліотеки" @@ -2924,7 +2927,7 @@ msgstr "Запам'ятайте - якщо власник погодить, ви #: src/app/main/ui/static.cljs:303 msgid "not-found.no-permission.done.success" -msgstr "Ваш запит надіслано правильно!" +msgstr "Ваш запит надіслано успішно!" #: src/app/main/ui/static.cljs:309 msgid "not-found.no-permission.file" @@ -2936,7 +2939,7 @@ msgstr "Відвідати ваш Penpot" #: src/app/main/ui/static.cljs:311, src/app/main/ui/static.cljs:320 msgid "not-found.no-permission.if-approves" -msgstr "Якщо власник погодить, ви будете запрошені до команди." +msgstr "Якщо власник погодить, Ви будете запрошені до команди." #: src/app/main/ui/static.cljs:249, src/app/main/ui/static.cljs:261 msgid "not-found.no-permission.penpot-file" @@ -3018,27 +3021,27 @@ msgstr "Відео посібники" msgid "onboarding-v2.before-start.title" msgstr "Перш ніж почати" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Підпішиться на розсилку Penpot щоб бути у курсі подій розробки та останніх " "новин." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "Надсилати мені новини про Penpot (пости з блоґу, відео посібники, етери...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" -msgstr "Ми турбуємось про конфіденційність, тому ви можете прочитати наші " +msgstr "Ми турбуємось про конфіденційність, тому Ви можете прочитати наші " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Ми надсилатимемо вам лише ревеланті листи. Ви можете відписатись у " "будь-який час через посилання для відписки в листах розсилки." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Надсилати мені оновлення продуктів (нові можливості, випуски, " @@ -3064,7 +3067,7 @@ msgstr "Участь у спільноті" #, unused msgid "onboarding-v2.welcome.desc3" msgstr "" -"Тут ви дізнаєтеся, як співпрацювати з перекладами, запитами на покращення, " +"Тут Ви дізнаєтеся, як співпрацювати з перекладами, запитами на покращення, " "внесками в основний код, пошуком помилок…" #, unused @@ -3098,7 +3101,7 @@ msgstr "Ви зможете запрошувати пізніше" #: src/app/main/ui/onboarding/team_choice.cljs:240 msgid "onboarding.choice.team-up.create-team-desc" msgstr "" -"Після того, як ви назвали свою команду, ви зможете запрошувати людей " +"Після того, як Ви назвали свою команду, Ви зможете запрошувати людей " "приєднатись до неї." #: src/app/main/ui/onboarding/team_choice.cljs:249 @@ -3115,7 +3118,7 @@ msgstr "Створити команду без запрошення" #: src/app/main/ui/dashboard/projects.cljs:95, src/app/main/ui/onboarding/team_choice.cljs:159 msgid "onboarding.choice.team-up.invite-members" -msgstr "Запристи учасників" +msgstr "Запрости учасників" #: src/app/main/ui/onboarding/team_choice.cljs:160 msgid "onboarding.choice.team-up.invite-members-info" @@ -3139,19 +3142,19 @@ msgstr "Ви зможете створити команду пізніше." msgid "onboarding.newsletter.accept" msgstr "Так, підписати" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "Ваш запит на підписку був надісланий, ми надішлемо вам лист для " "підтвердження запиту." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Потіика Конфіденційності." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" -msgstr "Бажаєте отримувати новити від Penpot?" +msgstr "Бажаєте отримувати новини від Penpot?" #: src/app/main/ui/onboarding/questions.cljs:113 msgid "onboarding.questions.lets-get-started" @@ -3218,7 +3221,7 @@ msgid "onboarding.questions.step1.subtitle" msgstr "" "Розкажіть нам трохи про себе, щоб допомогти нам зробити Penpot зручним для " "вас. Ваші відповіді допоможуть нам визначити пріоритетність нових функцій і " -"вказати вам правильний напрямок для початку роботи." +"вказати Вам потрібний напрямок для початку роботи." #: src/app/main/ui/onboarding/questions.cljs:115 msgid "onboarding.questions.step1.title" @@ -3226,11 +3229,11 @@ msgstr "Допоможіть нам познайомитися з вами бл #: src/app/main/ui/onboarding/questions.cljs:196 msgid "onboarding.questions.step2.title" -msgstr "Який з цих інструментів ви використовуєте найчастіше?" +msgstr "Який з цих інструментів використовуєте найчастіше?" #: src/app/main/ui/onboarding/questions.cljs:289 msgid "onboarding.questions.step3.question1" -msgstr "Чим ви займаєтесь?" +msgstr "Чим займаєтесь?" #: src/app/main/ui/onboarding/questions.cljs:303 msgid "onboarding.questions.step3.question2" @@ -3246,7 +3249,7 @@ msgstr "Розкажіть про вашу роботу" #: src/app/main/ui/onboarding/questions.cljs:370 msgid "onboarding.questions.step4.title" -msgstr "Звідки ви б хотіли почати?" +msgstr "Звідки хотіли б почати?" #: src/app/main/ui/onboarding/questions.cljs:428 msgid "onboarding.questions.step5.title" @@ -3342,7 +3345,7 @@ msgstr "Повернутись на сторінку входу" msgid "settings.detach" msgstr "Від'єднати" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Змішаний" @@ -3382,11 +3385,11 @@ msgstr "Редагувати" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:58 msgid "shortcut-subsection.general-dashboard" -msgstr "Загальний" +msgstr "Загальні" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:59 msgid "shortcut-subsection.general-viewer" -msgstr "Загальний" +msgstr "Загальні" #: src/app/main/ui/workspace/main_menu.cljs:829, src/app/main/ui/workspace/sidebar/shortcuts.cljs:60 msgid "shortcut-subsection.main-menu" @@ -3490,7 +3493,7 @@ msgstr "Булева різниця" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:85 msgid "shortcuts.bool-exclude" -msgstr "Булеве виключення" +msgstr "Логічне виключення" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:86 msgid "shortcuts.bool-intersection" @@ -3502,19 +3505,19 @@ msgstr "Булеве об'єднання" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:88 msgid "shortcuts.bring-back" -msgstr "Відправити на задній план" +msgstr "На задній план" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:89 msgid "shortcuts.bring-backward" -msgstr "Відправити назад" +msgstr "Посунути назад" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:90 msgid "shortcuts.bring-forward" -msgstr "Відправити вперед" +msgstr "Посунути вперед" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:91 msgid "shortcuts.bring-front" -msgstr "Відправити на передній план" +msgstr "Висунути вперед" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:92 msgid "shortcuts.clear-undo" @@ -3526,7 +3529,7 @@ msgstr "Скопіювати" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:94 msgid "shortcuts.copy-link" -msgstr "Копіювати посилання до буферу обміну" +msgstr "Скопіювати посилання у буфер" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:95 msgid "shortcuts.create-component" @@ -3540,7 +3543,7 @@ msgstr "Створити новий" msgid "shortcuts.cut" msgstr "Вирізати" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Зменшити" @@ -3640,7 +3643,7 @@ msgstr "Розподілити горизонтально" msgid "shortcuts.hide-ui" msgstr "Показати/приховати інтерфейс" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Збільшити" @@ -3670,7 +3673,7 @@ msgstr "Зменшити висоту лінії на 1" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:130 msgid "shortcuts.line-height-inc" -msgstr "Збільшити вистоу лінії на 1" +msgstr "Збільшити висоту лінії на 1" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:131 msgid "shortcuts.line-through" @@ -3698,19 +3701,19 @@ msgstr "Перемістити" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:137 msgid "shortcuts.move-fast-down" -msgstr "Швидко рухати вниз" +msgstr "Швидко перемістити униз" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:138 msgid "shortcuts.move-fast-left" -msgstr "Швидко рухати ліворуч" +msgstr "Швидко перемістити ліворуч" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:139 msgid "shortcuts.move-fast-right" -msgstr "Швидко рухати праворуч" +msgstr "Швидко перемістити праворуч" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:140 msgid "shortcuts.move-fast-up" -msgstr "Швидко рухати вгору" +msgstr "Швидко перемістити вгору" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:141 msgid "shortcuts.move-nodes" @@ -3742,43 +3745,43 @@ msgstr "Скорочень не знайдено" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:147 msgid "shortcuts.opacity-0" -msgstr "Встановити непрозорість на 100%" +msgstr "Непрозорість на 100%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:148 msgid "shortcuts.opacity-1" -msgstr "Встановити непрозорість на 10%" +msgstr "Непрозорість на 10%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:149 msgid "shortcuts.opacity-2" -msgstr "Встановити непрозорість на 20%" +msgstr "Непрозорість на 20%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:150 msgid "shortcuts.opacity-3" -msgstr "Встановити непрозорість на 30%" +msgstr "Непрозорість на 30%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:151 msgid "shortcuts.opacity-4" -msgstr "Встановити непрозорість на 40%" +msgstr "Непрозорість на 40%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:152 msgid "shortcuts.opacity-5" -msgstr "Встановити непрозорість на 50%" +msgstr "Непрозорість на 50%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:153 msgid "shortcuts.opacity-6" -msgstr "Встановити непрозорість на 60%" +msgstr "Непрозорість на 60%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154 msgid "shortcuts.opacity-7" -msgstr "Встановити непрозорість на 70%" +msgstr "Непрозорість на 70%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:155 msgid "shortcuts.opacity-8" -msgstr "Встановити непрозорість на 80%" +msgstr "Непрозорість на 80%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:156 msgid "shortcuts.opacity-9" -msgstr "Встановити непрозорість на 90%" +msgstr "Непрозорість на 90%" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157 msgid "shortcuts.open-color-picker" @@ -3906,7 +3909,7 @@ msgstr "Вирявняти по правому краю" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:187 msgid "shortcuts.thumbnail-set" -msgstr "Встановити мініатюри" +msgstr "Вставити мініатюри" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:497, src/app/main/ui/workspace/sidebar/shortcuts.cljs:506 msgid "shortcuts.title" @@ -4024,15 +4027,15 @@ msgstr "Збільшити до обраного" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Постачальники шрифтів - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Шрифти - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Проєкти - %s - Penpot" @@ -4040,7 +4043,7 @@ msgstr "Проєкти - %s - Penpot" msgid "title.dashboard.search" msgstr "Пошук - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "Спільні бібліотеки - %s - Penpot" @@ -4048,7 +4051,7 @@ msgstr "Спільні бібліотеки - %s - Penpot" msgid "title.default" msgstr "Penpot - свобода дизайну для команд" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Профіль - токени доступу" @@ -4056,7 +4059,7 @@ msgstr "Профіль - токени доступу" msgid "title.settings.feedback" msgstr "Надіслати відгук - Penpot" -#: src/app/main/ui/settings/notifications.cljs:64 +#: src/app/main/ui/settings/notifications.cljs:45 msgid "title.settings.notifications" msgstr "Сповіщення - Penpot" @@ -4092,7 +4095,7 @@ msgstr "Вебхуки - %s - Penpot" msgid "title.viewer" msgstr "%s - Режим перегляду - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -4192,7 +4195,7 @@ msgstr "Розподілити вертикальні проміжки (%s)" msgid "workspace.align.vtop" msgstr "Вирівняти по верху (%s)" -#: src/app/main/ui/workspace/sidebar/assets.cljs:174, src/app/main/ui/workspace/sidebar/assets.cljs:179 +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 msgid "workspace.assets.add-library" msgstr "Додати бібліотеку" @@ -4201,11 +4204,11 @@ msgstr "Додати бібліотеку" msgid "workspace.assets.assets" msgstr "Ресурси" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Усі ресурси" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Кольори" @@ -4213,11 +4216,11 @@ msgstr "Кольори" msgid "workspace.assets.colors.add-color" msgstr "Додати колір" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Компоненти" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:510 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 msgid "workspace.assets.components.add-component" msgstr "Додати компонент" @@ -4229,15 +4232,15 @@ msgstr "Створити групу" msgid "workspace.assets.create-group-hint" msgstr "Ваші елементи будуть автоматично названі як \"назва групи / назва елемента\"" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "Видалити" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "Створити дуплікат" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "Дублювати головний" @@ -4245,19 +4248,19 @@ msgstr "Дублювати головний" msgid "workspace.assets.edit" msgstr "Редагувати" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "Фільтрувати" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Графіка" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:505 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 msgid "workspace.assets.grid-view" msgstr "Перегляд сіткою" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Група" @@ -4265,27 +4268,23 @@ msgstr "Група" msgid "workspace.assets.group-name" msgstr "Ім'я групи" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Бібліотеки" - -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:501 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 msgid "workspace.assets.list-view" msgstr "Перегляд списком" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "локальна бібліотека" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Не було знайдено ресурсів" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Відкрити файл бібліотеки" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Перейменувати" @@ -4293,7 +4292,7 @@ msgstr "Перейменувати" msgid "workspace.assets.rename-group" msgstr "Перейменувати групу" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Пошук ресурсів" @@ -4310,18 +4309,18 @@ msgstr[2] "%s елементів обрано" msgid "workspace.assets.shared-library" msgstr "Спільна бібліотека" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "%s компонент" msgstr[1] "%s компоненти" msgstr[2] "%s компонентів" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "Сортувати" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Типографіка" @@ -4334,27 +4333,27 @@ msgstr "Додати типографіку" msgid "workspace.assets.typography.font-id" msgstr "Шрифт" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Розмір" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Варіант" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "Перейти до файлу бібліотеки стилів для редагування" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Міжлітеральний відступ" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Висота лінії" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Аа" @@ -4362,7 +4361,7 @@ msgstr "Аа" msgid "workspace.assets.typography.text-styles" msgstr "Стилі тексту" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Перетворення тексту" @@ -4370,55 +4369,55 @@ msgstr "Перетворення тексту" msgid "workspace.assets.ungroup" msgstr "Розгрупувати" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "Створити ділянку" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "Створити дошку" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "Об'єднати клітинки" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "Додати 1 стовпець праворуч" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "Додати 1 стовпець ліворуч" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "Видалити стовпець" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "Видалити стовпець та фігури" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "Дублювати стовпець" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "Додати 1 рядок знизу" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "Додати 1 рядок вгорі" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "Видалити рядок" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "Видалити рядок та фігури" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "Дублювати рядок" @@ -4426,11 +4425,11 @@ msgstr "Дублювати рядок" msgid "workspace.focus.focus-mode" msgstr "Режим фокусування" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Розфокосувати" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Фокусувати" @@ -4461,7 +4460,7 @@ msgstr "Вимкнути масштабування тексту" #: src/app/main/ui/workspace/main_menu.cljs:228 msgid "workspace.header.menu.disable-snap-guides" -msgstr "Зробити неактивною прив'язку до орієнтирів" +msgstr "Деактивувати прив'язку до орієнтирів" #: src/app/main/ui/workspace/main_menu.cljs:258 msgid "workspace.header.menu.disable-snap-pixel-grid" @@ -4469,7 +4468,7 @@ msgstr "Вимкнути прив'язку до пікселів" #: src/app/main/ui/workspace/main_menu.cljs:212 msgid "workspace.header.menu.disable-snap-ruler-guides" -msgstr "Зробити неактивною прив'язку до орієнтирів лінійок" +msgstr "Деактивувати прив'язку до орієнтирів лінійок" #: src/app/main/ui/workspace/main_menu.cljs:244 msgid "workspace.header.menu.enable-dynamic-alignment" @@ -4542,7 +4541,7 @@ msgstr "Налаштування" #: src/app/main/ui/workspace/main_menu.cljs:866 msgid "workspace.header.menu.option.view" -msgstr "Вид" +msgstr "Вигляд" #: src/app/main/ui/workspace/main_menu.cljs:471 msgid "workspace.header.menu.redo" @@ -4588,37 +4587,36 @@ msgstr "Перемкнутись на світлу тему" msgid "workspace.header.menu.undo" msgstr "Відхилити зміни" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Скинути" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "Помилка при збереженні" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Збережено" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Збереження" -#: src/app/main/ui/workspace/right_header.cljs:255 +#: src/app/main/ui/workspace/right_header.cljs:221 msgid "workspace.header.share" msgstr "Поділитись" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Незбережені зміни" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Режим перегляду (%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "Збільшення" @@ -4630,7 +4628,7 @@ msgstr "Заповнення - розширити щоб заповнити" msgid "workspace.header.zoom-fit" msgstr "Fit - зменшити масштаб до потрібного розміру" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Збільшити щоб вмістити все" @@ -4638,19 +4636,19 @@ msgstr "Збільшити щоб вмістити все" msgid "workspace.header.zoom-full-screen" msgstr "Повноекранний" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" -msgstr "Збільшити до виділеного" +msgstr "Наблизити до виділеного" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "Редагувати сітку" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "Вихід" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:478 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 msgid "workspace.layout_grid.editor.padding.expand" msgstr "Показати параметри 4-стороннього внутрішнього відступу" @@ -4660,13 +4658,13 @@ msgstr "Редагування сітки" #: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:65 msgid "workspace.layout_grid.editor.top-bar.done" -msgstr "Виконано" +msgstr "Готово" #: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:62 msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "Розмістити" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "Розмістити макет сітки" @@ -4675,7 +4673,7 @@ msgstr "Розмістити макет сітки" msgid "workspace.libraries.add" msgstr "Додати" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s кольорів" @@ -4705,43 +4703,43 @@ msgstr "Попередні кольори" msgid "workspace.libraries.colors.rgb-complementary" msgstr "Додатковий RGB" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Зберегти стиль кольору" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s компонентів" -#: src/app/main/ui/workspace/libraries.cljs:374 +#: src/app/main/ui/workspace/libraries.cljs:371 msgid "workspace.libraries.empty.add-some" msgstr "Або додайте кілька з них, щоб спробувати:" -#: src/app/main/ui/workspace/libraries.cljs:368 +#: src/app/main/ui/workspace/libraries.cljs:365 msgid "workspace.libraries.empty.no-libraries" msgstr "У команді немає Спільних Бібліотек" -#: src/app/main/ui/workspace/libraries.cljs:372 +#: src/app/main/ui/workspace/libraries.cljs:369 msgid "workspace.libraries.empty.some-templates" msgstr "деякі шаблони тут" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Бібліотека файлів" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s графіків" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "БІБЛІОТЕКИ В ЦЬОМУ ФАЙЛІ" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "БІБЛІОТЕКИ" @@ -4750,71 +4748,64 @@ msgstr "БІБЛІОТЕКИ" msgid "workspace.libraries.library" msgstr "БІБЛІОТЕКА" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "ОНОВЛЕННЯ БІБЛІОТЕКИ" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "Завантаження…" #: src/app/main/ui/workspace/libraries.cljs:387 +#, unused msgid "workspace.libraries.more-templates" msgstr "Ви можете шукати " -#: src/app/main/ui/workspace/libraries.cljs:391 -msgid "workspace.libraries.more-templates-link" -msgstr "більше шаблонів тут" - -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Тут ще немає спільних бібліотек, які потребують оновлення" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "Не знайдено збігів для \"%s\"" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "Немає доступних спільних бібліотек" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "Пошук спільних бібліотек" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "СПІЛЬНІ БІБЛІОТЕКИ" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "Під'єднати бібліотеку" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Кілька типографік" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Від'язати усі типографіки" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s типографік" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "Від'єднати бібліотеку" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "Оновити" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "побачити усі зміни" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "ОНОВЛЕННЯ" @@ -4846,45 +4837,45 @@ msgstr "Вибіркове розмиття" msgid "workspace.options.blur-options.toggle-blur" msgstr "Перемикання розмивання" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Фон полотна" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Зміст кліпу" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Компонент" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "Анотація" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" -msgstr "Копіювати" +msgstr "Копія" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "Створіть анотацію" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Редагуйте анотацію" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Головний" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "Замінити компонент" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" -msgstr "У цій бібліотеці, поки що, немає ресурсів" +msgstr "У цій бібліотеці немає ресурсів" #: src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163 msgid "workspace.options.constraints" @@ -4930,7 +4921,7 @@ msgstr "По верху та низу" msgid "workspace.options.design" msgstr "Дизайн" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Експортувати" @@ -4939,22 +4930,22 @@ msgstr "Експортувати" msgid "workspace.options.export-multiple" msgstr "Експортувати обране" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "Експортувати %s елемент" msgstr[1] "Експортувати %s елементи" msgstr[2] "Експортувати %s елементів" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:187 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 msgid "workspace.options.export.add-export" msgstr "Додати експортування" -#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:199, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:234 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 msgid "workspace.options.export.remove-export" msgstr "Видалити експортування" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "Суфікс" @@ -4962,7 +4953,7 @@ msgstr "Суфікс" msgid "workspace.options.exporting-complete" msgstr "Експортування завершено" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Експортую…" @@ -4986,6 +4977,10 @@ msgstr "Додати колір заливки" msgid "workspace.options.fill.remove-fill" msgstr "Видалити заливку" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "Змінити розмір щоб заповнити" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 msgid "workspace.options.flows.add-flow-start" msgstr "Додати початок потоку" @@ -5098,7 +5093,7 @@ msgstr "Рядки" #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:158 msgid "workspace.options.grid.square" -msgstr "Квадрат" +msgstr "Квадратна" #: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:50 msgid "workspace.options.group-fill" @@ -5124,7 +5119,7 @@ msgstr "Орієнтири" msgid "workspace.options.guides.toggle-guide" msgstr "Перемкнути орієнтир" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Висота" @@ -5393,7 +5388,7 @@ msgstr "Відтінок" #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:142 msgid "workspace.options.layer-options.blend-mode.lighten" -msgstr "Освітленн" +msgstr "Світліше" #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:153 msgid "workspace.options.layer-options.blend-mode.luminosity" @@ -5401,7 +5396,7 @@ msgstr "Сяяння" #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:140 msgid "workspace.options.layer-options.blend-mode.multiply" -msgstr "Помножити" +msgstr "Множення" #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:138 msgid "workspace.options.layer-options.blend-mode.normal" @@ -5421,7 +5416,7 @@ msgstr "Екран" #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:146 msgid "workspace.options.layer-options.blend-mode.soft-light" -msgstr "М'який світлий" +msgstr "М'яке світло" #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs #, unused @@ -5440,26 +5435,26 @@ msgstr "Обрані шари" #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197 msgid "workspace.options.layer-options.toggle-layer" -msgstr "Перемкнути видімість шару" +msgstr "Перемкнути видимість шару" #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs #, unused msgid "workspace.options.layout-item.advanced-ops" msgstr "Додаткові параметри" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Макс. Висота" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Макс. Ширина" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Мін.Висота" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Мін.Ширина" @@ -5573,11 +5568,11 @@ msgstr "простір між" msgid "workspace.options.layout.top" msgstr "Згори" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Більше кольорів" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Більше кольорів бібліотеки" @@ -5622,7 +5617,7 @@ msgstr "Згорнути незалежні радіуси" msgid "workspace.options.radius.show-single-corners" msgstr "Показати незалежні радіуси кутів" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Нещодавній" @@ -5630,11 +5625,11 @@ msgstr "Нещодавній" msgid "workspace.options.retry" msgstr "Спробувати ще раз" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Обернення" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Пошук шрифту" @@ -5642,7 +5637,7 @@ msgstr "Пошук шрифту" msgid "workspace.options.select-a-shape" msgstr "Оберіть фігуру, дошку чи групу щоб перетягнути з'єднання до іншої дошки." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Обрані кольори" @@ -5654,55 +5649,55 @@ msgstr "Заливка обраного" msgid "workspace.options.selection-stroke" msgstr "Обведення виділення" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 msgid "workspace.options.shadow-options.add-shadow" msgstr "Додати тінь" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Розмиття" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Колір тіні" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Падаюча тінь" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Внутрішня тінь" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "Вісь X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Вісь Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:180, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:318 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 msgid "workspace.options.shadow-options.remove-shadow" msgstr "Видалити тінь" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Розтягнення" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Тінь" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Групова тінь" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Тінь виділеного" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:176 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 msgid "workspace.options.shadow-options.toggle-shadow" msgstr "Перемкнути тінь" @@ -5710,7 +5705,7 @@ msgstr "Перемкнути тінь" msgid "workspace.options.show-fill-on-export" msgstr "Показати в експортованому" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Показати у режимі перегляду" @@ -5718,7 +5713,7 @@ msgstr "Показати у режимі перегляду" msgid "workspace.options.size" msgstr "Розмір" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Шаблони розміру" @@ -5787,7 +5782,7 @@ msgstr "Трикутне" msgid "workspace.options.stroke-color" msgstr "Колір обведення" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Довжина обведення" @@ -5859,11 +5854,11 @@ msgstr "Автоматична ширина" msgid "workspace.options.text-options.grow-fixed" msgstr "Фіксована" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" -msgstr "Міжлітеральний відступ" +msgstr "Інтервал між літерами" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Висота рядка" @@ -5926,18 +5921,18 @@ msgstr "ВЕРХНІЙ РЕГІСТР" #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:753 msgid "workspace.options.use-play-button" msgstr "" -"Використовуйте кнопку програвання в заголовку, щоб запустити перегляд " +"Використовуйте кнопку відтворення в заголовку, щоб запустити перегляд " "прототипів." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Ширина" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "Вісь абсцис (X)" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Вісь ординат (Y)" @@ -5992,19 +5987,19 @@ msgstr "Дослідіть [більше плагінів](%s)" #: src/app/main/ui/workspace/plugins.cljs:209 msgid "workspace.plugins.empty-plugins" -msgstr "У вас ще немає жодного плагіну" +msgstr "Ви поки не встановлювали жодного плагіна" #: src/app/main/ui/workspace/plugins.cljs:196 msgid "workspace.plugins.error.manifest" -msgstr "Маніфест плагіну неправильний." +msgstr "Маніфест плагіна неправильний." #: src/app/main/data/plugins.cljs:86, src/app/main/ui/workspace/main_menu.cljs:743, src/app/main/ui/workspace/plugins.cljs:82 msgid "workspace.plugins.error.need-editor" -msgstr "Щоб використовувати цей плагін, ви маєте бути редактором" +msgstr "Щоб використовувати цей плагін, Ви маєте бути редактором" #: src/app/main/ui/workspace/plugins.cljs:192 msgid "workspace.plugins.error.url" -msgstr "Плагіну не існує чи посилання неправильне." +msgstr "Плагін не існує або посилання на нього неправильне." #: src/app/main/ui/workspace/plugins.cljs:188 msgid "workspace.plugins.install" @@ -6029,8 +6024,8 @@ msgstr "ОНОВИТИ ЦЕЙ ПЛАГІН" #: src/app/main/ui/workspace/plugins.cljs:376 msgid "workspace.plugins.permissions-update.warning" msgstr "" -"Плагін було модифіковано після вашого останнього використання. Тепер він " -"також хоче отримати доступ до:" +"Плагін було модифіковано після останнього використання. Тепер він також " +"хоче отримати доступ до:" #: src/app/main/ui/workspace/plugins.cljs:283 msgid "workspace.plugins.permissions.allow-download" @@ -6055,9 +6050,10 @@ msgstr "Читати та модифікувати вміст файлів, до #: src/app/main/ui/workspace/plugins.cljs:323 msgid "workspace.plugins.permissions.disclaimer" msgstr "" -"Зауважте, що плагін створено третьою особою, тож впевніться що ви довіряєте " -"йому перш ніж надавати дозволи. Для нас важлива приватність та безпека " -"ваших даних. Якщо маєте якісь сумніви, то просимо зв'язатись з підтримкою." +"Зауважте, що плагін створено зовнішньою стороною, тож впевніться що Ви " +"довіряєте йому перш ніж надавати дозволи. Для нас важлива приватність та " +"безпека Ваших даних. Якщо маєте якісь сумніви, звʼяжіться із службою " +"підтримки." #: src/app/main/ui/workspace/plugins.cljs:263 msgid "workspace.plugins.permissions.library-read" @@ -6073,7 +6069,7 @@ msgstr "'%s' ПЛАГІН ЗАПИТУЄ ДОСТУП НА:" #: src/app/main/ui/workspace/plugins.cljs:250 msgid "workspace.plugins.permissions.user-read" -msgstr "Прочитати інформацію профілю поточного користувача." +msgstr "Читати інформацію профілю поточного користувача." #: src/app/main/ui/workspace/plugins.cljs:214 msgid "workspace.plugins.plugin-list-link" @@ -6113,123 +6109,127 @@ msgstr "'%s' ПЛАГІН ВСТАНОВЛЕНО ДЛЯ ВАШОГО КОРИС msgid "workspace.plugins.try-out.try" msgstr "СПРОБУВАТИ ПЛАГІН" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Додати гнучкий макет" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Додати макет сітки" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1004, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1030 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 msgid "workspace.shape.menu.add-layout" msgstr "Додати макет" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "Розмістити позаду" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "Перемістити назад" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Копіювати" -#: src/app/main/ui/workspace/context_menu.cljs:203 +#: src/app/main/ui/workspace/context_menu.cljs:204 msgid "workspace.shape.menu.copy-css" msgstr "Копіювати як CSS" -#: src/app/main/ui/workspace/context_menu.cljs:205 +#: src/app/main/ui/workspace/context_menu.cljs:206 msgid "workspace.shape.menu.copy-css-nested" msgstr "Копіювати як CSS (вкладені шари)" -#: src/app/main/ui/workspace/context_menu.cljs:188 +#: src/app/main/ui/workspace/context_menu.cljs:189 msgid "workspace.shape.menu.copy-link" msgstr "Копіювати посилання в буфер обміну" -#: src/app/main/ui/workspace/context_menu.cljs:201 +#: src/app/main/ui/workspace/context_menu.cljs:202 msgid "workspace.shape.menu.copy-paste-as" -msgstr "Копіювання/вставка як ..." +msgstr "Копіювати/вставити як ..." -#: src/app/main/ui/workspace/context_menu.cljs:213 +#: src/app/main/ui/workspace/context_menu.cljs:214 msgid "workspace.shape.menu.copy-props" msgstr "Копіювати властивості" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "Копіювати як текст" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Створити анотацію" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Виділене на дошку" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Створити компонент" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Створити кілька компонентів" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Вирізати" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Вилучити" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Видалити початок потоку" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "Відокремити екземпляр" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Відокремити екземпляри" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Різниця" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Дублювати" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Редагувати" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Виключити" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" -msgstr "Вирівнювати" +msgstr "Вирівняти" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Перевернути по горизонталі" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Перевернути по вертикалі" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Початок потоку" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" -msgstr "Відсунути на задній план" +msgstr "На передній план" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Висунути на перший план" @@ -6238,107 +6238,107 @@ msgstr "Висунути на перший план" msgid "workspace.shape.menu.go-main" msgstr "Перейти до файлу головного компоненту" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Група" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Приховати" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Показати / приховати інтерфейс" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Перехрестя" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Заблокувати" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" -msgstr "Маскувати" +msgstr "Додати маску" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "Вставити" -#: src/app/main/ui/workspace/context_menu.cljs:217 +#: src/app/main/ui/workspace/context_menu.cljs:218 msgid "workspace.shape.menu.paste-props" msgstr "Вставити властивості" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Шлях" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Видалити гнучкий макет" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "Видалити макет сітки" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1022 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 msgid "workspace.shape.menu.remove-layout" msgstr "Видалити макет" -#: src/app/main/ui/workspace/context_menu.cljs:312 +#: src/app/main/ui/workspace/context_menu.cljs:313 msgid "workspace.shape.menu.rename" msgstr "Перейменувати" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Відкликати зміни" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Відновити головний компонент" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Обрати шар" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Показати" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Показати в панелі ресурсів" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Показати головний компонент" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Видалити мініатюру" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Встановити як мініатюру" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Перетворити на шлях" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Дегрупувати" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Об'єднання" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Розблокувати" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Зняти маску" @@ -6347,7 +6347,7 @@ msgstr "Зняти маску" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "Оновити головні компоненти" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "Оновити головний компонент" @@ -6359,11 +6359,11 @@ msgstr "Приховати панель інструментів" msgid "workspace.sidebar.expand" msgstr "Розкрити панель інструментів" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Історія" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Шари" @@ -6399,7 +6399,7 @@ msgstr "Фігури" msgid "workspace.sidebar.layers.texts" msgstr "Тексти" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Імпортовані атрибути SVG" @@ -6411,7 +6411,7 @@ msgstr "Сторінки" msgid "workspace.sidebar.sitemap.add-page" msgstr "Додати сторінку" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Мапа сайту" @@ -6429,43 +6429,43 @@ msgstr "%s активних тем" msgid "workspace.token.add set" msgstr "Додати набір" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:341 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "Застосовано до" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 msgid "workspace.token.back-to-themes" msgstr "Повернутись до списку тем" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:51 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 msgid "workspace.token.create-new-theme" msgstr "Створити свою першу тему зараз." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:191, src/app/main/ui/workspace/tokens/sidebar.cljs:218 +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 msgid "workspace.token.create-one" msgstr "Створити його." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159, src/app/main/ui/workspace/tokens/modals/themes.cljs:237 -msgid "workspace.token.create-theme-title" -msgstr "Створити тему" - -#: src/app/main/ui/workspace/tokens/form.cljs:431 +#: src/app/main/ui/workspace/tokens/form.cljs:492 msgid "workspace.token.create-token" msgstr "Створити новий %s токен" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:228 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 msgid "workspace.token.delete" msgstr "Видалити токен" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:151 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 msgid "workspace.token.delete-theme-title" msgstr "Видалити тему" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:225 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 msgid "workspace.token.duplicate" msgstr "Дублювати токен" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:212 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 msgid "workspace.token.edit" msgstr "Змінити токен" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:333 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 msgid "workspace.token.edit-theme-title" msgstr "Редагувати тему" @@ -6473,105 +6473,127 @@ msgstr "Редагувати тему" msgid "workspace.token.edit-themes" msgstr "Редагувати теми" -#: src/app/main/ui/workspace/tokens/form.cljs:430 +#: src/app/main/ui/workspace/tokens/form.cljs:491 msgid "workspace.token.edit-token" msgstr "Редагувати токен" -#: src/app/main/ui/workspace/tokens/form.cljs:481 +#: src/app/main/ui/workspace/tokens/form.cljs:544 msgid "workspace.token.enter-token-description" msgstr "Додайте опис (необов'язково)" -#: src/app/main/ui/workspace/tokens/form.cljs:437 +#: src/app/main/ui/workspace/tokens/form.cljs:498 msgid "workspace.token.enter-token-name" -msgstr "Введіть %s ім'я токену" +msgstr "Вкажіть %s ім'я токену" #: src/app/main/ui/workspace/tokens/sets.cljs #, unused msgid "workspace.token.grouping-set-alert" msgstr "Групування наборів токенів поки не підтримується." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:56 -msgid "workspace.token.new-theme" -msgstr "Нова тема" +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "Група" -#: src/app/main/ui/workspace/tokens/theme_select.cljs:88 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "Тема" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 msgid "workspace.token.no-active-theme" msgstr "Немає активної теми" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:146 -msgid "workspace.token.no-sets" -msgstr "Немає наборів" +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "Щоб активувати / деактивувати набір, Ви маєте бути редактором" -#: src/app/main/ui/workspace/tokens/sets.cljs:401, src/app/main/ui/workspace/tokens/sets.cljs:405 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "Щоб використовувати ці теми Ви маєте бути редактором" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 msgid "workspace.token.no-sets-create" msgstr "Ще не оголошено жодного набору. Створіть перший." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:215, src/app/main/ui/workspace/tokens/sidebar.cljs:221 +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 msgid "workspace.token.no-sets-yet" msgstr "Тут ще немає наборів." -#: src/app/main/ui/workspace/tokens/sidebar.cljs:187 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 msgid "workspace.token.no-themes" msgstr "Тут немає тем." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:47 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 msgid "workspace.token.no-themes-currently" msgstr "Наразі у вас немає жодної теми." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:137 -msgid "workspace.token.num-sets" -msgstr "%s наборів" - -#: src/app/main/ui/workspace/tokens/token_pill.cljs:114 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 #, fuzzy msgid "workspace.token.original-value" -msgstr "Початкове значення: " +msgstr "Початкове значення: %s" -#: src/app/main/ui/workspace/tokens/form.cljs:205, src/app/main/ui/workspace/tokens/form.cljs:208, src/app/main/ui/workspace/tokens/token_pill.cljs:115 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "Посилання недійсне або ні на одному із активних наборів" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 #, fuzzy msgid "workspace.token.resolved-value" -msgstr "Розв'язане значення: " +msgstr "Отримане значення: %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:203 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 msgid "workspace.token.save-theme" msgstr "Зберегти тему" -#: src/app/main/ui/workspace/tokens/sets.cljs:200, src/app/main/ui/workspace/tokens/sets.cljs:305 +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 msgid "workspace.token.select-set" msgstr "Обрати набір." -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:346 +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 msgid "workspace.token.set-selection-theme" msgstr "" "Визначити які набори токенів повинні бути використані як частину цього " "варіанту теми:" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs -#, unused +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 msgid "workspace.token.theme-name" msgstr "Тема %s" -#: src/app/main/ui/workspace/tokens/modals/themes.cljs:43, src/app/main/ui/workspace/tokens/modals/themes.cljs:88 -msgid "workspace.token.themes" -msgstr "Теми" - -#: src/app/main/ui/workspace/tokens/form.cljs:482 +#: src/app/main/ui/workspace/tokens/form.cljs:545 msgid "workspace.token.token-description" msgstr "Опис" -#: src/app/main/ui/workspace/tokens/form.cljs:440 +#: src/app/main/ui/workspace/tokens/form.cljs:501 msgid "workspace.token.token-name" msgstr "Ім'я" -#: src/app/main/ui/workspace/tokens/form.cljs:464 +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" недійсне імʼя токену.\n" +"Імʼя має містити тільки літери та цифри, розділені крапкою та не мають " +"починатись із символу \"$\"." + +#: src/app/main/ui/workspace/tokens/form.cljs:526 msgid "workspace.token.token-value" msgstr "Значення" -#: src/app/main/ui/workspace/tokens/sidebar.cljs:348 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "ТОКЕНИ - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 msgid "workspace.token.tools" msgstr "Інструменти" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "Значення недійсне" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "Якщо перейменувати токен, посилання на старе імʼя буде розірвано." + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Ресурси" @@ -6579,39 +6601,39 @@ msgstr "Ресурси" msgid "workspace.toolbar.color-palette" msgstr "Палітра кольорів (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Коментарі (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Крива (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Еліпс (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Дошка (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Зображення (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Перемістити (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Шлях (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:201, src/app/main/ui/workspace/top_toolbar.cljs:202 +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 msgid "workspace.toolbar.plugins" msgstr "Плагіни (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Прямокутник (%s)" @@ -6620,7 +6642,7 @@ msgstr "Прямокутник (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Скорочення (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Текст (%s)" @@ -6628,13 +6650,13 @@ msgstr "Текст (%s)" msgid "workspace.toolbar.text-palette" msgstr "Типографіки (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:220, src/app/main/ui/workspace/top_toolbar.cljs:221 +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 msgid "workspace.toolbar.toggle-toolbar" msgstr "Перемкнути панель інструментів" #: src/app/main/ui/workspace/viewport/top_bar.cljs:39 msgid "workspace.top-bar.read-only.done" -msgstr "Виконано" +msgstr "Готово" #: src/app/main/ui/workspace/viewport/top_bar.cljs:36 #, markdown @@ -6786,19 +6808,19 @@ msgstr "Операція над %s" msgid "workspace.undo.title" msgstr "Історія" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Відкинути" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Більше про" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Є деякі оновлення в спільній бібліотеці" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Оновити" @@ -6858,11 +6880,11 @@ msgstr "Ви бажаєте відновити ці версії?" msgid "workspace.versions.snapshot-menu" msgstr "Відкрити меню знятків" -#: src/app/main/ui/workspace/sidebar.cljs:284 +#: src/app/main/ui/workspace/sidebar.cljs:285 msgid "workspace.versions.tab.actions" msgstr "Дії" -#: src/app/main/ui/workspace/sidebar.cljs:281 +#: src/app/main/ui/workspace/sidebar.cljs:282 msgid "workspace.versions.tab.history" msgstr "Історія" @@ -6874,7 +6896,7 @@ msgstr "Відкрити меню версій" #, markdown msgid "workspace.versions.warning.subtext" msgstr "" -"Якщо ви хочете збільшити це обмеження, зверніться до нас через " +"Якщо Ви хочете збільшити це обмеження, зверніться до нас через " "[support@penpot.app](%s)" #: src/app/main/ui/workspace/sidebar/versions.cljs:361 diff --git a/frontend/translations/yo.po b/frontend/translations/yo.po index 523711bfae..8111b07e89 100644 --- a/frontend/translations/yo.po +++ b/frontend/translations/yo.po @@ -1,6 +1,6 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-06-17 08:07+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" "Language-Team: Yoruba " "\n" @@ -9,7 +9,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:277 msgid "auth.check-your-email" @@ -30,13 +30,13 @@ msgstr "ṣẹ̀dá ìfihàn àkáùntí" msgid "auth.create-demo-profile" msgstr "kàn fẹ́ gbìyànjú ú rẹ̀?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "" "\"\"This is a DEMO service, DO NOT USE for real work, the projects will be " "parẹ́ lóòrèkóòrè." -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "gbàgbé ọ̀rọ̀-ìgbaniwọlé ?" @@ -48,27 +48,27 @@ msgstr "orúkọ lẹ́kùnn-ún-rẹ́rẹ́" msgid "auth.login-here" msgstr "wọlé síbí" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "wọlé" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "ibùdó gítì" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "láàbù gítì" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "ṣàwárí" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "ṣílẹ̀kuǹ ìdánimọ̀" @@ -94,7 +94,7 @@ msgstr "a ti fi ọ̀rọ̀-ìgbaniwọle aṣàtúnwárí ránṣẹ sínu àp msgid "auth.notifications.team-invitation-accepted" msgstr "o ti wọ inú ẹgbẹ́ bó ṣeyẹ" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "ọ̀rọ̀- ìgbaniwọlé" @@ -122,11 +122,11 @@ msgstr "gbàgbé ọ̀rọ̀-ìgbaniwọle ?" msgid "auth.recovery-submit" msgstr "yí ọ̀rọ̀-ìgbaniwọlé rẹ padà" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "kò tí ì sí àkáùntì?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "ṣẹ̀dá àkáùntì" @@ -139,7 +139,7 @@ msgstr "ṣẹ̀dá àkáùntì" msgid "auth.sidebar-tagline" msgstr "ṣíṣí orísun yíyà àti àwòrán ni yóò fi lojútùú ." -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "òfin ibiṣẹ́" @@ -158,7 +158,7 @@ msgstr "a ti fi ìjẹ́rìísí ránsẹ́ sínú ímeèlì rẹ" msgid "branding-illustrations-marketing-pieces" msgstr ".. ìyàsọ́tọ, àpèjúwe,títajà nǹkan, abbl." -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "ìgbéjáde" @@ -218,7 +218,7 @@ msgstr "pín àwọn àpẹrẹ" msgid "common.share-link.view-all" msgstr "yan gbogbo rẹ̀" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "ohun tí a kò tí ì kọ jáde" @@ -262,7 +262,7 @@ msgstr "bẹ̀rẹ̀ ìrìn kiri" msgid "dasboard.walkthrough-hero.title" msgstr "wò ó bí o ṣe ń rìn kiri" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "ṣe ìpilẹ̀sẹ̀ àmì tókìnnì" @@ -270,11 +270,11 @@ msgstr "ṣe ìpilẹ̀sẹ̀ àmì tókìnnì" msgid "dashboard.access-tokens.create.success" msgstr "ṣe àyẹ̀wò àmì tókìnnì tí o ṣẹ̀dá bó ṣeyẹ." -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "tẹ bọ́tìnnì \" ṣe ìpilẹ̀sẹ̀ àmì tókìnnì tuntun\" láti ṣe ìpilẹ̀sẹ̀ òmíràn." -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "o kò tí ì ní àmì tókínnì títí di ìsinsìn yìí." @@ -298,23 +298,23 @@ msgstr "àádọ́ruǹ-ún ọjọ́" msgid "dashboard.access-tokens.expiration-never" msgstr "rárá" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "ó parí ní %s" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "ó parí %s" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "kò sì ọjọ́ ìparí" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "àmì tokìnnì ìwọlé ti ara ẹni" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "" "Iṣẹ́ àmì tókìnì ìwọlé ti ara ẹni dàbì ọ̀nà kejí tí a le gbà wọlé/ ọ̀rọ̀- " @@ -337,7 +337,7 @@ msgstr "ṣe àpàpọ̀ bí i yàrá ìkàwe tí a pín" msgid "dashboard.change-email" msgstr "pàrọ̀ ímeèlí" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(dàákọ)" @@ -454,19 +454,19 @@ msgstr "da ohun ìní yàrá ìkàwé pípín pọ̀ mọ́ fáìlì yàrá ìk msgid "dashboard.export.title" msgstr "fi àwọn fáìlì ráńṣẹ" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "fọ́ǹtì tó sọnù" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "yọ gbogbo wọn kúrò" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "àwọn fọ́ǹtì tí o ọpulóòdù yó hàn níbí." -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -476,7 +476,7 @@ msgstr "" "soso**. O lè ọpulóòdù fọ́ǹtì pẹ̀lú àwọn ìlànà wọ̀nyí: **TTF, OTF and " "WOFF** (ẹyọ kan péré la ó nílò)." -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" @@ -485,11 +485,11 @@ msgstr "" "òfin pẹ́ńpọtìiṣẹ́](https://pẹ́ńpọtì.apù/àwọn òfin.html). o sì le fẹ́ kà " "nípa[ ìwé àṣẹ- pẹ́ńpọtì](https://www.taipogíráfì.com/faq)." -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "ọpulóòdù gbogbo rẹ̀" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -500,7 +500,7 @@ msgstr "" "Ní àfikún, a rẹkọmẹ́ǹdì lílo[tíráńsìfọtà(https://tíráńsìfọtà.org/) láti " "pilẹ̀ṣẹ̀ àwọn wẹ́bù fọ́ǹtì láti túnṣeàsìṣe. " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "gbé àwọn fáìlì pẹ́ńpọtì wọlé" @@ -512,7 +512,7 @@ msgstr "ooho! a kò lè gbé fáìlì yìí wọlé" msgid "dashboard.import.import-error" msgstr "wàhálà wà láti gbé kan wà láti gbé fáìlì wọlé . fáìlì kò wọlé." -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "àwọn fáìlì tí ó ní nǹkan tí kò fẹsẹ múlẹ̀ ti di yíyọ kúro." @@ -552,27 +552,27 @@ msgstr "pe àwọn ènìyàn" msgid "dashboard.leave-team" msgstr "fẹgbẹ́ sílẹ̀" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "yàrá ìkàwé àti àwọn àwòṣe" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "ṣe ìwákiri ọ̀pọ̀ wọn kí o sì mọ bí ó ṣe sojúṣe tiẹ" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "wàhálà wà fún gbígbé tẹ́ńpílétì wọlé. tẹ́ńpílétì kò wọlé." -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "yàrá ìkàwé" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "ṣe ìkójọpọ̀ àwọn fáìlí rẹ …" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "ṣèkójọpọ̀ àwọ fọ́ǹtì rẹ …" @@ -588,11 +588,11 @@ msgstr "gbé %s àwọn fáìlì lọ" msgid "dashboard.move-to-other-team" msgstr "gbé lọ sí ẹgbẹ́ mìíràn" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ fáìlì tuntun" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "fáìlì tuntun" @@ -600,7 +600,7 @@ msgstr "fáìlì tuntun" msgid "dashboard.new-project" msgstr "+ iṣẹ́ àgbéṣe tuntun" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "iṣẹ́ àgbéṣe tuntun" @@ -632,7 +632,7 @@ msgstr "%s àwọn ọmọ ẹgbẹ́" msgid "dashboard.open-in-new-tab" msgstr "ṣí fáìlì sínú tábù tuntun" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "àwọn àṣàyàn" @@ -677,7 +677,7 @@ msgstr "yan èdè ui" msgid "dashboard.select-ui-theme" msgstr "yan àkọlé" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "fi gbogbo àwn fáìlì hàn" @@ -689,7 +689,7 @@ msgstr "iṣẹ́ àgbéṣe rẹ ti parẹ́ dáadáa" msgid "dashboard.success-duplicate-project" msgstr "a ti ṣe ẹ̀dà iṣẹ́ àgbéṣe rẹ dáadáa" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "a ti gbé fáìlì rẹ kúro dáadáa" @@ -780,7 +780,7 @@ msgstr "ímeèlì" msgid "dashboard.your-name" msgstr "ímeèlì rẹ" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "pẹ́ńpọtì rẹ" @@ -796,15 +796,15 @@ msgstr "àkíyèsí" msgid "ds.component-subtitle" msgstr "ní láti ṣe ìmúdójú ìwọ̀n àwọn irin iṣẹ́:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "fagilé e" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "ó dára" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "a kò tí ì fàṣẹ si àtúntò olùpèṣè." @@ -812,11 +812,11 @@ msgstr "a kò tí ì fàṣẹ si àtúntò olùpèṣè." msgid "errors.auth.unable-to-login" msgstr "ó dàbí pé o kò tí ì fàṣẹ sí i tàbí àkókò ti kọjá ." -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "fọ́ǹtì %s kò ṣe kójọpọ̀" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "àwọn fọ́ǹtì %s kò ṣe kójọpọ̀" @@ -824,7 +824,7 @@ msgstr "àwọn fọ́ǹtì %s kò ṣe kójọpọ̀" msgid "errors.cannot-upload" msgstr "kò le ọpulóòdù fáìlì ìgbéròyìn-jáde." -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "a ṣàwákiri rẹ kò le ṣe iṣẹ́ yìí" @@ -836,7 +836,7 @@ msgstr "ímeèlì yìí ti jẹ́ lílò tẹ́lẹ" msgid "errors.email-already-validated" msgstr "a ti fọwọ́ sí ímeèlì rẹ tẹ́lẹ̀." -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "o kò le lo ímeèlì rẹ gẹ́gẹ́ bí ọ̀rọ̀ ìgbaniwọlé" @@ -852,7 +852,7 @@ msgstr "Ímeèlì ti «%s» ń jábọ̀ gẹ́gẹ́ bí i awúrúju tàbí msgid "errors.feature-not-supported" msgstr "Àwọn ẹ̀yà ara ẹ̀rọ '%s' kò ní àtìlẹ́yìn." -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "Àsìṣe kan ti ṣẹlẹ̀." @@ -865,8 +865,7 @@ msgstr "àwọ̀ tó ti díbàjẹ́" msgid "errors.invalid-email" msgstr "Tẹ àti wọlé pẹ̀lú ímeèlì tó wúlo jọ̀wọ́" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "Ímeèlì tí a ti mọ̀dájú gbọ́dọ̀ báramu" @@ -878,7 +877,7 @@ msgstr "àmì àtúnwárí ti díbàjẹ́." msgid "errors.invite-invalid.info" msgstr "Èyí tí a pè le parẹ́ tàbí ki àkókò lekọjá ." -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "Ìfàṣẹsí LDAP kò ṣe é ṣe ." @@ -910,7 +909,7 @@ msgstr "Ijẹ́rìísí ọ̀rọ̀ ìgbaniwọlé rẹ gbọ́dọ̀ báramu" msgid "errors.password-too-short" msgstr "Ọ̀rọ̀ ìgbaniwọlé kò gbọdọ̀ dín ní lẹ́tà mẹ́jọ" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "Ti dínà mọ́ pírófáìlì" @@ -970,12 +969,11 @@ msgstr "Unexpected error on validating àsìṣe àìròtẹ́lẹ̀ lórí ìf msgid "errors.webhooks.unexpected-status" msgstr "Ipò àìròtẹ́lẹ̀ %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "Ímeèlì tàbí ọ̀rọ̀ ìgbaniwọlé kò tọ̀nà." -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "Ọ̀rọ̀ ìgbaniwọlé ti àtijọ́ kò tọ̀nà" @@ -1024,11 +1022,11 @@ msgstr "A wà níbí láti ṣe ìrànlọ́wọ́ fún àwọn ìbéèrè tó b msgid "feedback.twitter-title" msgstr "Àkáùnti àtìlẹ́yìn fún Tíwítà" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "Àsìṣe kan ti ṣẹlẹ̀" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "ìkùku ti wà" @@ -1036,31 +1034,31 @@ msgstr "ìkùku ti wà" msgid "inspect.attributes.blur.value" msgstr "bó se péye" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "dínà mọ́" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "Ti dínà mọ" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "Fílì" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "Danlóòdù orísun àwòrán" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "Gíga" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "Fífẹ" @@ -1099,15 +1097,15 @@ msgstr "Òkè" msgid "inspect.attributes.layout.width" msgstr "Fífẹ̀" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "Ibòòji" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "Ìwọ̀n àti ipò" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "Stroke Sítírókì" @@ -1144,137 +1142,137 @@ msgstr "Lágbára" msgid "inspect.attributes.stroke.width" msgstr "Fífẹ̀" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "Taipogíráfì" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "Ẹbí Fọ́ǹtì" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "Ìwọ̀n Fọ́ǹtì" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "Àrà Fọ́ǹtì" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "Ìwúwo Fọ́ǹtì" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "Ìfàyè sí ààrin Lẹ́tà" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "Gíga Ìlà" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "Síṣe ọ̀rọ̀ lọ́ṣọ̀ọ́" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Kò sí" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "Strikethrough" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Fàlà sí" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "ọ̀rọ̀ ti yí padà" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "Lẹ́tà Kékeré" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "Kò sí" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "Àkọlé Lẹ́tà" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Lẹ́tà ńlá" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "" "Tí o bá fẹ́ mọ̀ nípa àpẹẹrẹ alárà bẹ ààrin gbùngbùn àwọn pẹ́ńpọtì wò fún " "ìràlọ́wọ́" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "Àfikún àlàyé fún ìbẹ̀wò" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "Yan ìrísí, bọ́ọ̀dù tàbí ẹgbẹ́ láti lọ ṣe ìbẹ̀wò ohun ìní wọn àti kóòdù" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "Kóòdù" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "Àyíká" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "Ẹ̀yà" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "Igun" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "Bọ́ọ̀dù" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "Ẹgbẹ́" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "Àwòrán" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "Ìbòjú" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "%s Ti yàn" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "Ipa-ọ̀nà" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "Rectangle" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "Ọ̀rọ̀" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "Àlàyé" @@ -1290,7 +1288,7 @@ msgstr "Ṣàyẹ̀wò tókín-nì" msgid "labels.active" msgstr "Ń siṣẹ́" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "Ṣàfikún àṣà Fọ́ǹtì" @@ -1302,7 +1300,7 @@ msgstr "Alábòjútó" msgid "labels.adobe-xd" msgstr "Àdòbí XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "Gbogbo ẹ̀" @@ -1324,7 +1322,7 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Ọ̀nà-àbáwọle búburú" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "Párẹ́" @@ -1332,15 +1330,15 @@ msgstr "Párẹ́" msgid "labels.canva" msgstr "Káńfà" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "Tì í" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "dásí i" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "Agbègbè" @@ -1348,7 +1346,7 @@ msgstr "Agbègbè" msgid "labels.confirm-password" msgstr "Jẹ́rìísí" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "Tẹ̀ síwájú" @@ -1364,7 +1362,7 @@ msgstr "O lè tẹ̀ síwájú pẹ̀lú àkáúnti pẹ́ńpọtì" msgid "labels.copy-invitation-link" msgstr "ṣà dàkọ ọ̀nà àsopọ̀" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "Ṣẹ̀dá" @@ -1384,15 +1382,15 @@ msgstr "Kọ́sítọ́mù àwọn fọ́ǹtì" msgid "labels.dashboard" msgstr "Dáṣìbọọ̀dù" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "Paárẹ́" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "Pa kọ́mẹ́ǹtì rẹ́" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "Pa gbogbo kọ́mẹ́ǹtì rẹ́" @@ -1408,15 +1406,15 @@ msgstr "Pa gbogbo %s fáìlì rẹ́" msgid "labels.developer" msgstr "Olùdásílẹ̀" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "Yọ́ kúrò" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "Kọ ọ́ sílẹ̀" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "sàtúnkà" @@ -1432,7 +1430,7 @@ msgstr "Olóòtú" msgid "labels.expired-invitation" msgstr "Kọjá àkókò" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "Fi ránṣẹ́" @@ -1448,7 +1446,7 @@ msgstr "Èsì ti lọ" msgid "labels.figma" msgstr "Fígímà" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "Ẹbí fọ́ǹtì" @@ -1456,11 +1454,11 @@ msgstr "Ẹbí fọ́ǹtì" msgid "labels.font-providers" msgstr "Àwọn Olùpèṣè fọ́ǹtì" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "Àrà" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "Fọ̀ǹtì" @@ -1472,11 +1470,11 @@ msgstr "Olùdásílẹ̀/VP" msgid "labels.freelancer" msgstr "Oníṣẹ́ ni mí" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Báǹkì gítì-ọbù" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "Fèsì padà" @@ -1484,11 +1482,11 @@ msgstr "Fèsì padà" msgid "labels.go-back" msgstr "Padà sẹ́yìn" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "Ibi ìranilọ́wọ́" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "Fi àwọn ọ̀rọ̀ tí a ti yanjú pamọ́" @@ -1496,7 +1494,7 @@ msgstr "Fi àwọn ọ̀rọ̀ tí a ti yanjú pamọ́" msgid "labels.inactive" msgstr "kò ja fáfá" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "Fi àwọn fọ́ǹtì sí orí ẹ̀rọ" @@ -1522,7 +1520,7 @@ msgstr "Ìfiwépè" msgid "labels.language" msgstr "Èdè" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "Àwọn yàrá ìkàwé & Tẹ́ńpílétì" @@ -1530,7 +1528,7 @@ msgstr "Àwọn yàrá ìkàwé & Tẹ́ńpílétì" msgid "labels.log-or-sign" msgstr "ṣí kí o wọle tàbí kí o ṣàmì wọlé" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "Padé kí ojáde" @@ -1550,11 +1548,11 @@ msgstr "Àwọn ọmọ Ẹgbẹ́" msgid "labels.new-password" msgstr "Ọ̀rọ̀ Ìgbaniwọlé tuntun" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "Èyí tó kàn" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "A ti gbé gbogbo yín dè! Àwọn ọ̀rọ̀ ìfitónilétí tuntun yí ó hàn níbí." @@ -1621,7 +1619,7 @@ msgstr "Pírófáìlì" msgid "labels.projects" msgstr "Àwọn iṣẹ́ àgbéṣe" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "Fi àkọsílẹ̀ rẹ sílẹ̀" @@ -1639,7 +1637,7 @@ msgstr "Yọ ọ́ kúrò" msgid "labels.remove-member" msgstr "Yọ ọmọ ẹgbẹ́ kúrò" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "Fún un lórúkọ mìíràn" @@ -1659,11 +1657,11 @@ msgstr "Tún gbìyànjú" msgid "labels.role" msgstr "Ojúṣe" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "Fi pamọ́" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "Ṣàwárí fọ́ǹtì" @@ -1699,15 +1697,15 @@ msgstr "Pín àwọn ohun tí a ti kọ tẹ́lẹ̀" msgid "labels.shared-libraries" msgstr "Yàrá ìkáwe" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "Fi gbogbo kọ́mẹ́ǹtì hàn" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "Fi àkójọ àwọn kọ́mẹ́ǹtì hàn" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "Fi àwọn kọ́mẹ́ǹtì tìrẹ nìkan hàn" @@ -1727,7 +1725,7 @@ msgstr "Ipò" msgid "labels.student-teacher" msgstr "Akẹ́kọ̀ọ́ tàbí olùkọ̀ọ́" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "Ìbáṣepọ̀" @@ -1743,15 +1741,15 @@ msgstr "mú dójú ìwọ̀n" msgid "labels.update-team" msgstr "Mẹ́gbẹ́ dójú ìwọ̀n" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "Ọpulóòdù" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "Ọpulóòdù kọ́sítẹ́mù fọ́ǹtì" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "Ń ọpulóòdù…" @@ -1767,7 +1765,7 @@ msgstr "Olùwo" msgid "labels.webhooks" msgstr "àwọn ìwé ìkọ́ wẹ́bù" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "Write new comment Kọ kọ́mẹ́ǹtì tuntun" @@ -1775,7 +1773,7 @@ msgstr "Write new comment Kọ kọ́mẹ́ǹtì tuntun" msgid "labels.you" msgstr "(ìwọ)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "Àkáùntì rẹ" @@ -1830,7 +1828,7 @@ msgstr "Pàrọ̀ ímeèlìl" msgid "modals.change-email.title" msgstr "Pàrọ̀ ímeèlì rẹ" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "Ṣẹ̀dà tókìn" @@ -1846,7 +1844,7 @@ msgstr "Orúkọ" msgid "modals.create-access-token.name.placeholder" msgstr "Orúkọ yí ó ràn wá lọ́wọ́ láti mọ ohun tí tókìn wà fún" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "Ṣẹ̀dà tókìn" @@ -1870,15 +1868,15 @@ msgstr "Péloòdù URL" msgid "modals.create-webhook.url.placeholder" msgstr "https://àpẹrẹ.com/postreceive ìgbà àtẹ̀yinwá" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "Pa tókìn rẹ́" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "Ṣé ó dá ọ lójú pé o fẹ́ pa tókìn yi rẹ́?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "Pa tókìn rẹ́" @@ -1900,25 +1898,25 @@ msgstr "" msgid "modals.delete-account.title" msgstr "Ṣé ó dá ọ lójú pé o fẹ́ pa àkáùntì rẹ rẹ́ ?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "Pa ìtàkurọ̀sọ rẹ́" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "" "Ṣé ódá ọ lójú pé o fẹ́ pa ìtàkurọ̀sọ yìí rẹ́? All comments in this Gbogbo " "àsọyé tó wà níbí tó tẹ̀lé ra wọn ni á di píparẹ́." -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "Pa ìtàkurọ̀sọ rẹ" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "Ṣe ó dá ọ lójú pé o fẹ́ pa àkọsílẹ̀ yìí rẹ́?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "Pa àkọsílẹ̀ rẹ́" @@ -1946,23 +1944,23 @@ msgstr "Ṣé ó dá ọ lójú pé o fẹ́ pa %s àwọn fáìlì rẹ́ ?" msgid "modals.delete-file-multi-confirm.title" msgstr "Pa fáìlì rẹ́ %s" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "" "Ṣé ó dá ọ lójú pé o fẹ́ pa fọ́ǹtì alárà yìí rẹ́ ? Kò ní gbé e tí a bá lò " "ó nínú fáìlì." -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "" "Ṣé ó dá ọ lójú pé o fẹ́ pa fẹ́ǹtì yí rẹ́? Kò ní le gbé e tí a bá lò ó nínú " "Fáìlì." -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "Ṣé ó dá ọ lójú pé o fẹ́ pa ojú ìwé yìí rẹ́?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "Pa ojú ìwé rẹ́" @@ -2113,15 +2111,15 @@ msgstr "" msgid "modals.promote-owner-confirm.title" msgstr "Ẹni tó ni ẹgbẹ́ tuntun" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "Kọ ọ́ jáde" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "Yàrá ìkàwé rẹ ṣófìfo. Ṣé ó dá ọ lójú pé o fẹ́ kọ ọ́ jáde?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "Gbé yàrá ìkàwé tó ṣófìfo jáde" @@ -2158,21 +2156,21 @@ msgstr "" msgid "modals.update-remote-component-in-bulk.message" msgstr "Mú àwọn ẹ̀yà irin iṣẹ́ dójú ìwọ̀n nínú iyàram ìkàwé pípín" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "Mú dójú ìwọ̀n" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "Fagilé e" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "" "O ṣetán látí mú àwọn ẹ̀yà irin iṣẹ́ yàrá ìkàwé dójú ìwọ̀n . This may affect " "Èyí lè fa wàhálà fún àwọn fáìlì míràn tí ó ń lò ó." -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "Mú ẹ̀yà iyàrá ìkàwé pípín kan dójú ìwọ̀n" @@ -2229,29 +2227,29 @@ msgstr "Fídíò àwọn ìbáṣepọ̀" msgid "onboarding-v2.before-start.title" msgstr "Kí o tó bẹ̀rẹ̀" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "" "Ṣe alábàápín ìwé ìròyìn ti pẹ́ńpọtì kí o lè mọ ohun tí ó ń lọ ọjà " "development progress and new Ìdàgbàsókè, Ìlọsíwájú,àti àwọn ìròyìn ." -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "" "Fí ìròyìn ránńṣẹ́ sí mi nípa Pẹ́ńpọtì (àwọn bulọ́ọ̀gì,àwọn fídiò " "ìbáṣepọ̀, àwọn sísàn wọlé...)." -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "Ìfi pamọ́ jẹ wá lógún, ní bí o le kà nípa wa " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "" "Àwọn ímeèlì tó ṣe kókó nìknn la ó fi ránńṣẹ́ sí ọ. o lè yọwọ́ kúrò ní " "ìgbàkììgbàní ìlànà ti ìyọwọ́ kúrò nínú èyíkéyìí ìwé ìròyìn wa." -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "" "Fi ìmú dójú ìwọ̀n ọjà ránńṣẹ́ sí mi (àwọn ẹ̀yà yuntun, tú sílẹ̀, ṣà " @@ -2313,17 +2311,17 @@ msgstr "Pè wọ́n pẹ̀lú ojúṣe wọn:" msgid "onboarding.newsletter.accept" msgstr "Bẹ́ẹ̀ni, ṣe alábàpín" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "" "A ti fi ìbéèrè fún síṣe alá-bápín rẹ ránńṣẹ́, a ó fi ímeèlì ránńṣẹ́ sí ọ " "látijẹ́rìí sí." -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "Ètò ìmúlò tí a fi pamọ́." -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "Fẹ́ gba àwọn ìròyìn pẹ́ńpọti?" @@ -2406,7 +2404,7 @@ msgstr "Lọ láti wọlé" msgid "settings.detach" msgstr "Yọ kúrò" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "Dàárú" @@ -2584,7 +2582,7 @@ msgstr "Ṣẹ̀dá títún" msgid "shortcuts.cut" msgstr "Ge" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "Sun-un jàdé" @@ -2680,7 +2678,7 @@ msgstr "Pinpín kàákírì pètèlè" msgid "shortcuts.hide-ui" msgstr "Ífìhan / Tọju UI" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "Sùn-un sínú" @@ -2988,15 +2986,15 @@ msgstr "Yiyan pelu sun-un" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "Pipese oniru fọnti - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "Fọnti - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "Awọn ísè agbèsè - %s - Penpot" @@ -3008,7 +3006,7 @@ msgstr "Wà - %s - Penpot" msgid "title.default" msgstr "Penpot – Se onìrú òmínìra fun awọ̀n ẹ̀gbẹ̀" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "Profaili – Aami wiwọle" @@ -3048,7 +3046,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s –Ipo wíwò - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3133,15 +3131,15 @@ msgstr "Párápọ̀ sóké (%s)" msgid "workspace.assets.assets" msgstr "Awọ̀n dukia" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "Gbọ̀gbọ̀ awọ̀n dukia" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "Áwò" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "Awọ̀n eroja" @@ -3153,7 +3151,7 @@ msgstr "Ṣẹ̀dá ẹ̀gbẹ̀ kan" msgid "workspace.assets.create-group-hint" msgstr "páarẹ̀" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "ẹẹdà" @@ -3161,11 +3159,11 @@ msgstr "ẹẹdà" msgid "workspace.assets.edit" msgstr "Ṣatunkọ" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "Awọn Awòran" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "Ẹgbẹ" @@ -3173,23 +3171,19 @@ msgstr "Ẹgbẹ" msgid "workspace.assets.group-name" msgstr "Orúkọ̀ ẹgbẹ" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "Ílè-iwè" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "Ílè-iwè agbegbe" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "Ko si ohun-ini ti a rii" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "Ṣii faili ìlé-ikáwè" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "Lo oruko imiran" @@ -3197,7 +3191,7 @@ msgstr "Lo oruko imiran" msgid "workspace.assets.rename-group" msgstr "Lo oruko imiran fun ẹgbẹ" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "Wa dukia" @@ -3206,7 +3200,7 @@ msgstr "Wa dukia" msgid "workspace.assets.shared-library" msgstr "Iĺẹ̀ iwekika ti a pln" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "Iwe itẹwe" @@ -3215,23 +3209,23 @@ msgstr "Iwe itẹwe" msgid "workspace.assets.typography.font-id" msgstr "Fonti" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "Iwon" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "Iyatọ" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "Aaye leta" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "Giga ila" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3239,7 +3233,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "Oniru ọrọ" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "Iyipádà ọrọ" @@ -3251,11 +3245,11 @@ msgstr "Títù ẹ̀gbẹ́" msgid "workspace.focus.focus-mode" msgstr "Ipo Idojukọ" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "Pa Ídòjúkọ" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "Tan Ídòjúkọ" @@ -3369,33 +3363,32 @@ msgstr "Ifihan fonti paleti" msgid "workspace.header.menu.undo" msgstr "Yi pada" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "Tunto" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "àsisè lórì fíf́ipamọ" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "Ti a fipamọ" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "Fifipámọ" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "Awọn ayípàdà ti kó ni fipamọ" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "Ipo wiwo(%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "sun-un" @@ -3407,7 +3400,7 @@ msgstr "Kun - óṣùwọn to kun" msgid "workspace.header.zoom-fit" msgstr "Báràmù - óṣùwọn to Báràmù" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "Suun kí o bá gbógbó rẹ̀ dọ́gbà" @@ -3415,7 +3408,7 @@ msgstr "Suun kí o bá gbógbó rẹ̀ dọ́gbà" msgid "workspace.header.zoom-full-screen" msgstr "Áseàfihan to kún" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "Ṣuum lati yan" @@ -3428,7 +3421,7 @@ msgstr "Ilànà àyípàdà" msgid "workspace.libraries.add" msgstr "Afikùn" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s awọn awọ" @@ -3454,27 +3447,27 @@ msgstr "Awọn àwò tálò láipẹ̀" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB Ibáramù" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "Fi awọn oniru awọ pamọ" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s Ẹya ara ẹrọ" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "Faili ilé ikàwé" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s ayaworan" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "Awọn Ílè íkawè" @@ -3483,39 +3476,39 @@ msgstr "Awọn Ílè íkawè" msgid "workspace.libraries.library" msgstr "Ílè íkawè" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "Ílè íkawè ímùdojúiwọn" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "Kò si Ilé kàwé ti a pin si ímùdojúiwọn" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "Awọn ilé kàwé tí a pìn" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "Óríṣí awọn íwè itẹ̀wé" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Tú gbógbó lińkí awọn íwè itẹ̀wé" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s awọn íwè itẹ̀wé" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "ímùdojúiwọn" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "wò gbògbò awọn ayípàdà" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "Awọn ímùdojúiwọn" @@ -3535,27 +3528,27 @@ msgstr "Ẹ̀gdẹ́ Baìbaì" msgid "workspace.options.blur-options.title.multiple" msgstr "Asayan Baìbaì" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "Kánfásì abẹ́le" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "Ábẹrẹ́ ákoonù" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "Apakan" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "Ádàakọ" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "Ṣatunkọ àkọ̀silẹ̀" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:599 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 msgid "workspace.options.component.main" msgstr "Ólòrí" @@ -3599,11 +3592,11 @@ msgstr "Ókè ati Ídí" msgid "workspace.options.design" msgstr "Ónirú" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "Sí ilẹ́ òkèeré" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "afikun ọrọ niipárí" @@ -3611,7 +3604,7 @@ msgstr "afikun ọrọ niipárí" msgid "workspace.options.exporting-complete" msgstr "Gbígbè okeere ti pari" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "Gbígbè okeere …" @@ -3733,7 +3726,7 @@ msgstr "Ẹ̀kún ẹgbẹ́" msgid "workspace.options.group-stroke" msgstr "Ẹgba ẹgbẹ́" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "Gíga" @@ -4043,19 +4036,19 @@ msgstr "Egbẹ́ ààyò" msgid "workspace.options.layout-item.advanced-ops" msgstr "Ànàálè ìtẹ̀síwájú" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "Ibi tó ga jùlọ" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "Ìgbòrò tó ga jù" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "Gíga to kéré jù lọ" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "Ìgbòrò tó kéré jù lọ" @@ -4169,11 +4162,11 @@ msgstr "Àyè àárín" msgid "workspace.options.layout.top" msgstr "Òkè" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "Àwọn àwọ̀ púpọ̀ sí i" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "Àwọn yàrá àwọ̀ púpọ̀ sí I" @@ -4210,7 +4203,7 @@ msgstr "Òkè òsì" msgid "workspace.options.radius-top-right" msgstr "Òkè ọ̀tún" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "Àìpẹ́" @@ -4218,11 +4211,11 @@ msgstr "Àìpẹ́" msgid "workspace.options.retry" msgstr "Tún gbìyànjú" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "Yíyípo" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "Àdàkọ ìwádìí" @@ -4232,7 +4225,7 @@ msgstr "" "Yan ìrísi ,pátákó tàbí ẹgbẹ́ láti fa ìsopọ̀ mọ́ pátákó " "òmíràn." -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "Àwọn àwọ̀ tí a ti yàn" @@ -4244,43 +4237,43 @@ msgstr "Ìmúṣẹ tí a yàn" msgid "workspace.options.selection-stroke" msgstr "Ipò ìlù tí a yàn" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "Rẹ́súrẹ́sú" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "Àwọ̀ òjíjí" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "Da òjìjí" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "Òjìjí inú" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "Tànkálẹ̀" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "Òjìjí" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "Àwùjọ òjìjí" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "Òjìjí tí a yàn" @@ -4288,7 +4281,7 @@ msgstr "Òjìjí tí a yàn" msgid "workspace.options.show-fill-on-export" msgstr "Fihàn nínụ àgbéjáde" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "Fihàn nínú ipò wíwò" @@ -4296,7 +4289,7 @@ msgstr "Fihàn nínú ipò wíwò" msgid "workspace.options.size" msgstr "Ìwọ̀n" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "Àwọn àtòjọ" @@ -4365,7 +4358,7 @@ msgstr "Onígun mẹ́ta" msgid "workspace.options.stroke-color" msgstr "Àwọ ìlà" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "Ìgbòrò ìlà" @@ -4429,11 +4422,11 @@ msgstr "Gbígbòòrò aládáàṣiṣé" msgid "workspace.options.text-options.grow-fixed" msgstr "Tí kò yíyadà" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "Àlàfo lẹ́tà" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "Gíga ìlà" @@ -4499,15 +4492,15 @@ msgstr "" "Lo bọ́tìnì ìṣe tó wà lóori àkọsórí náà láti ṣakóso ìwò " "àkàwé." -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "Ìgbòrò" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "Ipò X" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Ipò Y" @@ -4551,99 +4544,99 @@ msgstr "Ya ̣ìpàdé sọ́tọ̀ (%s)" msgid "workspace.path.actions.snap-nodes" msgstr "Ìmọ̀lára ìpàdé (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "Fi àrọ ètò ìrísí kun" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "Fi gírídì ètò ìrísị kun" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "dáa padà séyiǹ" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "dá padà sọ́wọ èyiǹ" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "Ṣẹ̀dà" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "Ṣèda àlàyé" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Yíyàn sí pátákó" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "Ṣẹ́dá àkóónú" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "Ṣẹ̀dá ọ̀pọ̀lọpọ̀ àkóónú" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "Gé" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "Parẹ́" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "Pa ìbẹ̀ẹ̀rè ìsàn rẹ́" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "ṣẹ́ àpẹ̣ẹre yọ nípò" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "Ṣẹ́ àwọn àpẹẹrẹ yọ nípò" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "Ìyàtọ̀" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "Sẹ ẹ̀dà" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "Sàtúnṣe" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "Ṣà yọ sílè" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "Tẹ́ pẹrẹsẹ" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "Ìyí padà oníbùú" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "Ìyí padà olóòró" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "Ìbẹ̀rè ìṣàn" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "Mú wá sọ́wọ́ iwájú" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "Mú wá sí wájú" @@ -4652,91 +4645,91 @@ msgstr "Mú wá sí wájú" msgid "workspace.shape.menu.go-main" msgstr "Lọ sí olórí fáìlì àkóónú" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "Àwùjọ" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "Tọ́jú" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "Fihàn/ Tọ́jú UI" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "Ìkòríta" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "Tì" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "Ìbòjú" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "lẹ̀mọ́" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "Ipa ọ̀nà" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "Yọ àrọ ètò ìrísí kúrò" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "Ṣe àtúnṣe ìdojúkọ" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "Dạ àkóónú pàtàkì sí pò" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "Yan ìpele" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "Ṣà fihàn" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "Ṣafihàn nínú atọ́ka àwọn ìgbìmọ̀ ìní" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "Ṣà fihàn àkóónú pàtàkì" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Yọ àwòrán aláṣojú kúrò" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "Fi sípò àwòrań aláṣojú" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "Yípadà sí pópó ọ̀nà" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "Ṣe àìkójọ" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "Ìbáṣepò" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "Ṣíí" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "Sí ìbòjú" @@ -4753,11 +4746,11 @@ msgstr "Wó òpó ègbẹ́" msgid "workspace.sidebar.expand" msgstr "Fẹ òpó ẹ̀gbẹ́" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "Ìtàn" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "Àwọn ìpele" @@ -4793,7 +4786,7 @@ msgstr "Àwọn ìrísí" msgid "workspace.sidebar.layers.texts" msgstr "Àwọn àyọkà" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "Gbígbé àwọn ànímọ́ SVG wọlé wá" @@ -4801,11 +4794,11 @@ msgstr "Gbígbé àwọn ànímọ́ SVG wọlé wá" msgid "workspace.sidebar.sitemap" msgstr "Àwọn abala" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "Máàpù ojú ìlà" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "Àwọn ohun ìní" @@ -4813,35 +4806,35 @@ msgstr "Àwọn ohun ìní" msgid "workspace.toolbar.color-palette" msgstr "Pálètì àwọ̀ (%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "Àwọn ìdáásí (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "Ìṣépo (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "Àlàfo (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "Pátákó (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "Àwòrán(%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "Gbé (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "Pópó ọ̀nà (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "Onígun mẹ́rin (%s)" @@ -4850,7 +4843,7 @@ msgstr "Onígun mẹ́rin (%s)" msgid "workspace.toolbar.shortcuts" msgstr "Àwón ọ̀nà àbùjá (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "Àyọkà (%s)" @@ -5003,19 +4996,19 @@ msgstr "Iṣẹ́ parí %s" msgid "workspace.undo.title" msgstr "Ìtàn" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "Ta nù" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "Àlàyé síi" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "Àwọn imúdójúìwọ̀n wà nínú àwọn yàrá ìkàwẹ tí a pín" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "Ìmúdójúìwọ̀n" diff --git a/frontend/translations/zh_CN.po b/frontend/translations/zh_CN.po index b94d448f83..2dff9c74f6 100644 --- a/frontend/translations/zh_CN.po +++ b/frontend/translations/zh_CN.po @@ -1,7 +1,7 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-10-01 15:16+0000\n" -"Last-Translator: IsCycleBai \n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" +"Last-Translator: Anonymous \n" "Language-Team: Chinese (Simplified Han script) " "\n" "Language: zh_CN\n" @@ -9,7 +9,7 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Weblate 5.8-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" @@ -36,11 +36,11 @@ msgstr "创建演示账号" msgid "auth.create-demo-profile" msgstr "只是想试试?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "这是一个演示服务,请【不要】用于真实工作,这些项目将被周期性地抹除。" -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "忘记密码?" @@ -48,7 +48,7 @@ msgstr "忘记密码?" msgid "auth.fullname" msgstr "全名" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "登录我的账号" @@ -56,31 +56,31 @@ msgstr "登录我的账号" msgid "auth.login-here" msgstr "在这里登录" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "登录" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "Penpot是一款自由开源的设计工具,用于「设计」和「开发」协同" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub登录" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "Gitlab登录" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google登录" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP登录" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID登录" @@ -104,7 +104,7 @@ msgstr "找回密码链接已发至你的收件箱。" msgid "auth.notifications.team-invitation-accepted" msgstr "成功加入团队" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "密码" @@ -132,7 +132,7 @@ msgstr "忘记密码?" msgid "auth.recovery-submit" msgstr "修改密码" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "现在还没有账号?" @@ -140,7 +140,7 @@ msgstr "现在还没有账号?" msgid "auth.register-account-tagline" msgstr "让我们知道在仪表板和电子邮件中如何称呼您。" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "创建账号" @@ -153,7 +153,7 @@ msgstr "创建账号" msgid "auth.sidebar-tagline" msgstr "设计与原型的开源解决方案。" -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "服务协议" @@ -165,7 +165,7 @@ msgstr "创建账号意味着您认可我们的服务条例和隐私政策。" msgid "auth.verification-email-sent" msgstr "我们已经发送了一封验证邮件到" -#: src/app/main/ui/auth/login.cljs:173, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 msgid "auth.work-email" msgstr "工作邮件地址" @@ -174,7 +174,7 @@ msgstr "工作邮件地址" msgid "branding-illustrations-marketing-pieces" msgstr "品牌设计、插图、营销物料等。" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "发布" @@ -244,7 +244,7 @@ msgstr "分享原型" msgid "common.share-link.view-all" msgstr "选择所有" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "未发布" @@ -294,7 +294,7 @@ msgstr "界面浏览" msgid "dashboard.access-tokens.copied-success" msgstr "已复制令牌" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "生成新令牌" @@ -302,11 +302,11 @@ msgstr "生成新令牌" msgid "dashboard.access-tokens.create.success" msgstr "成功创建访问令牌。" -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "点击“生成新令牌”按钮来生成一个。" -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "你目前还没有令牌。" @@ -330,23 +330,23 @@ msgstr "90天" msgid "dashboard.access-tokens.expiration-never" msgstr "从不" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "已经于%s到期" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "将于%s到期" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "无到期时限" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "个人访问令牌" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "个人访问令牌可被理解为密码认证的代替选项,常用于允许(第三方)应用访问Penpot内部API" @@ -366,7 +366,7 @@ msgstr "添加为共享库" msgid "dashboard.change-email" msgstr "修改电子邮件" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(拷贝)" @@ -478,43 +478,43 @@ msgstr "将共享库素材加入文件库" msgid "dashboard.export.title" msgstr "导出文档" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "字体已删除" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "全部取消" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "您上传的自定义字体将显示在此处。" -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "1 个字体添加成功" msgstr[1] "%s 个字体添加成功" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" "你在此上传的任何网络字体文件,将会被添加至本团队下文件的字体属性中的可用字体族列表中。拥有相同字体族名称的字体文件,将会按照字体族进行分组。你可以上传以" "下格式的字体文件:**TTF,OTF和WOFF**(你只需要上传其中一种即可)。" -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" "你应当只向Penpot上传你所拥有的字体,或是你持有使用许可的字体。点击[Penpot服务条例](https://penpot.app/terms." "html)查看更多有关内容权利的章节。或许你也想了解一下[字体许可授权] (https://www.typography.com/faq)。" -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "全部上传" -#: src/app/main/ui/dashboard/fonts.cljs:191 +#: src/app/main/ui/dashboard/fonts.cljs:193 #, markdown msgid "dashboard.fonts.warning-text" msgstr "" @@ -522,7 +522,7 @@ msgstr "" "vertical-metrics.netlify.app/)。此外,我们建议使用[Transfonter](https://transfonter." "org/)来生成网络字体并修复错误。 " -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "导入文件" @@ -538,11 +538,11 @@ msgstr "文件已启用“组件v2”功能,但这个团队尚未支持该功 msgid "dashboard.import.import-error" msgstr "文件导入过程中出现未知问题,导入失败。" -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "%s 个文件导入成功。" -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "一些包含无效对象的文档已被移除。" @@ -582,27 +582,27 @@ msgstr "邀请people" msgid "dashboard.leave-team" msgstr "退出团队" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "库和模板" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "探索更多内容,了解如何做出贡献" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "导入模板时发生错误。模板未导入成功。" -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "共享库" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "正在加载文档…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "正在加载字体…" @@ -618,11 +618,11 @@ msgstr "移动 %s 个文件到" msgid "dashboard.move-to-other-team" msgstr "移动到其他团队" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ 新文档" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "新建文件" @@ -630,7 +630,7 @@ msgstr "新建文件" msgid "dashboard.new-project" msgstr "+ 新项目" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "新建项目" @@ -662,7 +662,7 @@ msgstr "成员%s人" msgid "dashboard.open-in-new-tab" msgstr "在新标签页打开文件" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "选项" @@ -707,7 +707,7 @@ msgstr "选择界面语言" msgid "dashboard.select-ui-theme" msgstr "选择界面主题" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "显示全部文档" @@ -731,7 +731,7 @@ msgstr[1] "您的文件已被成功复制" msgid "dashboard.success-duplicate-project" msgstr "成功创建了项目副本" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "成功移动了文件" @@ -823,7 +823,7 @@ msgstr "电子邮件" msgid "dashboard.your-name" msgstr "你的姓名" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "你的Penpot" @@ -843,11 +843,11 @@ msgstr "待更新的组件:" msgid "ds.confirm-allow" msgstr "允许" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "取消" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "OK" @@ -855,7 +855,7 @@ msgstr "OK" msgid "ds.confirm-title" msgstr "你确定?" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "没有配置身份认证服务源." @@ -863,11 +863,11 @@ msgstr "没有配置身份认证服务源." msgid "errors.auth.unable-to-login" msgstr "你似乎还没有登录或会话已过期。" -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "无法加载%s字体" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "无法加载%s等字体" @@ -875,7 +875,7 @@ msgstr "无法加载%s等字体" msgid "errors.cannot-upload" msgstr "无法上传该媒体文件。" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "你的浏览器不支持该操作" @@ -887,7 +887,7 @@ msgstr "电子邮件已被占用" msgid "errors.email-already-validated" msgstr "电子邮件已经验证通过。" -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "密码不能为邮箱地址" @@ -924,7 +924,7 @@ msgstr "名称必须包含除空格外的其他字符。" msgid "errors.file-feature-mismatch" msgstr "看起来当前启用的功能,与正在打开的文件所依赖的功能不匹配。在打开文件前,需要应用对“%s”修改。" -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "发生了某种错误。" @@ -937,8 +937,7 @@ msgstr "无效的颜色" msgid "errors.invalid-email" msgstr "请输入有效的电子邮件" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "确认电子邮件必须保持一致" @@ -954,7 +953,7 @@ msgstr "无效的邀请" msgid "errors.invite-invalid.info" msgstr "此邀请可能已取消或已过期。" -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP身份验证已禁用。" @@ -992,7 +991,7 @@ msgstr "密码最少需要8位字符" msgid "errors.paste-data-validation" msgstr "剪切板中为无效数据" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "个人资料已被屏蔽" @@ -1064,12 +1063,11 @@ msgstr "验证时出现意外错误" msgid "errors.webhooks.unexpected-status" msgstr "意外状态%s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "邮箱或密码错误。" -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "旧密码不正确" @@ -1113,11 +1111,11 @@ msgstr "这里可以帮助您解决技术问题。" msgid "feedback.twitter-title" msgstr "X(原Twitter)支持帐号" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "发生了一个错误" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "模糊" @@ -1125,31 +1123,31 @@ msgstr "模糊" msgid "inspect.attributes.blur.value" msgstr "值" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "填充" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "下载原图" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "高" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "宽" @@ -1188,15 +1186,15 @@ msgstr "顶" msgid "inspect.attributes.layout.width" msgstr "宽" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "阴影" -#: src/app/main/ui/viewer/inspect/attributes/geometry.cljs:40 +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 msgid "inspect.attributes.size" msgstr "尺寸和位置" -#: src/app/main/ui/viewer/inspect/attributes/stroke.cljs:52 +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 msgid "inspect.attributes.stroke" msgstr "边框" @@ -1233,139 +1231,139 @@ msgstr "实线" msgid "inspect.attributes.stroke.width" msgstr "宽" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "排版" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "字体" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "字号" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:333 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 msgid "inspect.attributes.typography.font-style" msgstr "文字风格" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:116 +#: src/app/main/ui/inspect/attributes/text.cljs:118 msgid "inspect.attributes.typography.font-weight" msgstr "字体重量" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:134, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:386 +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 msgid "inspect.attributes.typography.letter-spacing" msgstr "字距" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:125, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:369 +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 msgid "inspect.attributes.typography.line-height" msgstr "行高" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:143 +#: src/app/main/ui/inspect/attributes/text.cljs:145 msgid "inspect.attributes.typography.text-decoration" msgstr "文字装饰" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "无" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "删除线" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "下划线" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:156 +#: src/app/main/ui/inspect/attributes/text.cljs:158 msgid "inspect.attributes.typography.text-transform" msgstr "文本变换" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "小写" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "无" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "首字母大写" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:162 +#: src/app/main/ui/inspect/attributes/text.cljs:164 msgid "inspect.attributes.typography.text-transform.unset" msgstr "取消设置" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "大写" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "如果您想了解有关设计检查的更多信息,请访问Penpot的帮助中心" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "有关检查的详细信息" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:147 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 msgid "inspect.empty.select" msgstr "选择形状、板或组以检查其属性和代码" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:100 +#: src/app/main/ui/inspect/right_sidebar.cljs:105 msgid "inspect.tabs.code" msgstr "代码" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "圆" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:125 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 msgid "inspect.tabs.code.selected.component" msgstr "组件" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "曲线" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "画板" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "编组" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "图片" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:130 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 msgid "inspect.tabs.code.selected.mask" msgstr "蒙版" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:119 +#: src/app/main/ui/inspect/right_sidebar.cljs:124 msgid "inspect.tabs.code.selected.multiple" msgstr "已选中%s项" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "路径" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "矩形" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "文本" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "信息" @@ -1385,7 +1383,7 @@ msgstr "访问令牌" msgid "labels.active" msgstr "激活" -#: src/app/main/ui/dashboard/fonts.cljs:179 +#: src/app/main/ui/dashboard/fonts.cljs:180 msgid "labels.add-custom-font" msgstr "添加自定义字体" @@ -1397,7 +1395,7 @@ msgstr "管理员" msgid "labels.adobe-xd" msgstr "Adobe XD" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "全部" @@ -1417,7 +1415,7 @@ msgstr "请过会儿再来试试,我们正在对服务器进行一些简单维 msgid "labels.bad-gateway.main-message" msgstr "网关错误" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "取消" @@ -1425,15 +1423,15 @@ msgstr "取消" msgid "labels.canva" msgstr "Canva" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "关闭" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "评论" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "社区" @@ -1441,7 +1439,7 @@ msgstr "社区" msgid "labels.confirm-password" msgstr "确认密码" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "继续" @@ -1457,7 +1455,7 @@ msgstr "你可以使用Penpot帐号继续" msgid "labels.copy-invitation-link" msgstr "复制链接" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "创建" @@ -1477,15 +1475,15 @@ msgstr "自定义字体" msgid "labels.dashboard" msgstr "面板" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "删除" -#: src/app/main/ui/comments.cljs:907 +#: src/app/main/ui/comments.cljs:976 msgid "labels.delete-comment" msgstr "删除该评论" -#: src/app/main/ui/comments.cljs:830 +#: src/app/main/ui/comments.cljs:899 msgid "labels.delete-comment-thread" msgstr "删除该讨论串" @@ -1501,15 +1499,15 @@ msgstr "删除%s个文件" msgid "labels.developer" msgstr "开发者" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:199 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 msgid "labels.discard" msgstr "丢弃" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "草稿" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "编辑" @@ -1525,7 +1523,7 @@ msgstr "编辑者" msgid "labels.expired-invitation" msgstr "已到期" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "导出" @@ -1541,7 +1539,7 @@ msgstr "反馈已发出" msgid "labels.figma" msgstr "Figma" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "字体族" @@ -1549,11 +1547,11 @@ msgstr "字体族" msgid "labels.font-providers" msgstr "字体提供者" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "样式" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "字体" @@ -1565,11 +1563,11 @@ msgstr "创始人/副总裁" msgid "labels.freelancer" msgstr "我是一名自由职业者" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Github仓库" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "提交反馈" @@ -1581,11 +1579,11 @@ msgstr "返回" msgid "labels.graphic-design" msgstr "平面设计" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "帮助中心" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "隐藏已决定的评论" @@ -1593,7 +1591,7 @@ msgstr "隐藏已决定的评论" msgid "labels.inactive" msgstr "未激活" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "已安装字体" @@ -1617,11 +1615,11 @@ msgstr "邀请" msgid "labels.language" msgstr "语言" -#: src/app/main/ui/dashboard/sidebar.cljs:1039, src/app/main/ui/workspace/main_menu.cljs:138 +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 msgid "labels.libraries-and-templates" msgstr "库&模板" -#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:114, src/app/main/ui/dashboard/grid.cljs:133, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:53, src/app/main/ui/ds/product/loader.cljs:52, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:126, src/app/main/ui.cljs:67, src/app/main/ui.cljs:105, src/app/main/ui.cljs:124 +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 msgid "labels.loading" msgstr "加载中…" @@ -1633,7 +1631,7 @@ msgstr "登录或注册" msgid "labels.login" msgstr "登录" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "登出" @@ -1653,11 +1651,11 @@ msgstr "成员" msgid "labels.new-password" msgstr "新密码" -#: src/app/main/ui/dashboard/templates.cljs:275, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 msgid "labels.next" msgstr "下一项" -#: src/app/main/ui/dashboard/comments.cljs:106, src/app/main/ui/workspace/comments.cljs:161 +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "你们都赶上了! 新的评论通知将出现在这里。" @@ -1679,7 +1677,7 @@ msgstr "可能该页面不存在,也可能你没有访问权限。" msgid "labels.not-found.main-message" msgstr "哎呀!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "共1个文档" @@ -1746,7 +1744,7 @@ msgstr "个人资料" msgid "labels.projects" msgstr "项目" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "发布说明" @@ -1764,7 +1762,7 @@ msgstr "移除" msgid "labels.remove-member" msgstr "删除成员" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "重命名" @@ -1784,15 +1782,15 @@ msgstr "重试" msgid "labels.role" msgstr "角色" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "保存" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 msgid "labels.search" msgstr "搜索" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "搜索字体" @@ -1828,15 +1826,15 @@ msgstr "分享原型" msgid "labels.shared-libraries" msgstr "共享库" -#: src/app/main/ui/viewer/comments.cljs:82, src/app/main/ui/workspace/comments.cljs:54, src/app/main/ui/workspace/comments.cljs:134 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 msgid "labels.show-all-comments" msgstr "显示所有评论" -#: src/app/main/ui/viewer/comments.cljs:115 +#: src/app/main/ui/viewer/comments.cljs:116 msgid "labels.show-comments-list" msgstr "显示评论列表" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "只显示你的评论" @@ -1864,7 +1862,7 @@ msgstr "团队领导" msgid "labels.team-member" msgstr "团队成员" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "教程" @@ -1880,15 +1878,15 @@ msgstr "更新" msgid "labels.update-team" msgstr "更新团队" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "上传" -#: src/app/main/ui/dashboard/fonts.cljs:173 +#: src/app/main/ui/dashboard/fonts.cljs:174 msgid "labels.upload-custom-fonts" msgstr "上传自定义字体" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "正在上传…" @@ -1904,7 +1902,7 @@ msgstr "查看者" msgid "labels.webhooks" msgstr "Webhooks" -#: src/app/main/ui/comments.cljs:743 +#: src/app/main/ui/comments.cljs:818 msgid "labels.write-new-comment" msgstr "写一条新评论" @@ -1912,7 +1910,7 @@ msgstr "写一条新评论" msgid "labels.you" msgstr "(你)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "你的账户" @@ -1920,23 +1918,23 @@ msgstr "你的账户" msgid "labels.youtube" msgstr "YouTube" -#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480 +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 msgid "media.choose-image" msgstr "选择图片" -#: src/app/main/ui/workspace/colorpicker.cljs:245 +#: src/app/main/ui/workspace/colorpicker.cljs:241 msgid "media.gradient" msgstr "渐变" -#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/viewer/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 msgid "media.image" msgstr "图片" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:77 +#: src/app/main/ui/inspect/attributes/common.cljs:77 msgid "media.image.short" msgstr "img" -#: src/app/main/ui/workspace/colorpicker.cljs:470 +#: src/app/main/ui/workspace/colorpicker.cljs:467 msgid "media.keep-aspect-ratio" msgstr "保持宽高比" @@ -1954,7 +1952,7 @@ msgstr "正在加载图片…" msgid "media.radial" msgstr "径向" -#: src/app/main/ui/workspace/colorpicker.cljs:243 +#: src/app/main/ui/workspace/colorpicker.cljs:239 msgid "media.solid" msgstr "纯色" @@ -1998,7 +1996,7 @@ msgstr "修改电子邮件" msgid "modals.change-email.title" msgstr "修改你的电子邮件" -#: src/app/main/ui/settings/access_tokens.cljs:154, src/app/main/ui/settings/access_tokens.cljs:160 +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 msgid "modals.create-access-token.copy-token" msgstr "复制令牌" @@ -2014,7 +2012,7 @@ msgstr "名称" msgid "modals.create-access-token.name.placeholder" msgstr "名称可以帮你记住令牌的用途" -#: src/app/main/ui/settings/access_tokens.cljs:180 +#: src/app/main/ui/settings/access_tokens.cljs:179 msgid "modals.create-access-token.submit-label" msgstr "创建令牌" @@ -2038,15 +2036,15 @@ msgstr "有效负载网址" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" -#: src/app/main/ui/settings/access_tokens.cljs:260 +#: src/app/main/ui/settings/access_tokens.cljs:259 msgid "modals.delete-acces-token.accept" msgstr "删除令牌" -#: src/app/main/ui/settings/access_tokens.cljs:259 +#: src/app/main/ui/settings/access_tokens.cljs:258 msgid "modals.delete-acces-token.message" msgstr "你确定想要删除这个令牌吗?" -#: src/app/main/ui/settings/access_tokens.cljs:258 +#: src/app/main/ui/settings/access_tokens.cljs:257 msgid "modals.delete-acces-token.title" msgstr "删除令牌" @@ -2066,23 +2064,23 @@ msgstr "删除账号后,你会失去所有项目和存档。" msgid "modals.delete-account.title" msgstr "你确定想要删除你的账号?" -#: src/app/main/ui/comments.cljs:800 +#: src/app/main/ui/comments.cljs:869 msgid "modals.delete-comment-thread.accept" msgstr "删除对话" -#: src/app/main/ui/comments.cljs:799 +#: src/app/main/ui/comments.cljs:868 msgid "modals.delete-comment-thread.message" msgstr "你确定想要删除这个对话?该讨论串里的所有评论都会被一同删除。" -#: src/app/main/ui/comments.cljs:798 +#: src/app/main/ui/comments.cljs:867 msgid "modals.delete-comment-thread.title" msgstr "删除对话" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:140 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 msgid "modals.delete-component-annotation.message" msgstr "你确定想要删除这个注释?" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:139 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 msgid "modals.delete-component-annotation.title" msgstr "删除注释" @@ -2110,27 +2108,27 @@ msgstr "你确定要删除这%s个文件?" msgid "modals.delete-file-multi-confirm.title" msgstr "正在删除%s个文件" -#: src/app/main/ui/dashboard/fonts.cljs:348 +#: src/app/main/ui/dashboard/fonts.cljs:350 msgid "modals.delete-font-variant.message" msgstr "你确定要删除这个字体样式吗?如果它被用在某个文件里的话,将无法加载。" -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "正在删除字体样式" -#: src/app/main/ui/dashboard/fonts.cljs:334 +#: src/app/main/ui/dashboard/fonts.cljs:336 msgid "modals.delete-font.message" msgstr "你确定要删除这个字体吗?如果它被用在某个文件里的话,将无法加载。" -#: src/app/main/ui/dashboard/fonts.cljs:333 +#: src/app/main/ui/dashboard/fonts.cljs:335 msgid "modals.delete-font.title" msgstr "正在删除字体" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "你确定想要删除这个页面?" -#: src/app/main/ui/workspace/context_menu.cljs:626, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 msgid "modals.delete-page.title" msgstr "删除页面" @@ -2320,15 +2318,15 @@ msgstr "您是此团队的所有者,你确定想要将所有者转让给该成 msgid "modals.promote-owner-confirm.title" msgstr "新增团队所有者" -#: src/app/main/ui/workspace/libraries.cljs:273 +#: src/app/main/ui/workspace/libraries.cljs:270 msgid "modals.publish-empty-library.accept" msgstr "发布" -#: src/app/main/ui/workspace/libraries.cljs:272 +#: src/app/main/ui/workspace/libraries.cljs:269 msgid "modals.publish-empty-library.message" msgstr "你的库是空白的。你确定想要发布它?" -#: src/app/main/ui/workspace/libraries.cljs:271 +#: src/app/main/ui/workspace/libraries.cljs:268 msgid "modals.publish-empty-library.title" msgstr "发布空白库" @@ -2379,19 +2377,19 @@ msgstr "你即将更新共享库中的组件,这可能会影响使用这些组 msgid "modals.update-remote-component-in-bulk.message" msgstr "更新共享库组件" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "更新组件" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "取消" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:391 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 msgid "modals.update-remote-component.hint" msgstr "你即将更新共享库中的一个组件。这可能会对使用该组件的其他文档产生影响。" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:390 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 msgid "modals.update-remote-component.message" msgstr "更新共享库中的一个组件" @@ -2519,23 +2517,23 @@ msgstr "视频教程" msgid "onboarding-v2.before-start.title" msgstr "在开始之前" -#: src/app/main/ui/onboarding/newsletter.cljs:63 +#: src/app/main/ui/onboarding/newsletter.cljs:68 msgid "onboarding-v2.newsletter.desc" msgstr "订阅Penpot通知邮件,跟进产品开发进度,获取最新消息。" -#: src/app/main/ui/onboarding/newsletter.cljs:83 +#: src/app/main/ui/onboarding/newsletter.cljs:88 msgid "onboarding-v2.newsletter.news" msgstr "发给我有关Penpot的新闻(博客文章、视频教程、直播等)。" -#: src/app/main/ui/onboarding/newsletter.cljs:91 +#: src/app/main/ui/onboarding/newsletter.cljs:96 msgid "onboarding-v2.newsletter.privacy1" msgstr "我们关心隐私,您可在此阅读我们的 " -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "我们将仅发送与您有关的邮件,您可以随时在其中任意一封邮件中点击取消订阅。" -#: src/app/main/ui/onboarding/newsletter.cljs:71 +#: src/app/main/ui/onboarding/newsletter.cljs:76 msgid "onboarding-v2.newsletter.updates" msgstr "向我发送一些产品更新(新功能,新版本,新修复等)。" @@ -2623,15 +2621,15 @@ msgstr "你可以稍后再创建团队。" msgid "onboarding.newsletter.accept" msgstr "是的,订阅" -#: src/app/main/ui/onboarding/newsletter.cljs:40 +#: src/app/main/ui/onboarding/newsletter.cljs:42 msgid "onboarding.newsletter.acceptance-message" msgstr "您的订阅请求已发送,我们将向您发送一封电子邮件进行确认。" -#: src/app/main/ui/onboarding/newsletter.cljs:95 +#: src/app/main/ui/onboarding/newsletter.cljs:100 msgid "onboarding.newsletter.policy" msgstr "隐私策略。" -#: src/app/main/ui/onboarding/newsletter.cljs:60 +#: src/app/main/ui/onboarding/newsletter.cljs:65 msgid "onboarding.newsletter.title" msgstr "想要接收 Penpot 新闻?" @@ -2715,7 +2713,7 @@ msgstr "Penpot" msgid "profile.recovery.go-to-login" msgstr "去登录" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "混合" @@ -2905,7 +2903,7 @@ msgstr "创建新的" msgid "shortcuts.cut" msgstr "剪切" -#: src/app/main/ui/workspace/right_header.cljs:116, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 msgid "shortcuts.decrease-zoom" msgstr "缩小" @@ -3005,7 +3003,7 @@ msgstr "水平分布" msgid "shortcuts.hide-ui" msgstr "显示/隐藏UI" -#: src/app/main/ui/workspace/right_header.cljs:121, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 msgid "shortcuts.increase-zoom" msgstr "放大" @@ -3381,15 +3379,15 @@ msgstr "缩放到选定对象" msgid "title.dashboard.files" msgstr "%s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:39 +#: src/app/main/ui/dashboard/fonts.cljs:40 msgid "title.dashboard.font-providers" msgstr "字体提供者 - %s - Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "字体 - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "项目 - %s - Penpot" @@ -3397,7 +3395,7 @@ msgstr "项目 - %s - Penpot" msgid "title.dashboard.search" msgstr "搜索 - %s - Penpot" -#: src/app/main/ui/dashboard/libraries.cljs:42 +#: src/app/main/ui/dashboard/libraries.cljs:57 msgid "title.dashboard.shared-libraries" msgstr "共享库 - %s - Penpot" @@ -3405,7 +3403,7 @@ msgstr "共享库 - %s - Penpot" msgid "title.default" msgstr "Penpot - 面向团队,设计自由" -#: src/app/main/ui/settings/access_tokens.cljs:281 +#: src/app/main/ui/settings/access_tokens.cljs:280 msgid "title.settings.access-tokens" msgstr "个人资料 — 访问令牌" @@ -3445,7 +3443,7 @@ msgstr "Webhooks - %s - Penpot" msgid "title.viewer" msgstr "%s - 预览模式)- Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -3548,15 +3546,15 @@ msgstr "顶部对齐 (%s)" msgid "workspace.assets.assets" msgstr "素材" -#: src/app/main/ui/workspace/sidebar/assets.cljs:146 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 msgid "workspace.assets.box-filter-all" msgstr "所有素材" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "颜色" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "组件" @@ -3568,15 +3566,15 @@ msgstr "创建组" msgid "workspace.assets.create-group-hint" msgstr "这些物件将按照“组名/物件名”的格式自动命名" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "删除" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "创建副本" -#: src/app/main/ui/workspace/sidebar/assets/components.cljs:548 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 msgid "workspace.assets.duplicate-main" msgstr "重复主体" @@ -3584,15 +3582,15 @@ msgstr "重复主体" msgid "workspace.assets.edit" msgstr "编辑" -#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 msgid "workspace.assets.filter" msgstr "过滤器" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "图形" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "组" @@ -3600,23 +3598,19 @@ msgstr "组" msgid "workspace.assets.group-name" msgstr "组名" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "库" - -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:336 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 msgid "workspace.assets.local-library" msgstr "本地库" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:320 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 msgid "workspace.assets.not-found" msgstr "未找到素材" -#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 msgid "workspace.assets.open-library" msgstr "打开库文档" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "重命名" @@ -3624,7 +3618,7 @@ msgstr "重命名" msgid "workspace.assets.rename-group" msgstr "重命名组" -#: src/app/main/ui/workspace/sidebar/assets.cljs:192 +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 msgid "workspace.assets.search" msgstr "搜索素材" @@ -3640,17 +3634,17 @@ msgstr[1] "已选中%s个物件" msgid "workspace.assets.shared-library" msgstr "共享库" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:226 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 msgid "workspace.assets.sidebar.components" msgid_plural "workspace.assets.sidebar.components" msgstr[0] "1个组件" msgstr[1] "%s个组件" -#: src/app/main/ui/workspace/sidebar/assets.cljs:211 +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 msgid "workspace.assets.sort" msgstr "排序" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "排版" @@ -3659,27 +3653,27 @@ msgstr "排版" msgid "workspace.assets.typography.font-id" msgstr "字体" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "尺寸" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "变体" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:535 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 msgid "workspace.assets.typography.go-to-edit" msgstr "前往样式库文件进行编辑" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:525 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 msgid "workspace.assets.typography.letter-spacing" msgstr "字距" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:521 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 msgid "workspace.assets.typography.line-height" msgstr "行高" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" @@ -3687,7 +3681,7 @@ msgstr "Ag" msgid "workspace.assets.typography.text-styles" msgstr "文本样式" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:529 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 msgid "workspace.assets.typography.text-transform" msgstr "文本变换" @@ -3695,55 +3689,55 @@ msgstr "文本变换" msgid "workspace.assets.ungroup" msgstr "解组" -#: src/app/main/ui/workspace/context_menu.cljs:748 +#: src/app/main/ui/workspace/context_menu.cljs:764 msgid "workspace.context-menu.grid-cells.area" msgstr "新建区域" -#: src/app/main/ui/workspace/context_menu.cljs:751 +#: src/app/main/ui/workspace/context_menu.cljs:767 msgid "workspace.context-menu.grid-cells.create-board" msgstr "新建画板" -#: src/app/main/ui/workspace/context_menu.cljs:743 +#: src/app/main/ui/workspace/context_menu.cljs:759 msgid "workspace.context-menu.grid-cells.merge" msgstr "合并网格" -#: src/app/main/ui/workspace/context_menu.cljs:706 +#: src/app/main/ui/workspace/context_menu.cljs:722 msgid "workspace.context-menu.grid-track.column.add-after" msgstr "在右侧添加一列" -#: src/app/main/ui/workspace/context_menu.cljs:705 +#: src/app/main/ui/workspace/context_menu.cljs:721 msgid "workspace.context-menu.grid-track.column.add-before" msgstr "在左侧添加一列" -#: src/app/main/ui/workspace/context_menu.cljs:707 +#: src/app/main/ui/workspace/context_menu.cljs:723 msgid "workspace.context-menu.grid-track.column.delete" msgstr "删除此列" -#: src/app/main/ui/workspace/context_menu.cljs:708 +#: src/app/main/ui/workspace/context_menu.cljs:724 msgid "workspace.context-menu.grid-track.column.delete-shapes" msgstr "删除此列及其内容" -#: src/app/main/ui/workspace/context_menu.cljs:704 +#: src/app/main/ui/workspace/context_menu.cljs:720 msgid "workspace.context-menu.grid-track.column.duplicate" msgstr "复制此列" -#: src/app/main/ui/workspace/context_menu.cljs:713 +#: src/app/main/ui/workspace/context_menu.cljs:729 msgid "workspace.context-menu.grid-track.row.add-after" msgstr "在下方添加一行" -#: src/app/main/ui/workspace/context_menu.cljs:712 +#: src/app/main/ui/workspace/context_menu.cljs:728 msgid "workspace.context-menu.grid-track.row.add-before" msgstr "在上方添加一行" -#: src/app/main/ui/workspace/context_menu.cljs:714 +#: src/app/main/ui/workspace/context_menu.cljs:730 msgid "workspace.context-menu.grid-track.row.delete" msgstr "删除此行" -#: src/app/main/ui/workspace/context_menu.cljs:715 +#: src/app/main/ui/workspace/context_menu.cljs:731 msgid "workspace.context-menu.grid-track.row.delete-shapes" msgstr "删除此行及其内容" -#: src/app/main/ui/workspace/context_menu.cljs:711 +#: src/app/main/ui/workspace/context_menu.cljs:727 msgid "workspace.context-menu.grid-track.row.duplicate" msgstr "复制此行" @@ -3751,11 +3745,11 @@ msgstr "复制此行" msgid "workspace.focus.focus-mode" msgstr "禅模式" -#: src/app/main/ui/workspace/context_menu.cljs:378, src/app/main/ui/workspace/context_menu.cljs:663 +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 msgid "workspace.focus.focus-off" msgstr "退出禅模式" -#: src/app/main/ui/workspace/context_menu.cljs:377 +#: src/app/main/ui/workspace/context_menu.cljs:379 msgid "workspace.focus.focus-on" msgstr "关注" @@ -3909,33 +3903,32 @@ msgstr "切换到浅色主题" msgid "workspace.header.menu.undo" msgstr "撤销" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "重置" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:127 msgid "workspace.header.save-error" msgstr "保存时发生错误" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "已保存" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "正在保存" #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused msgid "workspace.header.unsaved" msgstr "未保存的修改" -#: src/app/main/ui/workspace/right_header.cljs:260 +#: src/app/main/ui/workspace/right_header.cljs:226 msgid "workspace.header.viewer" msgstr "预览模式(%s)" -#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:109 +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 msgid "workspace.header.zoom" msgstr "缩放" @@ -3947,7 +3940,7 @@ msgstr "填充 - 填充比例" msgid "workspace.header.zoom-fit" msgstr "适合 - 缩小以适合" -#: src/app/main/ui/workspace/right_header.cljs:129 +#: src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.zoom-fit-all" msgstr "缩放以适应所有" @@ -3955,15 +3948,15 @@ msgstr "缩放以适应所有" msgid "workspace.header.zoom-full-screen" msgstr "全屏" -#: src/app/main/ui/workspace/right_header.cljs:136 +#: src/app/main/ui/workspace/right_header.cljs:104 msgid "workspace.header.zoom-selected" msgstr "缩放到选定的位置" -#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:607 +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 msgid "workspace.layout_grid.editor.options.edit-grid" msgstr "编辑网格" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1295 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 msgid "workspace.layout_grid.editor.options.exit" msgstr "退出" @@ -3979,7 +3972,7 @@ msgstr "完成" msgid "workspace.layout_grid.editor.top-bar.locate" msgstr "定位" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1321 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" msgstr "定位网格布局" @@ -3988,7 +3981,7 @@ msgstr "定位网格布局" msgid "workspace.libraries.add" msgstr "添加" -#: src/app/main/ui/workspace/libraries.cljs:107, src/app/main/ui/workspace/libraries.cljs:133 +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 msgid "workspace.libraries.colors" msgstr "%s种颜色" @@ -4018,31 +4011,31 @@ msgstr "最近使用的颜色" msgid "workspace.libraries.colors.rgb-complementary" msgstr "RGB互补" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/colorpicker.cljs:515 +#: src/app/main/ui/workspace/colorpicker.cljs:511 msgid "workspace.libraries.colors.save-color" msgstr "保存颜色风格" -#: src/app/main/ui/workspace/libraries.cljs:101, src/app/main/ui/workspace/libraries.cljs:125 +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 msgid "workspace.libraries.components" msgstr "%s个组件" -#: src/app/main/ui/workspace/libraries.cljs:300 +#: src/app/main/ui/workspace/libraries.cljs:297 msgid "workspace.libraries.file-library" msgstr "文档库" -#: src/app/main/ui/workspace/libraries.cljs:104, src/app/main/ui/workspace/libraries.cljs:129 +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 msgid "workspace.libraries.graphics" msgstr "%s个图形" -#: src/app/main/ui/workspace/libraries.cljs:294 +#: src/app/main/ui/workspace/libraries.cljs:291 msgid "workspace.libraries.in-this-file" msgstr "本文档中的库" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "库" @@ -4051,63 +4044,59 @@ msgstr "库" msgid "workspace.libraries.library" msgstr "库" -#: src/app/main/ui/workspace/libraries.cljs:483 +#: src/app/main/ui/workspace/libraries.cljs:467 msgid "workspace.libraries.library-updates" msgstr "共享库更新" -#: src/app/main/ui/workspace/libraries.cljs:363 +#: src/app/main/ui/workspace/libraries.cljs:360 msgid "workspace.libraries.loading" msgstr "加载中…" -#: src/app/main/ui/workspace/libraries.cljs:481 +#: src/app/main/ui/workspace/libraries.cljs:465 msgid "workspace.libraries.no-libraries-need-sync" msgstr "没有需要更新的共享库" -#: src/app/main/ui/workspace/libraries.cljs:394 +#: src/app/main/ui/workspace/libraries.cljs:378 msgid "workspace.libraries.no-matches-for" msgstr "没有找到“%s”的匹配项" -#: src/app/main/ui/workspace/libraries.cljs:384 -msgid "workspace.libraries.no-shared-libraries-available" -msgstr "没有可用的共享库" - -#: src/app/main/ui/workspace/libraries.cljs:337 +#: src/app/main/ui/workspace/libraries.cljs:334 msgid "workspace.libraries.search-shared-libraries" msgstr "搜索共享库" -#: src/app/main/ui/workspace/libraries.cljs:333 +#: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.shared-libraries" msgstr "共享库" -#: src/app/main/ui/workspace/libraries.cljs:355 +#: src/app/main/ui/workspace/libraries.cljs:352 msgid "workspace.libraries.shared-library-btn" msgstr "连接共享库" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:311 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 msgid "workspace.libraries.text.multiple-typography" msgstr "复合排版" -#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:314 +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "断开所有排版的链接" -#: src/app/main/ui/workspace/libraries.cljs:110, src/app/main/ui/workspace/libraries.cljs:137 +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 msgid "workspace.libraries.typography" msgstr "%s个排版" -#: src/app/main/ui/workspace/libraries.cljs:326 +#: src/app/main/ui/workspace/libraries.cljs:323 msgid "workspace.libraries.unlink-library-btn" msgstr "断开共享库" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "更新" -#: src/app/main/ui/workspace/libraries.cljs:579 +#: src/app/main/ui/workspace/libraries.cljs:563 msgid "workspace.libraries.update.see-all-changes" msgstr "查看所有修改" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "更新" @@ -4127,39 +4116,39 @@ msgstr "编组模糊" msgid "workspace.options.blur-options.title.multiple" msgstr "选项模糊" -#: src/app/main/ui/workspace/sidebar/options/page.cljs:38, src/app/main/ui/workspace/sidebar/options/page.cljs:45 +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 msgid "workspace.options.canvas-background" msgstr "画布背景" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:431 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 msgid "workspace.options.clip-content" msgstr "剪辑内容" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "组件" -#: src/app/main/ui/viewer/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:181 +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 msgid "workspace.options.component.annotation" msgstr "注释" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:600 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 msgid "workspace.options.component.copy" msgstr "复制" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:173 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 msgid "workspace.options.component.create-annotation" msgstr "创建注释" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 msgid "workspace.options.component.edit-annotation" msgstr "编辑注释" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:416 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 msgid "workspace.options.component.swap" msgstr "交换组件" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:460 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 msgid "workspace.options.component.swap.empty" msgstr "你的库中还没有素材" @@ -4207,7 +4196,7 @@ msgstr "上下固定" msgid "workspace.options.design" msgstr "设计" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "导出" @@ -4216,13 +4205,13 @@ msgstr "导出" msgid "workspace.options.export-multiple" msgstr "导出已选择" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "输出1个元素" msgstr[1] "输出%s元素" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "后缀" @@ -4230,7 +4219,7 @@ msgstr "后缀" msgid "workspace.options.exporting-complete" msgstr "导出完成" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "正在导出…" @@ -4368,7 +4357,7 @@ msgstr "编组边框" msgid "workspace.options.guides.title" msgstr "参考线" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "高度" @@ -4678,19 +4667,19 @@ msgstr "已选中的图层" msgid "workspace.options.layout-item.advanced-ops" msgstr "高级选项" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "最大高度" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:528 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 msgid "workspace.options.layout-item.layout-item-max-w" msgstr "最大宽度" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:545 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 msgid "workspace.options.layout-item.layout-item-min-h" msgstr "最小高度" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:512 +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 msgid "workspace.options.layout-item.layout-item-min-w" msgstr "最小宽度" @@ -4804,11 +4793,11 @@ msgstr "间隔留空" msgid "workspace.options.layout.top" msgstr "顶部" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "更多颜色" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:155 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 msgid "workspace.options.more-lib-colors" msgstr "更多共享库颜色" @@ -4845,7 +4834,7 @@ msgstr "左上角" msgid "workspace.options.radius-top-right" msgstr "右上角" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "最近的" @@ -4853,11 +4842,11 @@ msgstr "最近的" msgid "workspace.options.retry" msgstr "重试" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "旋转" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:183 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 msgid "workspace.options.search-font" msgstr "搜索字体" @@ -4865,7 +4854,7 @@ msgstr "搜索字体" msgid "workspace.options.select-a-shape" msgstr "选择一个形状、画板或编组,拖至另一个画板,以创建关联。" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "已选颜色" @@ -4877,43 +4866,43 @@ msgstr "选项填充" msgid "workspace.options.selection-stroke" msgstr "选项边框" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "模糊" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:242 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 msgid "workspace.options.shadow-options.color" msgstr "阴影颜色" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:146 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 msgid "workspace.options.shadow-options.drop-shadow" msgstr "外阴影" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:147 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 msgid "workspace.options.shadow-options.inner-shadow" msgstr "内阴影" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:217 +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 msgid "workspace.options.shadow-options.spread" msgstr "展开" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "阴影" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:299 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 msgid "workspace.options.shadow-options.title.group" msgstr "编组阴影" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:298 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 msgid "workspace.options.shadow-options.title.multiple" msgstr "选项阴影" @@ -4921,7 +4910,7 @@ msgstr "选项阴影" msgid "workspace.options.show-fill-on-export" msgstr "在导出中显示" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:445 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 msgid "workspace.options.show-in-viewer" msgstr "在预览模式显示" @@ -4929,7 +4918,7 @@ msgstr "在预览模式显示" msgid "workspace.options.size" msgstr "尺寸" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:305 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 msgid "workspace.options.size-presets" msgstr "尺寸预设" @@ -4998,7 +4987,7 @@ msgstr "三角形" msgid "workspace.options.stroke-color" msgstr "线条颜色" -#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:165 +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 msgid "workspace.options.stroke-width" msgstr "线宽" @@ -5062,11 +5051,11 @@ msgstr "自动宽度" msgid "workspace.options.text-options.grow-fixed" msgstr "固定" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 msgid "workspace.options.text-options.letter-spacing" msgstr "字距" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:371 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 msgid "workspace.options.text-options.line-height" msgstr "行高" @@ -5130,15 +5119,15 @@ msgstr "大写" msgid "workspace.options.use-play-button" msgstr "点击页面顶端的播放按钮预览原型。" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:351 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 msgid "workspace.options.width" msgstr "宽度" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X轴" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y轴" @@ -5182,99 +5171,99 @@ msgstr "拆分节点(%s)" msgid "workspace.path.actions.snap-nodes" msgstr "对接节点 (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:537 +#: src/app/main/ui/workspace/context_menu.cljs:542 msgid "workspace.shape.menu.add-flex" msgstr "添加弹性布局" -#: src/app/main/ui/workspace/context_menu.cljs:541 +#: src/app/main/ui/workspace/context_menu.cljs:546 msgid "workspace.shape.menu.add-grid" msgstr "添加网格布局" -#: src/app/main/ui/workspace/context_menu.cljs:265 +#: src/app/main/ui/workspace/context_menu.cljs:266 msgid "workspace.shape.menu.back" msgstr "移至底层" -#: src/app/main/ui/workspace/context_menu.cljs:262 +#: src/app/main/ui/workspace/context_menu.cljs:263 msgid "workspace.shape.menu.backward" msgstr "向下移动一层" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "复制" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:438 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 msgid "workspace.shape.menu.create-annotation" msgstr "创建注释" -#: src/app/main/ui/workspace/context_menu.cljs:364 +#: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "转为画板" -#: src/app/main/ui/workspace/context_menu.cljs:561 +#: src/app/main/ui/workspace/context_menu.cljs:568 msgid "workspace.shape.menu.create-component" msgstr "创建组件" -#: src/app/main/ui/workspace/context_menu.cljs:565 +#: src/app/main/ui/workspace/context_menu.cljs:572 msgid "workspace.shape.menu.create-multiple-components" msgstr "创建多个组件" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "剪切" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "删除" -#: src/app/main/ui/workspace/context_menu.cljs:487 +#: src/app/main/ui/workspace/context_menu.cljs:489 msgid "workspace.shape.menu.delete-flow-start" msgstr "删除流程起点" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:443 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 msgid "workspace.shape.menu.detach-instance" msgstr "解绑实例" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 msgid "workspace.shape.menu.detach-instances-in-bulk" msgstr "解绑实例" -#: src/app/main/ui/workspace/context_menu.cljs:428, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 msgid "workspace.shape.menu.difference" msgstr "差集" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "创建副本" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "编辑" -#: src/app/main/ui/workspace/context_menu.cljs:434 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 msgid "workspace.shape.menu.exclude" msgstr "相减" -#: src/app/main/ui/workspace/context_menu.cljs:441, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 msgid "workspace.shape.menu.flatten" msgstr "展平" -#: src/app/main/ui/workspace/context_menu.cljs:282 +#: src/app/main/ui/workspace/context_menu.cljs:283 msgid "workspace.shape.menu.flip-horizontal" msgstr "水平翻转" -#: src/app/main/ui/workspace/context_menu.cljs:278 +#: src/app/main/ui/workspace/context_menu.cljs:279 msgid "workspace.shape.menu.flip-vertical" msgstr "垂直翻转" -#: src/app/main/ui/workspace/context_menu.cljs:489 +#: src/app/main/ui/workspace/context_menu.cljs:491 msgid "workspace.shape.menu.flow-start" msgstr "流程起点" -#: src/app/main/ui/workspace/context_menu.cljs:256 +#: src/app/main/ui/workspace/context_menu.cljs:257 msgid "workspace.shape.menu.forward" msgstr "向上移动一层" -#: src/app/main/ui/workspace/context_menu.cljs:259 +#: src/app/main/ui/workspace/context_menu.cljs:260 msgid "workspace.shape.menu.front" msgstr "移至顶层" @@ -5283,95 +5272,95 @@ msgstr "移至顶层" msgid "workspace.shape.menu.go-main" msgstr "前往主组件文档" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "编组" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "隐藏" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "显示/隐藏界面" -#: src/app/main/ui/workspace/context_menu.cljs:431 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 msgid "workspace.shape.menu.intersection" msgstr "差集" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "锁定" -#: src/app/main/ui/workspace/context_menu.cljs:355 +#: src/app/main/ui/workspace/context_menu.cljs:357 msgid "workspace.shape.menu.mask" msgstr "蒙板" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "粘贴" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "路径" -#: src/app/main/ui/workspace/context_menu.cljs:528 +#: src/app/main/ui/workspace/context_menu.cljs:532 msgid "workspace.shape.menu.remove-flex" msgstr "删除弹性布局" -#: src/app/main/ui/workspace/context_menu.cljs:531 +#: src/app/main/ui/workspace/context_menu.cljs:535 msgid "workspace.shape.menu.remove-grid" msgstr "移除网格布局" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 msgid "workspace.shape.menu.reset-overrides" msgstr "还原自定义选项" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:450 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 msgid "workspace.shape.menu.restore-main" msgstr "恢复主要组件" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "选择图层" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "显示" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:435 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 msgid "workspace.shape.menu.show-in-assets" msgstr "在素材面板中显示" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:453, src/app/main/ui/workspace/sidebar/assets/components.cljs:563 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 msgid "workspace.shape.menu.show-main" msgstr "显示主组件" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "移除缩略图" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "设为缩略图" -#: src/app/main/ui/workspace/context_menu.cljs:419 +#: src/app/main/ui/workspace/context_menu.cljs:421 msgid "workspace.shape.menu.transform-to-path" msgstr "转换为路径" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "取消编组" -#: src/app/main/ui/workspace/context_menu.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 msgid "workspace.shape.menu.union" msgstr "相加" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "取消锁定" -#: src/app/main/ui/workspace/context_menu.cljs:360 +#: src/app/main/ui/workspace/context_menu.cljs:362 msgid "workspace.shape.menu.unmask" msgstr "取消蒙版" @@ -5380,7 +5369,7 @@ msgstr "取消蒙版" msgid "workspace.shape.menu.update-components-in-bulk" msgstr "更新主要组件" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:456 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 msgid "workspace.shape.menu.update-main" msgstr "更新主组件" @@ -5392,11 +5381,11 @@ msgstr "收起侧边栏" msgid "workspace.sidebar.expand" msgstr "展开侧边栏" -#: src/app/main/ui/workspace/right_header.cljs:246, src/app/main/ui/workspace/right_header.cljs:247 +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 msgid "workspace.sidebar.history" msgstr "历史" -#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:127, src/app/main/ui/workspace/sidebar.cljs:131, src/app/main/ui/workspace/sidebar.cljs:140 +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 msgid "workspace.sidebar.layers" msgstr "图层" @@ -5432,7 +5421,7 @@ msgstr "形状" msgid "workspace.sidebar.layers.texts" msgstr "文本" -#: src/app/main/ui/viewer/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 msgid "workspace.sidebar.options.svg-attrs.title" msgstr "已导入SVG属性" @@ -5440,11 +5429,11 @@ msgstr "已导入SVG属性" msgid "workspace.sidebar.sitemap" msgstr "页面" -#: src/app/main/ui/workspace/left_header.cljs:92 +#: src/app/main/ui/workspace/left_header.cljs:97 msgid "workspace.sitemap" msgstr "站点地图" -#: src/app/main/ui/workspace/sidebar.cljs:134, src/app/main/ui/workspace/sidebar.cljs:143 +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 msgid "workspace.toolbar.assets" msgstr "素材" @@ -5452,35 +5441,35 @@ msgstr "素材" msgid "workspace.toolbar.color-palette" msgstr "调色盘(%s)" -#: src/app/main/ui/workspace/right_header.cljs:235, src/app/main/ui/workspace/right_header.cljs:236 +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 msgid "workspace.toolbar.comments" msgstr "评论(%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:181, src/app/main/ui/workspace/top_toolbar.cljs:182 +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 msgid "workspace.toolbar.curve" msgstr "曲线(%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 msgid "workspace.toolbar.ellipse" msgstr "椭圆(%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:143, src/app/main/ui/workspace/top_toolbar.cljs:144 +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 msgid "workspace.toolbar.frame" msgstr "画板(%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:60, src/app/main/ui/workspace/top_toolbar.cljs:61 +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 msgid "workspace.toolbar.image" msgstr "图片(%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:133, src/app/main/ui/workspace/top_toolbar.cljs:134 +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 msgid "workspace.toolbar.move" msgstr "移动 (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 msgid "workspace.toolbar.path" msgstr "路径(%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:152, src/app/main/ui/workspace/top_toolbar.cljs:153 +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 msgid "workspace.toolbar.rect" msgstr "矩形(%s)" @@ -5489,7 +5478,7 @@ msgstr "矩形(%s)" msgid "workspace.toolbar.shortcuts" msgstr "快捷键 (%s)" -#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 msgid "workspace.toolbar.text" msgstr "文本(%s)" @@ -5651,19 +5640,19 @@ msgstr "操作覆盖%s" msgid "workspace.undo.title" msgstr "历史" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "忽略" -#: src/app/main/data/workspace/libraries.cljs:1221 +#: src/app/main/data/workspace/libraries.cljs:1222 msgid "workspace.updates.more-info" msgstr "更多信息" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "共享库有更新" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "更新" diff --git a/frontend/translations/zh_Hant.po b/frontend/translations/zh_Hant.po index 50a34d43f5..9ba23b6ac8 100644 --- a/frontend/translations/zh_Hant.po +++ b/frontend/translations/zh_Hant.po @@ -1,20 +1,24 @@ msgid "" msgstr "" -"PO-Revision-Date: 2024-06-17 08:07+0000\n" +"PO-Revision-Date: 2025-03-20 13:42+0000\n" "Last-Translator: Anonymous \n" -"Language-Team: Chinese (Traditional) " +"Language-Team: Chinese (Traditional Han script) " "\n" "Language: zh_Hant\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.6-dev\n" +"X-Generator: Weblate 5.11-dev\n" #: src/app/main/ui/auth/register.cljs:133, src/app/main/ui/static.cljs:155, src/app/main/ui/viewer/login.cljs:98 msgid "auth.already-have-account" msgstr "已經有帳號了嗎?" +#: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:274 +msgid "auth.check-mail" +msgstr "檢查郵件" + #: src/app/main/ui/auth/register.cljs:277 msgid "auth.check-your-email" msgstr "檢查你的信箱,點擊信中連結來驗證並開始使用 Penpot。" @@ -32,11 +36,11 @@ msgstr "建立展示帳號" msgid "auth.create-demo-profile" msgstr "只是想試試看嗎?" -#: src/app/main/ui/auth/login.cljs:42 +#: src/app/main/ui/auth/login.cljs:43 msgid "auth.demo-warning" msgstr "此服務僅用於展示,請勿用於實際工作。專案內容將被定期清除。" -#: src/app/main/ui/auth/login.cljs:190, src/app/main/ui/viewer/login.cljs:84 +#: src/app/main/ui/auth/login.cljs:189, src/app/main/ui/viewer/login.cljs:84 msgid "auth.forgot-password" msgstr "忘記密碼?" @@ -44,39 +48,39 @@ msgstr "忘記密碼?" msgid "auth.fullname" msgstr "全名" -#: src/app/main/ui/auth/login.cljs:283 +#: src/app/main/ui/auth/login.cljs:282 msgid "auth.login-account-title" msgstr "登入我的帳號" #: src/app/main/ui/auth/register.cljs:137, src/app/main/ui/static.cljs:158, src/app/main/ui/viewer/login.cljs:101 msgid "auth.login-here" -msgstr "在此登入" +msgstr "在此登入。" -#: src/app/main/ui/auth/login.cljs:196 +#: src/app/main/ui/auth/login.cljs:195 msgid "auth.login-submit" msgstr "登入" -#: src/app/main/ui/auth/login.cljs:286 +#: src/app/main/ui/auth/login.cljs:285 msgid "auth.login-tagline" msgstr "Penpot 是用於設計與開發協作,免費且開源的設計工具" -#: src/app/main/ui/auth/login.cljs:223 +#: src/app/main/ui/auth/login.cljs:222 msgid "auth.login-with-github-submit" msgstr "GitHub" -#: src/app/main/ui/auth/login.cljs:229 +#: src/app/main/ui/auth/login.cljs:228 msgid "auth.login-with-gitlab-submit" msgstr "GitLab" -#: src/app/main/ui/auth/login.cljs:217 +#: src/app/main/ui/auth/login.cljs:216 msgid "auth.login-with-google-submit" msgstr "Google" -#: src/app/main/ui/auth/login.cljs:202 +#: src/app/main/ui/auth/login.cljs:201 msgid "auth.login-with-ldap-submit" msgstr "LDAP" -#: src/app/main/ui/auth/login.cljs:235, src/app/main/ui/auth/login.cljs:256 +#: src/app/main/ui/auth/login.cljs:234, src/app/main/ui/auth/login.cljs:255 msgid "auth.login-with-oidc-submit" msgstr "OpenID" @@ -100,7 +104,7 @@ msgstr "密碼重設連結已寄送至您的信箱。" msgid "auth.notifications.team-invitation-accepted" msgstr "已成功加入團隊" -#: src/app/main/ui/auth/login.cljs:180, src/app/main/ui/auth/register.cljs:95 +#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/register.cljs:95 msgid "auth.password" msgstr "密碼" @@ -128,14 +132,26 @@ msgstr "忘記密碼?" msgid "auth.recovery-submit" msgstr "修改密碼" -#: src/app/main/ui/auth/login.cljs:299, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 +#: src/app/main/ui/auth/login.cljs:298, src/app/main/ui/static.cljs:141, src/app/main/ui/viewer/login.cljs:87 msgid "auth.register" msgstr "還沒有帳號嗎?" -#: src/app/main/ui/auth/login.cljs:303, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 +#: src/app/main/ui/auth/register.cljs:254 +msgid "auth.register-account-tagline" +msgstr "讓我們知道在儀表板和電子郵件中應該如何稱呼您。" + +#: src/app/main/ui/auth/register.cljs:253 +msgid "auth.register-account-title" +msgstr "您的名稱" + +#: src/app/main/ui/auth/login.cljs:302, src/app/main/ui/auth/register.cljs:101, src/app/main/ui/auth/register.cljs:240, src/app/main/ui/static.cljs:145, src/app/main/ui/viewer/login.cljs:91 msgid "auth.register-submit" msgstr "建立帳號" +#: src/app/main/ui/auth/register.cljs:124 +msgid "auth.register-tagline" +msgstr "使用免費的 Penpot 帳戶,您可以建立無限制團隊,並與其他設計師和開發人員合作完成喜歡的專案 " + #: src/app/main/ui/auth/register.cljs:122 msgid "auth.register-title" msgstr "建立帳號" @@ -145,20 +161,37 @@ msgstr "建立帳號" msgid "auth.sidebar-tagline" msgstr "設計與原型製作的開源解決方案。" -#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1053, src/app/main/ui/workspace/main_menu.cljs:154 +#: src/app/main/ui/auth/register.cljs:157 +#, markdown +msgid "auth.terms-and-privacy-agreement" +msgstr "我同意[服務條款](%s)和[隱私權政策](%s)。" + +#: src/app/main/ui/auth/register.cljs:290, src/app/main/ui/dashboard/sidebar.cljs:1054, src/app/main/ui/workspace/main_menu.cljs:154 msgid "auth.terms-of-service" msgstr "服務條款" +#, unused +msgid "auth.terms-privacy-agreement" +msgstr "建立新帳戶時,您同意我們的服務條款和隱私權政策。" + #: src/app/main/ui/auth/register.cljs:275 msgid "auth.verification-email-sent" msgstr "我們會寄送一封驗證郵件至" +#: src/app/main/ui/auth/login.cljs:172, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:88 +msgid "auth.work-email" +msgstr "工作信箱" + #: src/app/main/ui/onboarding/questions.cljs #, unused msgid "branding-illustrations-marketing-pieces" msgstr "...品牌設計、插畫、行銷素材等。" -#: src/app/main/ui/workspace/libraries.cljs:311 +#: src/app/main/ui/comments.cljs:532 +msgid "comments.mentions.not-found" +msgstr "未找到 @%s 的聯絡人" + +#: src/app/main/ui/workspace/libraries.cljs:308 msgid "common.publish" msgstr "發怖" @@ -227,7 +260,7 @@ msgstr "分享原型" msgid "common.share-link.view-all" msgstr "全選" -#: src/app/main/ui/workspace/libraries.cljs:307 +#: src/app/main/ui/workspace/libraries.cljs:304 msgid "common.unpublish" msgstr "未發怖" @@ -277,7 +310,7 @@ msgstr "遊覽用戶界面" msgid "dashboard.access-tokens.copied-success" msgstr "已複製 Token" -#: src/app/main/ui/settings/access_tokens.cljs:191 +#: src/app/main/ui/settings/access_tokens.cljs:190 msgid "dashboard.access-tokens.create" msgstr "產生新的 Token" @@ -285,11 +318,11 @@ msgstr "產生新的 Token" msgid "dashboard.access-tokens.create.success" msgstr "已成功建立 Access Token。" -#: src/app/main/ui/settings/access_tokens.cljs:289 +#: src/app/main/ui/settings/access_tokens.cljs:288 msgid "dashboard.access-tokens.empty.add-one" msgstr "按下\"產生新 Token\" 按鈕來產生一個。" -#: src/app/main/ui/settings/access_tokens.cljs:288 +#: src/app/main/ui/settings/access_tokens.cljs:287 msgid "dashboard.access-tokens.empty.no-access-tokens" msgstr "你目前還沒有 Tokens。" @@ -313,23 +346,23 @@ msgstr "90 天" msgid "dashboard.access-tokens.expiration-never" msgstr "從不" -#: src/app/main/ui/settings/access_tokens.cljs:271 +#: src/app/main/ui/settings/access_tokens.cljs:270 msgid "dashboard.access-tokens.expired-on" msgstr "已於 %s 過期" -#: src/app/main/ui/settings/access_tokens.cljs:272 +#: src/app/main/ui/settings/access_tokens.cljs:271 msgid "dashboard.access-tokens.expires-on" msgstr "將於 %s 過期" -#: src/app/main/ui/settings/access_tokens.cljs:270 +#: src/app/main/ui/settings/access_tokens.cljs:269 msgid "dashboard.access-tokens.no-expiration" msgstr "沒有到期時間" -#: src/app/main/ui/settings/access_tokens.cljs:186 +#: src/app/main/ui/settings/access_tokens.cljs:185 msgid "dashboard.access-tokens.personal" msgstr "個人存取權杖" -#: src/app/main/ui/settings/access_tokens.cljs:187 +#: src/app/main/ui/settings/access_tokens.cljs:186 msgid "dashboard.access-tokens.personal.description" msgstr "個人存取權杖就像是帳號密碼驗證系統的替代方案,且可用於讓第三方應用程式存取 Penpot 內部 API" @@ -341,6 +374,10 @@ msgstr "權杖將於 %s 到期" msgid "dashboard.access-tokens.token-will-not-expire" msgstr "權杖沒有到期時間" +#: src/app/main/ui/dashboard/placeholder.cljs:35 +msgid "dashboard.add-file" +msgstr "加入檔案" + #: src/app/main/ui/dashboard/file_menu.cljs:301, src/app/main/ui/workspace/main_menu.cljs:612 msgid "dashboard.add-shared" msgstr "加入為共享檔案庫" @@ -349,7 +386,7 @@ msgstr "加入為共享檔案庫" msgid "dashboard.change-email" msgstr "更改電子郵件" -#: src/app/main/data/dashboard.cljs:288, src/app/main/data/dashboard.cljs:507 +#: src/app/main/data/dashboard.cljs:298, src/app/main/data/dashboard.cljs:526, src/app/main/data/workspace.cljs:544 msgid "dashboard.copy-suffix" msgstr "(複製)" @@ -357,6 +394,10 @@ msgstr "(複製)" msgid "dashboard.create-new-team" msgstr "建立新團隊" +#: src/app/main/ui/workspace/main_menu.cljs:623 +msgid "dashboard.create-version-menu" +msgstr "固定此版本" + #: src/app/main/ui/components/context_menu_a11y.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:659 msgid "dashboard.default-team-name" msgstr "你的 Penpot" @@ -381,6 +422,44 @@ msgstr "複本" msgid "dashboard.duplicate-multi" msgstr "複製 %s 個檔案" +#: src/app/main/ui/dashboard/files.cljs:199, src/app/main/ui/dashboard/projects.cljs:286 +msgid "dashboard.empty-placeholder-drafts-subtitle" +msgstr "專案成員建立草稿後,它將顯示在此處。" + +#: src/app/main/ui/dashboard/files.cljs:194, src/app/main/ui/dashboard/projects.cljs:281 +msgid "dashboard.empty-placeholder-drafts-title" +msgstr "還沒有草稿。" + +#: src/app/main/ui/dashboard/files.cljs:200, src/app/main/ui/dashboard/projects.cljs:287 +msgid "dashboard.empty-placeholder-files-subtitle" +msgstr "一旦專案成員建立文件,它將顯示在這裡。" + +#: src/app/main/ui/dashboard/files.cljs:195, src/app/main/ui/dashboard/projects.cljs:282 +msgid "dashboard.empty-placeholder-files-title" +msgstr "尚無文件。" + +#: src/app/main/ui/dashboard/placeholder.cljs:77 +#, markdown +msgid "dashboard.empty-placeholder-libraries" +msgstr "" +"新增到專案的圖庫將顯示在這裡。請分享您的檔案或從我們的[圖庫和範本](https://penpot.app/libraries-templates)" +"中新增。" + +#: src/app/main/ui/dashboard/placeholder.cljs +#, markdown, unused +msgid "dashboard.empty-placeholder-libraries-subtitle" +msgstr "" +"新增到專案的圖庫將顯示在這裡。請分享您的檔案或從我們的[圖庫和範本](https://penpot.app/libraries-templates)" +"中新增。" + +#: src/app/main/ui/dashboard/placeholder.cljs:73 +msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" +msgstr "新增至專案中的圖庫將顯示在此處。" + +#: src/app/main/ui/dashboard/placeholder.cljs:70 +msgid "dashboard.empty-placeholder-libraries-title" +msgstr "還沒有圖庫。" + #: src/app/main/ui/dashboard/file_menu.cljs:249, src/app/main/ui/dashboard/file_menu.cljs:254 msgid "dashboard.export-binary-multi" msgstr "下載 %s 個Penpot 檔案 (.penpot)" @@ -461,24 +540,32 @@ msgstr "將共享資料庫的內容加入檔案資料庫" msgid "dashboard.export.title" msgstr "匯出檔案" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:313 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:316 msgid "dashboard.fonts.deleted-placeholder" msgstr "已刪除字型" -#: src/app/main/ui/dashboard/fonts.cljs:210 +#: src/app/main/ui/dashboard/fonts.cljs:212 msgid "dashboard.fonts.dismiss-all" msgstr "全部取消" -#: src/app/main/ui/dashboard/fonts.cljs:445 +#: src/app/main/ui/dashboard/fonts.cljs:447 msgid "dashboard.fonts.empty-placeholder" msgstr "此處將會列出你上載的自訂字型。" -#: src/app/main/ui/dashboard/fonts.cljs:198 +#: src/app/main/ui/dashboard/fonts.cljs:450 +msgid "dashboard.fonts.empty-placeholder-viewer" +msgstr "尚無自訂字體。" + +#: src/app/main/ui/dashboard/fonts.cljs:451 +msgid "dashboard.fonts.empty-placeholder-viewer-sub" +msgstr "一旦專案成員上傳自訂字體,它將顯示在這裡。" + +#: src/app/main/ui/dashboard/fonts.cljs:200 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" msgstr[0] "添加了%s個字體" -#: src/app/main/ui/dashboard/fonts.cljs:174 +#: src/app/main/ui/dashboard/fonts.cljs:175 #, markdown msgid "dashboard.fonts.hero-text1" msgstr "" @@ -486,7 +573,7 @@ msgstr "" "字體將會列入本團隊共用檔案的可用字型家族清單。相同字型家族名稱的字體將被分組為**單一字型家族**。可上傳以下格式的字體:**TTF、OTF 和 " "WOFF**(任何一種)。" -#: src/app/main/ui/dashboard/fonts.cljs:186 +#: src/app/main/ui/dashboard/fonts.cljs:188 #, markdown msgid "dashboard.fonts.hero-text2" msgstr "" @@ -494,11 +581,19 @@ msgstr "" "中使用的字型。如需瞭解更多,請參閱[Penpot的服務條款](https://penpot.app/terms." "html)的內容權利部分。您可能還想閱讀有關 [字體許可](https://www.typography.com/faq) 的資訊。" -#: src/app/main/ui/dashboard/fonts.cljs:206 +#: src/app/main/ui/dashboard/fonts.cljs:208 msgid "dashboard.fonts.upload-all" msgstr "全部上傳" -#: src/app/main/ui/dashboard/import.cljs:452, src/app/main/ui/dashboard/project_menu.cljs:109 +#: src/app/main/ui/dashboard/fonts.cljs:193 +#, markdown +msgid "dashboard.fonts.warning-text" +msgstr "" +"我們發現您的字體可能存在與不同作業系統的垂直度量相關問題。為了檢查它,您可以使用字體垂直度量服務,例如[這個](https://vertical-" +"metrics.netlify.app/)。此外,我們建議使用 [Transfonter](https://transfonter.org/) 來產生 " +"webfonts 並修復錯誤。 " + +#: src/app/main/ui/dashboard/import.cljs:454, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "匯入檔案" @@ -508,20 +603,32 @@ msgstr "喔不!我們無法匯入此檔案" #, unused msgid "dashboard.import.analyze-error.components-v2" -msgstr "檔案中啟用了 Components v2 但這個團隊尚未支援。" +msgstr "檔案啟用了 components v2,但這個團隊尚未支援。" + +#: src/app/main/ui/dashboard.cljs:247 +msgid "dashboard.import.bad-url" +msgstr "導入失敗。範本網址不正確" + +#: src/app/main/ui/dashboard.cljs:241 +msgid "dashboard.import.error" +msgstr "導入失敗。請重試" #: src/app/main/ui/dashboard/import.cljs:292 msgid "dashboard.import.import-error" msgstr "匯入檔案時發生錯誤。檔案未匯入。" -#: src/app/main/ui/dashboard/import.cljs:466 +#: src/app/main/ui/dashboard/import.cljs:468 msgid "dashboard.import.import-message" msgstr "已成功匯入 %s 個檔案。" -#: src/app/main/ui/dashboard/import.cljs:461 +#: src/app/main/ui/dashboard/import.cljs:463 msgid "dashboard.import.import-warning" msgstr "部份檔案因包含無效物件而被移除。" +#: src/app/main/ui/dashboard.cljs:248 +msgid "dashboard.import.no-perms" +msgstr "您無權匯入至此團隊" + #: src/app/main/ui/dashboard/import.cljs:129 msgid "dashboard.import.progress.process-colors" msgstr "正在處理顏色" @@ -558,27 +665,27 @@ msgstr "邀請人員" msgid "dashboard.leave-team" msgstr "離開團隊" -#: src/app/main/ui/dashboard/templates.cljs:82, src/app/main/ui/dashboard/templates.cljs:157 +#: src/app/main/ui/dashboard/templates.cljs:83, src/app/main/ui/dashboard/templates.cljs:168 msgid "dashboard.libraries-and-templates" msgstr "資料庫和範本" -#: src/app/main/ui/dashboard/templates.cljs:158 +#: src/app/main/ui/dashboard/templates.cljs:169 msgid "dashboard.libraries-and-templates.explore" msgstr "探索更多內容並了解如何貢獻" -#: src/app/main/ui/dashboard/import.cljs:358, src/app/main/ui/workspace/libraries.cljs:150 +#: src/app/main/ui/dashboard/import.cljs:360, src/app/main/ui/workspace/libraries.cljs:151 msgid "dashboard.libraries-and-templates.import-error" msgstr "匯入範本時出現問題。範本並未匯入。" -#: src/app/main/ui/dashboard/libraries.cljs:51 +#: src/app/main/ui/dashboard/libraries.cljs:66 msgid "dashboard.libraries-title" msgstr "檔案庫" -#: src/app/main/ui/dashboard/placeholder.cljs:55 +#: src/app/main/ui/dashboard/placeholder.cljs:100 msgid "dashboard.loading-files" msgstr "正在載入檔案…" -#: src/app/main/ui/dashboard/fonts.cljs:439 +#: src/app/main/ui/dashboard/fonts.cljs:441 msgid "dashboard.loading-fonts" msgstr "正在載入字型…" @@ -594,11 +701,11 @@ msgstr "將 %s 個檔案移動至" msgid "dashboard.move-to-other-team" msgstr "移至其他團隊" -#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:252, src/app/main/ui/dashboard/projects.cljs:253 +#: src/app/main/ui/dashboard/files.cljs:105, src/app/main/ui/dashboard/projects.cljs:253, src/app/main/ui/dashboard/projects.cljs:254 msgid "dashboard.new-file" msgstr "+ 新檔案" -#: src/app/main/data/dashboard.cljs:482, src/app/main/data/dashboard.cljs:591 +#: src/app/main/data/dashboard.cljs:497, src/app/main/data/dashboard.cljs:609 msgid "dashboard.new-file-prefix" msgstr "新檔案" @@ -606,7 +713,7 @@ msgstr "新檔案" msgid "dashboard.new-project" msgstr "+ 新的專案" -#: src/app/main/data/dashboard.cljs:252, src/app/main/data/dashboard.cljs:594 +#: src/app/main/data/dashboard.cljs:257, src/app/main/data/dashboard.cljs:612 msgid "dashboard.new-project-prefix" msgstr "新專案" @@ -618,6 +725,10 @@ msgstr "找不到符合 「%s」的項目" msgid "dashboard.no-projects-placeholder" msgstr "釘選的專案會在此顯示" +#: src/app/main/ui/dashboard/comments.cljs:90 +msgid "dashboard.notifications" +msgstr "通知" + #: src/app/main/ui/auth/verify_token.cljs:34 msgid "dashboard.notifications.email-changed-successfully" msgstr "已成功更改您的電子郵件地址" @@ -626,10 +737,18 @@ msgstr "已成功更改您的電子郵件地址" msgid "dashboard.notifications.email-verified-successfully" msgstr "已成功驗證您的電子郵件地址" +#: src/app/main/data/profile.cljs:260 +msgid "dashboard.notifications.notifications-saved" +msgstr "通知設定已更新" + #: src/app/main/ui/settings/password.cljs:36 msgid "dashboard.notifications.password-saved" msgstr "密碼已儲存成功!" +#: src/app/main/ui/dashboard/comments.cljs:44 +msgid "dashboard.notifications.view" +msgstr "查看通知" + #: src/app/main/ui/dashboard/team.cljs:1133 msgid "dashboard.num-of-members" msgstr "%s 位成員" @@ -638,7 +757,7 @@ msgstr "%s 位成員" msgid "dashboard.open-in-new-tab" msgstr "在新分頁開啟檔案" -#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/projects.cljs:261, src/app/main/ui/dashboard/projects.cljs:262 +#: src/app/main/ui/dashboard/files.cljs:118, src/app/main/ui/dashboard/grid.cljs:426, src/app/main/ui/dashboard/projects.cljs:262, src/app/main/ui/dashboard/projects.cljs:263 msgid "dashboard.options" msgstr "選項" @@ -646,10 +765,38 @@ msgstr "選項" msgid "dashboard.password-change" msgstr "修改密碼" +#: src/app/main/data/common.cljs:209 +msgid "dashboard.permissions-change.admin" +msgstr "您現在是該團隊的管理員。" + +#: src/app/main/data/common.cljs:208 +msgid "dashboard.permissions-change.editor" +msgstr "您現在是這個團隊的編輯。" + +#: src/app/main/data/common.cljs:210 +msgid "dashboard.permissions-change.owner" +msgstr "您現在是這個團隊的老大。" + +#: src/app/main/data/common.cljs:207 +msgid "dashboard.permissions-change.viewer" +msgstr "您現在是該團隊的查看者。" + #: src/app/main/ui/dashboard/pin_button.cljs:24, src/app/main/ui/dashboard/project_menu.cljs:96 msgid "dashboard.pin-unpin" msgstr "釘選/取消釘選" +#: src/app/main/ui/dashboard.cljs:208 +msgid "dashboard.plugins.bad-url" +msgstr "外掛網址不正確" + +#: src/app/main/ui/dashboard.cljs:206 +msgid "dashboard.plugins.parse-error" +msgstr "無法解析外掛清單" + +#: src/app/main/ui/dashboard.cljs:169 +msgid "dashboard.plugins.try-plugin" +msgstr "嘗試外掛: " + #: src/app/main/ui/dashboard/projects.cljs:55 msgid "dashboard.projects-title" msgstr "專案" @@ -663,6 +810,10 @@ msgstr "想要移除您的帳號嗎?" msgid "dashboard.remove-shared" msgstr "不再作為共用資料庫" +#: src/app/main/data/common.cljs:242 +msgid "dashboard.removed-from-team" +msgstr "您不再是團隊“%s”的成員。" + #: src/app/main/ui/settings/profile.cljs:78 msgid "dashboard.save-settings" msgstr "儲存設定" @@ -683,10 +834,74 @@ msgstr "選擇介面語言" msgid "dashboard.select-ui-theme" msgstr "選擇主題" -#: src/app/main/ui/dashboard/projects.cljs:304 +#: src/app/main/ui/settings/notifications.cljs:57 +msgid "dashboard.settings.notifications.dashboard-comments.all" +msgstr "所有留言、提及和回應" + +#: src/app/main/ui/settings/notifications.cljs:59 +msgid "dashboard.settings.notifications.dashboard-comments.none" +msgstr "無" + +#: src/app/main/ui/settings/notifications.cljs:58 +msgid "dashboard.settings.notifications.dashboard-comments.partial" +msgstr "提及和回應" + +#: src/app/main/ui/settings/notifications.cljs:54 +msgid "dashboard.settings.notifications.dashboard-comments.title" +msgstr "文件註釋" + +#: src/app/main/ui/settings/notifications.cljs:53 +msgid "dashboard.settings.notifications.dashboard.title" +msgstr "儀表板通知" + +#: src/app/main/ui/settings/notifications.cljs:67 +msgid "dashboard.settings.notifications.email-comments.all" +msgstr "所有留言、提及和回應" + +#: src/app/main/ui/settings/notifications.cljs:69 +msgid "dashboard.settings.notifications.email-comments.none" +msgstr "無" + +#: src/app/main/ui/settings/notifications.cljs:68 +msgid "dashboard.settings.notifications.email-comments.partial" +msgstr "提及和回應" + +#: src/app/main/ui/settings/notifications.cljs:64 +msgid "dashboard.settings.notifications.email-comments.title" +msgstr "文件註釋" + +#: src/app/main/ui/settings/notifications.cljs:76 +msgid "dashboard.settings.notifications.email-invites.all" +msgstr "所有類型的邀請和請求" + +#: src/app/main/ui/settings/notifications.cljs:79 +msgid "dashboard.settings.notifications.email-invites.none" +msgstr "無" + +#: src/app/main/ui/settings/notifications.cljs:73 +msgid "dashboard.settings.notifications.email-invites.title" +msgstr "邀請和請求" + +#: src/app/main/ui/settings/notifications.cljs:63 +msgid "dashboard.settings.notifications.email.title" +msgstr "電子郵件通知" + +#: src/app/main/ui/settings/notifications.cljs:84 +msgid "dashboard.settings.notifications.submit" +msgstr "更新設定" + +#: src/app/main/ui/settings/notifications.cljs:52 +msgid "dashboard.settings.notifications.title" +msgstr "通知" + +#: src/app/main/ui/dashboard/projects.cljs:305 msgid "dashboard.show-all-files" msgstr "顯示所有檔案" +#: src/app/main/ui/workspace/main_menu.cljs:630 +msgid "dashboard.show-version-history" +msgstr "版本歷史記錄" + #: src/app/main/ui/dashboard/file_menu.cljs:97 msgid "dashboard.success-delete-file" msgid_plural "dashboard.success-delete-file" @@ -705,7 +920,7 @@ msgstr[0] "已成功為您的檔案建立副本" msgid "dashboard.success-duplicate-project" msgstr "你的專案已成功複製" -#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:588, src/app/main/ui/dashboard/sidebar.cljs:159 +#: src/app/main/ui/dashboard/file_menu.cljs:131, src/app/main/ui/dashboard/grid.cljs:614, src/app/main/ui/dashboard/sidebar.cljs:159 msgid "dashboard.success-move-file" msgstr "已成功移動您的檔案" @@ -749,6 +964,18 @@ msgstr "取消發佈資料庫" msgid "dashboard.update-settings" msgstr "更新設定" +#: src/app/main/ui/dashboard/sidebar.cljs:970 +msgid "dashboard.upgrade-plan.no-limits" +msgstr "無建立限制" + +#: src/app/main/ui/dashboard/sidebar.cljs:969 +msgid "dashboard.upgrade-plan.penpot-free" +msgstr "Penpot 免費" + +#: src/app/main/ui/dashboard/sidebar.cljs:972 +msgid "dashboard.upgrade-plan.power-up" +msgstr "提升" + #: src/app/main/ui/dashboard/team.cljs:909 msgid "dashboard.webhooks.active" msgstr "正在生效" @@ -757,6 +984,10 @@ msgstr "正在生效" msgid "dashboard.webhooks.active.explain" msgstr "當觸發此Webhook時,將會傳遞事件詳細信息" +#: src/app/main/ui/dashboard/team.cljs:954 +msgid "dashboard.webhooks.cant-edit" +msgstr "您只能刪除或修改您建立的 webhook。" + #: src/app/main/ui/dashboard/team.cljs:900 msgid "dashboard.webhooks.content-type" msgstr "內容類型" @@ -797,7 +1028,7 @@ msgstr "電子郵件" msgid "dashboard.your-name" msgstr "你的名字" -#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:35, src/app/main/ui/dashboard/libraries.cljs:40, src/app/main/ui/dashboard/projects.cljs:345, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 +#: src/app/main/ui/dashboard/file_menu.cljs:39, src/app/main/ui/dashboard/fonts.cljs:36, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:348, src/app/main/ui/dashboard/search.cljs:48, src/app/main/ui/dashboard/sidebar.cljs:319, src/app/main/ui/dashboard/team.cljs:531, src/app/main/ui/dashboard/team.cljs:781, src/app/main/ui/dashboard/team.cljs:1045, src/app/main/ui/dashboard/team.cljs:1092 msgid "dashboard.your-penpot" msgstr "你的 Penpot" @@ -813,11 +1044,15 @@ msgstr "注意" msgid "ds.component-subtitle" msgstr "待更新的元件:" -#: src/app/main/ui/comments.cljs:653, src/app/main/ui/comments.cljs:686, src/app/main/ui/comments.cljs:755, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 +#: src/app/main/ui/workspace/plugins.cljs:336, src/app/main/ui/workspace/plugins.cljs:390 +msgid "ds.confirm-allow" +msgstr "允許" + +#: src/app/main/ui/comments.cljs:672, src/app/main/ui/confirm.cljs:36, src/app/main/ui/workspace/plugins.cljs:330, src/app/main/ui/workspace/plugins.cljs:384 msgid "ds.confirm-cancel" msgstr "取消" -#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:141 +#: src/app/main/ui/confirm.cljs:37, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:148 msgid "ds.confirm-ok" msgstr "Ok" @@ -829,7 +1064,7 @@ msgstr "您確定嗎?" msgid "errors.auth-provider-not-allowed" msgstr "此設定檔不允許此驗證提供者" -#: src/app/main/ui/auth/login.cljs:77 +#: src/app/main/ui/auth/login.cljs:78 msgid "errors.auth-provider-not-configured" msgstr "尚未配置身份驗證供應商。" @@ -837,11 +1072,11 @@ msgstr "尚未配置身份驗證供應商。" msgid "errors.auth.unable-to-login" msgstr "閣下尚未登入。" -#: src/app/main/data/fonts.cljs:193, src/app/main/ui/dashboard/fonts.cljs:113 +#: src/app/main/data/fonts.cljs:192, src/app/main/ui/dashboard/fonts.cljs:114 msgid "errors.bad-font" msgstr "無法載入 %s 字體" -#: src/app/main/data/fonts.cljs:192 +#: src/app/main/data/fonts.cljs:191 msgid "errors.bad-font-plural" msgstr "無法載入 %s 字體" @@ -849,7 +1084,7 @@ msgstr "無法載入 %s 字體" msgid "errors.cannot-upload" msgstr "無法上傳此媒體檔案。" -#: src/app/main/data/workspace.cljs:1463, src/app/main/data/workspace.cljs:1660 +#: src/app/main/data/workspace.cljs:1484, src/app/main/data/workspace.cljs:1682 msgid "errors.clipboard-not-implemented" msgstr "你的瀏覽器無法執行此作業" @@ -861,7 +1096,7 @@ msgstr "電子信箱已被使用" msgid "errors.email-already-validated" msgstr "電子信箱已完成驗證。" -#, unused +#: src/app/main/ui/auth/register.cljs:64, src/app/main/ui/settings/password.cljs:27 msgid "errors.email-as-password" msgstr "你的電郵地址不能用作密碼" @@ -885,7 +1120,25 @@ msgstr "你正開啟的檔案包含Penpot尚未支援或停用'%s' 功能。" msgid "errors.feature-not-supported" msgstr "不支援 「%s」功能。" -#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:80, src/app/main/ui/auth/login.cljs:121, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 +#: src/app/main/ui/auth/register.cljs, src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/onboarding/team_choice.cljs, src/app/main/ui/setti ngs/access_tokens.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/settings/profile.cljs, src/app/main/ui/workspace/sidebar/assets.cljs +#, unused +msgid "errors.field-max-length" +msgstr "最多可包含 1 個字元。" + +#, unused +msgid "errors.field-min-length" +msgstr "至少須含 1 個字元。" + +#: src/app/main/ui/settings/team-form.cljs, src/app/main/ui/auth/register.cljs, src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/onboarding/team_choice.cljs, src/app/main/ui/settings/access_tokens.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/settings/profile.cljs, src/app/main/ui/workspace/sidebar/assets.cljs +#, unused +msgid "errors.field-not-all-whitespace" +msgstr "名稱必須包含除空格之外的字元。" + +#: src/app/main/errors.cljs:238 +msgid "errors.file-feature-mismatch" +msgstr "似乎啟用的功能和您嘗試打開的文件的功能不相容。需要先整合套用「%s」才能開啟該檔案。" + +#: src/app/main/data/auth.cljs:322, src/app/main/ui/auth/login.cljs:81, src/app/main/ui/auth/login.cljs:122, src/app/main/ui/auth/register.cljs:66, src/app/main/ui/auth/register.cljs:207, src/app/main/ui/auth/verify_token.cljs:94, src/app/main/ui/dashboard/team.cljs:193, src/app/main/ui/onboarding/team_choice.cljs:112, src/app/main/ui/settings/access_tokens.cljs:80, src/app/main/ui/settings/feedback.cljs:49 msgid "errors.generic" msgstr "發生了一些錯誤。" @@ -898,8 +1151,7 @@ msgstr "顏色無效" msgid "errors.invalid-email" msgstr "請輸入一個有效的電郵地址" -#: src/app/main/ui/settings/change_email.cljs -#, unused +#: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "電郵地址必須相同" @@ -915,7 +1167,7 @@ msgstr "邀請無效" msgid "errors.invite-invalid.info" msgstr "本邀請或已被取消或過期。" -#: src/app/main/ui/auth/login.cljs:106 +#: src/app/main/ui/auth/login.cljs:107 msgid "errors.ldap-disabled" msgstr "LDAP 驗證已停用。" @@ -923,6 +1175,10 @@ msgstr "LDAP 驗證已停用。" msgid "errors.max-quote-reached" msgstr "你已達「%s」上限。請聯絡支援。" +#: src/app/main/ui/dashboard/team.cljs:181, src/app/main/ui/onboarding/team_choice.cljs:100 +msgid "errors.maximum-invitations-by-request-reached" +msgstr "已達到單次請求中可邀請的電子郵件數量上限(%s)" + #: src/app/main/data/workspace/media.cljs:184 msgid "errors.media-too-large" msgstr "影像檔案過大,無法插入。" @@ -939,6 +1195,10 @@ msgstr "這好像不是個能用的影像。" msgid "errors.member-is-muted" msgstr "您邀請的人員設置了電子郵件靜音(垃圾郵件報告或高退件率)。" +#: src/app/main/errors.cljs:228 +msgid "errors.migration-in-progress" +msgstr "整合正在進行中" + #: src/app/main/ui/settings/password.cljs #, unused msgid "errors.password-invalid-confirmation" @@ -953,14 +1213,22 @@ msgstr "密碼至少需有 8 個字元" msgid "errors.paste-data-validation" msgstr "剪貼簿中的資料無效" -#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:102, src/app/main/ui/auth/login.cljs:110 +#: src/app/main/data/auth.cljs:312, src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:111 msgid "errors.profile-blocked" msgstr "已封鎖用戶" +#: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:176, src/app/main/ui/dashboard/team.cljs:611, src/app/main/ui/onboarding/team_choice.cljs:96, src/app/main/ui/settings/change_email.cljs:33 +msgid "errors.profile-is-muted" +msgstr "您的個人資料電子郵件關閉通知(垃圾郵件報告或高退回率)。" + #: src/app/main/data/auth.cljs:310, src/app/main/ui/auth/register.cljs:51 msgid "errors.registration-disabled" msgstr "目前並不開放註冊。" +#: src/app/main/errors.cljs:233 +msgid "errors.team-feature-mismatch" +msgstr "檢測到不相容的功能“%s”" + #: src/app/main/ui/dashboard/sidebar.cljs:374, src/app/main/ui/dashboard/team.cljs:387 msgid "errors.team-leave.insufficient-members" msgstr "成員不足,無法離開團隊,您可能希望將其刪除。" @@ -981,6 +1249,14 @@ msgstr "發生了預料之外的錯誤。" msgid "errors.unexpected-token" msgstr "未知的 token" +#, unused +msgid "errors.validation" +msgstr "驗證錯誤" + +#: src/app/main/errors.cljs:250 +msgid "errors.version-not-supported" +msgstr "檔案的版本號碼不相容" + #: src/app/main/ui/dashboard/team.cljs:844 msgid "errors.webhooks.connection" msgstr "連線錯誤,無法接上網址" @@ -1009,12 +1285,11 @@ msgstr "驗證時出現未有預料的錯誤" msgid "errors.webhooks.unexpected-status" msgstr "未預料狀態 %s" -#: src/app/main/ui/auth/login.cljs:114, src/app/main/ui/auth/login.cljs:118 +#: src/app/main/ui/auth/login.cljs:115, src/app/main/ui/auth/login.cljs:119 msgid "errors.wrong-credentials" msgstr "電子郵件或密碼似乎有誤。" -#: src/app/main/ui/settings/password.cljs -#, unused +#: src/app/main/ui/settings/password.cljs:24 msgid "errors.wrong-old-password" msgstr "舊密碼不正確" @@ -1058,11 +1333,11 @@ msgstr "協助解你的決技術問題。" msgid "feedback.twitter-title" msgstr "X支援帳戶" -#: src/app/main/ui/settings/notifications.cljs:38, src/app/main/ui/settings/password.cljs:29 +#: src/app/main/ui/settings/password.cljs:29 msgid "generic.error" msgstr "出現錯誤" -#: src/app/main/ui/viewer/inspect/attributes/blur.cljs:26 +#: src/app/main/ui/inspect/attributes/blur.cljs:26 msgid "inspect.attributes.blur" msgstr "模糊" @@ -1070,31 +1345,31 @@ msgstr "模糊" msgid "inspect.attributes.blur.value" msgstr "數值" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:112 +#: src/app/main/ui/inspect/attributes/common.cljs:112 msgid "inspect.attributes.color.hex" msgstr "HEX" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:114 +#: src/app/main/ui/inspect/attributes/common.cljs:114 msgid "inspect.attributes.color.hsla" msgstr "HSLA" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:113 +#: src/app/main/ui/inspect/attributes/common.cljs:113 msgid "inspect.attributes.color.rgba" msgstr "RGBA" -#: src/app/main/ui/viewer/inspect/attributes/fill.cljs:57 +#: src/app/main/ui/inspect/attributes/fill.cljs:57 msgid "inspect.attributes.fill" msgstr "填充" -#: src/app/main/ui/viewer/inspect/attributes/common.cljs:99, src/app/main/ui/viewer/inspect/attributes/image.cljs:51 +#: src/app/main/ui/inspect/attributes/common.cljs:99, src/app/main/ui/inspect/attributes/image.cljs:51 msgid "inspect.attributes.image.download" msgstr "下載原始圖片" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:39 +#: src/app/main/ui/inspect/attributes/image.cljs:39 msgid "inspect.attributes.image.height" msgstr "高度" -#: src/app/main/ui/viewer/inspect/attributes/image.cljs:32 +#: src/app/main/ui/inspect/attributes/image.cljs:32 msgid "inspect.attributes.image.width" msgstr "寬度" @@ -1123,19 +1398,48 @@ msgstr "圓角半徑" msgid "inspect.attributes.layout.rotation" msgstr "旋轉" +#: src/app/main/ui/inspect/attributes/layout.cljs +#, unused +msgid "inspect.attributes.layout.top" +msgstr "Top" + #: src/app/main/ui/inspect/attributes/layout.cljs #, unused msgid "inspect.attributes.layout.width" msgstr "寬度" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:57 +#: src/app/main/ui/inspect/attributes/shadow.cljs:57 msgid "inspect.attributes.shadow" msgstr "陰影" +#: src/app/main/ui/inspect/attributes/geometry.cljs:40 +msgid "inspect.attributes.size" +msgstr "大小和位置" + +#: src/app/main/ui/inspect/attributes/stroke.cljs:52 +msgid "inspect.attributes.stroke" +msgstr "斜線" + +#, permanent, unused +msgid "inspect.attributes.stroke.alignment.center" +msgstr "置中" + +#, permanent, unused +msgid "inspect.attributes.stroke.alignment.inner" +msgstr "裡面" + +#, permanent, unused +msgid "inspect.attributes.stroke.alignment.outer" +msgstr "外面" + #, unused msgid "inspect.attributes.stroke.style.dotted" msgstr "點線" +#, unused +msgid "inspect.attributes.stroke.style.mixed" +msgstr "混合" + #, unused msgid "inspect.attributes.stroke.style.none" msgstr "無" @@ -1149,103 +1453,179 @@ msgstr "實線" msgid "inspect.attributes.stroke.width" msgstr "寬度" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:81, src/app/main/ui/viewer/inspect/attributes/text.cljs:194 +#: src/app/main/ui/inspect/attributes/text.cljs:83, src/app/main/ui/inspect/attributes/text.cljs:196 msgid "inspect.attributes.typography" msgstr "字體" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:89, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:299 +#: src/app/main/ui/inspect/attributes/text.cljs:91, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:302 msgid "inspect.attributes.typography.font-family" msgstr "字型家族" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:317 +#: src/app/main/ui/inspect/attributes/text.cljs:109, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:320 msgid "inspect.attributes.typography.font-size" msgstr "字體大小" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:145 +#: src/app/main/ui/inspect/attributes/text.cljs:100, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:336 +msgid "inspect.attributes.typography.font-style" +msgstr "字體樣式" + +#: src/app/main/ui/inspect/attributes/text.cljs:118 +msgid "inspect.attributes.typography.font-weight" +msgstr "字體粗細" + +#: src/app/main/ui/inspect/attributes/text.cljs:136, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:389 +msgid "inspect.attributes.typography.letter-spacing" +msgstr "字母間距" + +#: src/app/main/ui/inspect/attributes/text.cljs:127, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:372 +msgid "inspect.attributes.typography.line-height" +msgstr "行高" + +#: src/app/main/ui/inspect/attributes/text.cljs:145 +msgid "inspect.attributes.typography.text-decoration" +msgstr "文字修飾" + +#: src/app/main/ui/inspect/attributes/text.cljs:147 msgid "inspect.attributes.typography.text-decoration.none" msgstr "無" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:146 +#: src/app/main/ui/inspect/attributes/text.cljs:148 msgid "inspect.attributes.typography.text-decoration.strikethrough" msgstr "刪除線" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:147 +#: src/app/main/ui/inspect/attributes/text.cljs:149 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "底線" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:429 +#: src/app/main/ui/inspect/attributes/text.cljs:158 +msgid "inspect.attributes.typography.text-transform" +msgstr "文字轉換" + +#: src/app/main/ui/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:432 msgid "inspect.attributes.typography.text-transform.lowercase" msgstr "全小寫" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:159 +#: src/app/main/ui/inspect/attributes/text.cljs:161 msgid "inspect.attributes.typography.text-transform.none" msgstr "無" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:160, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:425 +#: src/app/main/ui/inspect/attributes/text.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:428 msgid "inspect.attributes.typography.text-transform.titlecase" msgstr "詞首字母大寫" -#: src/app/main/ui/viewer/inspect/attributes/text.cljs:161, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:419 +#: src/app/main/ui/inspect/attributes/text.cljs:164 +msgid "inspect.attributes.typography.text-transform.unset" +msgstr "取消設定" + +#: src/app/main/ui/inspect/attributes/text.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:422 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "全大寫" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:152 +#: src/app/main/ui/inspect/right_sidebar.cljs:163 msgid "inspect.empty.help" msgstr "如果您想瞭解更多關於設計檢查的資訊,請訪問Penpot的幫助中心" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:155 +#: src/app/main/ui/inspect/right_sidebar.cljs:166 msgid "inspect.empty.more-info" msgstr "有關檢查的詳細資訊" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:124 +#: src/app/main/ui/inspect/right_sidebar.cljs:158 +msgid "inspect.empty.select" +msgstr "選擇一個形狀、版面或群組來檢查它們的屬性和程式碼" + +#: src/app/main/ui/inspect/right_sidebar.cljs:105 +msgid "inspect.tabs.code" +msgstr "程式碼" + +#: src/app/main/ui/inspect/right_sidebar.cljs:129 msgid "inspect.tabs.code.selected.circle" msgstr "圖形" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:126 +#: src/app/main/ui/inspect/right_sidebar.cljs:130 +msgid "inspect.tabs.code.selected.component" +msgstr "元件" + +#: src/app/main/ui/inspect/right_sidebar.cljs:131 msgid "inspect.tabs.code.selected.curve" msgstr "曲線" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:127 +#: src/app/main/ui/inspect/right_sidebar.cljs:132 msgid "inspect.tabs.code.selected.frame" msgstr "畫板" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:128 +#: src/app/main/ui/inspect/right_sidebar.cljs:133 msgid "inspect.tabs.code.selected.group" msgstr "群組" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:129 +#: src/app/main/ui/inspect/right_sidebar.cljs:134 msgid "inspect.tabs.code.selected.image" msgstr "圖像" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:131 +#: src/app/main/ui/inspect/right_sidebar.cljs:135 +msgid "inspect.tabs.code.selected.mask" +msgstr "遮罩" + +#: src/app/main/ui/inspect/right_sidebar.cljs:124 +msgid "inspect.tabs.code.selected.multiple" +msgstr "已選擇 %s" + +#: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.tabs.code.selected.path" msgstr "路徑" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:132 +#: src/app/main/ui/inspect/right_sidebar.cljs:137 msgid "inspect.tabs.code.selected.rect" msgstr "矩形" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:133 +#: src/app/main/ui/inspect/right_sidebar.cljs:138 msgid "inspect.tabs.code.selected.svg-raw" msgstr "SVG" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:134 +#: src/app/main/ui/inspect/right_sidebar.cljs:139 msgid "inspect.tabs.code.selected.text" msgstr "文字" -#: src/app/main/ui/viewer/inspect/right_sidebar.cljs:96 +#: src/app/main/ui/inspect/right_sidebar.cljs:101 msgid "inspect.tabs.info" msgstr "資訊" +#: src/app/main/ui/workspace/main_menu.cljs:162 +msgid "label.shortcuts" +msgstr "捷徑" + #: src/app/main/data/common.cljs:96, src/app/main/ui/dashboard/import.cljs:503 msgid "labels.accept" msgstr "接受" +#: src/app/main/ui/settings/sidebar.cljs:112 +msgid "labels.access-tokens" +msgstr "存取權杖(tokens)" + +#: src/app/main/ui/dashboard/team.cljs:1017 +msgid "labels.active" +msgstr "啟用" + +#: src/app/main/ui/workspace/libraries.cljs:176 +msgid "labels.add" +msgstr "新增" + +#: src/app/main/ui/dashboard/fonts.cljs:180 +msgid "labels.add-custom-font" +msgstr "新增自訂字體" + +#: src/app/main/ui/workspace/libraries.cljs:176 +msgid "labels.adding" +msgstr "新增..." + #: src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:313, src/app/main/ui/dashboard/team.cljs:554, src/app/main/ui/dashboard/team.cljs:584, src/app/main/ui/onboarding/team_choice.cljs:66 msgid "labels.admin" msgstr "管理員" -#: src/app/main/ui/workspace/tokens/context_menu.cljs:63, src/app/main/ui/workspace/tokens/context_menu.cljs:101, src/app/main/ui/workspace/tokens/token_pill.cljs:110 +#: src/app/main/ui/onboarding/questions.cljs:169 +msgid "labels.adobe-xd" +msgstr "Adobe XD 軟體" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:66, src/app/main/ui/workspace/tokens/context_menu.cljs:100, src/app/main/ui/workspace/tokens/token_pill.cljs:118 msgid "labels.all" msgstr "全部" @@ -1253,6 +1633,10 @@ msgstr "全部" msgid "labels.and" msgstr "及" +#: src/app/main/ui/onboarding/team_choice.cljs:186 +msgid "labels.back" +msgstr "返回" + #: src/app/main/ui/static.cljs:340 msgid "labels.bad-gateway.desc-message" msgstr "伺服器正在進行小型維修,請稍後重試。" @@ -1261,19 +1645,35 @@ msgstr "伺服器正在進行小型維修,請稍後重試。" msgid "labels.bad-gateway.main-message" msgstr "無效的閘道" -#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:177, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:506, src/app/main/ui/workspace/tokens/modals/themes.cljs:198 +#: src/app/main/data/common.cljs:135, src/app/main/ui/dashboard/change_owner.cljs:66, src/app/main/ui/dashboard/import.cljs:489, src/app/main/ui/dashboard/team.cljs:916, src/app/main/ui/delete_shared.cljs:35, src/app/main/ui/exports/assets.cljs:161, src/app/main/ui/exports/files.cljs:192, src/app/main/ui/settings/access_tokens.cljs:176, src/app/main/ui/viewer/share_link.cljs:204, src/app/main/ui/workspace/sidebar/assets/groups.cljs:145, src/app/main/ui/workspace/tokens/form.cljs:572, src/app/main/ui/workspace/tokens/modals/themes.cljs:234 msgid "labels.cancel" msgstr "取消" -#: src/app/main/ui/dashboard/comments.cljs:87, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:172, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:125, src/app/main/ui/workspace/libraries.cljs:645, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:275, src/app/main/ui/workspace/tokens/modals/themes.cljs:396, src/app/main/ui/workspace/tokens/modals.cljs:64 +#: src/app/main/ui/onboarding/questions.cljs:171 +msgid "labels.canva" +msgstr "油畫" + +#: src/app/main/ui/dashboard/comments.cljs:102, src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/exports/files.cljs:210, src/app/main/ui/settings/access_tokens.cljs:171, src/app/main/ui/viewer/login.cljs:71, src/app/main/ui/viewer/share_link.cljs:175, src/app/main/ui/workspace/comments.cljs:128, src/app/main/ui/workspace/libraries.cljs:627, src/app/main/ui/workspace/sidebar/debug.cljs:40, src/app/main/ui/workspace/sidebar/layers.cljs:300, src/app/main/ui/workspace/sidebar.cljs:276, src/app/main/ui/workspace/tokens/modals/themes.cljs:59, src/app/main/ui/workspace/tokens/modals/themes.cljs:166, src/app/main/ui/workspace/tokens/modals/themes.cljs:446, src/app/main/ui/workspace/tokens/modals.cljs:64 msgid "labels.close" msgstr "關閉" -#: src/app/main/ui/viewer/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:123 +#: src/app/main/ui/workspace/tokens/sets.cljs:219 +msgid "labels.collapse" +msgstr "摺疊" + +#: src/app/main/ui/comments.cljs:881 +msgid "labels.comment" +msgstr "留言" + +#: src/app/main/ui/comments.cljs:885 +msgid "labels.comment.mark-as-solved" +msgstr "標記為已解決" + +#: src/app/main/ui/viewer/comments.cljs:71, src/app/main/ui/workspace/comments.cljs:126 msgid "labels.comments" msgstr "評論" -#: src/app/main/ui/dashboard/sidebar.cljs:1016, src/app/main/ui/workspace/main_menu.cljs:114 +#: src/app/main/ui/dashboard/sidebar.cljs:1017, src/app/main/ui/workspace/main_menu.cljs:114 msgid "labels.community" msgstr "社群" @@ -1281,15 +1681,27 @@ msgstr "社群" msgid "labels.confirm-password" msgstr "確認密碼" -#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:101 +#: src/app/main/ui/dashboard/import.cljs:495, src/app/main/ui/exports/files.cljs:197, src/app/main/ui/onboarding/newsletter.cljs:106 msgid "labels.continue" msgstr "繼續" +#, unused +msgid "labels.continue-with" +msgstr "繼續" + #: src/app/main/ui/viewer/login.cljs:69 msgid "labels.continue-with-penpot" msgstr "以Penpot帳戶繼續" -#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:190 +#: src/app/main/ui/dashboard/team.cljs:683 +msgid "labels.copy-invitation-link" +msgstr "複製連結" + +#: src/app/main/ui/static.cljs:62 +msgid "labels.copyright" +msgstr "Kaleidos @2025" + +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:197 msgid "labels.create" msgstr "建立" @@ -1301,14 +1713,26 @@ msgstr "建立新團隊" msgid "labels.create-team.placeholder" msgstr "輸入新團隊名稱" +#, unused +msgid "labels.custom-fonts" +msgstr "自訂字體" + #: src/app/main/ui/settings/sidebar.cljs:80 msgid "labels.dashboard" msgstr "控制台" -#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:259, src/app/main/ui/dashboard/fonts.cljs:335, src/app/main/ui/dashboard/fonts.cljs:349, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:198, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:209, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:500, src/app/main/ui/workspace/tokens/modals/themes.cljs:365, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:52 +#: src/app/main/ui/dashboard/file_menu.cljs:326, src/app/main/ui/dashboard/fonts.cljs:261, src/app/main/ui/dashboard/fonts.cljs:337, src/app/main/ui/dashboard/fonts.cljs:351, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:952, src/app/main/ui/settings/access_tokens.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:216, src/app/main/ui/workspace/sidebar/versions.cljs:136, src/app/main/ui/workspace/tokens/form.cljs:565, src/app/main/ui/workspace/tokens/modals/themes.cljs:414, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:56 msgid "labels.delete" msgstr "刪除" +#: src/app/main/ui/comments.cljs:976 +msgid "labels.delete-comment" +msgstr "刪除留言" + +#: src/app/main/ui/comments.cljs:899 +msgid "labels.delete-comment-thread" +msgstr "刪除 thread" + #: src/app/main/ui/dashboard/team.cljs:689 msgid "labels.delete-invitation" msgstr "刪除邀請" @@ -1317,11 +1741,23 @@ msgstr "刪除邀請" msgid "labels.delete-multi-files" msgstr "刪除 %s 檔案" -#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:227, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/sidebar.cljs:814 +#: src/app/main/ui/onboarding/questions.cljs:246 +msgid "labels.developer" +msgstr "開發者" + +#: src/app/main/ui/onboarding/questions.cljs:260 +msgid "labels.director" +msgstr "導演" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:206 +msgid "labels.discard" +msgstr "捨棄" + +#: src/app/main/ui/dashboard/file_menu.cljs:29, src/app/main/ui/dashboard/files.cljs:79, src/app/main/ui/dashboard/files.cljs:177, src/app/main/ui/dashboard/projects.cljs:228, src/app/main/ui/dashboard/projects.cljs:232, src/app/main/ui/dashboard/sidebar.cljs:814 msgid "labels.drafts" msgstr "草稿" -#: src/app/main/ui/comments.cljs:903, src/app/main/ui/dashboard/fonts.cljs:256, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:205, src/app/main/ui/workspace/tokens/sidebar.cljs:198 +#: src/app/main/ui/comments.cljs:972, src/app/main/ui/dashboard/fonts.cljs:258, src/app/main/ui/dashboard/team.cljs:950, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:212, src/app/main/ui/workspace/tokens/sidebar.cljs:197 msgid "labels.edit" msgstr "編輯" @@ -1333,11 +1769,15 @@ msgstr "編輯檔案" msgid "labels.editor" msgstr "編輯者" +#: src/app/main/ui/onboarding/questions.cljs:404 +msgid "labels.event" +msgstr "事件" + #: src/app/main/ui/dashboard/team.cljs:705 msgid "labels.expired-invitation" msgstr "過期" -#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:359 +#: src/app/main/ui/exports/assets.cljs:170, src/app/main/ui/workspace/tokens/sidebar.cljs:418 msgid "labels.export" msgstr "匯出" @@ -1349,23 +1789,39 @@ msgstr "已停用迴響" msgid "labels.feedback-sent" msgstr "已發送迴響" -#: src/app/main/ui/dashboard/fonts.cljs:422 +#: src/app/main/ui/onboarding/questions.cljs:165 +msgid "labels.figma" +msgstr "Figma" + +#: src/app/main/ui/dashboard/fonts.cljs:424 msgid "labels.font-family" msgstr "字型家族" -#: src/app/main/ui/dashboard/fonts.cljs:423 +#, unused +msgid "labels.font-providers" +msgstr "字體提供者" + +#: src/app/main/ui/dashboard/fonts.cljs:425 msgid "labels.font-variants" msgstr "樣式" -#: src/app/main/ui/dashboard/fonts.cljs:54, src/app/main/ui/dashboard/sidebar.cljs:834 +#: src/app/main/ui/dashboard/fonts.cljs:55, src/app/main/ui/dashboard/sidebar.cljs:834 msgid "labels.fonts" msgstr "字型" -#: src/app/main/ui/dashboard/sidebar.cljs:1046, src/app/main/ui/workspace/main_menu.cljs:146 +#: src/app/main/ui/onboarding/questions.cljs:259 +msgid "labels.founder" +msgstr "執行長或創辦人" + +#: src/app/main/ui/onboarding/questions.cljs:258 +msgid "labels.freelancer" +msgstr "自由工作者" + +#: src/app/main/ui/dashboard/sidebar.cljs:1047, src/app/main/ui/workspace/main_menu.cljs:146 msgid "labels.github-repo" msgstr "Github 倉庫" -#: src/app/main/ui/dashboard/sidebar.cljs:1063, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 +#: src/app/main/ui/dashboard/sidebar.cljs:1064, src/app/main/ui/settings/sidebar.cljs:125, src/app/main/ui/workspace/main_menu.cljs:175 msgid "labels.give-feedback" msgstr "給予迴響" @@ -1373,22 +1829,42 @@ msgstr "給予迴響" msgid "labels.go-back" msgstr "返回" -#: src/app/main/ui/dashboard/sidebar.cljs:1009, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1079, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1104, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1290 +#: src/app/main/ui/onboarding/questions.cljs:248 +msgid "labels.graphic-design" +msgstr "平面設計" + +#: src/app/main/ui/dashboard/sidebar.cljs:1010, src/app/main/ui/workspace/main_menu.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1088, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1113, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1299 msgid "labels.help-center" msgstr "説明中心" -#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:72 +#: src/app/main/ui/viewer/comments.cljs:104, src/app/main/ui/workspace/comments.cljs:73 msgid "labels.hide-resolved-comments" msgstr "隱藏已解決的評論" -#: src/app/main/ui/dashboard/fonts.cljs:420 +#: src/app/main/ui/workspace/tokens/sidebar.cljs:413 +msgid "labels.import" +msgstr "匯入" + +#: src/app/main/ui/dashboard/team.cljs:1018 +msgid "labels.inactive" +msgstr "未啟用" + +#: src/app/main/ui/dashboard/fonts.cljs:422 msgid "labels.installed-fonts" msgstr "已安裝的字體" +#: src/app/main/ui/static.cljs:424 +msgid "labels.internal-error.desc-message" +msgstr "發生了一些狀況。請重試該操作,如果問題仍然存在,請聯絡支援人員。" + #: src/app/main/ui/static.cljs:423 msgid "labels.internal-error.main-message" msgstr "內部錯誤" +#: src/app/main/ui/onboarding/questions.cljs:173 +msgid "labels.invision" +msgstr "InVision 軟體" + #: src/app/main/ui/dashboard/sidebar.cljs:525, src/app/main/ui/dashboard/team.cljs:96, src/app/main/ui/dashboard/team.cljs:104, src/app/main/ui/dashboard/team.cljs:760 msgid "labels.invitations" msgstr "邀請" @@ -1397,14 +1873,30 @@ msgstr "邀請" msgid "labels.language" msgstr "語言" +#: src/app/main/ui/dashboard/sidebar.cljs:1040, src/app/main/ui/workspace/main_menu.cljs:138 +msgid "labels.libraries-and-templates" +msgstr "圖庫與範本" + +#: src/app/main/ui/auth/verify_token.cljs:100, src/app/main/ui/dashboard/grid.cljs:115, src/app/main/ui/dashboard/grid.cljs:134, src/app/main/ui/dashboard/import.cljs:253, src/app/main/ui/dashboard/placeholder.cljs:98, src/app/main/ui/ds/product/loader.cljs:85, src/app/main/ui/exports/files.cljs:62, src/app/main/ui/viewer.cljs:643, src/app/main/ui/workspace.cljs:118, src/app/main/ui.cljs:66, src/app/main/ui.cljs:104, src/app/main/ui.cljs:123 +msgid "labels.loading" +msgstr "載入中…" + #: src/app/main/ui/viewer/header.cljs:210 msgid "labels.log-or-sign" msgstr "登錄或註冊" -#: src/app/main/ui/dashboard/sidebar.cljs:1071 +#: src/app/main/ui/static.cljs:56, src/app/main/ui/static.cljs:134 +msgid "labels.login" +msgstr "登入" + +#: src/app/main/ui/dashboard/sidebar.cljs:1072 msgid "labels.logout" msgstr "登出" +#: src/app/main/ui/onboarding/questions.cljs:249 +msgid "labels.marketing" +msgstr "行銷" + #: src/app/main/ui/dashboard/team.cljs:506 msgid "labels.member" msgstr "成員" @@ -1417,10 +1909,23 @@ msgstr "成員" msgid "labels.new-password" msgstr "新密碼" +#: src/app/main/ui/dashboard/templates.cljs:289, src/app/main/ui/onboarding/questions.cljs:55, src/app/main/ui/viewer.cljs:112 +msgid "labels.next" +msgstr "下一個" + +#: src/app/main/ui/dashboard/comments.cljs:121, src/app/main/ui/workspace/comments.cljs:164 +msgid "labels.no-comments-available" +msgstr "你都瞭解了!新的評論通知將顯示在這裡。" + #: src/app/main/ui/dashboard/team.cljs:740 msgid "labels.no-invitations" msgstr "沒有待處理的邀請。" +#: src/app/main/ui/dashboard/team.cljs:742 +#, markdown +msgid "labels.no-invitations-hint" +msgstr "點擊**邀請人員(Invite People)**按鈕,邀請人員加入團隊。" + #: src/app/main/ui/static.cljs #, unused msgid "labels.not-found.desc-message" @@ -1430,16 +1935,29 @@ msgstr "此頁面可能不存在,或者您無權訪問。" msgid "labels.not-found.main-message" msgstr "喔不!" -#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1147 +#: src/app/main/ui/settings/sidebar.cljs:99 +msgid "labels.notifications" +msgstr "通知" + +#: src/app/main/ui/dashboard/projects.cljs:239, src/app/main/ui/dashboard/team.cljs:1147 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" msgstr[0] "%s 個檔案" +#: src/app/main/ui/viewer/thumbnails.cljs:82 +msgid "labels.num-of-frames" +msgid_plural "labels.num-of-frames" +msgstr[0] "1 版面" + #: src/app/main/ui/dashboard/team.cljs:1142 msgid "labels.num-of-projects" msgid_plural "labels.num-of-projects" msgstr[0] "%s 個專案" +#, unused +msgid "labels.ok" +msgstr "OK" + #: src/app/main/ui/settings/password.cljs:77 msgid "labels.old-password" msgstr "原有密碼" @@ -1449,10 +1967,22 @@ msgstr "原有密碼" msgid "labels.only-yours" msgstr "只有你" +#: src/app/main/ui/comments.cljs:891, src/app/main/ui/comments.cljs:955, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:293, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:322 +msgid "labels.options" +msgstr "選項" + #, unused msgid "labels.or" msgstr "或" +#: src/app/main/ui/onboarding/questions.cljs:140, src/app/main/ui/onboarding/questions.cljs:209, src/app/main/ui/onboarding/questions.cljs:298, src/app/main/ui/onboarding/questions.cljs:312, src/app/main/ui/onboarding/questions.cljs:383, src/app/main/ui/onboarding/questions.cljs:439 +msgid "labels.other" +msgstr "其他(請註明)" + +#: src/app/main/ui/onboarding/questions.cljs:100, src/app/main/ui/onboarding/questions.cljs:175, src/app/main/ui/onboarding/questions.cljs:251, src/app/main/ui/onboarding/questions.cljs:261, src/app/main/ui/onboarding/questions.cljs:351, src/app/main/ui/onboarding/questions.cljs:408 +msgid "labels.other-short" +msgstr "其他" + #: src/app/main/ui/dashboard/team.cljs:317, src/app/main/ui/dashboard/team.cljs:553, src/app/main/ui/dashboard/team.cljs:1128 msgid "labels.owner" msgstr "擁有者" @@ -1465,6 +1995,22 @@ msgstr "密碼" msgid "labels.pending-invitation" msgstr "待辦" +#: src/app/main/ui/comments.cljs:678 +msgid "labels.post" +msgstr "發佈" + +#: src/app/main/ui/onboarding/questions.cljs:51, src/app/main/ui/viewer.cljs:105 +msgid "labels.previous" +msgstr "先前" + +#: src/app/main/ui/onboarding/questions.cljs:245 +msgid "labels.product-design" +msgstr "產品或使用者體驗(UX)設計" + +#: src/app/main/ui/onboarding/questions.cljs:250 +msgid "labels.product-management" +msgstr "產品管理" + #: src/app/main/ui/settings/profile.cljs:128, src/app/main/ui/settings/sidebar.cljs:89 msgid "labels.profile" msgstr "個人檔案" @@ -1473,7 +2019,7 @@ msgstr "個人檔案" msgid "labels.projects" msgstr "專案" -#: src/app/main/ui/dashboard/sidebar.cljs:1029, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 +#: src/app/main/ui/dashboard/sidebar.cljs:1030, src/app/main/ui/settings/sidebar.cljs:118, src/app/main/ui/workspace/main_menu.cljs:130 msgid "labels.release-notes" msgstr "更新日誌" @@ -1491,7 +2037,7 @@ msgstr "移除" msgid "labels.remove-member" msgstr "移除團隊成員" -#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:51 +#: src/app/main/ui/dashboard/file_menu.cljs:278, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:548, src/app/main/ui/workspace/sidebar/assets/groups.cljs:153, src/app/main/ui/workspace/sidebar/versions.cljs:130, src/app/main/ui/workspace/tokens/sets_context_menu.cljs:55 msgid "labels.rename" msgstr "重新命名" @@ -1499,10 +2045,34 @@ msgstr "重新命名" msgid "labels.rename-team" msgstr "重新命名團隊" +#: src/app/main/ui/comments.cljs:641 +msgid "labels.replies" +msgstr "回覆" + +#: src/app/main/ui/comments.cljs:646 +msgid "labels.replies.new" +msgstr "新回覆" + +#: src/app/main/ui/comments.cljs:640 +msgid "labels.reply" +msgstr "回覆" + +#: src/app/main/ui/comments.cljs:645 +msgid "labels.reply.new" +msgstr "新回覆" + +#: src/app/main/ui/comments.cljs:721 +msgid "labels.reply.thread" +msgstr "回覆" + #: src/app/main/ui/dashboard/team.cljs:686 msgid "labels.resend-invitation" msgstr "重新發送邀請" +#: src/app/main/ui/workspace/sidebar/versions.cljs:133, src/app/main/ui/workspace/sidebar/versions.cljs:263 +msgid "labels.restore" +msgstr "還原" + #: src/app/main/ui/static.cljs:342, src/app/main/ui/static.cljs:351, src/app/main/ui/static.cljs:428 msgid "labels.retry" msgstr "重試" @@ -1511,14 +2081,22 @@ msgstr "重試" msgid "labels.role" msgstr "角色" -#: src/app/main/ui/dashboard/fonts.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:191, src/app/main/ui/workspace/tokens/form.cljs:510 +#: src/app/main/ui/dashboard/fonts.cljs:387, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:198, src/app/main/ui/workspace/tokens/form.cljs:577 msgid "labels.save" msgstr "儲存" -#: src/app/main/ui/dashboard/fonts.cljs:425 +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:506 +msgid "labels.search" +msgstr "搜尋" + +#: src/app/main/ui/dashboard/fonts.cljs:427 msgid "labels.search-font" msgstr "搜尋字體" +#: src/app/main/ui/onboarding/questions.cljs:85, src/app/main/ui/onboarding/questions.cljs:244, src/app/main/ui/onboarding/questions.cljs:255, src/app/main/ui/onboarding/questions.cljs:265 +msgid "labels.select-option" +msgstr "選擇選項" + #: src/app/main/ui/settings/feedback.cljs:79 msgid "labels.send" msgstr "傳送" @@ -1535,31 +2113,95 @@ msgstr "系統正在進行定期保養。" msgid "labels.service-unavailable.main-message" msgstr "暫停服務" +#: src/app/main/ui/workspace/tokens/sidebar.cljs:247 +msgid "labels.sets" +msgstr "套" + #: src/app/main/ui/dashboard/sidebar.cljs:539, src/app/main/ui/dashboard/team.cljs:95, src/app/main/ui/dashboard/team.cljs:109, src/app/main/ui/settings/options.cljs:80, src/app/main/ui/settings/sidebar.cljs:105 msgid "labels.settings" msgstr "設定" +#: src/app/main/ui/viewer/header.cljs:206 +msgid "labels.share" +msgstr "分享" + +#, unused +msgid "labels.share-prototype" +msgstr "分享原型" + #: src/app/main/ui/dashboard/sidebar.cljs:823 msgid "labels.shared-libraries" msgstr "檔案庫" -#: src/app/main/ui/viewer/comments.cljs:91, src/app/main/ui/workspace/comments.cljs:60, src/app/main/ui/workspace/comments.cljs:135 +#: src/app/main/ui/viewer/comments.cljs:83, src/app/main/ui/workspace/comments.cljs:55, src/app/main/ui/workspace/comments.cljs:137 +msgid "labels.show-all-comments" +msgstr "顯示所有留言" + +#: src/app/main/ui/viewer/comments.cljs:116 +msgid "labels.show-comments-list" +msgstr "顯示留言列表" + +#: src/app/main/ui/workspace/comments.cljs:67, src/app/main/ui/workspace/comments.cljs:139 +msgid "labels.show-mentions" +msgstr "僅顯示您的提及" + +#: src/app/main/ui/viewer/comments.cljs:92, src/app/main/ui/workspace/comments.cljs:61, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-your-comments" msgstr "僅顯示您的評論" -#: src/app/main/ui/dashboard/sidebar.cljs:1023, src/app/main/ui/workspace/main_menu.cljs:122 +#: src/app/main/ui/onboarding/questions.cljs:167 +msgid "labels.sketch" +msgstr "sketch" + +#: src/app/main/ui/onboarding/questions.cljs:56 +msgid "labels.start" +msgstr "開始" + +#: src/app/main/ui/dashboard/team.cljs:762 +msgid "labels.status" +msgstr "狀態" + +#: src/app/main/ui/onboarding/questions.cljs:247 +msgid "labels.student-teacher" +msgstr "學生或老師" + +#: src/app/main/ui/onboarding/questions.cljs:256 +msgid "labels.team-leader" +msgstr "隊長" + +#: src/app/main/ui/onboarding/questions.cljs:257 +msgid "labels.team-member" +msgstr "隊員" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:182 +msgid "labels.themes" +msgstr "佈景主題" + +#: src/app/main/ui/dashboard/sidebar.cljs:1024, src/app/main/ui/workspace/main_menu.cljs:122 msgid "labels.tutorials" msgstr "教學" +#: src/app/main/ui/dashboard/file_menu.cljs:264 +msgid "labels.unpublish-multi-files" +msgstr "取消發布 %s 個文件" + #: src/app/main/ui/settings/profile.cljs:111 msgid "labels.update" msgstr "更新" -#: src/app/main/ui/dashboard/fonts.cljs:245 +#: src/app/main/ui/dashboard/team_form.cljs:122 +msgid "labels.update-team" +msgstr "更新團隊" + +#: src/app/main/ui/dashboard/fonts.cljs:247 msgid "labels.upload" msgstr "上傳" -#: src/app/main/ui/dashboard/fonts.cljs:244 +#: src/app/main/ui/dashboard/fonts.cljs:174 +msgid "labels.upload-custom-fonts" +msgstr "上傳自訂字體" + +#: src/app/main/ui/dashboard/fonts.cljs:246 msgid "labels.uploading" msgstr "正在上傳…" @@ -1575,18 +2217,80 @@ msgstr "檢視者" msgid "labels.webhooks" msgstr "Webhook" +#: src/app/main/ui/comments.cljs:818 +msgid "labels.write-new-comment" +msgstr "撰寫新留言" + #: src/app/main/ui/dashboard/team.cljs:262 msgid "labels.you" msgstr "(你)" -#: src/app/main/ui/dashboard/sidebar.cljs:999 +#: src/app/main/ui/dashboard/sidebar.cljs:1000 msgid "labels.your-account" msgstr "你的帳戶" +#: src/app/main/ui/onboarding/questions.cljs:403 +msgid "labels.youtube" +msgstr "YouTube" + +#: src/app/main/ui/workspace/colorpicker.cljs:474, src/app/main/ui/workspace/colorpicker.cljs:475, src/app/main/ui/workspace/colorpicker.cljs:477 +msgid "media.choose-image" +msgstr "選擇圖片" + +#: src/app/main/ui/workspace/colorpicker.cljs:241 +msgid "media.gradient" +msgstr "坡度" + +#: src/app/main/data/workspace/media.cljs:274, src/app/main/ui/components/color_bullet.cljs:34, src/app/main/ui/components/color_bullet.cljs:47, src/app/main/ui/ds/utilities/swatch.cljs:40, src/app/main/ui/ds/utilities/swatch.cljs:53, src/app/main/ui/inspect/attributes/common.cljs:66, src/app/main/ui/workspace/colorpicker.cljs:243, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:239 +msgid "media.image" +msgstr "圖片" + +#: src/app/main/ui/inspect/attributes/common.cljs:77 +msgid "media.image.short" +msgstr "圖" + +#: src/app/main/ui/workspace/colorpicker.cljs:467 +msgid "media.keep-aspect-ratio" +msgstr "維持長寬比" + +#: src/app/main/ui/workspace/colorpicker.cljs:228 +#, unused +msgid "media.linear" +msgstr "線性 (Linear)" + #: src/app/main/data/media.cljs:49, src/app/main/data/workspace/media.cljs:222, src/app/main/data/workspace/media.cljs:460 msgid "media.loading" msgstr "正在載入圖片…" +#: src/app/main/ui/workspace/colorpicker.cljs:229 +#, unused +msgid "media.radial" +msgstr "放射狀的" + +#: src/app/main/ui/workspace/colorpicker.cljs:239 +msgid "media.solid" +msgstr "實心的" + +#: src/app/main/data/common.cljs:134 +msgid "modals.add-shared-confirm-empty.hint" +msgstr "你的圖庫是空的。一旦新增為共享圖庫,您建立的資產將可在其餘文件中使用。您確定要發布它嗎?" + +#: src/app/main/data/common.cljs:136 +msgid "modals.add-shared-confirm.accept" +msgstr "新增為共享圖庫" + +#: src/app/main/data/common.cljs:134 +msgid "modals.add-shared-confirm.hint" +msgstr "一旦新增為共享圖庫,該文件圖庫的資產將可供您的其餘文件使用。" + +#: src/app/main/data/common.cljs:133 +msgid "modals.add-shared-confirm.message" +msgstr "增加“%s”作為共享圖庫" + +#: src/app/main/ui/workspace/nudge.cljs:60 +msgid "modals.big-nudge" +msgstr "大距離微調" + #: src/app/main/ui/settings/change_email.cljs:111 msgid "modals.change-email.confirm-email" msgstr "驗證新電子郵件" @@ -1607,6 +2311,30 @@ msgstr "更改電子郵件" msgid "modals.change-email.title" msgstr "更改你的電郵" +#: src/app/main/ui/settings/access_tokens.cljs:153, src/app/main/ui/settings/access_tokens.cljs:159 +msgid "modals.create-access-token.copy-token" +msgstr "複製權杖(token)" + +#: src/app/main/ui/settings/access_tokens.cljs:131 +msgid "modals.create-access-token.expiration-date.label" +msgstr "截止日期" + +#: src/app/main/ui/settings/access_tokens.cljs:125 +msgid "modals.create-access-token.name.label" +msgstr "名稱" + +#: src/app/main/ui/settings/access_tokens.cljs:127 +msgid "modals.create-access-token.name.placeholder" +msgstr "該名稱可以幫助了解權杖(token)的用途" + +#: src/app/main/ui/settings/access_tokens.cljs:179 +msgid "modals.create-access-token.submit-label" +msgstr "建立權杖(token)" + +#: src/app/main/ui/settings/access_tokens.cljs:112 +msgid "modals.create-access-token.title" +msgstr "產生存取權杖(token)" + #: src/app/main/ui/dashboard/team.cljs:921 msgid "modals.create-webhook.submit-label" msgstr "設置Webhook" @@ -1623,6 +2351,22 @@ msgstr "訊息負載網址" msgid "modals.create-webhook.url.placeholder" msgstr "https://example.com/postreceive" +#: src/app/main/ui/settings/access_tokens.cljs:259 +msgid "modals.delete-acces-token.accept" +msgstr "刪除權杖(token)" + +#: src/app/main/ui/settings/access_tokens.cljs:258 +msgid "modals.delete-acces-token.message" +msgstr "您確定要刪除此權杖(token)嗎?" + +#: src/app/main/ui/settings/access_tokens.cljs:257 +msgid "modals.delete-acces-token.title" +msgstr "刪除權杖(token)" + +#: src/app/main/ui/settings/delete_account.cljs:59 +msgid "modals.delete-account.cancel" +msgstr "取消並保留我的帳戶" + #: src/app/main/ui/settings/delete_account.cljs:64 msgid "modals.delete-account.confirm" msgstr "是的,請刪除我的帳號" @@ -1635,6 +2379,26 @@ msgstr "刪除你的帳戶後,你會失去現有專案及檔案。" msgid "modals.delete-account.title" msgstr "您確定要刪除您的帳號嗎?" +#: src/app/main/ui/comments.cljs:869 +msgid "modals.delete-comment-thread.accept" +msgstr "刪除對話" + +#: src/app/main/ui/comments.cljs:868 +msgid "modals.delete-comment-thread.message" +msgstr "您確定要刪除此對話嗎?此主題下的所有留言都將被刪除。" + +#: src/app/main/ui/comments.cljs:867 +msgid "modals.delete-comment-thread.title" +msgstr "刪除對話" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:147 +msgid "modals.delete-component-annotation.message" +msgstr "您確實要刪除該註釋嗎?" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:146 +msgid "modals.delete-component-annotation.title" +msgstr "刪除註釋" + #: src/app/main/ui/dashboard/file_menu.cljs:124 msgid "modals.delete-file-confirm.accept" msgstr "刪除檔案" @@ -1659,14 +2423,30 @@ msgstr "您確定要刪除 %s 個檔案嗎?" msgid "modals.delete-file-multi-confirm.title" msgstr "正在刪除 %s 個檔案" -#: src/app/main/ui/dashboard/fonts.cljs:347 +#: src/app/main/ui/dashboard/fonts.cljs:350 +msgid "modals.delete-font-variant.message" +msgstr "您確實要刪除該字體樣式嗎?如果在文件中使用,它將不會加載。" + +#: src/app/main/ui/dashboard/fonts.cljs:349 msgid "modals.delete-font-variant.title" msgstr "正在刪除字體樣式" -#: src/app/main/ui/workspace/context_menu.cljs:627, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 +#: src/app/main/ui/dashboard/fonts.cljs:336 +msgid "modals.delete-font.message" +msgstr "您確實要刪除該字體嗎?如果在文件中使用,它將不會加載。" + +#: src/app/main/ui/dashboard/fonts.cljs:335 +msgid "modals.delete-font.title" +msgstr "刪除字型" + +#: src/app/main/ui/workspace/context_menu.cljs:643, src/app/main/ui/workspace/sidebar/sitemap.cljs:71 msgid "modals.delete-page.body" msgstr "您確定要刪除這個頁面嗎?" +#: src/app/main/ui/workspace/context_menu.cljs:642, src/app/main/ui/workspace/sidebar/sitemap.cljs:70 +msgid "modals.delete-page.title" +msgstr "刪除頁面" + #: src/app/main/ui/dashboard/project_menu.cljs:71 msgid "modals.delete-project-confirm.accept" msgstr "刪除專案" @@ -1684,10 +2464,34 @@ msgid "modals.delete-shared-confirm.accept" msgid_plural "modals.delete-shared-confirm.accept" msgstr[0] "刪除檔案" +#: src/app/main/ui/delete_shared.cljs:55 +msgid "modals.delete-shared-confirm.activated.no-files-message" +msgid_plural "modals.delete-shared-confirm.activated.no-files-message" +msgstr[0] "它們未在任何文件中啟用。" + +#: src/app/main/ui/delete_shared.cljs:57 +msgid "modals.delete-shared-confirm.activated.scd-message" +msgid_plural "modals.delete-shared-confirm.activated.scd-message" +msgstr[0] "此圖庫在此處啟動: " + +#: src/app/main/ui/delete_shared.cljs:46 +msgid "modals.delete-shared-confirm.message" +msgid_plural "modals.delete-shared-confirm.message" +msgstr[0] "您確實要刪除文件嗎?" + +#: src/app/main/ui/delete_shared.cljs:41 +msgid "modals.delete-shared-confirm.title" +msgid_plural "modals.delete-shared-confirm.title" +msgstr[0] "刪除文件" + #: src/app/main/ui/dashboard/sidebar.cljs:444 msgid "modals.delete-team-confirm.accept" msgstr "刪除團體" +#: src/app/main/ui/dashboard/sidebar.cljs:443 +msgid "modals.delete-team-confirm.message" +msgstr "您確定要刪除該團隊嗎?與團隊相關的所有專案和文件將永久刪除。" + #: src/app/main/ui/dashboard/sidebar.cljs:442 msgid "modals.delete-team-confirm.title" msgstr "正在刪除團體" @@ -1696,10 +2500,27 @@ msgstr "正在刪除團體" msgid "modals.delete-team-member-confirm.accept" msgstr "刪除成員" +#: src/app/main/ui/dashboard/team.cljs:454 +msgid "modals.delete-team-member-confirm.message" +msgstr "您確定要從團隊中刪除該成員嗎?" + #: src/app/main/ui/dashboard/team.cljs:453 msgid "modals.delete-team-member-confirm.title" msgstr "刪除團隊成員" +#: src/app/main/ui/delete_shared.cljs:59 +msgid "modals.delete-unpublish-shared-confirm.activated.hint" +msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint" +msgstr[0] "此文件中已使用的資產將保留在那裡(不會破壞任何設計)。" + +#: src/app/main/ui/dashboard/team.cljs:991 +msgid "modals.delete-webhook.accept" +msgstr "刪除 webhook" + +#: src/app/main/ui/dashboard/team.cljs:990 +msgid "modals.delete-webhook.message" +msgstr "您確定要刪除此 webhook 嗎?" + #: src/app/main/ui/dashboard/team.cljs:989 msgid "modals.delete-webhook.title" msgstr "刪除 Webhook" @@ -1712,10 +2533,50 @@ msgstr "修改 Webhook" msgid "modals.edit-webhook.title" msgstr "修改 Webhook" +#: src/app/main/ui/dashboard/team.cljs:243 +msgid "modals.invite-member-confirm.accept" +msgstr "發送邀請" + +#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/onboarding/team_choice.cljs:179 +msgid "modals.invite-member.emails" +msgstr "電子郵件,以逗號分隔" + +#: src/app/main/ui/dashboard/team.cljs:223 +msgid "modals.invite-member.repeated-invitation" +msgstr "有些電子郵件來自現任團隊成員。他們的邀請將不會被發送。" + +#: src/app/main/ui/dashboard/team.cljs:216 +msgid "modals.invite-team-member.text" +msgstr "您可以邀請成員加入團隊,以便他們可以存取此文件和所有團隊文件。" + +#: src/app/main/ui/dashboard/team.cljs:212 +msgid "modals.invite-team-member.title" +msgstr "邀請成員加入團隊" + +#: src/app/main/ui/dashboard/sidebar.cljs:432, src/app/main/ui/dashboard/team.cljs:421 +msgid "modals.leave-and-close-confirm.hint" +msgstr "由於您是該團隊的唯一成員,因此該團隊及其專案和文件將一起被刪除。" + +#: src/app/main/ui/dashboard/sidebar.cljs:431, src/app/main/ui/dashboard/team.cljs:420 +msgid "modals.leave-and-close-confirm.message" +msgstr "您確定要離開 %s 團隊嗎?" + #: src/app/main/ui/dashboard/change_owner.cljs:56 msgid "modals.leave-and-reassign.forbidden" msgstr "如果沒有其他成員晉升為團隊的擁有者,您則不能離開團隊。或者您可以選擇刪除該團隊。" +#: src/app/main/ui/dashboard/change_owner.cljs:52 +msgid "modals.leave-and-reassign.hint1" +msgstr "你是這個團隊的老大。離開前,請選擇另一位成員頂你的位。" + +#: src/app/main/ui/dashboard/change_owner.cljs:75 +msgid "modals.leave-and-reassign.promote-and-leave" +msgstr "晉升並離開" + +#: src/app/main/ui/dashboard/change_owner.cljs:31 +msgid "modals.leave-and-reassign.select-member-to-promote" +msgstr "選擇要上位的會員" + #: src/app/main/ui/dashboard/change_owner.cljs:46 msgid "modals.leave-and-reassign.title" msgstr "離開前" @@ -1732,18 +2593,229 @@ msgstr "您確定要離開這個團隊嗎?" msgid "modals.leave-confirm.title" msgstr "正在離開團隊" +#: src/app/main/ui/delete_shared.cljs:53 +msgid "modals.move-shared-confirm.accept" +msgid_plural "modals.move-shared-confirm.accept" +msgstr[0] "移動" + +#: src/app/main/ui/delete_shared.cljs:48 +msgid "modals.move-shared-confirm.message" +msgid_plural "modals.move-shared-confirm.message" +msgstr[0] "您確定要移動該圖庫嗎?" + +#: src/app/main/ui/delete_shared.cljs:43 +msgid "modals.move-shared-confirm.title" +msgid_plural "modals.move-shared-confirm.title" +msgstr[0] "移動圖庫" + +#: src/app/main/ui/workspace/main_menu.cljs:271, src/app/main/ui/workspace/nudge.cljs:47 +msgid "modals.nudge-title" +msgstr "微調量" + +#: src/app/main/ui/dashboard/team.cljs:374 +msgid "modals.promote-owner-confirm.accept" +msgstr "轉讓所有權" + +#: src/app/main/ui/dashboard/team.cljs:373 +msgid "modals.promote-owner-confirm.hint" +msgstr "如果您轉移所有權,您的角色將變為管理員,並失去對該團隊的一些權限。 " + #: src/app/main/ui/dashboard/team.cljs:372 msgid "modals.promote-owner-confirm.message" msgstr "您是此團隊的當前擁有者。您是否確實要使 %s 成為團隊的新擁有者?" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:393 +#: src/app/main/ui/dashboard/team.cljs:371 +msgid "modals.promote-owner-confirm.title" +msgstr "新團隊老大" + +#: src/app/main/ui/workspace/libraries.cljs:270 +msgid "modals.publish-empty-library.accept" +msgstr "發布" + +#: src/app/main/ui/workspace/libraries.cljs:269 +msgid "modals.publish-empty-library.message" +msgstr "你的圖庫是空的。您確定要發布它嗎?" + +#: src/app/main/ui/workspace/libraries.cljs:268 +msgid "modals.publish-empty-library.title" +msgstr "發布空圖庫" + +#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs +#, unused +msgid "modals.remove-shared-confirm.accept" +msgstr "刪除共享圖庫" + +#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs +#, unused +msgid "modals.remove-shared-confirm.hint" +msgstr "一旦從共享圖庫中刪除,該文件的文件庫將不再可供其餘文件使用。" + +#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs +#, unused +msgid "modals.remove-shared-confirm.message" +msgstr "移除“%s”共享庫" + +#: src/app/main/ui/workspace/nudge.cljs:53 +msgid "modals.small-nudge" +msgstr "小幅微調" + +#: src/app/main/ui/delete_shared.cljs:52 +msgid "modals.unpublish-shared-confirm.accept" +msgid_plural "modals.unpublish-shared-confirm.accept" +msgstr[0] "取消發布" + +#: src/app/main/ui/delete_shared.cljs:47 +msgid "modals.unpublish-shared-confirm.message" +msgid_plural "modals.unpublish-shared-confirm.message" +msgstr[0] "您確實要取消發布該圖庫嗎?" + +#: src/app/main/ui/delete_shared.cljs:42 +msgid "modals.unpublish-shared-confirm.title" +msgid_plural "modals.unpublish-shared-confirm.title" +msgstr[0] "取消圖庫" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs +#, unused +msgid "modals.update-remote-component-in-bulk.hint" +msgstr "您即將更新共用圖庫中的元件。這可能會影響使用它的其他文件。" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs +#, unused +msgid "modals.update-remote-component-in-bulk.message" +msgstr "更新共用圖庫中的元件" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:403 msgid "modals.update-remote-component.accept" msgstr "更新" -#: src/app/main/ui/workspace/sidebar/assets/common.cljs:392 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:402 msgid "modals.update-remote-component.cancel" msgstr "取消" +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:401 +msgid "modals.update-remote-component.hint" +msgstr "您即將更新共用圖庫中的元件。這可能會影響使用它的其他文件。" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:400 +msgid "modals.update-remote-component.message" +msgstr "更新共用圖庫中的元件" + +#: src/app/main/ui/static.cljs:331 +msgid "not-found.desc-message.doesnt-exist" +msgstr "該頁面不存在" + +#: src/app/main/ui/static.cljs:330 +msgid "not-found.desc-message.error" +msgstr "404 錯誤" + +#: src/app/main/ui/static.cljs:135 +msgid "not-found.login.free" +msgstr "Penpot 是一款免費的開源設計工具,用於設計和程式碼之間的協作" + +#: src/app/main/ui/auth/recovery_request.cljs:114 +msgid "not-found.login.sent-recovery" +msgstr "我們已將還原用的電子郵件發送至" + +#: src/app/main/ui/auth/recovery_request.cljs:116 +msgid "not-found.login.sent-recovery-check" +msgstr "檢查您的電子郵件並點擊連結以建立新密碼。" + +#: src/app/main/ui/static.cljs:149 +msgid "not-found.login.signup-free" +msgstr "免費註冊" + +#: src/app/main/ui/static.cljs:150 +msgid "not-found.login.start-using" +msgstr "立即開始使用 Penpot!" + +#: src/app/main/ui/static.cljs:64 +msgid "not-found.made-with-love" +msgstr "滿懷愛與開源精神傾心打造" + +#: src/app/main/ui/static.cljs:291 +msgid "not-found.no-permission.already-requested.file" +msgstr "您已經請求存取該文件。" + +#: src/app/main/ui/static.cljs:292 +msgid "not-found.no-permission.already-requested.or-others.file" +msgstr "您已要求存取此該團隊文件或專案。" + +#: src/app/main/ui/static.cljs:298 +msgid "not-found.no-permission.already-requested.or-others.project" +msgstr "您已要求存取此團隊專案或文件。" + +#: src/app/main/ui/static.cljs:297 +msgid "not-found.no-permission.already-requested.project" +msgstr "您已經要求存取該專案。" + +#: src/app/main/ui/static.cljs:312, src/app/main/ui/static.cljs:321 +msgid "not-found.no-permission.ask" +msgstr "請求存取" + +#: src/app/main/ui/static.cljs:304 +msgid "not-found.no-permission.done.remember" +msgstr "請記住,如果團隊老大允許,您將被邀請加入該團隊。" + +#: src/app/main/ui/static.cljs:303 +msgid "not-found.no-permission.done.success" +msgstr "您的請求已正確發送!" + +#: src/app/main/ui/static.cljs:309 +msgid "not-found.no-permission.file" +msgstr "您無權存取此文件。" + +#: src/app/main/ui/static.cljs:51, src/app/main/ui/static.cljs:287, src/app/main/ui/static.cljs:293, src/app/main/ui/static.cljs:299, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:314, src/app/main/ui/static.cljs:323 +msgid "not-found.no-permission.go-dashboard" +msgstr "前往您的 Penpot" + +#: src/app/main/ui/static.cljs:311, src/app/main/ui/static.cljs:320 +msgid "not-found.no-permission.if-approves" +msgstr "如果團隊老大允許,你會被邀請加入團隊。" + +#: src/app/main/ui/static.cljs:249, src/app/main/ui/static.cljs:261 +msgid "not-found.no-permission.penpot-file" +msgstr "Penpot 文件" + +#: src/app/main/ui/static.cljs:286, src/app/main/ui/static.cljs:318 +msgid "not-found.no-permission.project" +msgstr "您無權存取此專案。" + +#: src/app/main/ui/static.cljs:248, src/app/main/ui/static.cljs:259 +msgid "not-found.no-permission.project-name" +msgstr "專案" + +#: src/app/main/ui/static.cljs:310 +msgid "not-found.no-permission.you-can-ask.file" +msgstr "要存取此文件,您可以詢問團隊老大。" + +#: src/app/main/ui/static.cljs:319 +msgid "not-found.no-permission.you-can-ask.project" +msgstr "要存取該項目,您可以詢問團隊老大。" + +#: src/app/main/data/common.cljs:93 +msgid "notifications.by-code.maintenance" +msgstr "中斷維護:我們將在5分鐘內進行短暫維護。" + +#: src/app/main/data/common.cljs:83 +msgid "notifications.by-code.upgrade-version" +msgstr "有新版本可用,請重新整理頁面" + +#: src/app/main/ui/dashboard/team.cljs:164, src/app/main/ui/dashboard/team.cljs:636 +msgid "notifications.invitation-email-sent" +msgstr "邀請已成功發送" + +#: src/app/main/ui/dashboard/team.cljs:657 +msgid "notifications.invitation-link-copied" +msgstr "邀請連結已複製" + +#: src/app/main/ui/settings/delete_account.cljs:24 +msgid "notifications.profile-deletion-not-allowed" +msgstr "您無法刪除您的個人資料。繼續操作之前重新分配您的團隊。" + +#: src/app/main/ui/settings/options.cljs:26, src/app/main/ui/settings/profile.cljs:30 +msgid "notifications.profile-saved" +msgstr "個人資料保存成功!" + #: src/app/main/ui/settings/change_email.cljs:46 msgid "notifications.validation-email-sent" msgstr "已將驗證信傳送至 %s。請查看您的電子郵件信箱!" @@ -1752,10 +2824,46 @@ msgstr "已將驗證信傳送至 %s。請查看您的電子郵件信箱!" msgid "onboarding-v2.before-start.desc1" msgstr "我們有許多協助你開始使用Penpot的資源,例如使用者指南及我們的 Youtube 頻道。" -#: src/app/main/ui/onboarding/newsletter.cljs:97 +#, unused +msgid "onboarding-v2.before-start.desc2" +msgstr "有關如何使用 Penpot 的詳細資訊。從原型設計到組織或共享設計。" + +#, unused +msgid "onboarding-v2.before-start.desc2.title" +msgstr "使用者指南" + +#, unused +msgid "onboarding-v2.before-start.desc3" +msgstr "您可以觀看我們以及社群製作的教學。" + +#, unused +msgid "onboarding-v2.before-start.desc3.title" +msgstr "影片教學" + +#, unused +msgid "onboarding-v2.before-start.title" +msgstr "開始之前" + +#: src/app/main/ui/onboarding/newsletter.cljs:68 +msgid "onboarding-v2.newsletter.desc" +msgstr "訂閱 Penpot 簡報以了解最新的產品開發進度和新聞。" + +#: src/app/main/ui/onboarding/newsletter.cljs:88 +msgid "onboarding-v2.newsletter.news" +msgstr "向我發送有關 Penpot 的新聞(部落格文章、影片教學、串流媒體…)。" + +#: src/app/main/ui/onboarding/newsletter.cljs:96 +msgid "onboarding-v2.newsletter.privacy1" +msgstr "我們關心隱私,您可以在這裡閱讀我們的隱私宣告。 " + +#: src/app/main/ui/onboarding/newsletter.cljs:102 msgid "onboarding-v2.newsletter.privacy2" msgstr "我們只會向您發送相關電子郵件。您可以隨時在我們的通訊中通過取消訂閱連結來取消訂閱。" +#: src/app/main/ui/onboarding/newsletter.cljs:76 +msgid "onboarding-v2.newsletter.updates" +msgstr "向我發送產品更新(新功能、發布、修復…)。" + #, unused msgid "onboarding-v2.welcome.desc1" msgstr "Penpot係由Kaleidos及與社群成員共同協作的開放原始碼軟件。所有人皆可以下方法協作:" @@ -1764,6 +2872,266 @@ msgstr "Penpot係由Kaleidos及與社群成員共同協作的開放原始碼軟 msgid "onboarding-v2.welcome.desc2" msgstr "這是與整個社群和 Penpot 核心團隊一起學習、分享和討論 Penpot、它的現在和未來的公共空間。" +#, unused +msgid "onboarding-v2.welcome.desc2.title" +msgstr "參與社群活動" + +#, unused +msgid "onboarding-v2.welcome.desc3" +msgstr "在這裡你可以找到如何協作翻譯、功能請求、核心貢獻、漏洞搜尋等…" + +#, unused +msgid "onboarding-v2.welcome.desc3.title" +msgstr "貢獻指南" + +#: src/app/main/ui/onboarding/team_choice.cljs:30 +msgid "onboarding-v2.welcome.title" +msgstr "歡迎來到 Penpot!" + +#: src/app/main/ui/onboarding/team_choice.cljs:254 +msgid "onboarding.choice.team-up.continue-creating-team" +msgstr "繼續建立團隊" + +#: src/app/main/ui/onboarding/team_choice.cljs:264 +msgid "onboarding.choice.team-up.continue-without-a-team" +msgstr "在沒有團隊的情況下繼續" + +#: src/app/main/ui/onboarding/team_choice.cljs:193 +msgid "onboarding.choice.team-up.create-team-and-invite" +msgstr "建立團隊&邀請" + +#, unused +msgid "onboarding.choice.team-up.create-team-and-send-invites" +msgstr "建立團隊並發送邀請" + +#: src/app/main/ui/onboarding/team_choice.cljs:197 +msgid "onboarding.choice.team-up.create-team-and-send-invites-description" +msgstr "您可以以後邀請" + +#: src/app/main/ui/onboarding/team_choice.cljs:240 +msgid "onboarding.choice.team-up.create-team-desc" +msgstr "命名您的團隊後,您就可以邀請人們加入。" + +#: src/app/main/ui/onboarding/team_choice.cljs:249 +msgid "onboarding.choice.team-up.create-team-placeholder" +msgstr "輸入團隊名稱" + +#: src/app/main/ui/onboarding/team_choice.cljs:194 +msgid "onboarding.choice.team-up.create-team-without-invite" +msgstr "建立團隊" + +#, unused +msgid "onboarding.choice.team-up.create-team-without-inviting" +msgstr "無需邀請即可建立團隊" + +#: src/app/main/ui/dashboard/projects.cljs:95, src/app/main/ui/onboarding/team_choice.cljs:159 +msgid "onboarding.choice.team-up.invite-members" +msgstr "邀請成員" + +#: src/app/main/ui/onboarding/team_choice.cljs:160 +msgid "onboarding.choice.team-up.invite-members-info" +msgstr "記得把每個人都包括在內。開發人員、設計師、經理......多元化加起來:)" + +#: src/app/main/ui/dashboard/team.cljs:228, src/app/main/ui/onboarding/team_choice.cljs:169 +msgid "onboarding.choice.team-up.roles" +msgstr "邀請角色:" + +#: src/app/main/ui/onboarding/team_choice.cljs:257 +msgid "onboarding.choice.team-up.start-without-a-team" +msgstr "從沒有團隊開始" + +#: src/app/main/ui/onboarding/team_choice.cljs:259 +msgid "onboarding.choice.team-up.start-without-a-team-description" +msgstr "您可以晚點建立一個團隊。" + +#, unused +msgid "onboarding.newsletter.accept" +msgstr "是的,訂閱" + +#: src/app/main/ui/onboarding/newsletter.cljs:42 +msgid "onboarding.newsletter.acceptance-message" +msgstr "您的訂閱請求已發送,我們將向您發送電子郵件進行確認。" + +#: src/app/main/ui/onboarding/newsletter.cljs:100 +msgid "onboarding.newsletter.policy" +msgstr "隱私權政策。" + +#: src/app/main/ui/onboarding/newsletter.cljs:65 +msgid "onboarding.newsletter.title" +msgstr "想要收到 Penpot 新聞嗎?" + +#: src/app/main/ui/onboarding/questions.cljs:113 +msgid "onboarding.questions.lets-get-started" +msgstr "讓我們開始吧!" + +#: src/app/main/ui/onboarding/questions.cljs:94 +msgid "onboarding.questions.reasons.alternative" +msgstr "尋找 Figma、XD 等的替代品" + +#: src/app/main/ui/onboarding/questions.cljs:88 +msgid "onboarding.questions.reasons.exploring" +msgstr "正在探索" + +#: src/app/main/ui/onboarding/questions.cljs:91 +msgid "onboarding.questions.reasons.fit" +msgstr "評估 Penpot 是否適合我的團隊" + +#: src/app/main/ui/onboarding/questions.cljs:97 +msgid "onboarding.questions.reasons.testing" +msgstr "自架前測試" + +#: src/app/main/ui/onboarding/questions.cljs:407 +msgid "onboarding.questions.referer.article" +msgstr "文章(部落格、貼文、電子報)" + +#: src/app/main/ui/onboarding/questions.cljs:405 +msgid "onboarding.questions.referer.search" +msgstr "搜尋引擎(Google、Yahoo、Bing)" + +#: src/app/main/ui/onboarding/questions.cljs:406 +msgid "onboarding.questions.referer.social" +msgstr "社群媒體(X、Linkedin、FB 等)" + +#: src/app/main/ui/onboarding/questions.cljs:349 +msgid "onboarding.questions.start-with.code" +msgstr "從設計中產生真實程式碼" + +#: src/app/main/ui/onboarding/questions.cljs:347 +msgid "onboarding.questions.start-with.ds" +msgstr "建立設計系統" + +#: src/app/main/ui/onboarding/questions.cljs:345 +msgid "onboarding.questions.start-with.prototyping" +msgstr "原型設計" + +#: src/app/main/ui/onboarding/questions.cljs:341 +msgid "onboarding.questions.start-with.ui" +msgstr "設計APP的 UI/UX" + +#: src/app/main/ui/onboarding/questions.cljs:343 +msgid "onboarding.questions.start-with.wireframing" +msgstr "線框圖" + +#: src/app/main/ui/onboarding/questions.cljs:121 +msgid "onboarding.questions.step1.question1" +msgstr "您將使用 Penpot 來做什麼?" + +#: src/app/main/ui/onboarding/questions.cljs:128 +msgid "onboarding.questions.step1.question2" +msgstr "今天什麼風把你吹來Penpot?" + +#: src/app/main/ui/onboarding/questions.cljs:117 +msgid "onboarding.questions.step1.subtitle" +msgstr "請告訴我們一些關於您的訊息,以幫助我們讓 Penpot 為您服務。您的回答將幫助我們確定新功能的優先順序,並為您指明正確的入門方向。" + +#: src/app/main/ui/onboarding/questions.cljs:115 +msgid "onboarding.questions.step1.title" +msgstr "幫助我們了解你" + +#: src/app/main/ui/onboarding/questions.cljs:196 +msgid "onboarding.questions.step2.title" +msgstr "這些工具中您最常使用哪一個?" + +#: src/app/main/ui/onboarding/questions.cljs:289 +msgid "onboarding.questions.step3.question1" +msgstr "你做什麼工作?" + +#: src/app/main/ui/onboarding/questions.cljs:303 +msgid "onboarding.questions.step3.question2" +msgstr "你的角色是什麼?" + +#: src/app/main/ui/onboarding/questions.cljs:317 +msgid "onboarding.questions.step3.question3" +msgstr "貴公司的規模是多少?" + +#: src/app/main/ui/onboarding/questions.cljs:287 +msgid "onboarding.questions.step3.title" +msgstr "告訴我們你的工作" + +#: src/app/main/ui/onboarding/questions.cljs:370 +msgid "onboarding.questions.step4.title" +msgstr "您想從哪裡開始?" + +#: src/app/main/ui/onboarding/questions.cljs:428 +msgid "onboarding.questions.step5.title" +msgstr "您是如何了解 Penpot 的?" + +#: src/app/main/ui/onboarding/questions.cljs:268 +msgid "onboarding.questions.team-size.11-30" +msgstr "11-30" + +#: src/app/main/ui/onboarding/questions.cljs:269 +msgid "onboarding.questions.team-size.2-10" +msgstr "2-10" + +#: src/app/main/ui/onboarding/questions.cljs:267 +msgid "onboarding.questions.team-size.31-50" +msgstr "31-50" + +#: src/app/main/ui/onboarding/questions.cljs:270 +msgid "onboarding.questions.team-size.freelancer" +msgstr "我是自由工作者" + +#: src/app/main/ui/onboarding/questions.cljs:266 +msgid "onboarding.questions.team-size.more-than-50" +msgstr "超過 50" + +#: src/app/main/ui/onboarding/questions.cljs:271 +msgid "onboarding.questions.team-size.personal-project" +msgstr "我正在做個人專案" + +#: src/app/main/ui/onboarding/questions.cljs:80 +msgid "onboarding.questions.use.education" +msgstr "教育" + +#: src/app/main/ui/onboarding/questions.cljs:81 +msgid "onboarding.questions.use.personal" +msgstr "個人" + +#: src/app/main/ui/onboarding/questions.cljs:79 +msgid "onboarding.questions.use.work" +msgstr "工作" + +#: src/app/main/ui/onboarding/team_choice.cljs:238 +msgid "onboarding.team-modal.create-team" +msgstr "建立團隊" + +#: src/app/main/ui/onboarding/team_choice.cljs:34 +msgid "onboarding.team-modal.create-team-desc" +msgstr "團隊讓你可以與其他Penpot使用者在相同的檔案和專案中進行協作。" + +#: src/app/main/ui/onboarding/team_choice.cljs:39 +msgid "onboarding.team-modal.create-team-feature-1" +msgstr "無限的檔案和專案" + +#: src/app/main/ui/onboarding/team_choice.cljs:43 +msgid "onboarding.team-modal.create-team-feature-2" +msgstr "多人版" + +#: src/app/main/ui/onboarding/team_choice.cljs:47 +msgid "onboarding.team-modal.create-team-feature-3" +msgstr "角色管理" + +#: src/app/main/ui/onboarding/team_choice.cljs:51 +msgid "onboarding.team-modal.create-team-feature-4" +msgstr "無限成員" + +#: src/app/main/ui/onboarding/team_choice.cljs:55 +msgid "onboarding.team-modal.create-team-feature-5" +msgstr "100% 免費!" + +#: src/app/main/ui/onboarding/team_choice.cljs:32 +msgid "onboarding.team-modal.team-definition" +msgstr "什麼是團隊?" + +#: src/app/main/ui/onboarding/templates.cljs:78 +msgid "onboarding.templates.subtitle" +msgstr "這裡有一些模板。" + +#: src/app/main/ui/onboarding/templates.cljs:77 +msgid "onboarding.templates.title" +msgstr "開始設計" + #, unused msgid "onboarding.welcome.alt" msgstr "Penpot" @@ -1772,10 +3140,27 @@ msgstr "Penpot" msgid "profile.recovery.go-to-login" msgstr "前往登入" -#: src/app/main/ui/viewer/inspect/exports.cljs:147, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:355, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:366, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:386, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:397, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:413, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:315, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:380, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:397, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:172 +#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:223 +msgid "settings.detach" +msgstr "分離" + +#: src/app/main/ui/inspect/exports.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:90, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:712, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:831, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:137, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:162, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:342, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:357, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:53, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:352, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:363, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:410, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:302, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:182, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:400, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:247, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:173 msgid "settings.multiple" msgstr "混合" +#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:270 +msgid "settings.remove-color" +msgstr "移除顏色" + +#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:275 +msgid "settings.select-this-color" +msgstr "使用此樣式選擇項目" + +# SECTIONS +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:415 +msgid "shortcut-section.basics" +msgstr "基本" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:421 msgid "shortcut-section.dashboard" msgstr "儀表板" @@ -1788,14 +3173,59 @@ msgstr "檢視者" msgid "shortcut-section.workspace" msgstr "工作區" +# SUBSECTIONS +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:56 +msgid "shortcut-subsection.alignment" +msgstr "對齊" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:57 msgid "shortcut-subsection.edit" msgstr "編輯" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:58 +msgid "shortcut-subsection.general-dashboard" +msgstr "一般" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:59 +msgid "shortcut-subsection.general-viewer" +msgstr "一般" + #: src/app/main/ui/workspace/main_menu.cljs:829, src/app/main/ui/workspace/sidebar/shortcuts.cljs:60 msgid "shortcut-subsection.main-menu" msgstr "主功能表" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:61 +msgid "shortcut-subsection.modify-layers" +msgstr "修改圖層" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:62 +msgid "shortcut-subsection.navigation-dashboard" +msgstr "導航" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:63 +msgid "shortcut-subsection.navigation-viewer" +msgstr "導航" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:64 +msgid "shortcut-subsection.navigation-workspace" +msgstr "導航" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:65 +msgid "shortcut-subsection.panels" +msgstr "面板" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:66 +msgid "shortcut-subsection.path-editor" +msgstr "路徑" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:67 +msgid "shortcut-subsection.shape" +msgstr "形狀" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:68 +msgid "shortcut-subsection.text-editor" +msgstr "文字" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:69 msgid "shortcut-subsection.tools" msgstr "工具" @@ -1812,26 +3242,138 @@ msgstr "縮放" msgid "shortcuts.add-comment" msgstr "評論" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:73 +msgid "shortcuts.add-node" +msgstr "新增節點" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:74 +msgid "shortcuts.align-bottom" +msgstr "底部對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:75 +msgid "shortcuts.align-center" +msgstr "居中對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:76 +msgid "shortcuts.align-hcenter" +msgstr "水平居中對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:77 +msgid "shortcuts.align-justify" +msgstr "兩端對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:78 +msgid "shortcuts.align-left" +msgstr "左對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:79 +msgid "shortcuts.align-right" +msgstr "右對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:80 +msgid "shortcuts.align-top" +msgstr "頂部對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:81 +msgid "shortcuts.align-vcenter" +msgstr "垂直居中對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:82 +msgid "shortcuts.artboard-selection" +msgstr "從選擇中建立板" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:83 +msgid "shortcuts.bold" +msgstr "切換粗體" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:84 +msgid "shortcuts.bool-difference" +msgstr "布林差集" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:85 +msgid "shortcuts.bool-exclude" +msgstr "布林排除" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:86 +msgid "shortcuts.bool-intersection" +msgstr "布林交集" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:87 +msgid "shortcuts.bool-union" +msgstr "布林聯集" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:88 +msgid "shortcuts.bring-back" +msgstr "置於最底層" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:89 +msgid "shortcuts.bring-backward" +msgstr "向後發送" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:90 +msgid "shortcuts.bring-forward" +msgstr "向前移動" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:91 +msgid "shortcuts.bring-front" +msgstr "置於最前面" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:92 +msgid "shortcuts.clear-undo" +msgstr "清除undo" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:93 msgid "shortcuts.copy" msgstr "複製" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:94 +msgid "shortcuts.copy-link" +msgstr "將連結複製到剪貼簿" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:95 +msgid "shortcuts.create-component" +msgstr "建立元件" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:96 +msgid "shortcuts.create-new-project" +msgstr "建立新的" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:97 msgid "shortcuts.cut" msgstr "剪下" +#: src/app/main/ui/workspace/right_header.cljs:84, src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 +msgid "shortcuts.decrease-zoom" +msgstr "縮小" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:99 msgid "shortcuts.delete" msgstr "刪除" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:100 +msgid "shortcuts.delete-node" +msgstr "刪除節點" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:101 +msgid "shortcuts.detach-component" +msgstr "分離元件" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:102 msgid "shortcuts.draw-curve" msgstr "曲線" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:103 +msgid "shortcuts.draw-ellipse" +msgstr "橢圓" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:104 msgid "shortcuts.draw-frame" msgstr "畫板" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:105 +msgid "shortcuts.draw-nodes" +msgstr "繪製路徑" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:106 msgid "shortcuts.draw-path" msgstr "路徑" @@ -1852,6 +3394,38 @@ msgstr "複本" msgid "shortcuts.escape" msgstr "取消" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:111 +msgid "shortcuts.export-shapes" +msgstr "匯出形狀" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:112 +msgid "shortcuts.fit-all" +msgstr "縮放以適合全部" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:113 +msgid "shortcuts.flip-horizontal" +msgstr "水平翻轉" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:114 +msgid "shortcuts.flip-vertical" +msgstr "垂直翻轉" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:115 +msgid "shortcuts.font-size-dec" +msgstr "減小字體大小" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:116 +msgid "shortcuts.font-size-inc" +msgstr "增加字體大小" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:117 +msgid "shortcuts.go-to-drafts" +msgstr "轉至草稿" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:118 +msgid "shortcuts.go-to-libs" +msgstr "轉至共享圖庫" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:119 msgid "shortcuts.go-to-search" msgstr "搜尋" @@ -1860,14 +3434,294 @@ msgstr "搜尋" msgid "shortcuts.group" msgstr "群組" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:121 +msgid "shortcuts.h-distribute" +msgstr "水平分佈" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:122 +msgid "shortcuts.hide-ui" +msgstr "顯示/隱藏 UI" + +#: src/app/main/ui/workspace/right_header.cljs:89, src/app/main/ui/workspace/sidebar/shortcuts.cljs:123 +msgid "shortcuts.increase-zoom" +msgstr "放大" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:124 +msgid "shortcuts.insert-image" +msgstr "插入圖片" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:125 +msgid "shortcuts.italic" +msgstr "切換斜體" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:126 +msgid "shortcuts.join-nodes" +msgstr "加入節點" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:127 +msgid "shortcuts.letter-spacing-dec" +msgstr "減少字母間距" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:128 +msgid "shortcuts.letter-spacing-inc" +msgstr "增加字母間距" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:129 +msgid "shortcuts.line-height-dec" +msgstr "減少行高" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:130 +msgid "shortcuts.line-height-inc" +msgstr "增加行高" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:131 +msgid "shortcuts.line-through" +msgstr "切換刪除線" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:132 +msgid "shortcuts.make-corner" +msgstr "製作轉角" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:133 +msgid "shortcuts.make-curve" +msgstr "製作曲線" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:134 +msgid "shortcuts.mask" +msgstr "遮罩" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:135 +msgid "shortcuts.merge-nodes" +msgstr "合併節點" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:136 +msgid "shortcuts.move" +msgstr "移動" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:137 +msgid "shortcuts.move-fast-down" +msgstr "快速向下移動" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:138 +msgid "shortcuts.move-fast-left" +msgstr "快速向左移動" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:139 +msgid "shortcuts.move-fast-right" +msgstr "快速向右移動" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:140 +msgid "shortcuts.move-fast-up" +msgstr "快速上升" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:141 +msgid "shortcuts.move-nodes" +msgstr "移動節點" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:142 +msgid "shortcuts.move-unit-down" +msgstr "下移" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:143 +msgid "shortcuts.move-unit-left" +msgstr "向左移動" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:144 +msgid "shortcuts.move-unit-right" +msgstr "右移" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:145 +msgid "shortcuts.move-unit-up" +msgstr "向上移動" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:146 +msgid "shortcuts.next-frame" +msgstr "下一個畫板" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:517 +msgid "shortcuts.not-found" +msgstr "未找到快捷方式" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:147 +msgid "shortcuts.opacity-0" +msgstr "將不透明度設為 100%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:148 +msgid "shortcuts.opacity-1" +msgstr "將不透明度設為 10%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:149 +msgid "shortcuts.opacity-2" +msgstr "將不透明度設為 20%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:150 +msgid "shortcuts.opacity-3" +msgstr "將不透明度設為 30%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:151 +msgid "shortcuts.opacity-4" +msgstr "將不透明度設為 40%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:152 +msgid "shortcuts.opacity-5" +msgstr "將不透明度設為 50%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:153 +msgid "shortcuts.opacity-6" +msgstr "將不透明度設為 60%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154 +msgid "shortcuts.opacity-7" +msgstr "將不透明度設為 70%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:155 +msgid "shortcuts.opacity-8" +msgstr "將不透明度設為 80%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:156 +msgid "shortcuts.opacity-9" +msgstr "將不透明度設為 90%" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157 +msgid "shortcuts.open-color-picker" +msgstr "顏色選擇器" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:158 +msgid "shortcuts.open-comments" +msgstr "前往查看者留言區" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:159 +msgid "shortcuts.open-dashboard" +msgstr "轉至儀表板" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:160 +msgid "shortcuts.open-inspect" +msgstr "進入查看者檢查區塊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161 +msgid "shortcuts.open-interactions" +msgstr "進入查看者互動區" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:162 +msgid "shortcuts.open-viewer" +msgstr "進入查看者互動區" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:163 +msgid "shortcuts.open-workspace" +msgstr "轉至工作區" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:261 msgid "shortcuts.or" msgstr " 或 " +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:164 +msgid "shortcuts.paste" +msgstr "貼上" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:165 +msgid "shortcuts.prev-frame" +msgstr "上一個畫板" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:166 +msgid "shortcuts.redo" +msgstr "復原" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:167 +msgid "shortcuts.rename" +msgstr "重新命名" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:168 +msgid "shortcuts.reset-zoom" +msgstr "重置縮放" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:169 +msgid "shortcuts.scale" +msgstr "縮放" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:170 +msgid "shortcuts.search-placeholder" +msgstr "搜尋快捷鍵" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:171 +msgid "shortcuts.select-all" +msgstr "全選" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:172 +msgid "shortcuts.select-next" +msgstr "選取下一層" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:173 +msgid "shortcuts.select-parent-layer" +msgstr "選取父層" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:174 +msgid "shortcuts.select-prev" +msgstr "選取前一層" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:175 +msgid "shortcuts.separate-nodes" +msgstr "分離節點" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:176 +msgid "shortcuts.show-pixel-grid" +msgstr "顯示/隱藏像素格線" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:177 +msgid "shortcuts.show-shortcuts" +msgstr "顯示/隱藏快捷方式" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:178 +msgid "shortcuts.snap-nodes" +msgstr "對齊到節點" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:179 +msgid "shortcuts.snap-pixel-grid" +msgstr "對齊到像素網格" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:180 +msgid "shortcuts.start-editing" +msgstr "開始編輯" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:181 +msgid "shortcuts.start-measure" +msgstr "開始測量" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:182 +msgid "shortcuts.stop-measure" +msgstr "停止測量" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:183 +msgid "shortcuts.text-align-center" +msgstr "居中對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:184 +msgid "shortcuts.text-align-justify" +msgstr "左右對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:185 +msgid "shortcuts.text-align-left" +msgstr "左對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:186 +msgid "shortcuts.text-align-right" +msgstr "右對齊" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:187 +msgid "shortcuts.thumbnail-set" +msgstr "設定縮圖" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:497, src/app/main/ui/workspace/sidebar/shortcuts.cljs:506 +msgid "shortcuts.title" +msgstr "鍵盤快速鍵" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:188 msgid "shortcuts.toggle-alignment" msgstr "切換動態對齊" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:189 +msgid "shortcuts.toggle-assets" +msgstr "切換資產" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:190 msgid "shortcuts.toggle-colorpalette" msgstr "切換調色板" @@ -1876,6 +3730,14 @@ msgstr "切換調色板" msgid "shortcuts.toggle-focus-mode" msgstr "切換專注模式" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:192 +msgid "shortcuts.toggle-fullscreen" +msgstr "切換全螢幕" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:193 +msgid "shortcuts.toggle-guides" +msgstr "顯示/隱藏導引線" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:194 msgid "shortcuts.toggle-history" msgstr "切換歷史記錄" @@ -1884,6 +3746,14 @@ msgstr "切換歷史記錄" msgid "shortcuts.toggle-layers" msgstr "切換圖層" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:196 +msgid "shortcuts.toggle-layout-flex" +msgstr "新增/移除彈性佈局" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:197 +msgid "shortcuts.toggle-layout-grid" +msgstr "新增/移除網格佈局" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:198 msgid "shortcuts.toggle-lock" msgstr "鎖定選擇" @@ -1892,19 +3762,79 @@ msgstr "鎖定選擇" msgid "shortcuts.toggle-lock-size" msgstr "鎖定比例" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:200 +msgid "shortcuts.toggle-rulers" +msgstr "顯示/隱藏尺規" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:201 +msgid "shortcuts.toggle-snap-guides" +msgstr "對齊到導引線" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:202 +msgid "shortcuts.toggle-snap-ruler-guide" +msgstr "對齊到標尺指導線" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:203 +msgid "shortcuts.toggle-textpalette" +msgstr "切換文字調色板" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:204 +msgid "shortcuts.toggle-theme" +msgstr "更改主題" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:205 +msgid "shortcuts.toggle-visibility" +msgstr "顯示 / 隱藏" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:206 +msgid "shortcuts.toggle-zoom-style" +msgstr "切換縮放模式" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:207 +msgid "shortcuts.underline" +msgstr "顯示/隱藏底線" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:208 +msgid "shortcuts.undo" +msgstr "撤回" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:209 msgid "shortcuts.ungroup" msgstr "取消群組" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:210 +msgid "shortcuts.unmask" +msgstr "解除遮罩" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:211 +msgid "shortcuts.v-distribute" +msgstr "垂直分佈" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:212 +msgid "shortcuts.zoom-lense-decrease" +msgstr "縮小焦距" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:213 +msgid "shortcuts.zoom-lense-increase" +msgstr "放大焦距" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:214 +msgid "shortcuts.zoom-selected" +msgstr "縮放至選取範圍" + #: src/app/main/ui/dashboard/files.cljs:179 msgid "title.dashboard.files" msgstr "%s – Penpot" -#: src/app/main/ui/dashboard/fonts.cljs:38 +#: src/app/main/ui/dashboard/fonts.cljs:40 +msgid "title.dashboard.font-providers" +msgstr "字體提供者 - %s - Penpot" + +#: src/app/main/ui/dashboard/fonts.cljs:39 msgid "title.dashboard.fonts" msgstr "字型 - %s - Penpot" -#: src/app/main/ui/dashboard/projects.cljs:347 +#: src/app/main/ui/dashboard/projects.cljs:350 msgid "title.dashboard.projects" msgstr "專案 - %s - Penpot" @@ -1912,14 +3842,26 @@ msgstr "專案 - %s - Penpot" msgid "title.dashboard.search" msgstr "搜尋 - %s - Penpot" +#: src/app/main/ui/dashboard/libraries.cljs:57 +msgid "title.dashboard.shared-libraries" +msgstr "共享圖庫 - %s - Penpot" + #: src/app/main/ui/auth/verify_token.cljs:70, src/app/main/ui/auth.cljs:33 msgid "title.default" msgstr "Penpot - 給團隊設計的自由" +#: src/app/main/ui/settings/access_tokens.cljs:280 +msgid "title.settings.access-tokens" +msgstr "個人資料 - 存取權杖(token)" + #: src/app/main/ui/settings/feedback.cljs:107 msgid "title.settings.feedback" msgstr "提供回饋 - Penpot" +#: src/app/main/ui/settings/notifications.cljs:45 +msgid "title.settings.notifications" +msgstr "通知 - Penpot" + #: src/app/main/ui/settings/options.cljs:76 msgid "title.settings.options" msgstr "設定 - Penpot" @@ -1932,6 +3874,10 @@ msgstr "密碼 - Penpot" msgid "title.settings.profile" msgstr "個人資料 - Penpot" +#: src/app/main/ui/dashboard/team.cljs:779 +msgid "title.team-invitations" +msgstr "邀請 - %s - Penpot" + #: src/app/main/ui/dashboard/team.cljs:529 msgid "title.team-members" msgstr "成員 - %s - Penpot" @@ -1940,11 +3886,15 @@ msgstr "成員 - %s - Penpot" msgid "title.team-settings" msgstr "設定 - %s - Penpot" +#: src/app/main/ui/dashboard/team.cljs:1043 +msgid "title.team-webhooks" +msgstr "Webhooks - %s - Penpot" + #: src/app/main/ui/viewer.cljs:423 msgid "title.viewer" msgstr "%s - 檢視模式 - Penpot" -#: src/app/main/ui/workspace.cljs:202 +#: src/app/main/ui/workspace.cljs:188 msgid "title.workspace" msgstr "%s - Penpot" @@ -1958,88 +3908,426 @@ msgstr "這個共用連結已失效,建立一個新連結,或向擁有者要 msgid "viewer.breaking-change.message" msgstr "抱歉!" +#: src/app/main/ui/viewer.cljs:573 +msgid "viewer.empty-state" +msgstr "此頁面未找到看板 。" + +#: src/app/main/ui/viewer.cljs:578 +msgid "viewer.frame-not-found" +msgstr "未找到看板 。" + +#: src/app/main/ui/viewer/header.cljs:343 +msgid "viewer.header.comments-section" +msgstr "留言(%s)" + +#: src/app/main/ui/viewer/interactions.cljs:298 +msgid "viewer.header.dont-show-interactions" +msgstr "隱藏互動" + +#: src/app/main/ui/viewer/header.cljs:195 +msgid "viewer.header.fullscreen" +msgstr "全螢幕" + +#: src/app/main/ui/viewer/header.cljs:352 +msgid "viewer.header.inspect-section" +msgstr "檢視 (%s)" + #: src/app/main/ui/viewer/interactions.cljs:288 msgid "viewer.header.interactions" msgstr "交互作用" +#: src/app/main/ui/viewer/header.cljs:334 +msgid "viewer.header.interactions-section" +msgstr "互動 (%s)" + #: src/app/main/ui/viewer/share_link.cljs:188 msgid "viewer.header.share.copy-link" msgstr "複製連結" +#: src/app/main/ui/viewer/interactions.cljs:306 +msgid "viewer.header.show-interactions" +msgstr "顯示互動" + +#: src/app/main/ui/viewer/interactions.cljs:317 +msgid "viewer.header.show-interactions-on-click" +msgstr "點擊時顯示互動" + #: src/app/main/ui/viewer/header.cljs:238 msgid "viewer.header.sitemap" msgstr "網站地圖" +#: src/app/main/ui/dashboard/team.cljs:997 +msgid "webhooks.last-delivery.success" +msgstr "上次交付成功。" + +#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:58 +msgid "workspace.align.hcenter" +msgstr "水平居中對齊 (%s)" + +#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:74 +msgid "workspace.align.hdistribute" +msgstr "水平間距分佈 (%s)" + +#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:50 +msgid "workspace.align.hleft" +msgstr "左對齊 (%s)" + +#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:66 +msgid "workspace.align.hright" +msgstr "右對齊 (%s)" + +#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:99 +msgid "workspace.align.vbottom" +msgstr "底部對齊 (%s)" + +#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:91 +msgid "workspace.align.vcenter" +msgstr "垂直居中對齊 (%s)" + +#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:104 +msgid "workspace.align.vdistribute" +msgstr "垂直間距分佈 (%s)" + +#: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:83 +msgid "workspace.align.vtop" +msgstr "頂部對齊 (%s)" + +#: src/app/main/ui/workspace/sidebar/assets.cljs:171 +msgid "workspace.assets.add-library" +msgstr "新增圖庫" + #: src/app/main/ui/workspace/sidebar/assets.cljs #, unused msgid "workspace.assets.assets" msgstr "資產" -#: src/app/main/ui/dashboard/grid.cljs:147, src/app/main/ui/dashboard/grid.cljs:179, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:158 +#: src/app/main/ui/workspace/sidebar/assets.cljs:144 +msgid "workspace.assets.box-filter-all" +msgstr "所有資源" + +#: src/app/main/ui/dashboard/grid.cljs:148, src/app/main/ui/dashboard/grid.cljs:180, src/app/main/ui/workspace/sidebar/assets/colors.cljs:486, src/app/main/ui/workspace/sidebar/assets.cljs:156 msgid "workspace.assets.colors" msgstr "顏色" -#: src/app/main/ui/dashboard/grid.cljs:143, src/app/main/ui/dashboard/grid.cljs:158, src/app/main/ui/workspace/sidebar/assets/components.cljs:489, src/app/main/ui/workspace/sidebar/assets.cljs:149 +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:494 +msgid "workspace.assets.colors.add-color" +msgstr "新增顏色" + +#: src/app/main/ui/dashboard/grid.cljs:144, src/app/main/ui/dashboard/grid.cljs:159, src/app/main/ui/workspace/sidebar/assets/components.cljs:499, src/app/main/ui/workspace/sidebar/assets.cljs:147 msgid "workspace.assets.components" msgstr "元件" -#: src/app/main/ui/workspace/context_menu.cljs:636, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:554, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:520 +msgid "workspace.assets.components.add-component" +msgstr "新增元件" + +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:127 +msgid "workspace.assets.create-group" +msgstr "建立群組" + +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:138 +msgid "workspace.assets.create-group-hint" +msgstr "您的項目將自動命名為「群組名稱 / 項目名稱」" + +#: src/app/main/ui/workspace/context_menu.cljs:652, src/app/main/ui/workspace/sidebar/assets/colors.cljs:250, src/app/main/ui/workspace/sidebar/assets/components.cljs:564, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:426, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:442 msgid "workspace.assets.delete" msgstr "刪除" -#: src/app/main/ui/workspace/context_menu.cljs:641, src/app/main/ui/workspace/sidebar/assets/components.cljs:549 +#: src/app/main/ui/workspace/context_menu.cljs:657, src/app/main/ui/workspace/sidebar/assets/components.cljs:559 msgid "workspace.assets.duplicate" msgstr "複本" +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:558 +msgid "workspace.assets.duplicate-main" +msgstr "複製主要資源" + #: src/app/main/ui/workspace/sidebar/assets/colors.cljs:246, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:438 msgid "workspace.assets.edit" msgstr "編輯" -#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:154 +#: src/app/main/ui/workspace/sidebar/assets.cljs:185 +msgid "workspace.assets.filter" +msgstr "篩選資源" + +#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 msgid "workspace.assets.graphics" msgstr "圖形" -#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:558, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:515 +msgid "workspace.assets.grid-view" +msgstr "網格視圖" + +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:568, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:430, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:447 msgid "workspace.assets.group" msgstr "群組" -#: src/app/main/ui/workspace/sidebar/assets.cljs:186 -msgid "workspace.assets.libraries" -msgstr "檔案庫" +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:137 +msgid "workspace.assets.group-name" +msgstr "群組名稱" -#: src/app/main/ui/workspace/context_menu.cljs:639, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:543, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:511 +msgid "workspace.assets.list-view" +msgstr "列表視圖" + +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:107, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:417 +msgid "workspace.assets.local-library" +msgstr "本地圖庫" + +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:321 +msgid "workspace.assets.not-found" +msgstr "未找到資源" + +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:112 +msgid "workspace.assets.open-library" +msgstr "開啟圖庫檔案" + +#: src/app/main/ui/workspace/context_menu.cljs:655, src/app/main/ui/workspace/sidebar/assets/colors.cljs:242, src/app/main/ui/workspace/sidebar/assets/components.cljs:553, src/app/main/ui/workspace/sidebar/assets/graphics.cljs:423, src/app/main/ui/workspace/sidebar/assets/groups.cljs:62, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:433 msgid "workspace.assets.rename" msgstr "重新命名" -#: src/app/main/ui/dashboard/grid.cljs:151, src/app/main/ui/dashboard/grid.cljs:206, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:162 +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:128 +msgid "workspace.assets.rename-group" +msgstr "重新命名群組" + +#: src/app/main/ui/workspace/sidebar/assets.cljs:182 +msgid "workspace.assets.search" +msgstr "搜尋資源" + +#: src/app/main/ui/workspace/sidebar/assets.cljs +#, unused +msgid "workspace.assets.selected-count" +msgid_plural "workspace.assets.selected-count" +msgstr[0] "選取了 %s 項目" + +#: src/app/main/ui/workspace/sidebar/assets.cljs +#, unused +msgid "workspace.assets.shared-library" +msgstr "共享圖庫" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:235 +msgid "workspace.assets.sidebar.components" +msgid_plural "workspace.assets.sidebar.components" +msgstr[0] "1個元件" + +#: src/app/main/ui/workspace/sidebar/assets.cljs:201 +msgid "workspace.assets.sort" +msgstr "排序" + +#: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:207, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:396, src/app/main/ui/workspace/sidebar/assets.cljs:160 msgid "workspace.assets.typography" msgstr "字體排版設計" +#: src/app/main/ui/workspace/sidebar/assets/typographies.cljs:404 +msgid "workspace.assets.typography.add-typography" +msgstr "新增字體排版" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs #, unused msgid "workspace.assets.typography.font-id" msgstr "字型" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:517 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:520 msgid "workspace.assets.typography.font-size" msgstr "尺寸" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:513 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:516 msgid "workspace.assets.typography.font-variant-id" msgstr "變體" -#: src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/libraries.cljs:562, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:476, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:501, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:627 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:538 +msgid "workspace.assets.typography.go-to-edit" +msgstr "前往樣式圖庫檔案進行編輯" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:528 +msgid "workspace.assets.typography.letter-spacing" +msgstr "字距" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:524 +msgid "workspace.assets.typography.line-height" +msgstr "行高" + +#: src/app/main/ui/dashboard/grid.cljs:217, src/app/main/ui/workspace/libraries.cljs:546, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:479, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:504, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:611, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:630 msgid "workspace.assets.typography.sample" msgstr "Ag" +#, unused +msgid "workspace.assets.typography.text-styles" +msgstr "文字樣式" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:532 +msgid "workspace.assets.typography.text-transform" +msgstr "文字變換" + #: src/app/main/ui/workspace/sidebar/assets/groups.cljs:65 msgid "workspace.assets.ungroup" msgstr "取消群組" +#: src/app/main/ui/workspace/context_menu.cljs:764 +msgid "workspace.context-menu.grid-cells.area" +msgstr "建立區域" + +#: src/app/main/ui/workspace/context_menu.cljs:767 +msgid "workspace.context-menu.grid-cells.create-board" +msgstr "建立版面" + +#: src/app/main/ui/workspace/context_menu.cljs:759 +msgid "workspace.context-menu.grid-cells.merge" +msgstr "合併單元格" + +#: src/app/main/ui/workspace/context_menu.cljs:722 +msgid "workspace.context-menu.grid-track.column.add-after" +msgstr "在右邊新增 1 列" + +#: src/app/main/ui/workspace/context_menu.cljs:721 +msgid "workspace.context-menu.grid-track.column.add-before" +msgstr "在左邊新增 1 列" + +#: src/app/main/ui/workspace/context_menu.cljs:723 +msgid "workspace.context-menu.grid-track.column.delete" +msgstr "刪除欄位" + +#: src/app/main/ui/workspace/context_menu.cljs:724 +msgid "workspace.context-menu.grid-track.column.delete-shapes" +msgstr "刪除欄位和圖形" + +#: src/app/main/ui/workspace/context_menu.cljs:720 +msgid "workspace.context-menu.grid-track.column.duplicate" +msgstr "複製欄位" + +#: src/app/main/ui/workspace/context_menu.cljs:729 +msgid "workspace.context-menu.grid-track.row.add-after" +msgstr "在下方新增 1 行" + +#: src/app/main/ui/workspace/context_menu.cljs:728 +msgid "workspace.context-menu.grid-track.row.add-before" +msgstr "在上方新增 1 行" + +#: src/app/main/ui/workspace/context_menu.cljs:730 +msgid "workspace.context-menu.grid-track.row.delete" +msgstr "刪除列" + +#: src/app/main/ui/workspace/context_menu.cljs:731 +msgid "workspace.context-menu.grid-track.row.delete-shapes" +msgstr "刪除列和圖形" + +#: src/app/main/ui/workspace/context_menu.cljs:727 +msgid "workspace.context-menu.grid-track.row.duplicate" +msgstr "複製列" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:528 +msgid "workspace.focus.focus-mode" +msgstr "焦點模式" + +#: src/app/main/ui/workspace/context_menu.cljs:380, src/app/main/ui/workspace/context_menu.cljs:679 +msgid "workspace.focus.focus-off" +msgstr "退出焦點模式" + +#: src/app/main/ui/workspace/context_menu.cljs:379 +msgid "workspace.focus.focus-on" +msgstr "啟用焦點模式" + +#, unused +msgid "workspace.focus.selection" +msgstr "選取" + +#: src/app/util/color.cljs:34 +msgid "workspace.gradients.linear" +msgstr "線性漸層" + +#: src/app/util/color.cljs:35 +msgid "workspace.gradients.radial" +msgstr "放射狀漸層" + +#: src/app/main/ui/workspace/main_menu.cljs:243 +msgid "workspace.header.menu.disable-dynamic-alignment" +msgstr "關閉動態對齊" + +#: src/app/main/ui/workspace/main_menu.cljs:197 +msgid "workspace.header.menu.disable-scale-content" +msgstr "關閉等比縮放" + +#: src/app/main/ui/workspace/header.cljs +#, unused +msgid "workspace.header.menu.disable-scale-text" +msgstr "關閉文字縮放" + +#: src/app/main/ui/workspace/main_menu.cljs:228 +msgid "workspace.header.menu.disable-snap-guides" +msgstr "禁用對齊至導向線" + +#: src/app/main/ui/workspace/main_menu.cljs:258 +msgid "workspace.header.menu.disable-snap-pixel-grid" +msgstr "關閉對齊至像素" + +#: src/app/main/ui/workspace/main_menu.cljs:212 +msgid "workspace.header.menu.disable-snap-ruler-guides" +msgstr "關閉對齊至尺規導向線" + +#: src/app/main/ui/workspace/main_menu.cljs:244 +msgid "workspace.header.menu.enable-dynamic-alignment" +msgstr "啟用動態對齊" + +#: src/app/main/ui/workspace/main_menu.cljs:198 +msgid "workspace.header.menu.enable-scale-content" +msgstr "啟用等比縮放" + +#: src/app/main/ui/workspace/header.cljs +#, unused +msgid "workspace.header.menu.enable-scale-text" +msgstr "啟用文字縮放" + +#: src/app/main/ui/workspace/main_menu.cljs:229 +msgid "workspace.header.menu.enable-snap-guides" +msgstr "對齊至導向線" + +#: src/app/main/ui/workspace/main_menu.cljs:259 +msgid "workspace.header.menu.enable-snap-pixel-grid" +msgstr "啟用對齊至像素" + +#: src/app/main/ui/workspace/main_menu.cljs:213 +msgid "workspace.header.menu.enable-snap-ruler-guides" +msgstr "對齊至尺規導向線" + +#: src/app/main/ui/workspace/main_menu.cljs:388 +msgid "workspace.header.menu.hide-artboard-names" +msgstr "隱藏版面名稱" + +#: src/app/main/ui/workspace/main_menu.cljs:342 +msgid "workspace.header.menu.hide-guides" +msgstr "隱藏導向線" + +#: src/app/main/ui/workspace/main_menu.cljs:359 +msgid "workspace.header.menu.hide-palette" +msgstr "隱藏顏色調色盤" + +#: src/app/main/ui/workspace/main_menu.cljs:400 +msgid "workspace.header.menu.hide-pixel-grid" +msgstr "隱藏像素網格" + +#: src/app/main/ui/workspace/main_menu.cljs:326 +msgid "workspace.header.menu.hide-rules" +msgstr "隱藏尺規" + +#: src/app/main/ui/workspace/main_menu.cljs:373 +msgid "workspace.header.menu.hide-textpalette" +msgstr "隱藏字型面板" + +#: src/app/main/ui/workspace/main_menu.cljs:855 +msgid "workspace.header.menu.option.edit" +msgstr "編輯" + #: src/app/main/ui/workspace/main_menu.cljs:844 msgid "workspace.header.menu.option.file" msgstr "檔案" +#: src/app/main/ui/workspace/main_menu.cljs:901 +msgid "workspace.header.menu.option.help-info" +msgstr "幫助和資訊" + +#: src/app/main/ui/workspace/main_menu.cljs:910 +msgid "workspace.header.menu.option.power-up" +msgstr "升級您的計劃" + #: src/app/main/ui/workspace/main_menu.cljs:877 msgid "workspace.header.menu.option.preferences" msgstr "偏好設定" @@ -2048,38 +4336,203 @@ msgstr "偏好設定" msgid "workspace.header.menu.option.view" msgstr "檢視" +#: src/app/main/ui/workspace/main_menu.cljs:471 +msgid "workspace.header.menu.redo" +msgstr "復原上一步操作" + #: src/app/main/ui/workspace/main_menu.cljs:442 msgid "workspace.header.menu.select-all" msgstr "全選" -#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:126 +#: src/app/main/ui/workspace/main_menu.cljs:389 +msgid "workspace.header.menu.show-artboard-names" +msgstr "顯示版面名稱" + +#: src/app/main/ui/workspace/main_menu.cljs:343 +msgid "workspace.header.menu.show-guides" +msgstr "顯示導向線" + +#: src/app/main/ui/workspace/main_menu.cljs:360 +msgid "workspace.header.menu.show-palette" +msgstr "顯示顏色調色盤" + +#: src/app/main/ui/workspace/main_menu.cljs:401 +msgid "workspace.header.menu.show-pixel-grid" +msgstr "顯示像素網格" + +#: src/app/main/ui/workspace/main_menu.cljs:327 +msgid "workspace.header.menu.show-rules" +msgstr "顯示尺規" + +#: src/app/main/ui/workspace/main_menu.cljs:374 +msgid "workspace.header.menu.show-textpalette" +msgstr "顯示字型面板" + +#: src/app/main/ui/workspace/main_menu.cljs:284 +msgid "workspace.header.menu.toggle-dark-theme" +msgstr "切換到深色主題" + +#: src/app/main/ui/workspace/main_menu.cljs:283 +msgid "workspace.header.menu.toggle-light-theme" +msgstr "切換到明亮主題" + +#: src/app/main/ui/workspace/main_menu.cljs:457 +msgid "workspace.header.menu.undo" +msgstr "撤回" + +#: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:94 msgid "workspace.header.reset-zoom" msgstr "重設" -#: src/app/main/ui/workspace/right_header.cljs:58 +#: src/app/main/ui/workspace/left_header.cljs:127 +msgid "workspace.header.save-error" +msgstr "儲存時出錯" + +#: src/app/main/ui/workspace/left_header.cljs:126 msgid "workspace.header.saved" msgstr "已儲存" -#: src/app/main/ui/workspace/header.cljs -#, unused +#: src/app/main/ui/workspace/left_header.cljs:124, src/app/main/ui/workspace/left_header.cljs:125 msgid "workspace.header.saving" msgstr "正在儲存" +#: src/app/main/ui/workspace/right_header.cljs:221 +msgid "workspace.header.share" +msgstr "共享" + +#: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 +#, unused +msgid "workspace.header.unsaved" +msgstr "變更尚未儲存" + +#: src/app/main/ui/workspace/right_header.cljs:226 +msgid "workspace.header.viewer" +msgstr "檢視模式 (%s)" + +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:77 +msgid "workspace.header.zoom" +msgstr "縮放" + +#: src/app/main/ui/viewer/header.cljs:109 +msgid "workspace.header.zoom-fill" +msgstr "填滿 - 按比例縮放以填滿" + +#: src/app/main/ui/viewer/header.cljs:102 +msgid "workspace.header.zoom-fit" +msgstr "填滿 - 按比例縮小以適合" + +#: src/app/main/ui/workspace/right_header.cljs:97 +msgid "workspace.header.zoom-fit-all" +msgstr "縮放至適合顯示全部" + +#: src/app/main/ui/viewer/header.cljs:116 +msgid "workspace.header.zoom-full-screen" +msgstr "全螢幕" + +#: src/app/main/ui/workspace/right_header.cljs:104 +msgid "workspace.header.zoom-selected" +msgstr "縮放至選取範圍" + +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:273, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:275, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:616 +msgid "workspace.layout_grid.editor.options.edit-grid" +msgstr "編輯網格" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1304 +msgid "workspace.layout_grid.editor.options.exit" +msgstr "離開" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:486, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:487 +msgid "workspace.layout_grid.editor.padding.expand" +msgstr "顯示四邊內距選項" + +#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:59 +msgid "workspace.layout_grid.editor.title" +msgstr "編輯網格" + +#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:65 +msgid "workspace.layout_grid.editor.top-bar.done" +msgstr "完成" + +#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:62 +msgid "workspace.layout_grid.editor.top-bar.locate" +msgstr "定位" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1330 +msgid "workspace.layout_grid.editor.top-bar.locate.tooltip" +msgstr "定位網格佈局" + #: src/app/main/ui/workspace/libraries.cljs #, unused msgid "workspace.libraries.add" msgstr "新增" +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 +msgid "workspace.libraries.colors" +msgstr "%s 顏色" + +#: src/app/main/ui/workspace/color_palette.cljs:141 +msgid "workspace.libraries.colors.empty-palette" +msgstr "您的圖庫中還沒有顏色樣式" + +#: src/app/main/ui/workspace/text_palette.cljs:161 +msgid "workspace.libraries.colors.empty-typography-palette" +msgstr "您的圖庫中還沒有字體樣式" + +#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:88, src/app/main/ui/workspace/colorpicker/libraries.cljs:48, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49 +msgid "workspace.libraries.colors.file-library" +msgstr "檔案圖庫" + #: src/app/main/ui/workspace/colorpicker.cljs #, unused msgid "workspace.libraries.colors.hsv" msgstr "HSV" -#: src/app/main/ui/workspace/colorpicker.cljs:344 +#: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:111, src/app/main/ui/workspace/colorpicker/libraries.cljs:47 +msgid "workspace.libraries.colors.recent-colors" +msgstr "最近使用的顏色" + +#: src/app/main/ui/workspace/colorpicker.cljs +#, unused +msgid "workspace.libraries.colors.rgb-complementary" +msgstr "RGB 互補色" + +#: src/app/main/ui/workspace/colorpicker.cljs:340 msgid "workspace.libraries.colors.rgba" msgstr "RGBA" -#: src/app/main/ui/workspace/libraries.cljs:629, src/app/main/ui/workspace/libraries.cljs:649 +#: src/app/main/ui/workspace/colorpicker.cljs:511 +msgid "workspace.libraries.colors.save-color" +msgstr "儲存顏色樣式" + +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 +msgid "workspace.libraries.components" +msgstr "%s 元件" + +#: src/app/main/ui/workspace/libraries.cljs:371 +msgid "workspace.libraries.empty.add-some" +msgstr "或增加這些來試試:" + +#: src/app/main/ui/workspace/libraries.cljs:365 +msgid "workspace.libraries.empty.no-libraries" +msgstr "您的團隊中沒有共享圖庫,您可以尋找" + +#: src/app/main/ui/workspace/libraries.cljs:369 +msgid "workspace.libraries.empty.some-templates" +msgstr "這裡的一些範本" + +#: src/app/main/ui/workspace/libraries.cljs:297 +msgid "workspace.libraries.file-library" +msgstr "檔案圖庫" + +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 +msgid "workspace.libraries.graphics" +msgstr "%s 圖形" + +#: src/app/main/ui/workspace/libraries.cljs:291 +msgid "workspace.libraries.in-this-file" +msgstr "此檔案中的圖庫" + +#: src/app/main/ui/workspace/libraries.cljs:611, src/app/main/ui/workspace/libraries.cljs:631 msgid "workspace.libraries.libraries" msgstr "檔案庫" @@ -2088,22 +4541,135 @@ msgstr "檔案庫" msgid "workspace.libraries.library" msgstr "檔案庫" -#: src/app/main/ui/workspace/libraries.cljs:503 +#: src/app/main/ui/workspace/libraries.cljs:467 +msgid "workspace.libraries.library-updates" +msgstr "圖庫更新" + +#: src/app/main/ui/workspace/libraries.cljs:360 +msgid "workspace.libraries.loading" +msgstr "載入中…" + +#: src/app/main/ui/workspace/libraries.cljs:387 +#, unused +msgid "workspace.libraries.more-templates" +msgstr "您可以搜尋 " + +#: src/app/main/ui/workspace/libraries.cljs:465 +msgid "workspace.libraries.no-libraries-need-sync" +msgstr "沒有需要更新的共享圖庫" + +#: src/app/main/ui/workspace/libraries.cljs:378 +msgid "workspace.libraries.no-matches-for" +msgstr "沒有找到符合 '%s' 的" + +#: src/app/main/ui/workspace/libraries.cljs:334 +msgid "workspace.libraries.search-shared-libraries" +msgstr "搜尋共享圖庫" + +#: src/app/main/ui/workspace/libraries.cljs:330 +msgid "workspace.libraries.shared-libraries" +msgstr "共享圖庫" + +#: src/app/main/ui/workspace/libraries.cljs:352 +msgid "workspace.libraries.shared-library-btn" +msgstr "連接圖庫" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:309 +msgid "workspace.libraries.text.multiple-typography" +msgstr "多種字體樣式" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:312 +msgid "workspace.libraries.text.multiple-typography-tooltip" +msgstr "解除所有字體樣式的連結" + +#: src/app/main/ui/workspace/libraries.cljs:109, src/app/main/ui/workspace/libraries.cljs:136 +msgid "workspace.libraries.typography" +msgstr "%s 字體樣式" + +#: src/app/main/ui/workspace/libraries.cljs:323 +msgid "workspace.libraries.unlink-library-btn" +msgstr "取消圖庫連接" + +#: src/app/main/ui/workspace/libraries.cljs:487 msgid "workspace.libraries.update" msgstr "更新" -#: src/app/main/ui/workspace/libraries.cljs:632 +#: src/app/main/ui/workspace/libraries.cljs:563 +msgid "workspace.libraries.update.see-all-changes" +msgstr "查看所有變更" + +#: src/app/main/ui/workspace/libraries.cljs:614 msgid "workspace.libraries.updates" msgstr "更新" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:745 +msgid "workspace.options.add-interaction" +msgstr "按一下 + 按鈕來新增互動。" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:91 +msgid "workspace.options.blur-options.add-blur" +msgstr "加入模糊效果" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:112 +msgid "workspace.options.blur-options.remove-blur" +msgstr "移除模糊效果" + #: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:87, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:105 msgid "workspace.options.blur-options.title" msgstr "模糊" -#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:590, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:595 +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:86 +msgid "workspace.options.blur-options.title.group" +msgstr "群組模糊效果" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:85 +msgid "workspace.options.blur-options.title.multiple" +msgstr "選擇模糊效果" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:108 +msgid "workspace.options.blur-options.toggle-blur" +msgstr "切換模糊效果" + +#: src/app/main/ui/workspace/sidebar/options/page.cljs:42, src/app/main/ui/workspace/sidebar/options/page.cljs:50 +msgid "workspace.options.canvas-background" +msgstr "畫布背景" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:428 +msgid "workspace.options.clip-content" +msgstr "裁切內容" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:678, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:683, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:812 msgid "workspace.options.component" msgstr "元件" +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:188 +msgid "workspace.options.component.annotation" +msgstr "註解" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:688 +msgid "workspace.options.component.copy" +msgstr "複製" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:180 +msgid "workspace.options.component.create-annotation" +msgstr "建立註解" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:179 +msgid "workspace.options.component.edit-annotation" +msgstr "建立註解" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:687, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:815 +msgid "workspace.options.component.main" +msgstr "主要" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:497 +msgid "workspace.options.component.swap" +msgstr "替換元件" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:541 +msgid "workspace.options.component.swap.empty" +msgstr "這個圖庫目前沒有資源" + #: src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163 msgid "workspace.options.constraints" msgstr "約束條件" @@ -2132,6 +4698,10 @@ msgstr "左和右" msgid "workspace.options.constraints.right" msgstr "右" +#: src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:142, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:153 +msgid "workspace.options.constraints.scale" +msgstr "縮放" + #: src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:149 msgid "workspace.options.constraints.top" msgstr "上" @@ -2144,7 +4714,7 @@ msgstr "上和下" msgid "workspace.options.design" msgstr "設計" -#: src/app/main/ui/viewer/inspect/exports.cljs:139 +#: src/app/main/ui/inspect/exports.cljs:140 msgid "workspace.options.export" msgstr "匯出" @@ -2153,12 +4723,20 @@ msgstr "匯出" msgid "workspace.options.export-multiple" msgstr "匯出已選取項目" -#: src/app/main/ui/viewer/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 +#: src/app/main/ui/inspect/exports.cljs:196, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:249 msgid "workspace.options.export-object" msgid_plural "workspace.options.export-object" msgstr[0] "匯出 %s 元素" -#: src/app/main/ui/viewer/inspect/exports.cljs:178, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:228 +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:188 +msgid "workspace.options.export.add-export" +msgstr "新增匯出" + +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:235 +msgid "workspace.options.export.remove-export" +msgstr "移除匯出" + +#: src/app/main/ui/inspect/exports.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:229 msgid "workspace.options.export.suffix" msgstr "後綴" @@ -2166,7 +4744,7 @@ msgstr "後綴" msgid "workspace.options.exporting-complete" msgstr "完成匯出" -#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/viewer/inspect/exports.cljs:194, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:247 +#: src/app/main/ui/exports/assets.cljs:169, src/app/main/ui/exports/assets.cljs:240, src/app/main/ui/inspect/exports.cljs:195, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:248 msgid "workspace.options.exporting-object" msgstr "正在匯出…" @@ -2182,6 +4760,39 @@ msgstr "匯出異常緩慢" msgid "workspace.options.fill" msgstr "填充" +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:151 +msgid "workspace.options.fill.add-fill" +msgstr "新增填充顏色" + +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:164 +msgid "workspace.options.fill.remove-fill" +msgstr "移除填充顏色" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:340, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:341 +msgid "workspace.options.fit-content" +msgstr "調整畫布以符合內容大小" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:182 +msgid "workspace.options.flows.add-flow-start" +msgstr "新增流程起點" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:178 +msgid "workspace.options.flows.flow" +msgstr "流程" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs +#, unused +msgid "workspace.options.flows.flow-start" +msgstr "流程起點" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:164 +msgid "workspace.options.flows.flow-starts" +msgstr "流程起點" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:154 +msgid "workspace.options.flows.remove-flow" +msgstr "移除流程" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:31 msgid "workspace.options.grid.auto" msgstr "自動" @@ -2190,15 +4801,32 @@ msgstr "自動" msgid "workspace.options.grid.column" msgstr "欄" +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs +#, unused +msgid "workspace.options.grid.grid-title" +msgstr "網格" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:200, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:241 +msgid "workspace.options.grid.params.color" +msgstr "顏色" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs #, unused msgid "workspace.options.grid.params.columns" msgstr "欄" +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:263 +msgid "workspace.options.grid.params.gutter" +msgstr "網格間距" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:250 msgid "workspace.options.grid.params.height" msgstr "高度" +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:274 +msgid "workspace.options.grid.params.margin" +msgstr "邊距" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs #, unused msgid "workspace.options.grid.params.rows" @@ -2234,10 +4862,18 @@ msgstr "左" msgid "workspace.options.grid.params.type.right" msgstr "右" +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:229 +msgid "workspace.options.grid.params.type.stretch" +msgstr "延展" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231 msgid "workspace.options.grid.params.type.top" msgstr "上" +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:215, src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292 +msgid "workspace.options.grid.params.use-default" +msgstr "使用預設" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:251 msgid "workspace.options.grid.params.width" msgstr "寬度" @@ -2250,54 +4886,379 @@ msgstr "列" msgid "workspace.options.grid.square" msgstr "正方形" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:362 +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:50 +msgid "workspace.options.group-fill" +msgstr "群組填充" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:42 +msgid "workspace.options.group-stroke" +msgstr "群組描邊" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:323 +msgid "workspace.options.guides.add-guide" +msgstr "新增輔助線" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:187 +msgid "workspace.options.guides.remove-guide" +msgstr "移除輔助線" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:320 +msgid "workspace.options.guides.title" +msgstr "輔助線" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:183 +msgid "workspace.options.guides.toggle-guide" +msgstr "切換輔助線" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:359 msgid "workspace.options.height" msgstr "高度" +#: src/app/main/ui/workspace/sidebar/options.cljs:193, src/app/main/ui/workspace/sidebar/options.cljs:196 +msgid "workspace.options.inspect" +msgstr "檢視" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:474 +msgid "workspace.options.interaction-action" +msgstr "動作" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:42, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:373 +msgid "workspace.options.interaction-after-delay" +msgstr "延遲執行" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:620 msgid "workspace.options.interaction-animation" msgstr "動畫" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:412 +msgid "workspace.options.interaction-animation-dissolve" +msgstr "淡出" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:411 msgid "workspace.options.interaction-animation-none" msgstr "無" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:418 +msgid "workspace.options.interaction-animation-push" +msgstr "推動" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:413 +msgid "workspace.options.interaction-animation-slide" +msgstr "滑動" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:397 msgid "workspace.options.interaction-auto" msgstr "自動" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:610 +msgid "workspace.options.interaction-background" +msgstr "新增背景疊加層" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:596 +msgid "workspace.options.interaction-close-outside" +msgstr "點擊外部時關閉" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:378 +msgid "workspace.options.interaction-close-overlay" +msgstr "關閉疊加層" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:57 +msgid "workspace.options.interaction-close-overlay-dest" +msgstr "關閉疊加層:%s" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:462 msgid "workspace.options.interaction-delay" msgstr "延遲" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:484 +msgid "workspace.options.interaction-destination" +msgstr "終點" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:667 +msgid "workspace.options.interaction-duration" +msgstr "持續時間" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:680 +msgid "workspace.options.interaction-easing" +msgstr "緩衝效果" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:422 +msgid "workspace.options.interaction-easing-ease" +msgstr "緩衝" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:423 +msgid "workspace.options.interaction-easing-ease-in" +msgstr "緩慢開始" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:425 +msgid "workspace.options.interaction-easing-ease-in-out" +msgstr "先慢後快再慢" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:424 +msgid "workspace.options.interaction-easing-ease-out" +msgstr "逐漸減速" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:421 msgid "workspace.options.interaction-easing-linear" msgstr "線性" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs +#, unused +msgid "workspace.options.interaction-in" +msgstr "進場" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:370 +msgid "workspace.options.interaction-mouse-enter" +msgstr "滑鼠移入" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:371 +msgid "workspace.options.interaction-mouse-leave" +msgstr "滑鼠移出" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:464, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:465, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:470, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:669, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:671, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:675 msgid "workspace.options.interaction-ms" msgstr "毫秒" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:375 +msgid "workspace.options.interaction-navigate-to" +msgstr "導航至" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:51 +msgid "workspace.options.interaction-navigate-to-dest" +msgstr "導航至:%s" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:52, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:54, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:386 +msgid "workspace.options.interaction-none" +msgstr "(尚未設置)" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:697 +msgid "workspace.options.interaction-offset-effect" +msgstr "位移效果" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:36, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:366 +msgid "workspace.options.interaction-on-click" +msgstr "點擊觸發" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:376 +msgid "workspace.options.interaction-open-overlay" +msgstr "開啟覆蓋層" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:53 +msgid "workspace.options.interaction-open-overlay-dest" +msgstr "開啟覆蓋層:%s" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:60, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:380 +msgid "workspace.options.interaction-open-url" +msgstr "開啟URL" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs +#, unused +msgid "workspace.options.interaction-out" +msgstr "離開" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:409 +msgid "workspace.options.interaction-pos-bottom-center" +msgstr "底部中心" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:407 +msgid "workspace.options.interaction-pos-bottom-left" +msgstr "左下角" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:408 +msgid "workspace.options.interaction-pos-bottom-right" +msgstr "右下角" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:403 +msgid "workspace.options.interaction-pos-center" +msgstr "置中" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402 msgid "workspace.options.interaction-pos-manual" msgstr "手動" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:406 +msgid "workspace.options.interaction-pos-top-center" +msgstr "頂部中心" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:404 +msgid "workspace.options.interaction-pos-top-left" +msgstr "左上角" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:405 +msgid "workspace.options.interaction-pos-top-right" +msgstr "右上角" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:530 msgid "workspace.options.interaction-position" msgstr "位置" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:500 +msgid "workspace.options.interaction-preserve-scroll" +msgstr "保持滾動位置" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:59, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:379 +msgid "workspace.options.interaction-prev-screen" +msgstr "上一個畫面" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:521 +msgid "workspace.options.interaction-relative-to" +msgstr "相對於" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:385, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:400 +msgid "workspace.options.interaction-self" +msgstr "自身" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:377 +msgid "workspace.options.interaction-toggle-overlay" +msgstr "切換覆蓋層" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:55 +msgid "workspace.options.interaction-toggle-overlay-dest" +msgstr "切換覆蓋層:%s" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:451 +msgid "workspace.options.interaction-trigger" +msgstr "觸發" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:509 msgid "workspace.options.interaction-url" msgstr "網址" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:368 +msgid "workspace.options.interaction-while-hovering" +msgstr "滑鼠懸停時" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:369 +msgid "workspace.options.interaction-while-pressing" +msgstr "當按住時" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:731 +msgid "workspace.options.interactions" +msgstr "互動" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:735 +msgid "workspace.options.interactions.add-interaction" +msgstr "新增互動" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs +#, unused +msgid "workspace.options.interactions.remove-interaction" +msgstr "移除互動" + #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:152 msgid "workspace.options.layer-options.blend-mode.color" msgstr "顏色" -#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:561 +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:141 +msgid "workspace.options.layer-options.blend-mode.color-burn" +msgstr "顏色加深" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:144 +msgid "workspace.options.layer-options.blend-mode.color-dodge" +msgstr "顏色增亮" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:139 +msgid "workspace.options.layer-options.blend-mode.darken" +msgstr "變暗" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:148 +msgid "workspace.options.layer-options.blend-mode.difference" +msgstr "差值" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:149 +msgid "workspace.options.layer-options.blend-mode.exclusion" +msgstr "排除" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:147 +msgid "workspace.options.layer-options.blend-mode.hard-light" +msgstr "強光" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:150 +msgid "workspace.options.layer-options.blend-mode.hue" +msgstr "色調" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:142 +msgid "workspace.options.layer-options.blend-mode.lighten" +msgstr "變亮" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:153 +msgid "workspace.options.layer-options.blend-mode.luminosity" +msgstr "亮度" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:140 +msgid "workspace.options.layer-options.blend-mode.multiply" +msgstr "圖層混合" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:138 +msgid "workspace.options.layer-options.blend-mode.normal" +msgstr "正常" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:145 +msgid "workspace.options.layer-options.blend-mode.overlay" +msgstr "疊層" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:151 +msgid "workspace.options.layer-options.blend-mode.saturation" +msgstr "飽和度" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:143 +msgid "workspace.options.layer-options.blend-mode.screen" +msgstr "螢幕疊加" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:146 +msgid "workspace.options.layer-options.blend-mode.soft-light" +msgstr "柔光" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs +#, unused +msgid "workspace.options.layer-options.title" +msgstr "圖層" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs +#, unused +msgid "workspace.options.layer-options.title.group" +msgstr "群組圖層" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs +#, unused +msgid "workspace.options.layer-options.title.multiple" +msgstr "選擇圖層" + +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:197 +msgid "workspace.options.layer-options.toggle-layer" +msgstr "切換圖層可見性" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout-item.advanced-ops" +msgstr "進階選項" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:563 msgid "workspace.options.layout-item.layout-item-max-h" msgstr "最高" +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:530 +msgid "workspace.options.layout-item.layout-item-max-w" +msgstr "Max.Width" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:547 +msgid "workspace.options.layout-item.layout-item-min-h" +msgstr "Min.Height" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:514 +msgid "workspace.options.layout-item.layout-item-min-w" +msgstr "Min.Width" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout-item.title.layout-item-max-h" +msgstr "最大高度" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout-item.title.layout-item-max-w" +msgstr "最大寬度" + #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs #, unused msgid "workspace.options.layout-item.title.layout-item-min-h" @@ -2313,25 +5274,99 @@ msgstr "最小寬度" msgid "workspace.options.layout.bottom" msgstr "下" +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.direction.column" +msgstr "欄位" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.direction.column-reverse" +msgstr "反轉欄位" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.direction.row" +msgstr "列" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.direction.row-reverse" +msgstr "反轉列" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.gap" +msgstr "間距" + #: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs #, unused msgid "workspace.options.layout.left" msgstr "左" +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout.margin" +msgstr "邊距" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout.margin-all" +msgstr "所有邊" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout.margin-simple" +msgstr "簡單邊距" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.packed" +msgstr "緊湊排版" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.padding" +msgstr "內邊距" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.padding-all" +msgstr "所有邊界" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.padding-simple" +msgstr "簡單內邊距" + #: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs #, unused msgid "workspace.options.layout.right" msgstr "右" +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.space-around" +msgstr "圍繞間距" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.space-between" +msgstr "元素間距" + #: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs #, unused msgid "workspace.options.layout.top" msgstr "上" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:171 +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:157 msgid "workspace.options.more-colors" msgstr "更多顏色" +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:141 +msgid "workspace.options.more-lib-colors" +msgstr "更多圖層顏色" + #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:176 msgid "workspace.options.opacity" msgstr "不透明度" @@ -2349,7 +5384,31 @@ msgstr "原型" msgid "workspace.options.radius" msgstr "圓角半徑" -#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:118 +msgid "workspace.options.radius-bottom-left" +msgstr "左下角" + +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:126 +msgid "workspace.options.radius-bottom-right" +msgstr "右下角" + +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:102 +msgid "workspace.options.radius-top-left" +msgstr "左上角" + +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:110 +msgid "workspace.options.radius-top-right" +msgstr "右上角" + +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:135 +msgid "workspace.options.radius.hide-all-corners" +msgstr "合併獨立圓角半徑" + +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:136 +msgid "workspace.options.radius.show-single-corners" +msgstr "顯示獨立圓角半徑" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:189 msgid "workspace.options.recent-fonts" msgstr "最近" @@ -2357,46 +5416,171 @@ msgstr "最近" msgid "workspace.options.retry" msgstr "重試" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:406 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:403 msgid "workspace.options.rotation" msgstr "旋轉" -#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:128 +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:186 +msgid "workspace.options.search-font" +msgstr "搜尋字型" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:749 +msgid "workspace.options.select-a-shape" +msgstr "選擇一個形狀、畫板或組合,並拖動連接至其他畫板。" + +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:114 msgid "workspace.options.selection-color" msgstr "已選顏色" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:202, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:204 +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:49 +msgid "workspace.options.selection-fill" +msgstr "選取填充" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:41 +msgid "workspace.options.selection-stroke" +msgstr "選取描邊" + +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:292 +msgid "workspace.options.shadow-options.add-shadow" +msgstr "新增陰影" + +#: src/app/main/ui/inspect/attributes/shadow.cljs:40, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:168, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:170 msgid "workspace.options.shadow-options.blur" msgstr "模糊" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:200 +msgid "workspace.options.shadow-options.color" +msgstr "陰影顏色" + +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:112 +msgid "workspace.options.shadow-options.drop-shadow" +msgstr "陰影效果" + +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:113 +msgid "workspace.options.shadow-options.inner-shadow" +msgstr "內陰影" + +#: src/app/main/ui/inspect/attributes/shadow.cljs:38, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:158 msgid "workspace.options.shadow-options.offsetx" msgstr "X" -#: src/app/main/ui/viewer/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:228 +#: src/app/main/ui/inspect/attributes/shadow.cljs:39, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:190 msgid "workspace.options.shadow-options.offsety" msgstr "Y" -#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:300 +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:148, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:305 +msgid "workspace.options.shadow-options.remove-shadow" +msgstr "移除陰影" + +#: src/app/main/ui/inspect/attributes/shadow.cljs:41, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:179, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:181 +msgid "workspace.options.shadow-options.spread" +msgstr "擴散" + +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:287 msgid "workspace.options.shadow-options.title" msgstr "陰影" +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:286 +msgid "workspace.options.shadow-options.title.group" +msgstr "群組陰影" + +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:285 +msgid "workspace.options.shadow-options.title.multiple" +msgstr "選取陰影" + +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:144 +msgid "workspace.options.shadow-options.toggle-shadow" +msgstr "切換陰影" + #: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:193 msgid "workspace.options.show-fill-on-export" msgstr "在匯出中顯示" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:442 +msgid "workspace.options.show-in-viewer" +msgstr "在檢視模式中顯示" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:164 msgid "workspace.options.size" msgstr "尺寸" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:302 +msgid "workspace.options.size-presets" +msgstr "尺寸預設" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:43 +msgid "workspace.options.stroke" +msgstr "邊框" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs +#, unused +msgid "workspace.options.stroke-cap.circle-marker" +msgstr "圓形標記" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:131 +msgid "workspace.options.stroke-cap.circle-marker-short" +msgstr "圓形" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs +#, unused +msgid "workspace.options.stroke-cap.diamond-marker" +msgstr "鑽石標記" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:132 +msgid "workspace.options.stroke-cap.diamond-marker-short" +msgstr "鑽石" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs +#, unused +msgid "workspace.options.stroke-cap.line-arrow" +msgstr "箭頭線" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:128 +msgid "workspace.options.stroke-cap.line-arrow-short" +msgstr "箭頭" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:126 msgid "workspace.options.stroke-cap.none" msgstr "無" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:134 +msgid "workspace.options.stroke-cap.round" +msgstr "圓角" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:135 msgid "workspace.options.stroke-cap.square" msgstr "正方形" +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs +#, unused +msgid "workspace.options.stroke-cap.square-marker" +msgstr "方形標記" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:130 +msgid "workspace.options.stroke-cap.square-marker-short" +msgstr "矩形" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs +#, unused +msgid "workspace.options.stroke-cap.triangle-arrow" +msgstr "三角箭頭" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:129 +msgid "workspace.options.stroke-cap.triangle-arrow-short" +msgstr "三角" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:192 +msgid "workspace.options.stroke-color" +msgstr "描邊顏色" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:166 +msgid "workspace.options.stroke-width" +msgstr "描邊寬度" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:171 +msgid "workspace.options.stroke.add-stroke" +msgstr "新增描邊顏色" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:89 msgid "workspace.options.stroke.center" msgstr "置中" @@ -2413,14 +5597,34 @@ msgstr "點線" msgid "workspace.options.stroke.inner" msgstr "裏面" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:108 +msgid "workspace.options.stroke.mixed" +msgstr "混合" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:91 msgid "workspace.options.stroke.outer" msgstr "外面" +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:184 +msgid "workspace.options.stroke.remove-stroke" +msgstr "移除描邊" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:105 msgid "workspace.options.stroke.solid" msgstr "實線" +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:117 +msgid "workspace.options.text-options.align-bottom" +msgstr "對齊底部" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:113 +msgid "workspace.options.text-options.align-middle" +msgstr "對齊中間" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:109 +msgid "workspace.options.text-options.align-top" +msgstr "對齊頂部" + #: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:84 msgid "workspace.options.text-options.direction-ltr" msgstr "左至右" @@ -2429,6 +5633,26 @@ msgstr "左至右" msgid "workspace.options.text-options.direction-rtl" msgstr "右至左" +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:151 +msgid "workspace.options.text-options.grow-auto-height" +msgstr "自動高度" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:147 +msgid "workspace.options.text-options.grow-auto-width" +msgstr "自動寬度" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:143 +msgid "workspace.options.text-options.grow-fixed" +msgstr "固定" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:392 +msgid "workspace.options.text-options.letter-spacing" +msgstr "字母間距" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:374 +msgid "workspace.options.text-options.line-height" +msgstr "線高" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs #, unused msgid "workspace.options.text-options.lowercase" @@ -2439,14 +5663,43 @@ msgstr "小寫" msgid "workspace.options.text-options.none" msgstr "無" +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:178 +msgid "workspace.options.text-options.strikethrough" +msgstr "刪除線 (%s)" + #: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:53 msgid "workspace.options.text-options.text-align-center" msgstr "置中 (%s)" +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:61 +msgid "workspace.options.text-options.text-align-justify" +msgstr "對齊兩端 (%s)" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:49 +msgid "workspace.options.text-options.text-align-left" +msgstr "左對齊 (%s)" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:57 +msgid "workspace.options.text-options.text-align-right" +msgstr "右對齊 (%s)" + #: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:191 msgid "workspace.options.text-options.title" msgstr "文字" +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:190 +msgid "workspace.options.text-options.title-group" +msgstr "群組文字" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:189 +msgid "workspace.options.text-options.title-selection" +msgstr "選取文字" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs +#, unused +msgid "workspace.options.text-options.titlecase" +msgstr "標題大小寫" + #: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:173 msgid "workspace.options.text-options.underline" msgstr "底線" @@ -2456,11 +5709,19 @@ msgstr "底線" msgid "workspace.options.text-options.uppercase" msgstr "大寫" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:383 +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:753 +msgid "workspace.options.use-play-button" +msgstr "使用標題上的播放按鈕來執行原型檢視。" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:348 +msgid "workspace.options.width" +msgstr "寬度" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:380 msgid "workspace.options.x" msgstr "X軸" -#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:394 +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:391 msgid "workspace.options.y" msgstr "Y 軸" @@ -2480,90 +5741,734 @@ msgstr "繪製節點 (%s)" msgid "workspace.path.actions.join-nodes" msgstr "聯接節點 (%s)" -#: src/app/main/ui/workspace/context_menu.cljs:185 +#: src/app/main/ui/workspace/viewport/path_actions.cljs:204 +msgid "workspace.path.actions.make-corner" +msgstr "到角落 (%s)" + +#: src/app/main/ui/workspace/viewport/path_actions.cljs:211 +msgid "workspace.path.actions.make-curve" +msgstr "\"轉為曲線 (%s)\"" + +#: src/app/main/ui/workspace/viewport/path_actions.cljs:182 +msgid "workspace.path.actions.merge-nodes" +msgstr "合併節點(%s)" + +#: src/app/main/ui/workspace/viewport/path_actions.cljs:159 +msgid "workspace.path.actions.move-nodes" +msgstr "移動節點(%s)" + +#: src/app/main/ui/workspace/viewport/path_actions.cljs:196 +msgid "workspace.path.actions.separate-nodes" +msgstr "分離節點(%s)" + +#: src/app/main/ui/workspace/viewport/path_actions.cljs:218 +msgid "workspace.path.actions.snap-nodes" +msgstr "對齊節點(%s)" + +#: src/app/main/ui/workspace/plugins.cljs:83 +msgid "workspace.plugins.button-open" +msgstr "開啟" + +#: src/app/main/ui/workspace/plugins.cljs:202 +#, markdown +msgid "workspace.plugins.discover" +msgstr "探索更多外掛(%s)" + +#: src/app/main/ui/workspace/plugins.cljs:209 +msgid "workspace.plugins.empty-plugins" +msgstr "尚未安裝任何外掛" + +#: src/app/main/ui/workspace/plugins.cljs:196 +msgid "workspace.plugins.error.manifest" +msgstr "外掛清單有誤。" + +#: src/app/main/data/plugins.cljs:86, src/app/main/ui/workspace/main_menu.cljs:743, src/app/main/ui/workspace/plugins.cljs:82 +msgid "workspace.plugins.error.need-editor" +msgstr "您需要具備編輯者權限才能使用此外掛" + +#: src/app/main/ui/workspace/plugins.cljs:192 +msgid "workspace.plugins.error.url" +msgstr "此外掛不存在,或 URL 不正確。" + +#: src/app/main/ui/workspace/plugins.cljs:188 +msgid "workspace.plugins.install" +msgstr "安裝" + +#: src/app/main/ui/workspace/plugins.cljs:218 +msgid "workspace.plugins.installed-plugins" +msgstr "安裝外掛" + +#: src/app/main/ui/workspace/main_menu.cljs:698 +msgid "workspace.plugins.menu.plugins-manager" +msgstr "外掛管理員" + +#: src/app/main/ui/workspace/main_menu.cljs:889 +msgid "workspace.plugins.menu.title" +msgstr "外掛" + +#: src/app/main/ui/workspace/plugins.cljs:372 +msgid "workspace.plugins.permissions-update.title" +msgstr "更新此外掛" + +#: src/app/main/ui/workspace/plugins.cljs:376 +msgid "workspace.plugins.permissions-update.warning" +msgstr "此外掛自您上次打開以來已被修改。現在它還需要存取以下內容:" + +#: src/app/main/ui/workspace/plugins.cljs:283 +msgid "workspace.plugins.permissions.allow-download" +msgstr "開始檔案下載。" + +#: src/app/main/ui/workspace/plugins.cljs:276 +msgid "workspace.plugins.permissions.comment-read" +msgstr "閱讀您的留言和回覆。" + +#: src/app/main/ui/workspace/plugins.cljs:270 +msgid "workspace.plugins.permissions.comment-write" +msgstr "閱讀並修改您的留言,並以您的名義回覆。" + +#: src/app/main/ui/workspace/plugins.cljs:243 +msgid "workspace.plugins.permissions.content-read" +msgstr "使用者有權存取閱讀的檔案內容。" + +#: src/app/main/ui/workspace/plugins.cljs:237 +msgid "workspace.plugins.permissions.content-write" +msgstr "使用者有權存取閱讀以及修改檔案內容。" + +#: src/app/main/ui/workspace/plugins.cljs:323 +msgid "workspace.plugins.permissions.disclaimer" +msgstr "請注意,此外掛由外部廠商建立,因此在授權存取之前,請確保您信任它。我們重視您的資料隱私與安全。如有任何疑慮,請聯絡我們的客服。" + +#: src/app/main/ui/workspace/plugins.cljs:263 +msgid "workspace.plugins.permissions.library-read" +msgstr "讀取您的圖庫與資源。" + +#: src/app/main/ui/workspace/plugins.cljs:257 +msgid "workspace.plugins.permissions.library-write" +msgstr "讀取以及修改您的圖庫與資源。" + +#: src/app/main/ui/workspace/plugins.cljs:316 +msgid "workspace.plugins.permissions.title" +msgstr "'%s' 外掛需要訪問以下內容:" + +#: src/app/main/ui/workspace/plugins.cljs:250 +msgid "workspace.plugins.permissions.user-read" +msgstr "讀取當前使用者的個人資料資訊。" + +#: src/app/main/ui/workspace/plugins.cljs:214 +msgid "workspace.plugins.plugin-list-link" +msgstr "外掛列表" + +#: src/app/main/ui/workspace/plugins.cljs:86 +msgid "workspace.plugins.remove-plugin" +msgstr "移除外掛" + +#: src/app/main/ui/workspace/plugins.cljs:183 +msgid "workspace.plugins.search-placeholder" +msgstr "寫入外掛網址" + +#, unused +msgid "workspace.plugins.success" +msgstr "外掛已正確載入。" + +#: src/app/main/ui/workspace/plugins.cljs:177 +msgid "workspace.plugins.title" +msgstr "外掛" + +#: src/app/main/ui/workspace/plugins.cljs:436 +msgid "workspace.plugins.try-out.cancel" +msgstr "不是現在" + +#: src/app/main/ui/workspace/plugins.cljs:429 +msgid "workspace.plugins.try-out.message" +msgstr "想看看嗎?它將在您當前的團隊中以新草稿開啟。(如果不想,您隨時可以在任何檔案的已安裝外掛中找到它。)" + +#: src/app/main/ui/workspace/plugins.cljs:425 +msgid "workspace.plugins.try-out.title" +msgstr "'%s' 外掛已為您的使用者安裝!" + +#: src/app/main/ui/workspace/plugins.cljs:442 +msgid "workspace.plugins.try-out.try" +msgstr "嘗試外掛" + +#: src/app/main/ui/workspace/context_menu.cljs:542 +msgid "workspace.shape.menu.add-flex" +msgstr "新增彈性布局" + +#: src/app/main/ui/workspace/context_menu.cljs:546 +msgid "workspace.shape.menu.add-grid" +msgstr "新增網格佈局" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1013, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1039 +msgid "workspace.shape.menu.add-layout" +msgstr "新增佈局" + +#: src/app/main/ui/workspace/context_menu.cljs:266 +msgid "workspace.shape.menu.back" +msgstr "送到最底層" + +#: src/app/main/ui/workspace/context_menu.cljs:263 +msgid "workspace.shape.menu.backward" +msgstr "向後移動" + +#: src/app/main/ui/workspace/context_menu.cljs:186 msgid "workspace.shape.menu.copy" msgstr "複製" -#: src/app/main/ui/workspace/context_menu.cljs:191 +#: src/app/main/ui/workspace/context_menu.cljs:204 +msgid "workspace.shape.menu.copy-css" +msgstr "複製為 CSS" + +#: src/app/main/ui/workspace/context_menu.cljs:206 +msgid "workspace.shape.menu.copy-css-nested" +msgstr "複製為 CSS(巢狀層級)" + +#: src/app/main/ui/workspace/context_menu.cljs:189 +msgid "workspace.shape.menu.copy-link" +msgstr "複製連結到剪貼簿" + +#: src/app/main/ui/workspace/context_menu.cljs:202 +msgid "workspace.shape.menu.copy-paste-as" +msgstr "複製/貼上為 ..." + +#: src/app/main/ui/workspace/context_menu.cljs:214 +msgid "workspace.shape.menu.copy-props" +msgstr "複製屬性" + +#: src/app/main/ui/workspace/context_menu.cljs:211 +msgid "workspace.shape.menu.copy-text" +msgstr "複製為純文字" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:454 +msgid "workspace.shape.menu.create-annotation" +msgstr "建立注釋" + +#: src/app/main/ui/workspace/context_menu.cljs:366 +msgid "workspace.shape.menu.create-artboard-from-selection" +msgstr "選擇面板" + +#: src/app/main/ui/workspace/context_menu.cljs:568 +msgid "workspace.shape.menu.create-component" +msgstr "建立元件" + +#: src/app/main/ui/workspace/context_menu.cljs:572 +msgid "workspace.shape.menu.create-multiple-components" +msgstr "建立多個元件" + +#: src/app/main/ui/workspace/context_menu.cljs:192 msgid "workspace.shape.menu.cut" msgstr "剪下" -#: src/app/main/ui/workspace/context_menu.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:764, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1052 +#: src/app/main/ui/workspace/context_menu.cljs:598, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:773, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1061 msgid "workspace.shape.menu.delete" msgstr "刪除" -#: src/app/main/ui/workspace/context_menu.cljs:197 +#: src/app/main/ui/workspace/context_menu.cljs:489 +msgid "workspace.shape.menu.delete-flow-start" +msgstr "刪除流程開始" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:459 +msgid "workspace.shape.menu.detach-instance" +msgstr "分離實例" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:458 +msgid "workspace.shape.menu.detach-instances-in-bulk" +msgstr "分離實例" + +#: src/app/main/ui/workspace/context_menu.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:75 +msgid "workspace.shape.menu.difference" +msgstr "差異" + +#: src/app/main/ui/workspace/context_menu.cljs:198 msgid "workspace.shape.menu.duplicate" msgstr "複本" -#: src/app/main/ui/workspace/context_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:416 msgid "workspace.shape.menu.edit" msgstr "編輯" -#: src/app/main/ui/workspace/context_menu.cljs:350 +#: src/app/main/ui/workspace/context_menu.cljs:436, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:85 +msgid "workspace.shape.menu.exclude" +msgstr "排除" + +#: src/app/main/ui/workspace/context_menu.cljs:443, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:89 +msgid "workspace.shape.menu.flatten" +msgstr "扁平化" + +#: src/app/main/ui/workspace/context_menu.cljs:283 +msgid "workspace.shape.menu.flip-horizontal" +msgstr "水平翻轉" + +#: src/app/main/ui/workspace/context_menu.cljs:279 +msgid "workspace.shape.menu.flip-vertical" +msgstr "垂直翻轉" + +#: src/app/main/ui/workspace/context_menu.cljs:491 +msgid "workspace.shape.menu.flow-start" +msgstr "流程開始" + +#: src/app/main/ui/workspace/context_menu.cljs:257 +msgid "workspace.shape.menu.forward" +msgstr "向前移動" + +#: src/app/main/ui/workspace/context_menu.cljs:260 +msgid "workspace.shape.menu.front" +msgstr "帶到最前面" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs +#, unused +msgid "workspace.shape.menu.go-main" +msgstr "前往主要元件檔案" + +#: src/app/main/ui/workspace/context_menu.cljs:352 msgid "workspace.shape.menu.group" msgstr "群組" -#: src/app/main/ui/workspace/context_menu.cljs:458, src/app/main/ui/workspace/sidebar/layer_item.cljs:145 +#: src/app/main/ui/workspace/context_menu.cljs:460, src/app/main/ui/workspace/sidebar/layer_item.cljs:151 msgid "workspace.shape.menu.hide" msgstr "隱藏" -#: src/app/main/ui/workspace/context_menu.cljs:658, src/app/main/ui/workspace/main_menu.cljs:414 +#: src/app/main/ui/workspace/context_menu.cljs:674, src/app/main/ui/workspace/main_menu.cljs:414 msgid "workspace.shape.menu.hide-ui" msgstr "顯示/隱藏使用者介面" -#: src/app/main/ui/workspace/context_menu.cljs:466, src/app/main/ui/workspace/sidebar/layer_item.cljs:153, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 +#: src/app/main/ui/workspace/context_menu.cljs:433, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:80 +msgid "workspace.shape.menu.intersection" +msgstr "交集" + +#: src/app/main/ui/workspace/context_menu.cljs:468, src/app/main/ui/workspace/sidebar/layer_item.cljs:159, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:204 msgid "workspace.shape.menu.lock" msgstr "鎖定" -#: src/app/main/ui/workspace/context_menu.cljs:194, src/app/main/ui/workspace/context_menu.cljs:655 +#: src/app/main/ui/workspace/context_menu.cljs:357 +msgid "workspace.shape.menu.mask" +msgstr "遮罩" + +#: src/app/main/ui/workspace/context_menu.cljs:195, src/app/main/ui/workspace/context_menu.cljs:671 msgid "workspace.shape.menu.paste" msgstr "貼上" -#: src/app/main/ui/workspace/context_menu.cljs:424 +#: src/app/main/ui/workspace/context_menu.cljs:218 +msgid "workspace.shape.menu.paste-props" +msgstr "貼上屬性" + +#: src/app/main/ui/workspace/context_menu.cljs:426 msgid "workspace.shape.menu.path" msgstr "路徑" -#: src/app/main/ui/workspace/context_menu.cljs:246 +#: src/app/main/ui/workspace/context_menu.cljs:532 +msgid "workspace.shape.menu.remove-flex" +msgstr "移除彈性佈局" + +#: src/app/main/ui/workspace/context_menu.cljs:535 +msgid "workspace.shape.menu.remove-grid" +msgstr "移除網格佈局" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1031 +msgid "workspace.shape.menu.remove-layout" +msgstr "移除佈局" + +#: src/app/main/ui/workspace/context_menu.cljs:313 +msgid "workspace.shape.menu.rename" +msgstr "重新命名" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:463 +msgid "workspace.shape.menu.reset-overrides" +msgstr "重設覆蓋" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:466 +msgid "workspace.shape.menu.restore-main" +msgstr "還原主要元件" + +#: src/app/main/ui/workspace/context_menu.cljs:247 msgid "workspace.shape.menu.select-layer" msgstr "選擇圖層" -#: src/app/main/ui/workspace/context_menu.cljs:455, src/app/main/ui/workspace/sidebar/layer_item.cljs:144 +#: src/app/main/ui/workspace/context_menu.cljs:457, src/app/main/ui/workspace/sidebar/layer_item.cljs:150 msgid "workspace.shape.menu.show" msgstr "顯示" -#: src/app/main/ui/workspace/context_menu.cljs:297 +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:451 +msgid "workspace.shape.menu.show-in-assets" +msgstr "在資源面板中顯示" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:469, src/app/main/ui/workspace/sidebar/assets/components.cljs:573 +msgid "workspace.shape.menu.show-main" +msgstr "顯示主要元件" + +#: src/app/main/ui/workspace/context_menu.cljs:298 msgid "workspace.shape.menu.thumbnail-remove" msgstr "移除縮圖" -#: src/app/main/ui/workspace/context_menu.cljs:299 +#: src/app/main/ui/workspace/context_menu.cljs:300 msgid "workspace.shape.menu.thumbnail-set" msgstr "設置為縮圖" -#: src/app/main/ui/workspace/context_menu.cljs:346 +#: src/app/main/ui/workspace/context_menu.cljs:421 +msgid "workspace.shape.menu.transform-to-path" +msgstr "轉換為路徑" + +#: src/app/main/ui/workspace/context_menu.cljs:348 msgid "workspace.shape.menu.ungroup" msgstr "取消群組" -#: src/app/main/ui/workspace/context_menu.cljs:463, src/app/main/ui/workspace/sidebar/layer_item.cljs:152, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 +#: src/app/main/ui/workspace/context_menu.cljs:427, src/app/main/ui/workspace/sidebar/options/menus/bool.cljs:70 +msgid "workspace.shape.menu.union" +msgstr "合併" + +#: src/app/main/ui/workspace/context_menu.cljs:465, src/app/main/ui/workspace/sidebar/layer_item.cljs:158, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:210 msgid "workspace.shape.menu.unlock" msgstr "解除鎖定" +#: src/app/main/ui/workspace/context_menu.cljs:362 +msgid "workspace.shape.menu.unmask" +msgstr "取消遮罩" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs +#, unused +msgid "workspace.shape.menu.update-components-in-bulk" +msgstr "更新主要元件" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:472 +msgid "workspace.shape.menu.update-main" +msgstr "更新主要元件" + +#: src/app/main/ui/components/tab_container.cljs:52, src/app/main/ui/workspace/sidebar.cljs:51 +msgid "workspace.sidebar.collapse" +msgstr "摺疊側邊欄" + +#: src/app/main/ui/workspace/sidebar/collapsable_button.cljs:25, src/app/main/ui/workspace/sidebar/collapsable_button.cljs:29 +msgid "workspace.sidebar.expand" +msgstr "展開側邊欄" + +#: src/app/main/ui/workspace/right_header.cljs:212, src/app/main/ui/workspace/right_header.cljs:213 +msgid "workspace.sidebar.history" +msgstr "歷史紀錄" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:525, src/app/main/ui/workspace/sidebar.cljs:128, src/app/main/ui/workspace/sidebar.cljs:132, src/app/main/ui/workspace/sidebar.cljs:141 +msgid "workspace.sidebar.layers" +msgstr "層級" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:311, src/app/main/ui/workspace/sidebar/layers.cljs:383 +msgid "workspace.sidebar.layers.components" +msgstr "元件" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:308, src/app/main/ui/workspace/sidebar/layers.cljs:341 +msgid "workspace.sidebar.layers.frames" +msgstr "版面" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:309, src/app/main/ui/workspace/sidebar/layers.cljs:355 +msgid "workspace.sidebar.layers.groups" +msgstr "群組" + #: src/app/main/ui/workspace/sidebar/layers.cljs:313, src/app/main/ui/workspace/sidebar/layers.cljs:411 msgid "workspace.sidebar.layers.images" msgstr "圖像" +#: src/app/main/ui/workspace/sidebar/layers.cljs:310, src/app/main/ui/workspace/sidebar/layers.cljs:369 +msgid "workspace.sidebar.layers.masks" +msgstr "遮罩" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:291 +msgid "workspace.sidebar.layers.search" +msgstr "搜尋圖層" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:314, src/app/main/ui/workspace/sidebar/layers.cljs:425 +msgid "workspace.sidebar.layers.shapes" +msgstr "形狀" + #: src/app/main/ui/workspace/sidebar/layers.cljs:312, src/app/main/ui/workspace/sidebar/layers.cljs:397 msgid "workspace.sidebar.layers.texts" msgstr "文字" +#: src/app/main/ui/inspect/attributes/svg.cljs:56, src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs:101 +msgid "workspace.sidebar.options.svg-attrs.title" +msgstr "匯入的 SVG 屬性" + #: src/app/main/ui/workspace/sidebar/sitemap.cljs:239 msgid "workspace.sidebar.sitemap" msgstr "頁" +#: src/app/main/ui/workspace/sidebar/sitemap.cljs:249 +msgid "workspace.sidebar.sitemap.add-page" +msgstr "增加頁面" + +#: src/app/main/ui/workspace/left_header.cljs:97 +msgid "workspace.sitemap" +msgstr "網站地圖" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:47 +#, unused +msgid "workspace.token-set.not-active" +msgstr "權杖集未啟用" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:84 +msgid "workspace.token.active-themes" +msgstr "%s 個啟用的主題" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs +#, unused +msgid "workspace.token.add set" +msgstr "新增集" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:136 +msgid "workspace.token.applied-to" +msgstr "應用於" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:391 +msgid "workspace.token.back-to-themes" +msgstr "返回主題列表" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:54 +msgid "workspace.token.create-new-theme" +msgstr "立即建立您的第一個主題。" + +#: src/app/main/ui/workspace/tokens/sets.cljs:134, src/app/main/ui/workspace/tokens/sidebar.cljs:190 +msgid "workspace.token.create-one" +msgstr "建立一個。" + +#: src/app/main/ui/workspace/tokens/form.cljs:492 +msgid "workspace.token.create-token" +msgstr "建立新的 %s 權杖(token)" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:278 +msgid "workspace.token.delete" +msgstr "刪除權杖(token)" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:159 +msgid "workspace.token.delete-theme-title" +msgstr "刪除主題" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:275 +msgid "workspace.token.duplicate" +msgstr "複製權杖(token)" + +#: src/app/main/ui/workspace/tokens/context_menu.cljs:262 +msgid "workspace.token.edit" +msgstr "編輯權杖(token)" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:383 +msgid "workspace.token.edit-theme-title" +msgstr "編輯主題" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:72 +msgid "workspace.token.edit-themes" +msgstr "編輯主題" + +#: src/app/main/ui/workspace/tokens/form.cljs:491 +msgid "workspace.token.edit-token" +msgstr "編輯權杖(token)" + +#: src/app/main/ui/workspace/tokens/form.cljs:544 +msgid "workspace.token.enter-token-description" +msgstr "新增描述(選填)" + +#: src/app/main/ui/workspace/tokens/form.cljs:498 +msgid "workspace.token.enter-token-name" +msgstr "輸入 %s 權杖(token)名稱" + +#: src/app/main/ui/workspace/tokens/sets.cljs +#, unused +msgid "workspace.token.grouping-set-alert" +msgstr "權杖(token)集分組尚未支援。" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:196 +msgid "workspace.token.label.group" +msgstr "群組" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:206 +msgid "workspace.token.label.theme" +msgstr "主題" + +#: src/app/main/ui/workspace/tokens/theme_select.cljs:89 +msgid "workspace.token.no-active-theme" +msgstr "目前沒有啟用的主題" + +#: src/app/main/ui/workspace/tokens/sets.cljs:110 +msgid "workspace.token.no-permisions-set" +msgstr "您需要是編輯者才能啟用/停用集" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:199 +msgid "workspace.token.no-permission-themes" +msgstr "您需要是編輯者才能使用主題" + +#: src/app/main/ui/workspace/tokens/sets.cljs:504 +msgid "workspace.token.no-sets-create" +msgstr "目前尚未定義任何集,請先建立一個。" + +#: src/app/main/ui/workspace/tokens/sets.cljs:131, src/app/main/ui/workspace/tokens/sets.cljs:137 +msgid "workspace.token.no-sets-yet" +msgstr "目前尚未定義任何集。" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:186 +msgid "workspace.token.no-themes" +msgstr "目前尚未定義主題。" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:50 +msgid "workspace.token.no-themes-currently" +msgstr "現主時您沒有任何主題。" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:122 +#, fuzzy +msgid "workspace.token.original-value" +msgstr "原始值:%s" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:128 +msgid "workspace.token.ref-not-valid" +msgstr "參照無效或不在任何啟用的集內" + +#: src/app/main/ui/workspace/tokens/form.cljs:217, src/app/main/ui/workspace/tokens/form.cljs:221, src/app/main/ui/workspace/tokens/token_pill.cljs:123 +#, fuzzy +msgid "workspace.token.resolved-value" +msgstr "解析後的值:%s" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:240 +msgid "workspace.token.save-theme" +msgstr "儲存主題" + +#: src/app/main/ui/workspace/tokens/sets.cljs:239, src/app/main/ui/workspace/tokens/sets.cljs:340 +msgid "workspace.token.select-set" +msgstr "選擇集。" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:396 +msgid "workspace.token.set-selection-theme" +msgstr "定義此主題選項應使用哪些權杖(token)集:" + +#: src/app/main/ui/workspace/tokens/modals/themes.cljs:136 +msgid "workspace.token.theme-name" +msgstr "主題 %s" + +#: src/app/main/ui/workspace/tokens/form.cljs:545 +msgid "workspace.token.token-description" +msgstr "描述" + +#: src/app/main/ui/workspace/tokens/form.cljs:501 +msgid "workspace.token.token-name" +msgstr "名稱" + +#: src/app/main/ui/workspace/tokens/form.cljs:59 +msgid "workspace.token.token-name-validation-error" +msgstr "" +" 不是有效的權杖(token)名稱。\n" +"權杖名稱應該只包含字母和數字,並由 . 字元分隔,且不得以 $ 符號開頭。" + +#: src/app/main/ui/workspace/tokens/form.cljs:526 +msgid "workspace.token.token-value" +msgstr "值" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:322 +msgid "workspace.token.tokens-section-title" +msgstr "權杖(TOKENS) - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:405 +msgid "workspace.token.tools" +msgstr "工具" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:131 +msgid "workspace.token.value-not-valid" +msgstr "該值無效" + +#: src/app/main/ui/workspace/tokens/form.cljs:520 +msgid "workspace.token.warning-name-change" +msgstr "重新命名此權杖(token)將會中斷對其舊名稱的任何參照。" + +#: src/app/main/ui/workspace/sidebar.cljs:135, src/app/main/ui/workspace/sidebar.cljs:144 +msgid "workspace.toolbar.assets" +msgstr "資源" + +#: src/app/main/ui/workspace/palette.cljs:165, src/app/main/ui/workspace/palette.cljs:166 +msgid "workspace.toolbar.color-palette" +msgstr "色彩調色板(%s)" + +#: src/app/main/ui/workspace/right_header.cljs:201, src/app/main/ui/workspace/right_header.cljs:202 +msgid "workspace.toolbar.comments" +msgstr "留言 (%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:190, src/app/main/ui/workspace/top_toolbar.cljs:191 +msgid "workspace.toolbar.curve" +msgstr "曲線(%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:170, src/app/main/ui/workspace/top_toolbar.cljs:171 +msgid "workspace.toolbar.ellipse" +msgstr "橢圓(%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:132, src/app/main/ui/workspace/top_toolbar.cljs:153 +msgid "workspace.toolbar.frame" +msgstr "版面(%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:61, src/app/main/ui/workspace/top_toolbar.cljs:62 +msgid "workspace.toolbar.image" +msgstr "圖片(%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:142, src/app/main/ui/workspace/top_toolbar.cljs:143 +msgid "workspace.toolbar.move" +msgstr "移動(%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:199, src/app/main/ui/workspace/top_toolbar.cljs:200 +msgid "workspace.toolbar.path" +msgstr "路徑(%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:210, src/app/main/ui/workspace/top_toolbar.cljs:211 +msgid "workspace.toolbar.plugins" +msgstr "外掛(%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:161, src/app/main/ui/workspace/top_toolbar.cljs:162 +msgid "workspace.toolbar.rect" +msgstr "矩形(%s)" + +#: src/app/main/ui/workspace/left_toolbar.cljs +#, unused +msgid "workspace.toolbar.shortcuts" +msgstr "捷徑(%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:179, src/app/main/ui/workspace/top_toolbar.cljs:180 +msgid "workspace.toolbar.text" +msgstr "文字(%s)" + +#: src/app/main/ui/workspace/palette.cljs:173, src/app/main/ui/workspace/palette.cljs:174 +msgid "workspace.toolbar.text-palette" +msgstr "字體(%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:229, src/app/main/ui/workspace/top_toolbar.cljs:230 +msgid "workspace.toolbar.toggle-toolbar" +msgstr "切換工具欄" + +#: src/app/main/ui/workspace/viewport/top_bar.cljs:39 +msgid "workspace.top-bar.read-only.done" +msgstr "完成" + +#: src/app/main/ui/workspace/viewport/top_bar.cljs:36 +#, markdown +msgid "workspace.top-bar.view-only" +msgstr "檢視程式碼(僅供檢視)" + +#: src/app/main/ui/workspace/sidebar/history.cljs:331 +msgid "workspace.undo.empty" +msgstr "目前為止沒有歷史變更記錄" + +#: src/app/main/ui/workspace/sidebar/history.cljs:145 +msgid "workspace.undo.entry.delete" +msgstr "刪除 %s" + +#: src/app/main/ui/workspace/sidebar/history.cljs:144 +msgid "workspace.undo.entry.modify" +msgstr "修改 %s" + +#: src/app/main/ui/workspace/sidebar/history.cljs:146 +msgid "workspace.undo.entry.move" +msgstr "移除物件" + #: src/app/main/ui/workspace/sidebar/history.cljs:109 msgid "workspace.undo.entry.multiple.circle" msgstr "圖形" +#: src/app/main/ui/workspace/sidebar/history.cljs:110 +msgid "workspace.undo.entry.multiple.color" +msgstr "顏色資源" + +#: src/app/main/ui/workspace/sidebar/history.cljs:111 +msgid "workspace.undo.entry.multiple.component" +msgstr "元件" + #: src/app/main/ui/workspace/sidebar/history.cljs:112 msgid "workspace.undo.entry.multiple.curve" msgstr "曲線" @@ -2572,6 +6477,14 @@ msgstr "曲線" msgid "workspace.undo.entry.multiple.frame" msgstr "畫板" +#: src/app/main/ui/workspace/sidebar/history.cljs:114 +msgid "workspace.undo.entry.multiple.group" +msgstr "群組" + +#: src/app/main/ui/workspace/sidebar/history.cljs:115 +msgid "workspace.undo.entry.multiple.media" +msgstr "圖形資源" + #: src/app/main/ui/workspace/sidebar/history.cljs:116 msgid "workspace.undo.entry.multiple.multiple" msgstr "物件" @@ -2600,6 +6513,10 @@ msgstr "文字" msgid "workspace.undo.entry.multiple.typography" msgstr "字元樣式資產" +#: src/app/main/ui/workspace/sidebar/history.cljs:143 +msgid "workspace.undo.entry.new" +msgstr "新增 %s" + #: src/app/main/ui/workspace/sidebar/history.cljs:123 msgid "workspace.undo.entry.single.circle" msgstr "圓圈" @@ -2608,6 +6525,10 @@ msgstr "圓圈" msgid "workspace.undo.entry.single.color" msgstr "顏色素材" +#: src/app/main/ui/workspace/sidebar/history.cljs:125 +msgid "workspace.undo.entry.single.component" +msgstr "元件" + #: src/app/main/ui/workspace/sidebar/history.cljs:126 msgid "workspace.undo.entry.single.curve" msgstr "曲線" @@ -2624,6 +6545,10 @@ msgstr "群組" msgid "workspace.undo.entry.single.image" msgstr "影像" +#: src/app/main/ui/workspace/sidebar/history.cljs:130 +msgid "workspace.undo.entry.single.media" +msgstr "圖形資產" + #: src/app/main/ui/workspace/sidebar/history.cljs:131 msgid "workspace.undo.entry.single.multiple" msgstr "物件" @@ -2648,6 +6573,10 @@ msgstr "形狀" msgid "workspace.undo.entry.single.text" msgstr "文字" +#: src/app/main/ui/workspace/sidebar/history.cljs:137 +msgid "workspace.undo.entry.single.typography" +msgstr "字型排版資產" + #: src/app/main/ui/workspace/sidebar/history.cljs:147 msgid "workspace.undo.entry.unknown" msgstr "操作覆蓋%s" @@ -2657,18 +6586,99 @@ msgstr "操作覆蓋%s" msgid "workspace.undo.title" msgstr "歷史" -#: src/app/main/data/workspace/libraries.cljs:1223, src/app/main/ui/workspace/sidebar/versions.cljs:261 +#: src/app/main/data/workspace/libraries.cljs:1224, src/app/main/ui/workspace/sidebar/versions.cljs:261 msgid "workspace.updates.dismiss" msgstr "解散" -#: src/app/main/data/workspace/libraries.cljs:1219 +#: src/app/main/data/workspace/libraries.cljs:1222 +msgid "workspace.updates.more-info" +msgstr "更多資訊" + +#: src/app/main/data/workspace/libraries.cljs:1220 msgid "workspace.updates.there-are-updates" msgstr "共用檔案庫有更新" -#: src/app/main/data/workspace/libraries.cljs:1225 +#: src/app/main/data/workspace/libraries.cljs:1226 msgid "workspace.updates.update" msgstr "更新" +#: src/app/main/ui/workspace/sidebar/versions.cljs:184 +msgid "workspace.versions.autosaved.entry" +msgstr "%s 個自動儲存版本" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:182 +msgid "workspace.versions.autosaved.version" +msgstr "自動儲存 %s" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:203 +msgid "workspace.versions.button.pin" +msgstr "固定版本" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:198 +msgid "workspace.versions.button.restore" +msgstr "還原版本" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:327, src/app/main/ui/workspace/sidebar/versions.cljs:329 +msgid "workspace.versions.button.save" +msgstr "儲存版本" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:336 +msgid "workspace.versions.empty" +msgstr "目前沒有版本" + +#: src/app/main/ui/ds/product/autosaved_milestone.cljs:53 +msgid "workspace.versions.expand-snapshot" +msgstr "展開快照" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:309 +msgid "workspace.versions.filter.all" +msgstr "所有版本" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:308 +msgid "workspace.versions.filter.label" +msgstr "版本篩選" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:310 +msgid "workspace.versions.filter.mine" +msgstr "我的版本" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:316 +msgid "workspace.versions.filter.user" +msgstr "%s的版本" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:322 +msgid "workspace.versions.loading" +msgstr "載入中..." + +#: src/app/main/ui/workspace/sidebar/versions.cljs:259 +msgid "workspace.versions.restore-warning" +msgstr "請問您想要還原此版本嗎?" + +#, unused +msgid "workspace.versions.snapshot-menu" +msgstr "開啟快照選單" + +#: src/app/main/ui/workspace/sidebar.cljs:285 +msgid "workspace.versions.tab.actions" +msgstr "操作" + +#: src/app/main/ui/workspace/sidebar.cljs:282 +msgid "workspace.versions.tab.history" +msgstr "歷史紀錄" + +#: src/app/main/ui/ds/product/autosaved_milestone.cljs:67, src/app/main/ui/ds/product/user_milestone.cljs:74 +msgid "workspace.versions.version-menu" +msgstr "開啟版本選單" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:365 +#, markdown +msgid "workspace.versions.warning.subtext" +msgstr "如果您希望提高此限制量,請來信至 [support@penpot.app](%s)" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:361 +msgid "workspace.versions.warning.text" +msgstr "自動儲存的版本將保留 %s 天。" + #, unused msgid "workspace.viewport.click-to-close-path" msgstr "點擊以關閉路徑" diff --git a/frontend/yarn.lock b/frontend/yarn.lock index 0168c8bc8a..b4d4e23183 100644 --- a/frontend/yarn.lock +++ b/frontend/yarn.lock @@ -460,7 +460,7 @@ __metadata: languageName: node linkType: hard -"@bundled-es-modules/glob@npm:^10.3.13": +"@bundled-es-modules/glob@npm:^10.4.2": version: 10.4.2 resolution: "@bundled-es-modules/glob@npm:10.4.2" dependencies: @@ -476,18 +476,27 @@ __metadata: languageName: node linkType: hard -"@bundled-es-modules/memfs@npm:^4.8.1": - version: 4.9.4 - resolution: "@bundled-es-modules/memfs@npm:4.9.4" +"@bundled-es-modules/memfs@npm:^4.9.4": + version: 4.17.0 + resolution: "@bundled-es-modules/memfs@npm:4.17.0" dependencies: - assert: "npm:^2.0.0" + assert: "npm:^2.1.0" buffer: "npm:^6.0.3" events: "npm:^3.3.0" - memfs: "npm:^4.9.3" + memfs: "npm:^4.17.0" path: "npm:^0.12.7" stream: "npm:^0.0.3" util: "npm:^0.12.5" - checksum: 10c0/e3548c14379183fb74aa9a94407c1cdb8587320216fb557c0af7277d2dccf23f10a2edf8726e99f878758730c0c8d71524f77e19b26660a067b01d9afa07c891 + checksum: 10c0/88b573e52afe2f14b0c06f1f4337883ccf3155b7c3f667af8ead248b84ba2743e4eee90eb283ec967a8486576509bb6d42ce1c43714253f70ee23c5e5e24bc73 + languageName: node + linkType: hard + +"@bundled-es-modules/postcss-calc-ast-parser@npm:^0.1.6": + version: 0.1.6 + resolution: "@bundled-es-modules/postcss-calc-ast-parser@npm:0.1.6" + dependencies: + postcss-calc-ast-parser: "npm:^0.1.4" + checksum: 10c0/a42abc7446328a0a0728fa675560d950995c33ed5a997e7e49885bd7ddd575243a892d9834bc311558a1fbf298d55542aad8f60c46aa6766bfc3dc82baa341f0 languageName: node linkType: hard @@ -1464,16 +1473,16 @@ __metadata: languageName: node linkType: soft -"@penpot/svgo@penpot/svgo#c6fba7a4dcfbc27b643e7fc0c94fc98cf680b77b": +"@penpot/svgo@penpot/svgo#v3.1": version: 4.0.0 - resolution: "@penpot/svgo@https://github.com/penpot/svgo.git#commit=c6fba7a4dcfbc27b643e7fc0c94fc98cf680b77b" + resolution: "@penpot/svgo@https://github.com/penpot/svgo.git#commit=a46262c12c0d967708395972c374eb2adead4180" dependencies: "@trysound/sax": "npm:0.2.0" css-select: "npm:^5.1.0" - css-tree: "npm:^3.0.0" + css-tree: "npm:^3.1.0" csso: "npm:^5.0.5" lodash: "npm:^4.17.21" - checksum: 10c0/af452f31196bcd237c390a12fea2da4c1d4005ae6d759c38f2169c9975c2178f85ec72077e96a8a40ded38748c2c1449dbdaf0d15f37ca3237622d766ac49ec8 + checksum: 10c0/db5f81c99dec2765721d73b69bb30594869ebf657380dfb46709c79775b6c0dc1af678fe9fe51bbe2272a2c78d19c2694a12ec6578bcc41235fa4aff475c9416 languageName: node linkType: hard @@ -2434,27 +2443,26 @@ __metadata: languageName: node linkType: hard -"@tokens-studio/sd-transforms@npm:^0.16.1": - version: 0.16.1 - resolution: "@tokens-studio/sd-transforms@npm:0.16.1" +"@tokens-studio/sd-transforms@npm:1.2.11": + version: 1.2.11 + resolution: "@tokens-studio/sd-transforms@npm:1.2.11" dependencies: - "@tokens-studio/types": "npm:^0.4.0" - color2k: "npm:^2.0.1" + "@bundled-es-modules/deepmerge": "npm:^4.3.1" + "@bundled-es-modules/postcss-calc-ast-parser": "npm:^0.1.6" + "@tokens-studio/types": "npm:^0.5.1" colorjs.io: "npm:^0.4.3" - deepmerge: "npm:^4.3.1" expr-eval-fork: "npm:^2.0.2" is-mergeable-object: "npm:^1.1.1" - postcss-calc-ast-parser: "npm:^0.1.4" peerDependencies: - style-dictionary: ^4.0.0-prerelease.27 - checksum: 10c0/496a22026ffa25e3f6d8438a1fb39d67383fa55c89de9ac6759e2dce10a16268f5009e4809d03ceab38597fc02025a90eb1d32083b98a9353feded83831549c9 + style-dictionary: ">=4.3.0 < 6" + checksum: 10c0/58c278a2d738bb2f84e0e01c84d2a96191495440a9a52087cf9ee0e51ae272392cb93d17a3978e1f814e4a4c885aa349227bc0c7f0998a21cfc308988687c0e9 languageName: node linkType: hard -"@tokens-studio/types@npm:^0.4.0": - version: 0.4.0 - resolution: "@tokens-studio/types@npm:0.4.0" - checksum: 10c0/0641385653c94704f63dc5e10699c49bdbb1e1d8cba54af31bf50c3be85056123109bb2fe5091b1ccebaa9eba4c4afce3148a3b850919ed67bc81e3294ae839c +"@tokens-studio/types@npm:^0.5.1": + version: 0.5.2 + resolution: "@tokens-studio/types@npm:0.5.2" + checksum: 10c0/aed7fef091d2f2fefbe4541b8274172e4d0d3e3183daccf6ab40414e2c04afd45f2d2385ae79bb309e59c84a4d22f15a63f0cc8bfba8f0494e77b611594047ad languageName: node linkType: hard @@ -2577,6 +2585,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^22.10.5": + version: 22.14.0 + resolution: "@types/node@npm:22.14.0" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/9d79f3fa1af9c2c869514f419c4a4905b34c10e12915582fd1784868ac4e74c6d306cf5eb47ef889b6750ab85a31be96618227b86739c4a3e0b1c15063f384c6 + languageName: node + linkType: hard + "@types/node@npm:^22.12.0": version: 22.12.0 resolution: "@types/node@npm:22.12.0" @@ -3093,7 +3110,7 @@ __metadata: languageName: node linkType: hard -"assert@npm:^2.0.0": +"assert@npm:^2.1.0": version: 2.1.0 resolution: "assert@npm:2.1.0" dependencies: @@ -3937,13 +3954,6 @@ __metadata: languageName: node linkType: hard -"color2k@npm:^2.0.1": - version: 2.0.3 - resolution: "color2k@npm:2.0.3" - checksum: 10c0/e7c13d212c9d1abb1690e378bbc0a6fb1751e4b02e9a73ba3b2ade9d54da673834597d342791d577d1ce400ec486c7f92c5098f9fa85cd113bcfde57420a2bb9 - languageName: node - linkType: hard - "color@npm:^3.1.3": version: 3.2.1 resolution: "color@npm:3.2.1" @@ -4015,13 +4025,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:^8.3.0": - version: 8.3.0 - resolution: "commander@npm:8.3.0" - checksum: 10c0/8b043bb8322ea1c39664a1598a95e0495bfe4ca2fad0d84a92d7d1d8d213e2a155b441d2470c8e08de7c4a28cf2bc6e169211c49e1b21d9f7edc6ae4d9356060 - languageName: node - linkType: hard - "commondir@npm:^1.0.1": version: 1.0.1 resolution: "commondir@npm:1.0.1" @@ -4326,13 +4329,13 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^3.0.0": - version: 3.0.1 - resolution: "css-tree@npm:3.0.1" +"css-tree@npm:^3.1.0": + version: 3.1.0 + resolution: "css-tree@npm:3.1.0" dependencies: - mdn-data: "npm:2.12.1" + mdn-data: "npm:2.12.2" source-map-js: "npm:^1.0.1" - checksum: 10c0/9f117f3067e68e9edb0b3db0134f420db1a62bede3e84d8835767ecfaa6f8ced5e87989cf39b65ffe65d788c134c8ea9abd7393d7c35838a9da84326adf57a9b + checksum: 10c0/b5715852c2f397c715ca00d56ec53fc83ea596295ae112eb1ba6a1bda3b31086380e596b1d8c4b980fe6da09e7d0fc99c64d5bb7313030dd0fba9c1415f30979 languageName: node linkType: hard @@ -5883,7 +5886,7 @@ __metadata: "@penpot/draft-js": "portal:./vendor/draft-js" "@penpot/hljs": "portal:./vendor/hljs" "@penpot/mousetrap": "portal:./vendor/mousetrap" - "@penpot/svgo": "penpot/svgo#c6fba7a4dcfbc27b643e7fc0c94fc98cf680b77b" + "@penpot/svgo": "penpot/svgo#v3.1" "@penpot/text-editor": "portal:./text-editor" "@playwright/test": "npm:1.48.1" "@storybook/addon-essentials": "npm:^8.5.2" @@ -5894,7 +5897,7 @@ __metadata: "@storybook/react-vite": "npm:^8.5.2" "@storybook/test": "npm:^8.5.2" "@storybook/test-runner": "npm:^0.21.0" - "@tokens-studio/sd-transforms": "npm:^0.16.1" + "@tokens-studio/sd-transforms": "npm:1.2.11" "@types/node": "npm:^22.12.0" autoprefixer: "npm:^10.4.20" compression: "npm:^1.7.5" @@ -5946,7 +5949,7 @@ __metadata: shadow-cljs: "npm:2.28.20" source-map-support: "npm:^0.5.21" storybook: "npm:^8.5.2" - style-dictionary: "npm:4.0.0-prerelease.36" + style-dictionary: "npm:5.0.0-rc.1" svg-sprite: "npm:^2.0.4" tdigest: "npm:^0.1.2" tinycolor2: "npm:^1.6.0" @@ -8270,10 +8273,10 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.12.1": - version: 2.12.1 - resolution: "mdn-data@npm:2.12.1" - checksum: 10c0/1a09f441bdd423f2b0ab712665a1a3329fe7b15e9a2dad8c1c10c521ddb204ed186e7ac91052fd53a5ae0a07ac6eae53b5bcbb59ba8a1fb654268611297eea4a +"mdn-data@npm:2.12.2": + version: 2.12.2 + resolution: "mdn-data@npm:2.12.2" + checksum: 10c0/b22443b71d70f72ccc3c6ba1608035431a8fc18c3c8fc53523f06d20e05c2ac10f9b53092759a2ca85cf02f0d37036f310b581ce03e7b99ac74d388ef8152ade languageName: node linkType: hard @@ -8284,15 +8287,15 @@ __metadata: languageName: node linkType: hard -"memfs@npm:^4.9.3": - version: 4.14.0 - resolution: "memfs@npm:4.14.0" +"memfs@npm:^4.17.0": + version: 4.17.0 + resolution: "memfs@npm:4.17.0" dependencies: "@jsonjoy.com/json-pack": "npm:^1.0.3" "@jsonjoy.com/util": "npm:^1.3.0" tree-dump: "npm:^1.0.1" tslib: "npm:^2.0.0" - checksum: 10c0/d1de2e4b3c269f5b5f27b63f60bb8ea9ae5800843776e0bed4548f2957dcd55237ac5eab3a5ffe0d561a6be53e42c055a7bc79efc1613563b14e14c287ef3b0a + checksum: 10c0/2901f69e80e1fbefa8aafe994a253fff6f34eb176d8b80d57476311611e516a11ab4dd93f852c8739fe04f2b57d6a4ca7a1828fa0bd401ce631bcac214b3d58b languageName: node linkType: hard @@ -9294,10 +9297,10 @@ __metadata: languageName: node linkType: hard -"path-unified@npm:^0.1.0": - version: 0.1.0 - resolution: "path-unified@npm:0.1.0" - checksum: 10c0/26c314221bcc0ca3ce59b67f50dffb6f37214d294fd9dfeb0219e9f12b93d8852c8525d32be9387011d902d361669a43e22ec419d522055794790222665b2de9 +"path-unified@npm:^0.2.0": + version: 0.2.0 + resolution: "path-unified@npm:0.2.0" + checksum: 10c0/5229bbcbb093b1c76e7a8f568dd7d362bae6bd9348099968252aa17b1ffd86ef845d560a6b483bb2e6a3b2c25a5e8288707b03e41b66b2761aa1e2ba67b07d5b languageName: node linkType: hard @@ -9650,6 +9653,15 @@ __metadata: languageName: node linkType: hard +"prettier@npm:^3.3.3": + version: 3.5.3 + resolution: "prettier@npm:3.5.3" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/3880cb90b9dc0635819ab52ff571518c35bd7f15a6e80a2054c05dbc8a3aa6e74f135519e91197de63705bcb38388ded7e7230e2178432a1468005406238b877 + languageName: node + linkType: hard + "pretty-format@npm:^27.0.2": version: 27.5.1 resolution: "pretty-format@npm:27.5.1" @@ -11430,25 +11442,27 @@ __metadata: languageName: node linkType: hard -"style-dictionary@npm:4.0.0-prerelease.36": - version: 4.0.0-prerelease.36 - resolution: "style-dictionary@npm:4.0.0-prerelease.36" +"style-dictionary@npm:5.0.0-rc.1": + version: 5.0.0-rc.1 + resolution: "style-dictionary@npm:5.0.0-rc.1" dependencies: "@bundled-es-modules/deepmerge": "npm:^4.3.1" - "@bundled-es-modules/glob": "npm:^10.3.13" - "@bundled-es-modules/memfs": "npm:^4.8.1" + "@bundled-es-modules/glob": "npm:^10.4.2" + "@bundled-es-modules/memfs": "npm:^4.9.4" + "@types/node": "npm:^22.10.5" "@zip.js/zip.js": "npm:^2.7.44" chalk: "npm:^5.3.0" change-case: "npm:^5.3.0" - commander: "npm:^8.3.0" + commander: "npm:^12.1.0" is-plain-obj: "npm:^4.1.0" json5: "npm:^2.2.2" patch-package: "npm:^8.0.0" - path-unified: "npm:^0.1.0" + path-unified: "npm:^0.2.0" + prettier: "npm:^3.3.3" tinycolor2: "npm:^1.6.0" bin: style-dictionary: bin/style-dictionary.js - checksum: 10c0/8707b3cced5ee7a858c425b296b53f3b9055f388839ab77ec94f9ed012ca99db43ce28fb540cec1659b92680a2769b1ed24d9af891ea98b9b298895341781f30 + checksum: 10c0/ab7423711472a9af898a8e9a5a4e810e34ff78c6ed175b4b7b5d16e1517db19eb61fd858bae891e75b15b4e65b097929d4add3dc165a535f5dca7784355d4037 languageName: node linkType: hard @@ -12050,6 +12064,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.21.0": + version: 6.21.0 + resolution: "undici-types@npm:6.21.0" + checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04 + languageName: node + linkType: hard + "unique-filename@npm:^3.0.0": version: 3.0.0 resolution: "unique-filename@npm:3.0.0" diff --git a/render-wasm/Cargo.lock b/render-wasm/Cargo.lock index 72fe0a9f22..0416a66974 100644 --- a/render-wasm/Cargo.lock +++ b/render-wasm/Cargo.lock @@ -896,9 +896,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "8c9c992b02b5b4c94ea26e32fe5bccb7aa7d9f390ab5c1221ff895bc7ea8b652" dependencies = [ "equivalent", "hashbrown", @@ -1507,8 +1507,10 @@ checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" name = "render" version = "0.1.0" dependencies = [ + "base64", "cargo-watch", "gl", + "indexmap", "skia-safe", "uuid", ] diff --git a/render-wasm/Cargo.toml b/render-wasm/Cargo.toml index fc5c3d61bc..72570a1274 100644 --- a/render-wasm/Cargo.toml +++ b/render-wasm/Cargo.toml @@ -6,12 +6,20 @@ repository = "https://github.com/penpot/penpot" license-file = "../LICENSE" description = "Wasm-based canvas renderer for Penpot" +[features] +default = [] +profile = ["profile-macros", "profile-raf"] +profile-macros = [] +profile-raf = [] + [[bin]] name = "render_wasm" path = "src/main.rs" [dependencies] +base64 = "0.22.1" gl = "0.14.0" +indexmap = "2.7.1" skia-safe = { version = "0.81.0", default-features = false, features = ["gl", "svg", "textlayout", "binary-cache"]} uuid = { version = "1.11.0", features = ["v4"] } diff --git a/render-wasm/_build_env b/render-wasm/_build_env index c5299dd46d..996fe32346 100644 --- a/render-wasm/_build_env +++ b/render-wasm/_build_env @@ -7,7 +7,7 @@ else fi EMCC_CFLAGS="--no-entry \ - -Os \ + --js-library src/js/wapi.js \ -sASSERTIONS=1 \ -sALLOW_TABLE_GROWTH=1 \ -sALLOW_MEMORY_GROWTH=1 \ @@ -24,16 +24,19 @@ EMSDK_QUIET=1 . /usr/local/emsdk/emsdk_env.sh; export EM_CACHE="/tmp/emsdk_cache"; -_CARGO_PARAMS="--target=wasm32-unknown-emscripten"; +_CARGO_PARAMS="${@:2}"; if [ "$_BUILD_MODE" = "release" ]; then _CARGO_PARAMS="--release $_CARGO_PARAMS" EMCC_CFLAGS="-Os $EMCC_CFLAGS" else - EMCC_CFLAGS="$EMCC_CFLAGS -sMALLOC=emmalloc-debug" + # TODO: Extra parameters that could be good to look into: + # -gseparate-dwarf + # -gsplit-dwarf + # -gsource-map + EMCC_CFLAGS="-g $EMCC_CFLAGS -sVERBOSE=1 -sMALLOC=emmalloc-debug" fi export EMCC_CFLAGS; export _CARGO_PARAMS; -export SKIA_BINARIES_URL="https://github.com/penpot/skia-binaries/releases/download/0.81.0-1/skia-binaries-24dee32a277b6c7b5357-wasm32-unknown-emscripten-gl-svg-textlayout-binary-cache.tar.gz" diff --git a/render-wasm/build b/render-wasm/build index 9de720e0c9..84536136be 100755 --- a/render-wasm/build +++ b/render-wasm/build @@ -4,7 +4,10 @@ set -x _SCRIPT_DIR=$(dirname $0); pushd $_SCRIPT_DIR; -. ./_build_env +. ./_build_env + +export CARGO_BUILD_TARGET=${CARGO_BUILD_TARGET:-"wasm32-unknown-emscripten"}; +export SKIA_BINARIES_URL=${SKIA_BINARIES_URL:-"https://github.com/penpot/skia-binaries/releases/download/0.81.0-3/skia-binaries-24dee32a277b6c7b5357-wasm32-unknown-emscripten-gl-svg-textlayout-binary-cache.tar.gz"} cargo build $_CARGO_PARAMS diff --git a/render-wasm/docs/serialization.md b/render-wasm/docs/serialization.md index 35fdab183b..7318c62a25 100644 --- a/render-wasm/docs/serialization.md +++ b/render-wasm/docs/serialization.md @@ -142,7 +142,7 @@ Shadow styles are serialized as `u8`: ## Layout -### Direction +### Flex Direction | Value | Field | | ----- | ------------- | @@ -152,6 +152,14 @@ Shadow styles are serialized as `u8`: | 3 | ColumnReverse | | \_ | error | +### Grid Direction + +| Value | Field | +| ----- | ------------- | +| 0 | Row | +| 1 | Column | +| \_ | error | + ### Align Items | Value | Field | @@ -208,6 +216,28 @@ Shadow styles are serialized as `u8`: | 6 | Stretch | | \_ | error | +### Align Self + +| Value | Field | +| ----- | ------- | +| 0 | Auto | +| 1 | Start | +| 2 | End | +| 3 | Center | +| 4 | Stretch | +| \_ | error | + +### Justify Self + +| Value | Field | +| ----- | ------- | +| 0 | Auto | +| 1 | Start | +| 2 | End | +| 3 | Center | +| 4 | Stretch | +| \_ | error | + ### Wrap type | Value | Field | @@ -225,6 +255,18 @@ Shadow styles are serialized as `u8`: | 2 | Auto | | \_ | error | +### Grid Track Type + +| Value | Field | +| ----- | ------- | +| 0 | Percent | +| 1 | Flex | +| 2 | Auto | +| 3 | Fixed | +| \_ | error | + + + ## Font ### Style diff --git a/render-wasm/src/debug.rs b/render-wasm/src/debug.rs deleted file mode 100644 index ff427339ca..0000000000 --- a/render-wasm/src/debug.rs +++ /dev/null @@ -1 +0,0 @@ -pub const DEBUG_VISIBLE: u32 = 0x01; diff --git a/render-wasm/src/emscripten.rs b/render-wasm/src/emscripten.rs new file mode 100644 index 0000000000..69c4b9cfc8 --- /dev/null +++ b/render-wasm/src/emscripten.rs @@ -0,0 +1,67 @@ +#[macro_export] +macro_rules! run_script { + ($s:expr) => {{ + extern "C" { + pub fn emscripten_run_script(script: *const i8); + } + + match std::ffi::CString::new($s) { + Ok(cstr) => unsafe { emscripten_run_script(cstr.as_ptr()) }, + Err(e) => panic!("Failed to create CString: {}", e), + } + }}; +} + +#[macro_export] +macro_rules! run_script_int { + ($s:expr) => {{ + extern "C" { + pub fn emscripten_run_script_int(script: *const i8) -> i32; + } + + match std::ffi::CString::new($s) { + Ok(cstr) => unsafe { emscripten_run_script_int(cstr.as_ptr()) }, + Err(e) => panic!("Failed to create CString: {}", e), + } + }}; +} + +#[macro_export] +macro_rules! get_now { + () => {{ + extern "C" { + pub fn emscripten_get_now() -> f64; + } + unsafe { emscripten_get_now() } + }}; +} + +#[macro_export] +macro_rules! init_gl { + () => {{ + extern "C" { + fn emscripten_GetProcAddress( + name: *const ::std::os::raw::c_char, + ) -> *const ::std::os::raw::c_void; + } + + unsafe { + gl::load_with(|addr| { + let addr = std::ffi::CString::new(addr).unwrap(); + emscripten_GetProcAddress(addr.into_raw() as *const _) as *const _ + }); + } + }}; +} + +#[allow(unused_imports)] +pub use run_script; + +#[allow(unused_imports)] +pub use run_script_int; + +#[allow(unused_imports)] +pub use get_now; + +#[allow(unused_imports)] +pub use init_gl; diff --git a/render-wasm/src/fonts/RobotoMono-Regular.ttf b/render-wasm/src/fonts/RobotoMono-Regular.ttf deleted file mode 100644 index 6df2b25360..0000000000 Binary files a/render-wasm/src/fonts/RobotoMono-Regular.ttf and /dev/null differ diff --git a/render-wasm/src/fonts/sourcesanspro-regular.ttf b/render-wasm/src/fonts/sourcesanspro-regular.ttf new file mode 100644 index 0000000000..cb2f335971 Binary files /dev/null and b/render-wasm/src/fonts/sourcesanspro-regular.ttf differ diff --git a/render-wasm/src/js/wapi.js b/render-wasm/src/js/wapi.js new file mode 100644 index 0000000000..e732fdbe6d --- /dev/null +++ b/render-wasm/src/js/wapi.js @@ -0,0 +1,8 @@ +addToLibrary({ + wapi_requestAnimationFrame: function wapi_requestAnimationFrame() { + return window.requestAnimationFrame(Module._process_animation_frame); + }, + wapi_cancelAnimationFrame: function wapi_cancelAnimationFrame(frameId) { + return window.cancelAnimationFrame(frameId); + } +}); diff --git a/render-wasm/src/main.rs b/render-wasm/src/main.rs index 9b53011fb3..ed640777d8 100644 --- a/render-wasm/src/main.rs +++ b/render-wasm/src/main.rs @@ -1,39 +1,39 @@ use skia_safe as skia; -mod debug; +#[cfg(target_arch = "wasm32")] +mod emscripten; mod math; mod mem; +mod options; +mod performance; mod render; mod shapes; mod state; mod utils; +mod uuid; mod view; +mod wapi; mod wasm; use crate::mem::SerializableResult; -use crate::shapes::{BoolType, ConstraintH, ConstraintV, TransformEntry, Type}; - +use crate::shapes::{BoolType, ConstraintH, ConstraintV, StructureEntry, TransformEntry, Type}; use crate::utils::uuid_from_u32_quartet; +use crate::uuid::Uuid; +use indexmap::IndexSet; use state::State; pub(crate) static mut STATE: Option> = None; -extern "C" { - fn emscripten_GetProcAddress( - name: *const ::std::os::raw::c_char, - ) -> *const ::std::os::raw::c_void; -} - #[macro_export] macro_rules! with_state { - ($state:ident, $block:block) => { + ($state:ident, $block:block) => {{ let $state = unsafe { #[allow(static_mut_refs)] STATE.as_mut() } .expect("Got an invalid state pointer"); $block - }; + }}; } #[macro_export] @@ -50,15 +50,6 @@ macro_rules! with_current_shape { }; } -fn init_gl() { - unsafe { - gl::load_with(|addr| { - let addr = std::ffi::CString::new(addr).unwrap(); - emscripten_GetProcAddress(addr.into_raw() as *const _) as *const _ - }); - } -} - /// This is called from JS after the WebGL context has been created. #[no_mangle] pub extern "C" fn init(width: i32, height: i32) { @@ -75,10 +66,9 @@ pub extern "C" fn clean_up() { } #[no_mangle] -pub extern "C" fn clear_cache() { +pub extern "C" fn clear_drawing_cache() { with_state!(state, { - let render_state = state.render_state(); - render_state.clear_cache(); + state.rebuild_tiles(); }); } @@ -106,20 +96,26 @@ pub extern "C" fn render(timestamp: i32) { }); } -#[no_mangle] -pub extern "C" fn render_from_cache() { - with_state!(state, { - state.render_from_cache(); - }); -} - #[no_mangle] pub extern "C" fn process_animation_frame(timestamp: i32) { - with_state!(state, { - state - .process_animation_frame(timestamp) - .expect("Error processing animation frame"); + let result = std::panic::catch_unwind(|| { + with_state!(state, { + state + .process_animation_frame(timestamp) + .expect("Error processing animation frame"); + }); }); + + match result { + Ok(_) => {} + Err(err) => { + match err.downcast_ref::() { + Some(message) => println!("process_animation_frame error: {}", message), + None => println!("process_animation_frame error: {:?}", err), + } + std::panic::resume_unwind(err); + } + } } #[no_mangle] @@ -140,22 +136,17 @@ pub extern "C" fn resize_viewbox(width: i32, height: i32) { pub extern "C" fn set_view(zoom: f32, x: f32, y: f32) { with_state!(state, { let render_state = state.render_state(); - render_state.invalidate_cache_if_needed(); + let zoom_changed = zoom != render_state.viewbox.zoom; render_state.viewbox.set_all(zoom, x, y); - }); -} - -#[no_mangle] -pub extern "C" fn set_view_zoom(zoom: f32) { - with_state!(state, { - state.render_state().viewbox.set_zoom(zoom); - }); -} - -#[no_mangle] -pub extern "C" fn set_view_xy(x: f32, y: f32) { - with_state!(state, { - state.render_state().viewbox.set_pan_xy(x, y); + if zoom_changed { + with_state!(state, { + if state.render_state.options.is_profile_rebuild_tiles() { + state.rebuild_tiles(); + } else { + state.rebuild_tiles_shallow(); + } + }); + } }); } @@ -168,12 +159,11 @@ pub extern "C" fn use_shape(a: u32, b: u32, c: u32, d: u32) { } #[no_mangle] -pub unsafe extern "C" fn set_parent(a: u32, b: u32, c: u32, d: u32) { - let state = unsafe { STATE.as_mut() }.expect("Got an invalid state pointer"); - let id = uuid_from_u32_quartet(a, b, c, d); - if let Some(shape) = state.current_shape() { +pub extern "C" fn set_parent(a: u32, b: u32, c: u32, d: u32) { + with_current_shape!(state, |shape: &mut Shape| { + let id = uuid_from_u32_quartet(a, b, c, d); shape.set_parent(id); - } + }); } #[no_mangle] @@ -191,7 +181,7 @@ pub extern "C" fn set_shape_bool_type(raw_bool_type: u8) { } #[no_mangle] -pub unsafe extern "C" fn set_shape_type(shape_type: u8) { +pub extern "C" fn set_shape_type(shape_type: u8) { with_current_shape!(state, |shape: &mut Shape| { shape.set_shape_type(Type::from(shape_type)); }); @@ -199,8 +189,8 @@ pub unsafe extern "C" fn set_shape_type(shape_type: u8) { #[no_mangle] pub extern "C" fn set_shape_selrect(left: f32, top: f32, right: f32, bottom: f32) { - with_current_shape!(state, |shape: &mut Shape| { - shape.set_selrect(left, top, right, bottom); + with_state!(state, { + state.set_selrect_for_current_shape(left, top, right, bottom); }); } @@ -234,72 +224,30 @@ pub extern "C" fn add_shape_child(a: u32, b: u32, c: u32, d: u32) { } #[no_mangle] -pub extern "C" fn clear_shape_children() { - with_current_shape!(state, |shape: &mut Shape| { - shape.clear_children(); - }); -} +pub extern "C" fn set_children() { + let bytes = mem::bytes_or_empty(); -#[no_mangle] -pub extern "C" fn add_shape_solid_fill(raw_color: u32) { - with_current_shape!(state, |shape: &mut Shape| { - let color = skia::Color::new(raw_color); - shape.add_fill(shapes::Fill::Solid(color)); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_linear_fill( - start_x: f32, - start_y: f32, - end_x: f32, - end_y: f32, - opacity: f32, -) { - with_current_shape!(state, |shape: &mut Shape| { - shape.add_fill(shapes::Fill::new_linear_gradient( - (start_x, start_y), - (end_x, end_y), - opacity, - )); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_radial_fill( - start_x: f32, - start_y: f32, - end_x: f32, - end_y: f32, - opacity: f32, - width: f32, -) { - with_current_shape!(state, |shape: &mut Shape| { - shape.add_fill(shapes::Fill::new_radial_gradient( - (start_x, start_y), - (end_x, end_y), - opacity, - width, - )); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_fill_stops() { - let bytes = mem::bytes(); - - let entries: Vec<_> = bytes - .chunks(size_of::()) - .map(|data| shapes::RawStopData::from_bytes(data.try_into().unwrap())) + let entries: IndexSet = bytes + .chunks(size_of::<::BytesType>()) + .map(|data| Uuid::from_bytes(data.try_into().unwrap())) .collect(); + let mut deleted = IndexSet::new(); + with_current_shape!(state, |shape: &mut Shape| { - shape - .add_fill_gradient_stops(entries) - .expect("could not add gradient stops"); + (_, deleted) = shape.compute_children_differences(&entries); + shape.children = entries.clone(); }); - mem::free_bytes(); + with_state!(state, { + for id in deleted { + state.delete_shape(id); + } + }); + + if !bytes.is_empty() { + mem::free_bytes(); + } } #[no_mangle] @@ -308,11 +256,8 @@ pub extern "C" fn store_image(a: u32, b: u32, c: u32, d: u32) { let id = uuid_from_u32_quartet(a, b, c, d); let image_bytes = mem::bytes(); - match state.render_state().add_image(id, &image_bytes) { - Err(msg) => { - eprintln!("{}", msg); - } - _ => {} + if let Err(msg) = state.render_state().add_image(id, &image_bytes) { + eprintln!("{}", msg); } mem::free_bytes(); @@ -323,35 +268,8 @@ pub extern "C" fn store_image(a: u32, b: u32, c: u32, d: u32) { pub extern "C" fn is_image_cached(a: u32, b: u32, c: u32, d: u32) -> bool { with_state!(state, { let id = uuid_from_u32_quartet(a, b, c, d); - return state.render_state().has_image(&id); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_image_fill( - a: u32, - b: u32, - c: u32, - d: u32, - alpha: f32, - width: i32, - height: i32, -) { - with_current_shape!(state, |shape: &mut Shape| { - let id = uuid_from_u32_quartet(a, b, c, d); - shape.add_fill(shapes::Fill::new_image_fill( - id, - (alpha * 0xff as f32).floor() as u8, - (width, height), - )); - }); -} - -#[no_mangle] -pub extern "C" fn clear_shape_fills() { - with_current_shape!(state, |shape: &mut Shape| { - shape.clear_fills(); - }); + state.render_state().has_image(&id) + }) } #[no_mangle] @@ -424,101 +342,6 @@ pub extern "C" fn set_shape_path_content() { }); } -#[no_mangle] -pub extern "C" fn add_shape_center_stroke(width: f32, style: u8, cap_start: u8, cap_end: u8) { - with_current_shape!(state, |shape: &mut Shape| { - shape.add_stroke(shapes::Stroke::new_center_stroke( - width, style, cap_start, cap_end, - )); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_inner_stroke(width: f32, style: u8, cap_start: u8, cap_end: u8) { - with_current_shape!(state, |shape: &mut Shape| { - shape.add_stroke(shapes::Stroke::new_inner_stroke( - width, style, cap_start, cap_end, - )); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_outer_stroke(width: f32, style: u8, cap_start: u8, cap_end: u8) { - with_current_shape!(state, |shape: &mut Shape| { - shape.add_stroke(shapes::Stroke::new_outer_stroke( - width, style, cap_start, cap_end, - )); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_stroke_solid_fill(raw_color: u32) { - with_current_shape!(state, |shape: &mut Shape| { - let color = skia::Color::new(raw_color); - shape - .set_stroke_fill(shapes::Fill::Solid(color)) - .expect("could not add stroke solid fill"); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_stroke_linear_fill( - start_x: f32, - start_y: f32, - end_x: f32, - end_y: f32, - opacity: f32, -) { - with_current_shape!(state, |shape: &mut Shape| { - shape - .set_stroke_fill(shapes::Fill::new_linear_gradient( - (start_x, start_y), - (end_x, end_y), - opacity, - )) - .expect("could not add stroke linear fill"); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_stroke_radial_fill( - start_x: f32, - start_y: f32, - end_x: f32, - end_y: f32, - opacity: f32, - width: f32, -) { - with_current_shape!(state, |shape: &mut Shape| { - shape - .set_stroke_fill(shapes::Fill::new_radial_gradient( - (start_x, start_y), - (end_x, end_y), - opacity, - width, - )) - .expect("could not add stroke radial fill"); - }); -} - -#[no_mangle] -pub extern "C" fn add_shape_stroke_stops() { - let bytes = mem::bytes(); - - let entries: Vec<_> = bytes - .chunks(size_of::()) - .map(|data| shapes::RawStopData::from_bytes(data.try_into().unwrap())) - .collect(); - - with_current_shape!(state, |shape: &mut Shape| { - shape - .add_stroke_gradient_stops(entries) - .expect("could not add gradient stops"); - }); - - mem::free_bytes(); -} - // Extracts a string from the bytes slice until the next null byte (0) and returns the result as a `String`. // Updates the `start` index to the end of the extracted string. fn extract_string(start: &mut usize, bytes: &[u8]) -> String { @@ -537,35 +360,6 @@ fn extract_string(start: &mut usize, bytes: &[u8]) -> String { } } -#[no_mangle] -pub extern "C" fn add_shape_image_stroke( - a: u32, - b: u32, - c: u32, - d: u32, - alpha: f32, - width: i32, - height: i32, -) { - with_current_shape!(state, |shape: &mut Shape| { - let id = uuid_from_u32_quartet(a, b, c, d); - shape - .set_stroke_fill(shapes::Fill::new_image_fill( - id, - (alpha * 0xff as f32).floor() as u8, - (width, height), - )) - .expect("could not add stroke image fill"); - }); -} - -#[no_mangle] -pub extern "C" fn clear_shape_strokes() { - with_current_shape!(state, |shape: &mut Shape| { - shape.clear_strokes(); - }); -} - #[no_mangle] pub extern "C" fn set_shape_corners(r1: f32, r2: f32, r3: f32, r4: f32) { with_current_shape!(state, |shape: &mut Shape| { @@ -597,13 +391,37 @@ pub extern "C" fn propagate_modifiers() -> *mut u8 { with_state!(state, { let result = shapes::propagate_modifiers(state, entries); - return mem::write_vec(result); + mem::write_vec(result) + }) +} + +#[no_mangle] +pub extern "C" fn set_structure_modifiers() { + let bytes = mem::bytes(); + + let entries: Vec<_> = bytes + .chunks(40) + .map(|data| StructureEntry::from_bytes(data.try_into().unwrap())) + .collect(); + + with_state!(state, { + for entry in entries { + state.structure.entry(entry.parent).or_insert_with(Vec::new); + state + .structure + .get_mut(&entry.parent) + .expect("Parent not found for entry") + .push(entry); + } }); + + mem::free_bytes(); } #[no_mangle] pub extern "C" fn clean_modifiers() { with_state!(state, { + state.structure.clear(); state.modifiers.clear(); }); } @@ -621,7 +439,7 @@ pub extern "C" fn set_modifiers() { for entry in entries { state.modifiers.insert(entry.id, entry.transform); } - state.render_state().clear_cache(); + state.rebuild_modifier_tiles(); }); } @@ -650,6 +468,13 @@ pub extern "C" fn clear_shape_shadows() { }); } +#[no_mangle] +pub extern "C" fn update_shape_tiles() { + with_state!(state, { + state.update_tile_for_current_shape(); + }); +} + #[no_mangle] pub extern "C" fn set_flex_layout_data( dir: u8, @@ -665,7 +490,7 @@ pub extern "C" fn set_flex_layout_data( padding_bottom: f32, padding_left: f32, ) { - let dir = shapes::Direction::from_u8(dir); + let dir = shapes::FlexDirection::from_u8(dir); let align_items = shapes::AlignItems::from_u8(align_items); let align_content = shapes::AlignContent::from_u8(align_content); let justify_items = shapes::JustifyItems::from_u8(justify_items); @@ -743,14 +568,91 @@ pub extern "C" fn set_layout_child_data( } #[no_mangle] -pub extern "C" fn set_grid_layout_data() {} +pub extern "C" fn set_grid_layout_data( + dir: u8, + row_gap: f32, + column_gap: f32, + align_items: u8, + align_content: u8, + justify_items: u8, + justify_content: u8, + padding_top: f32, + padding_right: f32, + padding_bottom: f32, + padding_left: f32, +) { + let dir = shapes::GridDirection::from_u8(dir); + let align_items = shapes::AlignItems::from_u8(align_items); + let align_content = shapes::AlignContent::from_u8(align_content); + let justify_items = shapes::JustifyItems::from_u8(justify_items); + let justify_content = shapes::JustifyContent::from_u8(justify_content); + + with_current_shape!(state, |shape: &mut Shape| { + shape.set_grid_layout_data( + dir, + row_gap, + column_gap, + align_items, + align_content, + justify_items, + justify_content, + padding_top, + padding_right, + padding_bottom, + padding_left, + ); + }); +} #[no_mangle] -pub extern "C" fn add_grid_track() {} +pub extern "C" fn set_grid_columns() { + let bytes = mem::bytes(); + + let entries: Vec<_> = bytes + .chunks(size_of::()) + .map(|data| shapes::RawGridTrack::from_bytes(data.try_into().unwrap())) + .collect(); + + with_current_shape!(state, |shape: &mut Shape| { + shape.set_grid_columns(entries); + }); + + mem::free_bytes(); +} #[no_mangle] -pub extern "C" fn set_grid_cell() {} +pub extern "C" fn set_grid_rows() { + let bytes = mem::bytes(); + + let entries: Vec<_> = bytes + .chunks(size_of::()) + .map(|data| shapes::RawGridTrack::from_bytes(data.try_into().unwrap())) + .collect(); + + with_current_shape!(state, |shape: &mut Shape| { + shape.set_grid_rows(entries); + }); + + mem::free_bytes(); +} + +#[no_mangle] +pub extern "C" fn set_grid_cells() { + let bytes = mem::bytes(); + + let entries: Vec<_> = bytes + .chunks(size_of::()) + .map(|data| shapes::RawGridCell::from_bytes(data.try_into().unwrap())) + .collect(); + + with_current_shape!(state, |shape: &mut Shape| { + shape.set_grid_cells(entries); + }); + + mem::free_bytes(); +} fn main() { - init_gl(); + #[cfg(target_arch = "wasm32")] + init_gl!(); } diff --git a/render-wasm/src/math.rs b/render-wasm/src/math.rs index ada204936a..f62e22250b 100644 --- a/render-wasm/src/math.rs +++ b/render-wasm/src/math.rs @@ -5,6 +5,8 @@ pub type Matrix = skia::Matrix; pub type Vector = skia::Vector; pub type Point = skia::Point; +const THRESHOLD: f32 = 0.001; + pub trait VectorExt { fn new_points(a: &Point, b: &Point) -> Vector; } @@ -16,7 +18,20 @@ impl VectorExt for Vector { } } -#[derive(Debug, Clone, PartialEq)] +pub fn is_close_to(current: f32, value: f32) -> bool { + (current - value).abs() <= THRESHOLD +} + +pub fn identitish(m: Matrix) -> bool { + is_close_to(m.scale_x(), 1.0) + && is_close_to(m.scale_y(), 1.0) + && is_close_to(m.translate_x(), 0.0) + && is_close_to(m.translate_y(), 0.0) + && is_close_to(m.skew_x(), 0.0) + && is_close_to(m.skew_y(), 0.0) +} + +#[derive(Debug, Copy, Clone, PartialEq)] pub struct Bounds { pub nw: Point, pub ne: Point, @@ -95,9 +110,9 @@ impl Bounds { self.sw = mtx.map_point(self.sw); } - // pub fn box_bounds(&self, other: &Self) -> Option { - // self.from_points(other.points()) - // } + pub fn box_bounds(&self, other: &Self) -> Option { + self.from_points(other.points()) + } pub fn from_points(&self, points: Vec) -> Option { let hv = self.horizontal_vec(); @@ -280,6 +295,14 @@ impl Bounds { let m = self.transform_matrix().unwrap_or(Matrix::default()); m.scale_y() < 0.0 } + + pub fn to_rect(&self) -> Rect { + let minx = self.nw.x.min(self.ne.x).min(self.sw.x).min(self.se.x); + let miny = self.nw.y.min(self.ne.y).min(self.sw.y).min(self.se.y); + let maxx = self.nw.x.max(self.ne.x).max(self.sw.x).max(self.se.x); + let maxy = self.nw.y.max(self.ne.y).max(self.sw.y).max(self.se.y); + Rect::from_ltrb(minx, miny, maxx, maxy) + } } #[derive(Debug, Clone, PartialEq)] diff --git a/render-wasm/src/mem.rs b/render-wasm/src/mem.rs index f9a71c4a2b..0b0edfd9c4 100644 --- a/render-wasm/src/mem.rs +++ b/render-wasm/src/mem.rs @@ -1,5 +1,9 @@ +use std::alloc::{alloc, Layout}; +use std::ptr; use std::sync::Mutex; +const LAYOUT_ALIGN: usize = 4; + static BUFFERU8: Mutex>>> = Mutex::new(None); #[no_mangle] @@ -10,11 +14,17 @@ pub extern "C" fn alloc_bytes(len: usize) -> *mut u8 { panic!("Bytes already allocated"); } - let mut new_buffer = Box::new(vec![0u8; len]); - let ptr = new_buffer.as_mut_ptr(); - - *guard = Some(new_buffer); - ptr + unsafe { + let layout = Layout::from_size_align_unchecked(len, LAYOUT_ALIGN); + let ptr = alloc(layout) as *mut u8; + if ptr.is_null() { + panic!("Allocation failed"); + } + // TODO: Maybe this could be removed. + ptr::write_bytes(ptr, 0, len); + *guard = Some(Box::new(Vec::from_raw_parts(ptr, len, len))); + ptr + } } pub fn write_bytes(bytes: Vec) -> *mut u8 { @@ -46,6 +56,12 @@ pub fn bytes() -> Vec { .map_or_else(|| panic!("Buffer is not initialized"), |buffer| *buffer) } +pub fn bytes_or_empty() -> Vec { + let mut guard = BUFFERU8.lock().unwrap(); + + guard.take().map_or_else(|| Vec::new(), |buffer| *buffer) +} + pub trait SerializableResult { type BytesType; fn from_bytes(bytes: Self::BytesType) -> Self; diff --git a/render-wasm/src/options.rs b/render-wasm/src/options.rs new file mode 100644 index 0000000000..37afacfc21 --- /dev/null +++ b/render-wasm/src/options.rs @@ -0,0 +1,2 @@ +pub const DEBUG_VISIBLE: u32 = 0x01; +pub const PROFILE_REBUILD_TILES: u32 = 0x02; diff --git a/render-wasm/src/performance.rs b/render-wasm/src/performance.rs new file mode 100644 index 0000000000..b19fafa0ea --- /dev/null +++ b/render-wasm/src/performance.rs @@ -0,0 +1,168 @@ +#[allow(unused_imports)] +#[cfg(target_arch = "wasm32")] +use crate::get_now; + +#[allow(dead_code)] +#[cfg(target_arch = "wasm32")] +pub fn get_time() -> i32 { + crate::get_now!() as i32 +} + +#[allow(dead_code)] +#[cfg(not(target_arch = "wasm32"))] +pub fn get_time() -> i32 { + let now = std::time::Instant::now(); + now.elapsed().as_millis() as i32 +} + +#[macro_export] +macro_rules! mark { + ($name:expr) => { + #[cfg(all(feature = "profile-macros", target_arch = "wasm32"))] + { + use crate::run_script; + run_script!(format!("performance.mark('{}')", $name)); + } + }; +} + +#[macro_export] +macro_rules! measure { + ($name:expr) => { + #[cfg(all(feature = "profile-macros", target_arch = "wasm32"))] + { + use crate::run_script; + run_script!(format!("performance.measure('{}')", $name)); + } + }; + ($name:expr, $mark_begin:expr) => { + #[cfg(all(feature = "profile-macros", target_arch = "wasm32"))] + { + use crate::run_script; + run_script!(format!( + "performance.measure('{}','{}')", + $name, $mark_begin + )); + } + }; + ($name:expr, $mark_begin:expr, $mark_end:expr) => { + #[cfg(all(feature = "profile-macros", target_arch = "wasm32"))] + { + use crate::run_script; + run_script!(format!( + "performance.measure('{}','{}','{}')", + $name, $mark_begin, $mark_end + )); + } + }; +} + +#[macro_export] +macro_rules! begin_mark_name { + ($name:expr) => { + format!("{}::begin", $name) + }; +} + +#[macro_export] +macro_rules! end_mark_name { + ($name:expr) => { + format!("{}::end", $name) + }; +} + +#[macro_export] +macro_rules! measure_marks { + ($name:expr) => { + #[cfg(all(feature = "profile-macros", target_arch = "wasm32"))] + { + use crate::{begin_mark_name, end_mark_name, measure}; + measure!($name, begin_mark_name!($name), end_mark_name!($name)); + } + }; +} + +#[macro_export] +macro_rules! clear_marks { + () => { + use crate::run_script; + run_script!("performance.clearMarks()"); + }; + ($($name:expr),*) => { + format!("{}", [$(format!("performance.clearMarks('{}')", $name)),*].join("; ")) + }; +} + +#[macro_export] +macro_rules! clear_measures { + () => { + use crate::run_script; + run_script!("performance.clearMeasures()"); + }; + ($($name:expr),*) => { + format!("{}", [$(format!("performance.clearMeasures('{}')", $name)),*].join("; ")) + }; +} + +#[macro_export] +macro_rules! begin_measure { + ($name:expr) => { + #[cfg(all(feature = "profile-macros", target_arch = "wasm32"))] + { + use crate::{begin_mark_name, mark}; + mark!(begin_mark_name!($name)); + } + }; + ($name:expr, $clear_marks:expr) => { + #[cfg(all(feature = "profile-macros", target_arch = "wasm32"))] + { + use crate::{begin_mark_name, clear_marks, end_mark_name, mark}; + if $clear_marks { + clear_marks!(begin_mark_name!($name), end_mark_name($name)); + } + mark!(begin_mark_name!($name)); + } + }; +} + +#[macro_export] +macro_rules! end_measure { + ($name:expr) => { + #[cfg(all(feature = "profile-macros", target_arch = "wasm32"))] + { + use crate::{end_mark_name, mark, measure_marks}; + mark!(end_mark_name!($name)); + measure_marks!($name); + } + }; + ($name:expr, $clear_marks:expr) => { + #[cfg(all(feature = "profile-macros", target_arch = "wasm32"))] + { + use crate::{begin_mark_name, clear_marks, end_mark_name, mark, measure_marks}; + mark!(end_mark_name!($name)); + measure_marks!($name); + if $clear_marks { + clear_marks!(begin_mark_name!($name), end_mark_name($name)); + } + } + }; +} + +// We need to reexport the macro to make it public. +#[allow(unused_imports)] +pub use clear_marks; + +#[allow(unused_imports)] +pub use clear_measures; + +#[allow(unused_imports)] +pub use mark; + +#[allow(unused_imports)] +pub use measure; + +#[allow(unused_imports)] +pub use begin_measure; + +#[allow(unused_imports)] +pub use end_measure; diff --git a/render-wasm/src/render.rs b/render-wasm/src/render.rs index 318df808e2..e7e77db654 100644 --- a/render-wasm/src/render.rs +++ b/render-wasm/src/render.rs @@ -1,11 +1,13 @@ -use skia_safe::{self as skia, Contains, Matrix, RRect, Rect}; -use std::collections::HashMap; -use uuid::Uuid; +use skia_safe::{self as skia, Matrix, RRect, Rect}; +use crate::uuid::Uuid; +use std::collections::{HashMap, HashSet, VecDeque}; + +use crate::performance; use crate::view::Viewbox; +use crate::wapi; mod blend; -mod cache; mod debug; mod fills; mod fonts; @@ -16,9 +18,9 @@ mod shadows; mod strokes; mod surfaces; mod text; +mod tiles; -use crate::shapes::{Corners, Shape, Type}; -use cache::CachedSurfaceImage; +use crate::shapes::{modified_children_ids, Corners, Shape, StructureEntry, Type}; use gpu_state::GpuState; use options::RenderOptions; use surfaces::{SurfaceId, Surfaces}; @@ -27,19 +29,11 @@ pub use blend::BlendMode; pub use fonts::*; pub use images::*; +// This is the extra are used for tile rendering. +const VIEWPORT_INTEREST_AREA_THRESHOLD: i32 = 1; const MAX_BLOCKING_TIME_MS: i32 = 32; const NODE_BATCH_THRESHOLD: i32 = 10; -extern "C" { - fn emscripten_run_script(script: *const i8); - fn emscripten_run_script_int(script: *const i8) -> i32; -} - -fn get_time() -> i32 { - let script = std::ffi::CString::new("performance.now()").unwrap(); - unsafe { emscripten_run_script_int(script.as_ptr()) } -} - pub struct NodeRenderState { pub id: Uuid, // We use this bool to keep that we've traversed all the children inside this node. @@ -56,7 +50,7 @@ impl NodeRenderState { pub fn get_children_clip_bounds( &self, element: &Shape, - modifiers: &HashMap, + modifiers: Option<&Matrix>, ) -> Option<(Rect, Option, Matrix)> { if self.id.is_nil() || !element.clip() { return self.clip_bounds; @@ -67,7 +61,7 @@ impl NodeRenderState { transform.post_translate(bounds.center()); transform.pre_translate(-bounds.center()); - if let Some(modifier) = modifiers.get(&element.id) { + if let Some(modifier) = modifiers { transform.post_concat(modifier); } @@ -85,8 +79,7 @@ pub(crate) struct RenderState { gpu_state: GpuState, pub options: RenderOptions, pub surfaces: Surfaces, - fonts: FontStore, - pub cached_surface_image: Option, + pub fonts: FontStore, pub viewbox: Viewbox, pub images: ImageStore, pub background_color: skia::Color, @@ -95,40 +88,50 @@ pub(crate) struct RenderState { // Indicates whether the rendering process has pending frames. pub render_in_progress: bool, // Stack of nodes pending to be rendered. - pub pending_nodes: Vec, - pub render_complete: bool, + pub pending_nodes: VecDeque, + pub current_tile: Option, pub sampling_options: skia::SamplingOptions, + pub render_area: Rect, + pub tiles: tiles::TileHashMap, + pub pending_tiles: Vec, } impl RenderState { pub fn new(width: i32, height: i32) -> RenderState { // This needs to be done once per WebGL context. let mut gpu_state = GpuState::new(); - let sampling_options = skia::SamplingOptions::new(skia::FilterMode::Linear, skia::MipmapMode::Nearest); - let surfaces = Surfaces::new(&mut gpu_state, (width, height), sampling_options); let fonts = FontStore::new(); + let surfaces = Surfaces::new( + &mut gpu_state, + (width, height), + sampling_options, + tiles::get_tile_dimensions(), + ); // This is used multiple times everywhere so instead of creating new instances every // time we reuse this one. + + let tiles = tiles::TileHashMap::new(); + RenderState { gpu_state, - surfaces, - cached_surface_image: None, - // font_provider, - // font_collection, - fonts, options: RenderOptions::default(), + surfaces, + fonts, viewbox: Viewbox::new(width as f32, height as f32), images: ImageStore::new(), background_color: skia::Color::TRANSPARENT, render_request_id: None, render_in_progress: false, - pending_nodes: vec![], - render_complete: true, + pending_nodes: VecDeque::new(), + current_tile: None, sampling_options, + render_area: Rect::new_empty(), + tiles, + pending_tiles: vec![], } } @@ -141,7 +144,7 @@ impl RenderState { } pub fn add_image(&mut self, id: Uuid, image_data: &[u8]) -> Result<(), String> { - self.images.add(id, image_data) + self.images.add(id, image_data, &mut self.gpu_state.context) } pub fn has_image(&mut self, id: &Uuid) -> bool { @@ -149,7 +152,7 @@ impl RenderState { } pub fn set_debug_flags(&mut self, debug: u32) { - self.options.debug_flags = debug; + self.options.flags = debug; } pub fn set_dpr(&mut self, dpr: f32) { @@ -164,7 +167,6 @@ impl RenderState { pub fn set_background_color(&mut self, color: skia::Color) { self.background_color = color; - let _ = self.render_from_cache(); } pub fn resize(&mut self, width: i32, height: i32) { @@ -182,45 +184,30 @@ impl RenderState { } pub fn reset_canvas(&mut self) { - self.surfaces.canvas(SurfaceId::Fills).restore_to_count(1); - self.surfaces - .canvas(SurfaceId::DropShadows) - .restore_to_count(1); - self.surfaces.canvas(SurfaceId::Strokes).restore_to_count(1); - self.surfaces.canvas(SurfaceId::Current).restore_to_count(1); - - self.surfaces.apply_mut( - &[ - SurfaceId::Fills, - SurfaceId::Strokes, - SurfaceId::Current, - SurfaceId::DropShadows, - SurfaceId::Shadow, - SurfaceId::Overlay, - ], - |s| { - s.canvas().clear(self.background_color).reset_matrix(); - }, - ); - - self.surfaces - .canvas(SurfaceId::Debug) - .clear(skia::Color::TRANSPARENT) - .reset_matrix(); + self.surfaces.reset(self.background_color); } - pub fn apply_render_to_final_canvas(&mut self) { - self.surfaces.draw_into( - SurfaceId::Current, - SurfaceId::Target, - Some(&skia::Paint::default()), - ); + pub fn apply_render_to_final_canvas(&mut self, rect: skia::Rect) { + let x = self.current_tile.unwrap().0; + let y = self.current_tile.unwrap().1; + + self.surfaces.cache_current_tile_texture((x, y)); + + self.surfaces + .draw_cached_tile_surface(self.current_tile.unwrap(), rect); + + if self.options.is_debug_visible() { + debug::render_workspace_current_tile( + self, + "".to_string(), + self.current_tile.unwrap(), + rect, + ); + } } - pub fn apply_drawing_to_render_canvas(&mut self, shape: &Shape) { - self.surfaces - .flush_and_submit(&mut self.gpu_state, SurfaceId::Fills); - + pub fn apply_drawing_to_render_canvas(&mut self, shape: Option<&Shape>) { + performance::begin_measure!("apply_drawing_to_render_canvas"); self.surfaces .flush_and_submit(&mut self.gpu_state, SurfaceId::DropShadows); @@ -230,18 +217,26 @@ impl RenderState { Some(&skia::Paint::default()), ); + self.surfaces + .flush_and_submit(&mut self.gpu_state, SurfaceId::Fills); + self.surfaces.draw_into( SurfaceId::Fills, SurfaceId::Current, Some(&skia::Paint::default()), ); - let render_overlay_below_strokes = shape.fills().len() > 0; + let mut render_overlay_below_strokes = false; + if let Some(shape) = shape { + render_overlay_below_strokes = shape.has_fills(); + } + if render_overlay_below_strokes { self.surfaces - .flush_and_submit(&mut self.gpu_state, SurfaceId::Overlay); + .flush_and_submit(&mut self.gpu_state, SurfaceId::InnerShadows); + self.surfaces.draw_into( - SurfaceId::Overlay, + SurfaceId::InnerShadows, SurfaceId::Current, Some(&skia::Paint::default()), ); @@ -249,6 +244,7 @@ impl RenderState { self.surfaces .flush_and_submit(&mut self.gpu_state, SurfaceId::Strokes); + self.surfaces.draw_into( SurfaceId::Strokes, SurfaceId::Current, @@ -257,24 +253,22 @@ impl RenderState { if !render_overlay_below_strokes { self.surfaces - .flush_and_submit(&mut self.gpu_state, SurfaceId::Overlay); + .flush_and_submit(&mut self.gpu_state, SurfaceId::InnerShadows); + self.surfaces.draw_into( - SurfaceId::Overlay, + SurfaceId::InnerShadows, SurfaceId::Current, Some(&skia::Paint::default()), ); } - self.surfaces - .draw_into(SurfaceId::Overlay, SurfaceId::Current, None); self.surfaces .flush_and_submit(&mut self.gpu_state, SurfaceId::Current); self.surfaces.apply_mut( &[ - SurfaceId::Shadow, SurfaceId::DropShadows, - SurfaceId::Overlay, + SurfaceId::InnerShadows, SurfaceId::Fills, SurfaceId::Strokes, ], @@ -284,43 +278,45 @@ impl RenderState { ); } - pub fn invalidate_cache_if_needed(&mut self) { - if let Some(ref mut cached_surface_image) = self.cached_surface_image { - cached_surface_image.invalidate_if_dirty(&self.viewbox); - } - } - pub fn render_shape( &mut self, shape: &mut Shape, modifiers: Option<&Matrix>, clip_bounds: Option<(Rect, Option, Matrix)>, ) { - let surface_ids = &[SurfaceId::Fills, SurfaceId::Strokes, SurfaceId::DropShadows]; + let surface_ids = &[ + SurfaceId::Fills, + SurfaceId::Strokes, + SurfaceId::DropShadows, + SurfaceId::InnerShadows, + ]; self.surfaces.apply_mut(surface_ids, |s| { s.canvas().save(); }); + let antialias = shape.should_use_antialias(self.get_scale()); + // set clipping if let Some((bounds, corners, transform)) = clip_bounds { - self.surfaces.apply_mut( - &[SurfaceId::Fills, SurfaceId::Strokes, SurfaceId::DropShadows], - |s| { - s.canvas().concat(&transform); - }, - ); + self.surfaces.apply_mut(surface_ids, |s| { + s.canvas().concat(&transform); + }); if let Some(corners) = corners { let rrect = RRect::new_rect_radii(bounds, &corners); self.surfaces.apply_mut(surface_ids, |s| { - s.canvas().clip_rrect(rrect, skia::ClipOp::Intersect, true); + s.canvas() + .clip_rrect(rrect, skia::ClipOp::Intersect, antialias); }); } else { self.surfaces.apply_mut(surface_ids, |s| { - s.canvas().clip_rect(bounds, skia::ClipOp::Intersect, true); + s.canvas() + .clip_rect(bounds, skia::ClipOp::Intersect, antialias); }); } + // This renders a red line around clipped + // shapes (frames). if self.options.is_debug_visible() { let mut paint = skia::Paint::default(); paint.set_style(skia::PaintStyle::Stroke); @@ -372,199 +368,162 @@ impl RenderState { } } Type::Text(text_content) => { - text::render(self, text_content); + self.surfaces.apply_mut(&[SurfaceId::Fills], |s| { + s.canvas().concat(&matrix); + }); + + let paragraphs = text_content.to_skia_paragraphs(&self.fonts.font_collection()); + + shadows::render_text_drop_shadows(self, &shape, ¶graphs, antialias); + text::render(self, &shape, ¶graphs, None, None); + shadows::render_text_inner_shadows(self, &shape, ¶graphs, antialias); } _ => { self.surfaces.apply_mut( - &[SurfaceId::Fills, SurfaceId::Strokes, SurfaceId::DropShadows], + &[ + SurfaceId::Fills, + SurfaceId::Strokes, + SurfaceId::DropShadows, + SurfaceId::InnerShadows, + ], |s| { s.canvas().concat(&matrix); }, ); for fill in shape.fills().rev() { - fills::render(self, &shape, fill); + fills::render(self, &shape, fill, antialias); } for stroke in shape.strokes().rev() { - strokes::render(self, &shape, stroke); + shadows::render_stroke_drop_shadows(self, &shape, stroke, antialias); + strokes::render(self, &shape, stroke, None, None, antialias); + shadows::render_stroke_inner_shadows(self, &shape, stroke, antialias); } - for shadow in shape.inner_shadows().rev().filter(|s| !s.hidden()) { - shadows::render_inner_shadow( - self, - shadow, - self.viewbox.zoom * self.options.dpr(), - shape.fills().len() > 0, - ); - } - - shadows::render_drop_shadows(self, &shape); + shadows::render_fill_inner_shadows(self, &shape, antialias); + shadows::render_fill_drop_shadows(self, &shape, antialias); } }; - self.apply_drawing_to_render_canvas(&shape); + self.apply_drawing_to_render_canvas(Some(&shape)); self.surfaces.apply_mut( - &[SurfaceId::Fills, SurfaceId::Strokes, SurfaceId::DropShadows], + &[ + SurfaceId::Fills, + SurfaceId::Strokes, + SurfaceId::DropShadows, + SurfaceId::InnerShadows, + ], |s| { s.canvas().restore(); }, ); } + pub fn update_render_context(&mut self, tile: tiles::Tile) { + self.current_tile = Some(tile); + self.render_area = tiles::get_tile_rect(self.viewbox, tile); + self.surfaces + .update_render_context(self.render_area, self.viewbox); + } + pub fn start_render_loop( &mut self, tree: &mut HashMap, modifiers: &HashMap, + structure: &HashMap>, timestamp: i32, ) -> Result<(), String> { if self.render_in_progress { if let Some(frame_id) = self.render_request_id { - self.cancel_animation_frame(frame_id); + wapi::cancel_animation_frame!(frame_id); } } + performance::begin_measure!("render"); + performance::begin_measure!("start_render_loop"); + let scale = self.get_scale(); self.reset_canvas(); self.surfaces.apply_mut( - &[SurfaceId::Fills, SurfaceId::Strokes, SurfaceId::DropShadows], + &[ + SurfaceId::Fills, + SurfaceId::Strokes, + SurfaceId::DropShadows, + SurfaceId::InnerShadows, + ], |s| { - s.canvas().scale(( - self.viewbox.zoom * self.options.dpr(), - self.viewbox.zoom * self.options.dpr(), - )); - s.canvas() - .translate((self.viewbox.pan_x, self.viewbox.pan_y)); + s.canvas().scale((scale, scale)); }, ); - self.pending_nodes = vec![NodeRenderState { - id: Uuid::nil(), - visited_children: false, - clip_bounds: None, - visited_mask: false, - mask: false, - }]; - self.render_in_progress = true; - self.process_animation_frame(tree, modifiers, timestamp)?; - self.render_complete = true; - Ok(()) - } + // First we retrieve the extended area of the viewport that we could render. + let (isx, isy, iex, iey) = tiles::get_tiles_for_viewbox_with_interest( + self.viewbox, + VIEWPORT_INTEREST_AREA_THRESHOLD, + ); + // Then we get the real amount of tiles rendered for the current viewbox. + let (sx, sy, ex, ey) = tiles::get_tiles_for_viewbox(self.viewbox); + debug::render_debug_tiles_for_viewbox(self, isx, isy, iex, iey); + let tile_center = ((iex - isx) / 2, (iey - isy) / 2); - pub fn request_animation_frame(&mut self) -> i32 { - let script = - std::ffi::CString::new("requestAnimationFrame(_process_animation_frame)").unwrap(); - unsafe { emscripten_run_script_int(script.as_ptr()) } - } - - pub fn cancel_animation_frame(&mut self, frame_id: i32) { - let cancel_script = format!("cancelAnimationFrame({})", frame_id); - let c_cancel_script = std::ffi::CString::new(cancel_script).unwrap(); - unsafe { - emscripten_run_script(c_cancel_script.as_ptr()); + performance::begin_measure!("tile_cache"); + self.pending_tiles = vec![]; + self.surfaces.cache_clear_visited(); + for y in isy..=iey { + for x in isx..=iex { + let tile = (x, y); + let distance = tiles::manhattan_distance(tile, tile_center); + self.pending_tiles.push((x, y, distance)); + // We only need to mark! as visited the visible + // tiles, the ones that are outside the viewport + // should not be rendered. + if x >= sx && x <= ex && y >= sy && y <= ey { + self.surfaces.cache_visit(tile); + } + } } + performance::end_measure!("tile_cache"); + + self.pending_nodes = VecDeque::new(); + // reorder by distance to the center. + self.pending_tiles.sort_by(|a, b| b.2.cmp(&a.2)); + self.current_tile = None; + self.render_in_progress = true; + self.apply_drawing_to_render_canvas(None); + self.process_animation_frame(tree, modifiers, structure, timestamp)?; + performance::end_measure!("start_render_loop"); + Ok(()) } pub fn process_animation_frame( &mut self, tree: &mut HashMap, modifiers: &HashMap, + structure: &HashMap>, timestamp: i32, ) -> Result<(), String> { + performance::begin_measure!("process_animation_frame"); if self.render_in_progress { - self.render_shape_tree(tree, modifiers, timestamp)?; + self.render_shape_tree(tree, modifiers, structure, timestamp)?; + self.flush(); + if self.render_in_progress { if let Some(frame_id) = self.render_request_id { - self.cancel_animation_frame(frame_id); + wapi::cancel_animation_frame!(frame_id); } - self.render_request_id = Some(self.request_animation_frame()); + self.render_request_id = Some(wapi::request_animation_frame!()); + } else { + performance::end_measure!("render"); } } - - // self.render_in_progress can have changed - if self.render_in_progress { - if self.cached_surface_image.is_some() { - self.render_from_cache()?; - } - return Ok(()); - } - - // Chech if cached_surface_image is not set or is invalid - if self - .cached_surface_image - .as_ref() - .is_none_or(|img| img.invalid) - { - self.cached_surface_image = Some(CachedSurfaceImage { - image: self.surfaces.snapshot(SurfaceId::Current), - viewbox: self.viewbox, - invalid: false, - has_all_shapes: self.render_complete, - }); - } - - if self.options.is_debug_visible() { - self.render_debug(); - } - - debug::render_wasm_label(self); - self.apply_render_to_final_canvas(); - self.flush(); + performance::end_measure!("process_animation_frame"); Ok(()) } - pub fn clear_cache(&mut self) { - self.cached_surface_image = None; - } - - pub fn render_from_cache(&mut self) -> Result<(), String> { - let cached = self - .cached_surface_image - .as_ref() - .ok_or("Uninitialized cached surface image")?; - - let image = &cached.image; - let paint = skia::Paint::default(); - self.surfaces.canvas(SurfaceId::Target).save(); - self.surfaces.canvas(SurfaceId::Fills).save(); - self.surfaces.canvas(SurfaceId::Strokes).save(); - self.surfaces.canvas(SurfaceId::DropShadows).save(); - - let navigate_zoom = self.viewbox.zoom / cached.viewbox.zoom; - let navigate_x = cached.viewbox.zoom * (self.viewbox.pan_x - cached.viewbox.pan_x); - let navigate_y = cached.viewbox.zoom * (self.viewbox.pan_y - cached.viewbox.pan_y); - - self.surfaces - .canvas(SurfaceId::Target) - .scale((navigate_zoom, navigate_zoom)); - self.surfaces.canvas(SurfaceId::Target).translate(( - navigate_x * self.options.dpr(), - navigate_y * self.options.dpr(), - )); - self.surfaces - .canvas(SurfaceId::Target) - .clear(self.background_color); - self.surfaces - .canvas(SurfaceId::Target) - .draw_image(image, (0, 0), Some(&paint)); - - self.surfaces.canvas(SurfaceId::Target).restore(); - self.surfaces.canvas(SurfaceId::Fills).restore(); - self.surfaces.canvas(SurfaceId::Strokes).restore(); - self.surfaces.canvas(SurfaceId::DropShadows).restore(); - - self.flush(); - - Ok(()) - } - - fn render_debug(&mut self) { - debug::render(self); - } - pub fn render_shape_enter(&mut self, element: &mut Shape, mask: bool) { // Masked groups needs two rendering passes, the first one rendering // the content and the second one rendering the mask so we need to do - // an extra save_layer to keep all the masked group separate from other - // already drawn elements. + // an extra save_layer to keep all the masked group separate from + // other already drawn elements. match element.shape_type { Type::Group(group) => { if group.masked { @@ -594,7 +553,7 @@ impl RenderState { .save_layer(&mask_rec); } - if let Some(image_filter) = element.image_filter(self.viewbox.zoom * self.options.dpr()) { + if let Some(image_filter) = element.image_filter(self.get_scale()) { paint.set_image_filter(image_filter); } @@ -621,118 +580,349 @@ impl RenderState { self.surfaces.canvas(SurfaceId::Current).restore(); } + pub fn get_current_tile_bounds(&mut self) -> Rect { + let (tile_x, tile_y) = self.current_tile.unwrap(); + let scale = self.get_scale(); + let offset_x = self.viewbox.area.left * scale; + let offset_y = self.viewbox.area.top * scale; + Rect::from_xywh( + (tile_x as f32 * tiles::TILE_SIZE) - offset_x, + (tile_y as f32 * tiles::TILE_SIZE) - offset_y, + tiles::TILE_SIZE, + tiles::TILE_SIZE, + ) + } + pub fn render_shape_tree( &mut self, tree: &mut HashMap, modifiers: &HashMap, + structure: &HashMap>, timestamp: i32, ) -> Result<(), String> { if !self.render_in_progress { return Ok(()); } - let mut i = 0; - while let Some(node_render_state) = self.pending_nodes.pop() { - let NodeRenderState { - id: node_id, - visited_children, - clip_bounds, - visited_mask, - mask, - } = node_render_state; - let element = tree.get_mut(&node_id).ok_or( - "Error: Element with root_id {node_render_state.id} not found in the tree." - .to_string(), - )?; + let scale = self.get_scale(); + let mut should_stop = false; - let render_complete = self.viewbox.area.contains(element.selrect()); - if visited_children { - if !visited_mask { - match element.shape_type { - Type::Group(group) => { - // When we're dealing with masked groups we need to - // do a separate extra step to draw the mask (the last - // element of a masked group) and blend (using - // the blend mode 'destination-in') the content - // of the group and the mask. - if group.masked { - self.pending_nodes.push(NodeRenderState { - id: node_id, - visited_children: true, - clip_bounds: None, - visited_mask: true, - mask: false, - }); - if let Some(&mask_id) = element.mask_id() { - self.pending_nodes.push(NodeRenderState { - id: mask_id, - visited_children: false, - clip_bounds: None, - visited_mask: false, - mask: true, - }); + while !should_stop { + if let Some(current_tile) = self.current_tile { + if self.surfaces.has_cached_tile_surface(current_tile) { + performance::begin_measure!("render_shape_tree::cached"); + let tile_rect = self.get_current_tile_bounds(); + self.surfaces + .draw_cached_tile_surface(current_tile, tile_rect); + performance::end_measure!("render_shape_tree::cached"); + + if self.options.is_debug_visible() { + debug::render_workspace_current_tile( + self, + "Cached".to_string(), + current_tile, + tile_rect, + ); + } + } else { + performance::begin_measure!("render_shape_tree::uncached"); + let mut i = 0; + let mut is_empty = true; + while let Some(node_render_state) = self.pending_nodes.pop_front() { + let NodeRenderState { + id: node_id, + visited_children, + clip_bounds, + visited_mask, + mask, + } = node_render_state; + + is_empty = false; + let element = tree.get_mut(&node_id).ok_or( + "Error: Element with root_id {node_render_state.id} not found in the tree." + .to_string(), + )?; + + // If the shape is not in the tile set, then we update + // it. + if let None = self.tiles.get_tiles_of(node_id) { + self.update_tile_for(element); + } + + if visited_children { + if !visited_mask { + match element.shape_type { + Type::Group(group) => { + // When we're dealing with masked groups we need to + // do a separate extra step to draw the mask (the last + // element of a masked group) and blend (using + // the blend mode 'destination-in') the content + // of the group and the mask. + if group.masked { + self.pending_nodes.push_back(NodeRenderState { + id: node_id, + visited_children: true, + clip_bounds: None, + visited_mask: true, + mask: false, + }); + if let Some(&mask_id) = element.mask_id() { + self.pending_nodes.push_back(NodeRenderState { + id: mask_id, + visited_children: false, + clip_bounds: None, + visited_mask: false, + mask: true, + }); + } + } + } + _ => {} } } + self.render_shape_exit(element, visited_mask); + continue; } - _ => {} + + if !node_render_state.id.is_nil() { + // If we didn't visited_children this shape, then we need to do + let mut transformed_element = element.clone(); + if let Some(modifier) = modifiers.get(&node_id) { + transformed_element.apply_transform(modifier); + } + if !transformed_element.extrect().intersects(self.render_area) + || transformed_element.hidden() + || transformed_element.visually_insignificant(scale) + { + debug::render_debug_shape(self, &transformed_element, false); + continue; + } else { + debug::render_debug_shape(self, &transformed_element, true); + } + } + + self.render_shape_enter(element, mask); + if !node_render_state.id.is_nil() { + self.render_shape(element, modifiers.get(&element.id), clip_bounds); + } else { + self.apply_drawing_to_render_canvas(Some(&element)); + } + + // Set the node as visited_children before processing children + self.pending_nodes.push_back(NodeRenderState { + id: node_id, + visited_children: true, + clip_bounds: None, + visited_mask: false, + mask: mask, + }); + + if element.is_recursive() { + let children_clip_bounds = node_render_state + .get_children_clip_bounds(element, modifiers.get(&element.id)); + + let mut children_ids = + modified_children_ids(element, structure.get(&element.id)); + + // Z-index ordering on Layouts + if element.has_layout() { + children_ids.sort_by(|id1, id2| { + let z1 = tree.get(id1).map_or_else(|| 0, |s| s.z_index()); + let z2 = tree.get(id2).map_or_else(|| 0, |s| s.z_index()); + z1.cmp(&z2) + }); + } + + for child_id in children_ids.iter().rev() { + self.pending_nodes.push_back(NodeRenderState { + id: *child_id, + visited_children: false, + clip_bounds: children_clip_bounds, + visited_mask: false, + mask: false, + }); + } + } + + // We try to avoid doing too many calls to get_time + if i % NODE_BATCH_THRESHOLD == 0 + && performance::get_time() - timestamp > MAX_BLOCKING_TIME_MS + { + return Ok(()); + } + i += 1; + } + performance::end_measure!("render_shape_tree::uncached"); + let tile_rect = self.get_current_tile_bounds(); + if !is_empty { + self.apply_render_to_final_canvas(tile_rect); + } else { + self.surfaces.apply_mut(&[SurfaceId::Target], |s| { + let mut paint = skia::Paint::default(); + paint.set_color(self.background_color); + s.canvas().draw_rect(tile_rect, &paint); + }); } } - self.render_shape_exit(element, visited_mask); - continue; } - // If we didn't visited_children this shape, then we need to do - if !node_render_state.id.is_nil() { - if !element.selrect().intersects(self.viewbox.area) || element.hidden() { - debug::render_debug_shape(self, element, false); - self.render_complete = render_complete; - continue; - } else { - debug::render_debug_shape(self, element, true); + self.surfaces + .canvas(SurfaceId::Current) + .clear(self.background_color); + + let Some(root) = tree.get(&Uuid::nil()) else { + return Err(String::from("Root shape not found")); + }; + let root_ids = modified_children_ids(&root, structure.get(&root.id)); + + // If we finish processing every node rendering is complete + // let's check if there are more pending nodes + if let Some(next_tile_with_distance) = self.pending_tiles.pop() { + let (x, y, _) = next_tile_with_distance; + let next_tile = (x, y); + self.update_render_context(next_tile); + + if !self.surfaces.has_cached_tile_surface(next_tile) { + if let Some(ids) = self.tiles.get_shapes_at(next_tile) { + // We only need first level shapes + let mut valid_ids: Vec = ids + .iter() + .filter_map(|id| root_ids.get(id).map(|_| *id)) + .collect(); + + // These shapes for the tile should be ordered as they are in the parent node + valid_ids.sort_by_key(|id| root_ids.get_index_of(id)); + + self.pending_nodes.extend(valid_ids.into_iter().map(|id| { + NodeRenderState { + id, + visited_children: false, + clip_bounds: None, + visited_mask: false, + mask: false, + } + })); + } } - } - - self.render_shape_enter(element, mask); - if !node_render_state.id.is_nil() { - self.render_shape(element, modifiers.get(&element.id), clip_bounds); } else { - self.apply_drawing_to_render_canvas(&element); + should_stop = true; } - - // Set the node as visited_children before processing children - self.pending_nodes.push(NodeRenderState { - id: node_id, - visited_children: true, - clip_bounds: None, - visited_mask: false, - mask: mask, - }); - - if element.is_recursive() { - let children_clip_bounds = - node_render_state.get_children_clip_bounds(element, &modifiers); - - for child_id in element.children_ids().iter().rev() { - self.pending_nodes.push(NodeRenderState { - id: *child_id, - visited_children: false, - clip_bounds: children_clip_bounds, - visited_mask: false, - mask: false, - }); - } - } - - // We try to avoid doing too many calls to get_time - if i % NODE_BATCH_THRESHOLD == 0 && get_time() - timestamp > MAX_BLOCKING_TIME_MS { - return Ok(()); - } - - i += 1; + } + self.render_in_progress = false; + if self.options.is_debug_visible() { + debug::render(self); } - // If we finish processing every node rendering is complete - self.render_in_progress = false; + debug::render_wasm_label(self); + self.flush(); + Ok(()) } + + pub fn get_tiles_for_shape(&mut self, shape: &Shape) -> (i32, i32, i32, i32) { + let tile_size = tiles::get_tile_size(self.viewbox); + tiles::get_tiles_for_rect(shape.extrect(), tile_size) + } + + pub fn update_tile_for(&mut self, shape: &Shape) { + let (rsx, rsy, rex, rey) = self.get_tiles_for_shape(shape); + let new_tiles: HashSet<(i32, i32)> = (rsx..=rex) + .flat_map(|x| (rsy..=rey).map(move |y| (x, y))) + .collect(); + + // Update tiles where the shape was + if let Some(tiles) = self.tiles.get_tiles_of(shape.id) { + for tile in tiles.iter() { + self.surfaces.remove_cached_tile_surface(*tile); + } + // Remove shape from tiles not used + let diff: HashSet<_> = tiles.difference(&new_tiles).cloned().collect(); + for tile in diff.iter() { + self.tiles.remove_shape_at(*tile, shape.id); + } + } + + // Update tiles matching the actual selrect + for tile in new_tiles { + self.tiles.add_shape_at(tile, shape.id); + self.surfaces.remove_cached_tile_surface(tile); + } + } + + pub fn rebuild_tiles_shallow( + &mut self, + tree: &mut HashMap, + modifiers: &HashMap, + structure: &HashMap>, + ) { + performance::begin_measure!("rebuild_tiles_shallow"); + self.tiles.invalidate(); + self.surfaces.remove_cached_tiles(); + let mut nodes = vec![Uuid::nil()]; + while let Some(shape_id) = nodes.pop() { + if let Some(shape) = tree.get(&shape_id) { + let mut shape = shape.clone(); + if shape_id != Uuid::nil() { + if let Some(modifier) = modifiers.get(&shape_id) { + shape.apply_transform(modifier); + } + self.update_tile_for(&shape); + } else { + // We only need to rebuild tiles from the first level. + let children = modified_children_ids(&shape, structure.get(&shape.id)); + for child_id in children.iter() { + nodes.push(*child_id); + } + } + } + } + performance::end_measure!("rebuild_tiles_shallow"); + } + + pub fn rebuild_tiles( + &mut self, + tree: &mut HashMap, + modifiers: &HashMap, + structure: &HashMap>, + ) { + performance::begin_measure!("rebuild_tiles"); + self.tiles.invalidate(); + self.surfaces.remove_cached_tiles(); + let mut nodes = vec![Uuid::nil()]; + while let Some(shape_id) = nodes.pop() { + if let Some(shape) = tree.get(&shape_id) { + let mut shape = shape.clone(); + if shape_id != Uuid::nil() { + if let Some(modifier) = modifiers.get(&shape_id) { + shape.apply_transform(modifier); + } + self.update_tile_for(&shape); + } + + let children = modified_children_ids(&shape, structure.get(&shape.id)); + for child_id in children.iter() { + nodes.push(*child_id); + } + } + } + performance::end_measure!("rebuild_tiles"); + } + + pub fn rebuild_modifier_tiles( + &mut self, + tree: &mut HashMap, + modifiers: &HashMap, + ) { + for (uuid, matrix) in modifiers { + if let Some(shape) = tree.get(uuid) { + let mut shape: Shape = shape.clone(); + shape.apply_transform(matrix); + self.update_tile_for(&shape); + } + } + } + + pub fn get_scale(&self) -> f32 { + self.viewbox.zoom() * self.options.dpr() + } } diff --git a/render-wasm/src/render/cache.rs b/render-wasm/src/render/cache.rs deleted file mode 100644 index 04c0ec6433..0000000000 --- a/render-wasm/src/render/cache.rs +++ /dev/null @@ -1,18 +0,0 @@ -use super::{Image, Viewbox}; -use skia::Contains; -use skia_safe as skia; - -pub(crate) struct CachedSurfaceImage { - pub image: Image, - pub viewbox: Viewbox, - pub invalid: bool, - pub has_all_shapes: bool, -} - -impl CachedSurfaceImage { - pub fn invalidate_if_dirty(&mut self, viewbox: &Viewbox) { - if !self.has_all_shapes && !self.viewbox.area.contains(viewbox.area) { - self.invalid = true; - } - } -} diff --git a/render-wasm/src/render/debug.rs b/render-wasm/src/render/debug.rs index 176f1aec60..230464139d 100644 --- a/render-wasm/src/render/debug.rs +++ b/render-wasm/src/render/debug.rs @@ -1,71 +1,216 @@ use crate::shapes::Shape; -use skia_safe as skia; +use skia_safe::{self as skia, Rect}; -use super::{RenderState, SurfaceId}; +use super::{tiles, RenderState, SurfaceId}; + +#[cfg(target_arch = "wasm32")] +use crate::run_script; + +const DEBUG_SCALE: f32 = 0.2; + +fn get_debug_rect(rect: Rect) -> Rect { + skia::Rect::from_xywh( + 100. + rect.x() * DEBUG_SCALE, + 100. + rect.y() * DEBUG_SCALE, + rect.width() * DEBUG_SCALE, + rect.height() * DEBUG_SCALE, + ) +} fn render_debug_view(render_state: &mut RenderState) { let mut paint = skia::Paint::default(); paint.set_style(skia::PaintStyle::Stroke); - paint.set_color(skia::Color::from_argb(255, 255, 0, 255)); + paint.set_color(skia::Color::from_rgb(255, 0, 255)); paint.set_stroke_width(1.); - let mut scaled_rect = render_state.viewbox.area.clone(); - let x = 100. + scaled_rect.x() * 0.2; - let y = 100. + scaled_rect.y() * 0.2; - let width = scaled_rect.width() * 0.2; - let height = scaled_rect.height() * 0.2; - scaled_rect.set_xywh(x, y, width, height); - + let rect = get_debug_rect(render_state.viewbox.area.clone()); render_state .surfaces .canvas(SurfaceId::Debug) - .draw_rect(scaled_rect, &paint); + .draw_rect(rect, &paint); } pub fn render_wasm_label(render_state: &mut RenderState) { - let font_provider = render_state.fonts().font_provider(); - let typeface = font_provider - .match_family_style("robotomono-regular", skia::FontStyle::default()) - .unwrap(); - - let canvas = render_state.surfaces.canvas(SurfaceId::Current); + let canvas = render_state.surfaces.canvas(SurfaceId::Debug); let skia::ISize { width, height } = canvas.base_layer_size(); - let p = skia::Point::new(width as f32 - 100.0, height as f32 - 25.0); let mut paint = skia::Paint::default(); paint.set_color(skia::Color::from_argb(100, 0, 0, 0)); - let font = skia::Font::new(typeface, 10.0); - canvas.draw_str("WASM RENDERER", p, &font, &paint); + let str = if render_state.options.is_debug_visible() { + "WASM RENDERER (DEBUG)" + } else { + "WASM RENDERER" + }; + let (scalar, _) = render_state.fonts.debug_font().measure_str(str, None); + let p = skia::Point::new(width as f32 - 25.0 - scalar, height as f32 - 25.0); + + let debug_font = render_state.fonts.debug_font(); + canvas.draw_str(str, p, &debug_font, &paint); } pub fn render_debug_shape(render_state: &mut RenderState, element: &Shape, intersected: bool) { let mut paint = skia::Paint::default(); paint.set_style(skia::PaintStyle::Stroke); paint.set_color(if intersected { - skia::Color::from_argb(255, 255, 255, 0) + skia::Color::from_rgb(255, 255, 0) } else { - skia::Color::from_argb(255, 0, 255, 255) + skia::Color::from_rgb(0, 255, 255) }); paint.set_stroke_width(1.); - let mut scaled_rect = element.selrect(); - let x = 100. + scaled_rect.x() * 0.2; - let y = 100. + scaled_rect.y() * 0.2; - let width = scaled_rect.width() * 0.2; - let height = scaled_rect.height() * 0.2; - scaled_rect.set_xywh(x, y, width, height); - + let rect = get_debug_rect(element.extrect()); render_state .surfaces .canvas(SurfaceId::Debug) - .draw_rect(scaled_rect, &paint); + .draw_rect(rect, &paint); +} + +pub fn render_debug_tiles_for_viewbox( + render_state: &mut RenderState, + sx: i32, + sy: i32, + ex: i32, + ey: i32, +) { + let canvas = render_state.surfaces.canvas(SurfaceId::Debug); + let mut paint = skia::Paint::default(); + paint.set_style(skia::PaintStyle::Stroke); + paint.set_color(skia::Color::from_rgb(255, 0, 127)); + paint.set_stroke_width(1.); + let str_rect = format!("{} {} {} {}", sx, sy, ex, ey); + + let debug_font = render_state.fonts.debug_font(); + canvas.draw_str( + str_rect, + skia::Point::new(100.0, 150.0), + &debug_font, + &paint, + ); +} + +// Renders the tiles in the viewbox +pub fn render_debug_viewbox_tiles(render_state: &mut RenderState) { + let canvas = render_state.surfaces.canvas(SurfaceId::Debug); + let mut paint = skia::Paint::default(); + paint.set_style(skia::PaintStyle::Stroke); + paint.set_color(skia::Color::from_rgb(255, 0, 127)); + paint.set_stroke_width(1.); + + let tile_size = tiles::get_tile_size(render_state.viewbox); + let (sx, sy, ex, ey) = tiles::get_tiles_for_rect(render_state.viewbox.area, tile_size); + let str_rect = format!("{} {} {} {}", sx, sy, ex, ey); + + let debug_font = render_state.fonts.debug_font(); + canvas.draw_str( + str_rect, + skia::Point::new(100.0, 100.0), + &debug_font, + &paint, + ); + + for y in sy..=ey { + for x in sx..=ex { + let rect = Rect::from_xywh( + x as f32 * tile_size, + y as f32 * tile_size, + tile_size, + tile_size, + ); + let debug_rect = get_debug_rect(rect); + let p = skia::Point::new(debug_rect.x(), debug_rect.y() - 1.); + let str = format!("{}:{}", x, y); + let debug_font = render_state.fonts.debug_font(); + canvas.draw_str(str, p, &debug_font, &paint); + canvas.draw_rect(&debug_rect, &paint); + } + } +} + +pub fn render_debug_tiles(render_state: &mut RenderState) { + let canvas = render_state.surfaces.canvas(SurfaceId::Debug); + let mut paint = skia::Paint::default(); + paint.set_style(skia::PaintStyle::Stroke); + paint.set_color(skia::Color::from_rgb(127, 0, 255)); + paint.set_stroke_width(1.); + + let tile_size = tiles::get_tile_size(render_state.viewbox); + let (sx, sy, ex, ey) = tiles::get_tiles_for_rect(render_state.viewbox.area, tile_size); + for y in sy..=ey { + for x in sx..=ex { + let tile = (x, y); + let shape_count = render_state.tiles.get_shapes_at(tile).iter().len(); + if shape_count == 0 { + continue; + } + + let rect = Rect::from_xywh( + x as f32 * tile_size, + y as f32 * tile_size, + tile_size, + tile_size, + ); + let debug_rect = get_debug_rect(rect); + let p = skia::Point::new(debug_rect.x(), debug_rect.y() - 1.); + let str = format!("{}:{} {}", x, y, shape_count); + + let debug_font = render_state.fonts.debug_font(); + canvas.draw_str(str, p, &debug_font, &paint); + canvas.draw_rect(&debug_rect, &paint); + } + } } pub fn render(render_state: &mut RenderState) { render_debug_view(render_state); + render_debug_viewbox_tiles(render_state); + render_debug_tiles(render_state); render_state.surfaces.draw_into( SurfaceId::Debug, - SurfaceId::Current, + SurfaceId::Target, Some(&skia::Paint::default()), ); } + +#[cfg(target_arch = "wasm32")] +#[allow(dead_code)] +pub fn console_debug_surface(render_state: &mut RenderState, id: SurfaceId) { + let base64_image = render_state.surfaces.base64_snapshot(id); + + run_script!(format!("console.log('%c ', 'font-size: 1px; background: url(data:image/png;base64,{base64_image}) no-repeat; padding: 100px; background-size: contain;')")) +} + +#[allow(dead_code)] +#[cfg(target_arch = "wasm32")] +pub fn console_debug_surface_rect(render_state: &mut RenderState, id: SurfaceId, rect: skia::Rect) { + let int_rect = skia::IRect::from_ltrb( + rect.left as i32, + rect.top as i32, + rect.right as i32, + rect.bottom as i32, + ); + + let base64_image = render_state.surfaces.base64_snapshot_rect(id, int_rect); + + if let Some(base64_image) = base64_image { + run_script!(format!("console.log('%c ', 'font-size: 1px; background: url(data:image/png;base64,{base64_image}) no-repeat; padding: 100px; background-size: contain;')")) + } +} + +pub fn render_workspace_current_tile( + render_state: &mut RenderState, + prefix: String, + tile: tiles::Tile, + rect: skia::Rect, +) { + let canvas = render_state.surfaces.canvas(SurfaceId::Target); + let mut p = skia::Paint::default(); + p.set_stroke_width(1.); + p.set_style(skia::PaintStyle::Stroke); + canvas.draw_rect(&rect, &p); + + let point = skia::Point::new(rect.x() + 10., rect.y() + 20.); + p.set_stroke_width(1.); + let str = format!("{prefix} {}:{}", tile.0, tile.1); + let debug_font = render_state.fonts.debug_font(); + canvas.draw_str(str, point, &debug_font, &p); +} diff --git a/render-wasm/src/render/fills.rs b/render-wasm/src/render/fills.rs index 1efdc8fd82..3bdf61d334 100644 --- a/render-wasm/src/render/fills.rs +++ b/render-wasm/src/render/fills.rs @@ -9,6 +9,7 @@ fn draw_image_fill( shape: &Shape, image_fill: &ImageFill, paint: &Paint, + antialias: bool, ) { let image = render_state.images.get(&image_fill.id()); if image.is_none() { @@ -62,15 +63,15 @@ fn draw_image_fill( .. }) => { let rrect: RRect = RRect::new_rect_radii(container, &corners); - canvas.clip_rrect(rrect, skia::ClipOp::Intersect, true); + canvas.clip_rrect(rrect, skia::ClipOp::Intersect, antialias); } Type::Rect(_) | Type::Frame(_) => { - canvas.clip_rect(container, skia::ClipOp::Intersect, true); + canvas.clip_rect(container, skia::ClipOp::Intersect, antialias); } Type::Circle => { let mut oval_path = skia::Path::new(); oval_path.add_oval(container, None); - canvas.clip_path(&oval_path, skia::ClipOp::Intersect, true); + canvas.clip_path(&oval_path, skia::ClipOp::Intersect, antialias); } shape_type @ (Type::Path(_) | Type::Bool(_)) => { if let Some(path) = shape_type.path() { @@ -78,13 +79,13 @@ fn draw_image_fill( canvas.clip_path( &path.to_skia_path().transform(&path_transform), skia::ClipOp::Intersect, - true, + antialias, ); } } } Type::SVGRaw(_) => { - canvas.clip_rect(container, skia::ClipOp::Intersect, true); + canvas.clip_rect(container, skia::ClipOp::Intersect, antialias); } Type::Group(_) => unreachable!("A group should not have fills"), Type::Text(_) => unimplemented!("TODO"), @@ -108,12 +109,12 @@ fn draw_image_fill( /** * This SHOULD be the only public function in this module. */ -pub fn render(render_state: &mut RenderState, shape: &Shape, fill: &Fill) { - let paint = &fill.to_paint(&shape.selrect); +pub fn render(render_state: &mut RenderState, shape: &Shape, fill: &Fill, antialias: bool) { + let paint = &fill.to_paint(&shape.selrect, antialias); match (fill, &shape.shape_type) { (Fill::Image(image_fill), _) => { - draw_image_fill(render_state, shape, image_fill, paint); + draw_image_fill(render_state, shape, image_fill, paint, antialias); } (_, Type::Rect(_) | Type::Frame(_)) => { render_state diff --git a/render-wasm/src/render/fonts.rs b/render-wasm/src/render/fonts.rs index 0dd881181d..dd8d24f2b3 100644 --- a/render-wasm/src/render/fonts.rs +++ b/render-wasm/src/render/fonts.rs @@ -1,41 +1,55 @@ -use skia_safe::{self as skia, textlayout, FontMgr}; +use skia_safe::{self as skia, textlayout, Font, FontMgr}; -use crate::shapes::FontFamily; +use crate::shapes::{FontFamily, FontStyle}; +use crate::uuid::Uuid; -const DEFAULT_FONT_BYTES: &[u8] = include_bytes!("../fonts/RobotoMono-Regular.ttf"); const EMOJI_FONT_BYTES: &[u8] = include_bytes!("../fonts/NotoColorEmoji-Regular.ttf"); -pub static DEFAULT_FONT: &'static str = "robotomono-regular"; pub static DEFAULT_EMOJI_FONT: &'static str = "noto-color-emoji"; +const DEFAULT_FONT_BYTES: &[u8] = include_bytes!("../fonts/sourcesanspro-regular.ttf"); + +pub fn default_font() -> String { + let family = FontFamily::new(default_font_uuid(), 400, FontStyle::Normal); + format!("{}", family) +} + +fn default_font_uuid() -> Uuid { + Uuid::nil() +} + pub struct FontStore { - // TODO: we should probably have just one of those + font_mgr: FontMgr, font_provider: textlayout::TypefaceFontProvider, font_collection: textlayout::FontCollection, + debug_font: Font, } impl FontStore { pub fn new() -> Self { - let mut font_provider = skia::textlayout::TypefaceFontProvider::new(); + let font_mgr = FontMgr::new(); - let default_font = skia::FontMgr::default() - .new_from_data(DEFAULT_FONT_BYTES, None) - .expect("Failed to load font"); + let mut font_provider = load_default_provider(&font_mgr); - font_provider.register_typeface(default_font, DEFAULT_FONT); - - let emoji_font = skia::FontMgr::default() + // TODO: Load emoji font lazily + let emoji_font = font_mgr .new_from_data(EMOJI_FONT_BYTES, None) .expect("Failed to load font"); - font_provider.register_typeface(emoji_font, DEFAULT_EMOJI_FONT); let mut font_collection = skia::textlayout::FontCollection::new(); - font_collection.set_default_font_manager(FontMgr::default(), None); - font_collection.set_dynamic_font_manager(FontMgr::from(font_provider.clone())); + font_collection.set_default_font_manager(FontMgr::from(font_provider.clone()), None); + + let debug_typeface = font_provider + .match_family_style(default_font().as_str(), skia::FontStyle::default()) + .unwrap(); + + let debug_font = skia::Font::new(debug_typeface, 10.0); Self { + font_mgr, font_provider, font_collection, + debug_font, } } @@ -47,20 +61,25 @@ impl FontStore { &self.font_collection } + pub fn debug_font(&self) -> &Font { + &self.debug_font + } + pub fn add(&mut self, family: FontFamily, font_data: &[u8]) -> Result<(), String> { if self.has_family(&family) { return Ok(()); } let alias = format!("{}", family); - let typeface = skia::FontMgr::default() + let typeface = self + .font_mgr .new_from_data(font_data, None) .ok_or("Failed to create typeface")?; self.font_provider .register_typeface(typeface, alias.as_str()); - self.refresh_font_collection(); + self.font_collection.clear_caches(); Ok(()) } @@ -69,12 +88,16 @@ impl FontStore { let serialized = format!("{}", family); self.font_provider.family_names().any(|x| x == serialized) } - - fn refresh_font_collection(&mut self) { - self.font_collection = skia::textlayout::FontCollection::new(); - self.font_collection - .set_default_font_manager(FontMgr::default(), None); - self.font_collection - .set_dynamic_font_manager(FontMgr::from(self.font_provider.clone())); - } +} + +fn load_default_provider(font_mgr: &FontMgr) -> skia::textlayout::TypefaceFontProvider { + let mut font_provider = skia::textlayout::TypefaceFontProvider::new(); + + let family = FontFamily::new(default_font_uuid(), 400, FontStyle::Normal); + let font = font_mgr + .new_from_data(DEFAULT_FONT_BYTES, None) + .expect("Failed to load font"); + font_provider.register_typeface(font, family.alias().as_str()); + + font_provider } diff --git a/render-wasm/src/render/images.rs b/render-wasm/src/render/images.rs index a1d9f5fe76..138fc4a7f8 100644 --- a/render-wasm/src/render/images.rs +++ b/render-wasm/src/render/images.rs @@ -1,6 +1,9 @@ +use crate::math::Rect as MathRect; +use crate::uuid::Uuid; + use skia_safe as skia; +use skia_safe::gpu::{surfaces, Budgeted, DirectContext}; use std::collections::HashMap; -use uuid::Uuid; pub type Image = skia::Image; @@ -15,11 +18,41 @@ impl ImageStore { } } - pub fn add(&mut self, id: Uuid, image_data: &[u8]) -> Result<(), String> { - let image_data = skia::Data::new_copy(image_data); + pub fn add( + &mut self, + id: Uuid, + image_data: &[u8], + context: &mut DirectContext, + ) -> Result<(), String> { + let image_data = unsafe { skia::Data::new_bytes(image_data) }; let image = Image::from_encoded(image_data).ok_or("Error decoding image data")?; - self.images.insert(id, image); + let width = image.width(); + let height = image.height(); + + let image_info = skia::ImageInfo::new_n32_premul((width, height), None); + let mut surface = surfaces::render_target( + context, + Budgeted::Yes, + &image_info, + None, + None, + None, + None, + false, + ) + .ok_or("Can't create GPU surface")?; + + let dest_rect = MathRect::from_xywh(0.0, 0.0, width as f32, height as f32); + + surface + .canvas() + .draw_image_rect(&image, None, dest_rect, &skia::Paint::default()); + + let gpu_image = surface.image_snapshot(); + + // This way we store the image as a texture + self.images.insert(id, gpu_image); Ok(()) } diff --git a/render-wasm/src/render/options.rs b/render-wasm/src/render/options.rs index 5e27f674b8..fc80bf2014 100644 --- a/render-wasm/src/render/options.rs +++ b/render-wasm/src/render/options.rs @@ -1,15 +1,15 @@ -use crate::debug; +use crate::options; #[derive(Debug, Copy, Clone, PartialEq)] pub struct RenderOptions { - pub debug_flags: u32, + pub flags: u32, pub dpr: Option, } impl Default for RenderOptions { fn default() -> Self { Self { - debug_flags: 0x00, + flags: 0x00, dpr: None, } } @@ -17,7 +17,11 @@ impl Default for RenderOptions { impl RenderOptions { pub fn is_debug_visible(&self) -> bool { - self.debug_flags & debug::DEBUG_VISIBLE == debug::DEBUG_VISIBLE + self.flags & options::DEBUG_VISIBLE == options::DEBUG_VISIBLE + } + + pub fn is_profile_rebuild_tiles(&self) -> bool { + self.flags & options::PROFILE_REBUILD_TILES == options::PROFILE_REBUILD_TILES } pub fn dpr(&self) -> f32 { diff --git a/render-wasm/src/render/shadows.rs b/render-wasm/src/render/shadows.rs index 17fca69d2d..d7a9e637e6 100644 --- a/render-wasm/src/render/shadows.rs +++ b/render-wasm/src/render/shadows.rs @@ -1,87 +1,164 @@ -use skia_safe::{self as skia}; - use super::{RenderState, SurfaceId}; -use crate::shapes::{Shadow, Shape, Type}; +use crate::render::strokes; +use crate::render::text::{self}; +use crate::shapes::{Shadow, Shape, Stroke, Type}; +use skia_safe::{textlayout::Paragraph, Paint}; -pub fn render_drop_shadows(render_state: &mut RenderState, shape: &Shape) { - if shape.fills().len() > 0 { +// Fill Shadows +pub fn render_fill_drop_shadows(render_state: &mut RenderState, shape: &Shape, antialias: bool) { + if shape.has_fills() { for shadow in shape.drop_shadows().rev().filter(|s| !s.hidden()) { - render_fill_drop_shadow(render_state, &shape, &shadow); - } - } else { - let scale = render_state.viewbox.zoom * render_state.options.dpr(); - for shadow in shape.drop_shadows().rev().filter(|s| !s.hidden()) { - render_stroke_drop_shadow(render_state, &shadow, scale); + render_fill_drop_shadow(render_state, &shape, &shadow, antialias); } } } -fn render_fill_drop_shadow(render_state: &mut RenderState, shape: &Shape, shadow: &Shadow) { - let paint = &shadow.get_drop_shadow_paint(); +fn render_fill_drop_shadow( + render_state: &mut RenderState, + shape: &Shape, + shadow: &Shadow, + antialias: bool, +) { + let paint = &shadow.get_drop_shadow_paint(antialias); + render_shadow_paint(render_state, shape, paint, SurfaceId::DropShadows); +} +pub fn render_fill_inner_shadows(render_state: &mut RenderState, shape: &Shape, antialias: bool) { + if shape.has_fills() { + for shadow in shape.inner_shadows().rev().filter(|s| !s.hidden()) { + render_fill_inner_shadow(render_state, &shape, &shadow, antialias); + } + } +} + +fn render_fill_inner_shadow( + render_state: &mut RenderState, + shape: &Shape, + shadow: &Shadow, + antialias: bool, +) { + let paint = &shadow.get_inner_shadow_paint(antialias); + render_shadow_paint(render_state, shape, paint, SurfaceId::InnerShadows); +} + +pub fn render_stroke_drop_shadows( + render_state: &mut RenderState, + shape: &Shape, + stroke: &Stroke, + antialias: bool, +) { + if !shape.has_fills() { + for shadow in shape.drop_shadows().rev().filter(|s| !s.hidden()) { + let filter = shadow.get_drop_shadow_filter(); + strokes::render( + render_state, + &shape, + stroke, + Some(SurfaceId::Strokes), // FIXME + filter.as_ref(), + antialias, + ) + } + } +} + +pub fn render_stroke_inner_shadows( + render_state: &mut RenderState, + shape: &Shape, + stroke: &Stroke, + antialias: bool, +) { + if !shape.has_fills() { + for shadow in shape.inner_shadows().rev().filter(|s| !s.hidden()) { + let filter = shadow.get_inner_shadow_filter(); + strokes::render( + render_state, + &shape, + stroke, + Some(SurfaceId::Strokes), // FIXME + filter.as_ref(), + antialias, + ) + } + } +} + +pub fn render_text_drop_shadows( + render_state: &mut RenderState, + shape: &Shape, + paragraphs: &[Paragraph], + antialias: bool, +) { + for shadow in shape.drop_shadows().rev().filter(|s| !s.hidden()) { + render_text_drop_shadow(render_state, &shape, &shadow, ¶graphs, antialias); + } +} + +pub fn render_text_drop_shadow( + render_state: &mut RenderState, + shape: &Shape, + shadow: &Shadow, + paragraphs: &[Paragraph], + antialias: bool, +) { + let paint = &shadow.get_drop_shadow_paint(antialias); + + text::render( + render_state, + shape, + ¶graphs, + Some(SurfaceId::DropShadows), + Some(paint), + ); +} + +pub fn render_text_inner_shadows( + render_state: &mut RenderState, + shape: &Shape, + paragraphs: &[Paragraph], + antialias: bool, +) { + for shadow in shape.inner_shadows().rev().filter(|s| !s.hidden()) { + render_text_inner_shadow(render_state, &shape, &shadow, ¶graphs, antialias); + } +} + +pub fn render_text_inner_shadow( + render_state: &mut RenderState, + shape: &Shape, + shadow: &Shadow, + paragraphs: &[Paragraph], + antialias: bool, +) { + let paint = &shadow.get_inner_shadow_paint(antialias); + + text::render( + render_state, + shape, + ¶graphs, + Some(SurfaceId::InnerShadows), + Some(paint), + ); +} + +fn render_shadow_paint( + render_state: &mut RenderState, + shape: &Shape, + paint: &Paint, + surface_id: SurfaceId, +) { match &shape.shape_type { Type::Rect(_) | Type::Frame(_) => { - render_state - .surfaces - .draw_rect_to(SurfaceId::DropShadows, shape, paint); + render_state.surfaces.draw_rect_to(surface_id, shape, paint); } Type::Circle => { render_state .surfaces - .draw_circle_to(SurfaceId::DropShadows, shape, paint); + .draw_circle_to(surface_id, shape, paint); } Type::Path(_) | Type::Bool(_) => { - render_state - .surfaces - .draw_path_to(SurfaceId::DropShadows, shape, paint); + render_state.surfaces.draw_path_to(surface_id, shape, paint); } _ => {} } } - -fn render_stroke_drop_shadow(render_state: &mut RenderState, shadow: &Shadow, scale: f32) { - let shadow_paint = &shadow.to_paint(scale); - - render_state - .surfaces - .draw_into(SurfaceId::Strokes, SurfaceId::Shadow, Some(shadow_paint)); - - render_state.surfaces.draw_into( - SurfaceId::Shadow, - SurfaceId::Current, - Some(&skia::Paint::default()), - ); - - render_state - .surfaces - .canvas(SurfaceId::Shadow) - .clear(skia::Color::TRANSPARENT); -} - -pub fn render_inner_shadow( - render_state: &mut RenderState, - shadow: &Shadow, - scale: f32, - render_over_fills: bool, -) { - let shadow_paint = shadow.to_paint(scale); - - if render_over_fills { - render_state - .surfaces - .draw_into(SurfaceId::Fills, SurfaceId::Shadow, Some(&shadow_paint)); - } else { - render_state - .surfaces - .draw_into(SurfaceId::Strokes, SurfaceId::Shadow, Some(&shadow_paint)); - } - - render_state - .surfaces - .draw_into(SurfaceId::Shadow, SurfaceId::Overlay, None); - - render_state - .surfaces - .canvas(SurfaceId::Shadow) - .clear(skia::Color::TRANSPARENT); -} diff --git a/render-wasm/src/render/strokes.rs b/render-wasm/src/render/strokes.rs index 48665ccddd..b906685ecb 100644 --- a/render-wasm/src/render/strokes.rs +++ b/render-wasm/src/render/strokes.rs @@ -3,7 +3,7 @@ use std::collections::HashMap; use crate::math::{Matrix, Point, Rect}; use crate::shapes::{Corners, Fill, ImageFill, Path, Shape, Stroke, StrokeCap, StrokeKind, Type}; -use skia_safe::{self as skia, RRect}; +use skia_safe::{self as skia, ImageFilter, RRect}; use super::{RenderState, SurfaceId}; @@ -15,13 +15,19 @@ fn draw_stroke_on_rect( corners: &Option, svg_attrs: &HashMap, scale: f32, + shadow: Option<&ImageFilter>, + antialias: bool, ) { // Draw the different kind of strokes for a rect is straightforward, we just need apply a stroke to: // - The same rect if it's a center stroke // - A bigger rect if it's an outer stroke // - A smaller rect if it's an outer stroke let stroke_rect = stroke.outer_rect(rect); - let paint = stroke.to_paint(selrect, svg_attrs, scale); + let mut paint = stroke.to_paint(selrect, svg_attrs, scale, antialias); + + if let Some(filter) = shadow { + paint.set_image_filter(filter.clone()); + } match corners { Some(radii) => { @@ -42,16 +48,24 @@ fn draw_stroke_on_circle( selrect: &Rect, svg_attrs: &HashMap, scale: f32, + shadow: Option<&ImageFilter>, + antialias: bool, ) { // Draw the different kind of strokes for an oval is straightforward, we just need apply a stroke to: // - The same oval if it's a center stroke // - A bigger oval if it's an outer stroke // - A smaller oval if it's an outer stroke let stroke_rect = stroke.outer_rect(rect); - canvas.draw_oval(&stroke_rect, &stroke.to_paint(selrect, svg_attrs, scale)); + let mut paint = stroke.to_paint(selrect, svg_attrs, scale, antialias); + + if let Some(filter) = shadow { + paint.set_image_filter(filter.clone()); + } + + canvas.draw_oval(&stroke_rect, &paint); } -fn draw_stroke_on_path( +pub fn draw_stroke_on_path( canvas: &skia::Canvas, stroke: &Stroke, path: &Path, @@ -59,36 +73,45 @@ fn draw_stroke_on_path( path_transform: Option<&Matrix>, svg_attrs: &HashMap, scale: f32, + shadow: Option<&ImageFilter>, + antialias: bool, ) { let mut skia_path = path.to_skia_path(); skia_path.transform(path_transform.unwrap()); let is_open = path.is_open(); - let paint_stroke = stroke.to_stroked_paint(is_open, selrect, svg_attrs, scale); + let mut paint: skia_safe::Handle<_> = + stroke.to_stroked_paint(path.is_open(), selrect, svg_attrs, scale, antialias); + + if let Some(filter) = shadow { + paint.set_image_filter(filter.clone()); + } + // Draw the different kind of strokes for a path requires different strategies: match stroke.render_kind(is_open) { // For inner stroke we draw a center stroke (with double width) and clip to the original path (that way the extra outer stroke is removed) StrokeKind::InnerStroke => { - canvas.clip_path(&skia_path, skia::ClipOp::Intersect, true); - canvas.draw_path(&skia_path, &paint_stroke); + canvas.save(); // As we are using clear for surfaces we use save and restore here to still be able to clean the full surface + canvas.clip_path(&skia_path, skia::ClipOp::Intersect, antialias); + canvas.draw_path(&skia_path, &paint); + canvas.restore(); } // For center stroke we don't need to do anything extra StrokeKind::CenterStroke => { - canvas.draw_path(&skia_path, &paint_stroke); + canvas.draw_path(&skia_path, &paint); } // For outer stroke we draw a center stroke (with double width) and use another path with blend mode clear to remove the inner stroke added StrokeKind::OuterStroke => { - let mut paint = skia::Paint::default(); - paint.set_blend_mode(skia::BlendMode::SrcOver); - paint.set_anti_alias(true); - let layer_rec = skia::canvas::SaveLayerRec::default().paint(&paint); + let mut outer_paint = skia::Paint::default(); + outer_paint.set_blend_mode(skia::BlendMode::SrcOver); + outer_paint.set_anti_alias(antialias); + let layer_rec = skia::canvas::SaveLayerRec::default().paint(&outer_paint); canvas.save_layer(&layer_rec); - - canvas.draw_path(&skia_path, &paint_stroke); + canvas.draw_path(&skia_path, &paint); let mut clear_paint = skia::Paint::default(); clear_paint.set_blend_mode(skia::BlendMode::Clear); - clear_paint.set_anti_alias(true); + clear_paint.set_anti_alias(antialias); canvas.draw_path(&skia_path, &clear_paint); canvas.restore(); @@ -103,6 +126,7 @@ fn draw_stroke_on_path( is_open, svg_attrs, scale, + antialias, ); } @@ -152,7 +176,8 @@ fn handle_stroke_caps( canvas: &skia::Canvas, is_open: bool, svg_attrs: &HashMap, - dpr_scale: f32, + scale: f32, + antialias: bool, ) { let points_count = path.count_points(); let mut points = vec![Point::default(); points_count]; @@ -163,7 +188,8 @@ fn handle_stroke_caps( let first_point = points.first().unwrap(); let last_point = points.last().unwrap(); - let mut paint_stroke = stroke.to_stroked_paint(is_open, selrect, svg_attrs, dpr_scale); + let mut paint_stroke = + stroke.to_stroked_paint(is_open, selrect, svg_attrs, scale, antialias); handle_stroke_cap( canvas, @@ -323,6 +349,7 @@ fn draw_image_stroke_in_container( shape: &Shape, stroke: &Stroke, image_fill: &ImageFill, + antialias: bool, ) { let image = render_state.images.get(&image_fill.id()); if image.is_none() { @@ -330,16 +357,16 @@ fn draw_image_stroke_in_container( } let size = image_fill.size(); - let canvas = render_state.surfaces.canvas(SurfaceId::Fills); + let scale = render_state.get_scale(); + let canvas = render_state.surfaces.canvas(SurfaceId::Strokes); let container = &shape.selrect; let path_transform = shape.to_path_transform(); let svg_attrs = &shape.svg_attrs; - let dpr_scale = render_state.viewbox.zoom * render_state.options.dpr(); // Save canvas and layer state let mut pb = skia::Paint::default(); pb.set_blend_mode(skia::BlendMode::SrcOver); - pb.set_anti_alias(true); + pb.set_anti_alias(antialias); let layer_rec = skia::canvas::SaveLayerRec::default().paint(&pb); canvas.save_layer(&layer_rec); @@ -356,12 +383,21 @@ fn draw_image_stroke_in_container( &outer_rect, &shape_type.corners(), svg_attrs, - dpr_scale, + scale, + None, + antialias, ); } - Type::Circle => { - draw_stroke_on_circle(canvas, stroke, container, &outer_rect, svg_attrs, dpr_scale) - } + Type::Circle => draw_stroke_on_circle( + canvas, + stroke, + container, + &outer_rect, + svg_attrs, + scale, + None, + antialias, + ), shape_type @ (Type::Path(_) | Type::Bool(_)) => { if let Some(p) = shape_type.path() { @@ -371,20 +407,21 @@ fn draw_image_stroke_in_container( let stroke_kind = stroke.render_kind(p.is_open()); match stroke_kind { StrokeKind::InnerStroke => { - canvas.clip_path(&path, skia::ClipOp::Intersect, true); + canvas.clip_path(&path, skia::ClipOp::Intersect, antialias); } StrokeKind::CenterStroke => {} StrokeKind::OuterStroke => { - canvas.clip_path(&path, skia::ClipOp::Difference, true); + canvas.clip_path(&path, skia::ClipOp::Difference, antialias); } } let is_open = p.is_open(); - let mut paint = stroke.to_stroked_paint(is_open, &outer_rect, svg_attrs, dpr_scale); + let mut paint = + stroke.to_stroked_paint(is_open, &outer_rect, svg_attrs, scale, antialias); canvas.draw_path(&path, &paint); - canvas.restore(); if stroke.render_kind(is_open) == StrokeKind::OuterStroke { - // Small extra inner stroke to overlap with the fill and avoid unnecesary artifacts - paint.set_stroke_width(1. / dpr_scale); + // Small extra inner stroke to overlap with the fill + // and avoid unnecesary artifacts. + paint.set_stroke_width(1. / scale); canvas.draw_path(&path, &paint); } handle_stroke_caps( @@ -394,23 +431,33 @@ fn draw_image_stroke_in_container( canvas, is_open, svg_attrs, - dpr_scale, + scale, + antialias, ); + canvas.restore(); } } _ => unreachable!("This shape should not have strokes"), } - // Draw the image. We are using now the SrcIn blend mode, so the rendered piece of image will the area of the stroke over the image. + // Draw the image. We are using now the SrcIn blend mode, + // so the rendered piece of image will the area of the + // stroke over the image. let mut image_paint = skia::Paint::default(); image_paint.set_blend_mode(skia::BlendMode::SrcIn); - image_paint.set_anti_alias(true); + image_paint.set_anti_alias(antialias); // Compute scaled rect and clip to it let dest_rect = calculate_scaled_rect(size, container, stroke.delta()); - canvas.clip_rect(dest_rect, skia::ClipOp::Intersect, true); - canvas.draw_image_rect(image.unwrap(), None, dest_rect, &image_paint); + canvas.clip_rect(dest_rect, skia::ClipOp::Intersect, antialias); + canvas.draw_image_rect_with_sampling_options( + image.unwrap(), + None, + dest_rect, + render_state.sampling_options, + &image_paint, + ); // Clear outer stroke for paths if necessary. When adding an outer stroke we need to empty the stroke added too in the inner area. if let Type::Path(p) = &shape.shape_type { @@ -419,7 +466,7 @@ fn draw_image_stroke_in_container( path.transform(&path_transform.unwrap()); let mut clear_paint = skia::Paint::default(); clear_paint.set_blend_mode(skia::BlendMode::Clear); - clear_paint.set_anti_alias(true); + clear_paint.set_anti_alias(antialias); canvas.draw_path(&path, &clear_paint); } } @@ -431,15 +478,26 @@ fn draw_image_stroke_in_container( /** * This SHOULD be the only public function in this module. */ -pub fn render(render_state: &mut RenderState, shape: &Shape, stroke: &Stroke) { - let canvas = render_state.surfaces.canvas(SurfaceId::Strokes); - let dpr_scale = render_state.viewbox.zoom * render_state.options.dpr(); +pub fn render( + render_state: &mut RenderState, + shape: &Shape, + stroke: &Stroke, + surface_id: Option, + shadow: Option<&ImageFilter>, + antialias: bool, +) { + let scale = render_state.get_scale(); + let canvas = render_state + .surfaces + .canvas(surface_id.unwrap_or(SurfaceId::Strokes)); let selrect = shape.selrect; let path_transform = shape.to_path_transform(); let svg_attrs = &shape.svg_attrs; - if let Fill::Image(image_fill) = &stroke.fill { - draw_image_stroke_in_container(render_state, shape, stroke, image_fill); + if !shadow.is_some() && matches!(stroke.fill, Fill::Image(_)) { + if let Fill::Image(image_fill) = &stroke.fill { + draw_image_stroke_in_container(render_state, shape, stroke, image_fill, antialias); + } } else { match &shape.shape_type { shape_type @ (Type::Rect(_) | Type::Frame(_)) => { @@ -450,15 +508,16 @@ pub fn render(render_state: &mut RenderState, shape: &Shape, stroke: &Stroke) { &selrect, &shape_type.corners(), svg_attrs, - dpr_scale, + scale, + shadow, + antialias, ); } - Type::Circle => { - draw_stroke_on_circle(canvas, stroke, &selrect, &selrect, &svg_attrs, dpr_scale) - } + Type::Circle => draw_stroke_on_circle( + canvas, stroke, &selrect, &selrect, svg_attrs, scale, shadow, antialias, + ), shape_type @ (Type::Path(_) | Type::Bool(_)) => { if let Some(path) = shape_type.path() { - let svg_attrs = &shape.svg_attrs; draw_stroke_on_path( canvas, stroke, @@ -466,7 +525,9 @@ pub fn render(render_state: &mut RenderState, shape: &Shape, stroke: &Stroke) { &selrect, path_transform.as_ref(), svg_attrs, - dpr_scale, + scale, + shadow, + antialias, ); } } diff --git a/render-wasm/src/render/surfaces.rs b/render-wasm/src/render/surfaces.rs index 8ff0db278a..a1c2cb02ca 100644 --- a/render-wasm/src/render/surfaces.rs +++ b/render-wasm/src/render/surfaces.rs @@ -1,6 +1,17 @@ -use super::gpu_state::GpuState; use crate::shapes::Shape; -use skia_safe::{self as skia, Paint, RRect}; +use crate::view::Viewbox; +use skia_safe::{self as skia, IRect, Paint, RRect}; + +use super::{gpu_state::GpuState, tiles::Tile}; + +use base64::{engine::general_purpose, Engine as _}; +use std::collections::HashMap; + +const TEXTURES_CACHE_CAPACITY: usize = 512; +const TEXTURES_BATCH_DELETE: usize = 32; +// This is the amount of extra space we're going to give to all the surfaces to render shapes. +// If it's too big it could affect performance. +const TILE_SIZE_MULTIPLIER: i32 = 2; #[derive(Debug, PartialEq, Clone, Copy)] pub enum SurfaceId { @@ -8,9 +19,8 @@ pub enum SurfaceId { Current, Fills, Strokes, - Shadow, DropShadows, - Overlay, + InnerShadows, Debug, } @@ -24,42 +34,51 @@ pub struct Surfaces { // keeps the current shape's strokes shape_strokes: skia::Surface, // used for rendering shadows - shadow: skia::Surface, - // used for new shadow rendering drop_shadows: skia::Surface, - // for drawing the things that are over shadows. - overlay: skia::Surface, + // used fo rendering over shadows. + inner_shadows: skia::Surface, // for drawing debug info. debug: skia::Surface, - + // for drawing tiles. + tiles: TileTextureCache, sampling_options: skia::SamplingOptions, + margins: skia::ISize, } +#[allow(dead_code)] impl Surfaces { pub fn new( gpu_state: &mut GpuState, (width, height): (i32, i32), sampling_options: skia::SamplingOptions, + tile_dims: skia::ISize, ) -> Self { + let extra_tile_dims = skia::ISize::new( + tile_dims.width * TILE_SIZE_MULTIPLIER, + tile_dims.height * TILE_SIZE_MULTIPLIER, + ); + let margins = skia::ISize::new(extra_tile_dims.width / 4, extra_tile_dims.height / 4); + let mut target = gpu_state.create_target_surface(width, height); - let current = target.new_surface_with_dimensions((width, height)).unwrap(); - let shadow = target.new_surface_with_dimensions((width, height)).unwrap(); - let drop_shadows = target.new_surface_with_dimensions((width, height)).unwrap(); - let overlay = target.new_surface_with_dimensions((width, height)).unwrap(); - let shape_fills = target.new_surface_with_dimensions((width, height)).unwrap(); - let shape_strokes = target.new_surface_with_dimensions((width, height)).unwrap(); + let current = target.new_surface_with_dimensions(extra_tile_dims).unwrap(); + let drop_shadows = target.new_surface_with_dimensions(extra_tile_dims).unwrap(); + let inner_shadows = target.new_surface_with_dimensions(extra_tile_dims).unwrap(); + let shape_fills = target.new_surface_with_dimensions(extra_tile_dims).unwrap(); + let shape_strokes = target.new_surface_with_dimensions(extra_tile_dims).unwrap(); let debug = target.new_surface_with_dimensions((width, height)).unwrap(); + let tiles = TileTextureCache::new(); Surfaces { target, current, - shadow, drop_shadows, - overlay, + inner_shadows, shape_fills, shape_strokes, debug, + tiles, sampling_options, + margins, } } @@ -67,8 +86,26 @@ impl Surfaces { self.reset_from_target(gpu_state.create_target_surface(new_width, new_height)); } - pub fn snapshot(&mut self, id: SurfaceId) -> skia::Image { - self.get_mut(id).image_snapshot() + pub fn base64_snapshot(&mut self, id: SurfaceId) -> String { + let surface = self.get_mut(id); + let image = surface.image_snapshot(); + let mut context = surface.direct_context(); + let encoded_image = image + .encode(context.as_mut(), skia::EncodedImageFormat::PNG, None) + .unwrap(); + general_purpose::STANDARD.encode(&encoded_image.as_bytes()) + } + + pub fn base64_snapshot_rect(&mut self, id: SurfaceId, irect: skia::IRect) -> Option { + let surface = self.get_mut(id); + if let Some(image) = surface.image_snapshot_with_bounds(irect) { + let mut context = surface.direct_context(); + let encoded_image = image + .encode(context.as_mut(), skia::EncodedImageFormat::PNG, None) + .unwrap(); + return Some(general_purpose::STANDARD.encode(&encoded_image.as_bytes())); + } + None } pub fn canvas(&mut self, id: SurfaceId) -> &skia::Canvas { @@ -95,13 +132,32 @@ impl Surfaces { } } + pub fn update_render_context(&mut self, render_area: skia::Rect, viewbox: Viewbox) { + let translation = ( + -render_area.left() + self.margins.width as f32 / viewbox.zoom, + -render_area.top() + self.margins.height as f32 / viewbox.zoom, + ); + self.apply_mut( + &[ + SurfaceId::Fills, + SurfaceId::Strokes, + SurfaceId::DropShadows, + SurfaceId::InnerShadows, + ], + |s| { + s.canvas().restore(); + s.canvas().save(); + s.canvas().translate(translation); + }, + ); + } + fn get_mut(&mut self, id: SurfaceId) -> &mut skia::Surface { match id { SurfaceId::Target => &mut self.target, SurfaceId::Current => &mut self.current, - SurfaceId::Shadow => &mut self.shadow, SurfaceId::DropShadows => &mut self.drop_shadows, - SurfaceId::Overlay => &mut self.overlay, + SurfaceId::InnerShadows => &mut self.inner_shadows, SurfaceId::Fills => &mut self.shape_fills, SurfaceId::Strokes => &mut self.shape_strokes, SurfaceId::Debug => &mut self.debug, @@ -111,12 +167,8 @@ impl Surfaces { fn reset_from_target(&mut self, target: skia::Surface) { let dim = (target.width(), target.height()); self.target = target; - self.current = self.target.new_surface_with_dimensions(dim).unwrap(); - self.overlay = self.target.new_surface_with_dimensions(dim).unwrap(); - self.shadow = self.target.new_surface_with_dimensions(dim).unwrap(); - self.drop_shadows = self.target.new_surface_with_dimensions(dim).unwrap(); - self.shape_fills = self.target.new_surface_with_dimensions(dim).unwrap(); self.debug = self.target.new_surface_with_dimensions(dim).unwrap(); + // The rest are tile size surfaces } pub fn draw_rect_to(&mut self, id: SurfaceId, shape: &Shape, paint: &Paint) { @@ -137,4 +189,138 @@ impl Surfaces { self.canvas(id).draw_path(&path, paint); } } + + pub fn reset(&mut self, color: skia::Color) { + self.canvas(SurfaceId::Fills).restore_to_count(1); + self.canvas(SurfaceId::DropShadows).restore_to_count(1); + self.canvas(SurfaceId::InnerShadows).restore_to_count(1); + self.canvas(SurfaceId::Strokes).restore_to_count(1); + self.canvas(SurfaceId::Current).restore_to_count(1); + self.apply_mut( + &[ + SurfaceId::Fills, + SurfaceId::Strokes, + SurfaceId::Current, + SurfaceId::DropShadows, + SurfaceId::InnerShadows, + ], + |s| { + s.canvas().clear(color).reset_matrix(); + }, + ); + + self.canvas(SurfaceId::Debug) + .clear(skia::Color::TRANSPARENT) + .reset_matrix(); + } + + pub fn cache_clear_visited(&mut self) { + self.tiles.clear_visited(); + } + + pub fn cache_visit(&mut self, tile: Tile) { + self.tiles.visit(tile); + } + + pub fn cache_current_tile_texture(&mut self, tile: Tile) { + let snapshot = self.current.image_snapshot(); + let rect = IRect::from_xywh( + self.margins.width, + self.margins.height, + snapshot.width() - TILE_SIZE_MULTIPLIER * self.margins.width, + snapshot.height() - TILE_SIZE_MULTIPLIER * self.margins.height, + ); + + let mut context = self.current.direct_context(); + if let Some(snapshot) = snapshot.make_subset(&mut context, &rect) { + self.tiles.add(tile, snapshot); + } + } + + pub fn has_cached_tile_surface(&mut self, tile: Tile) -> bool { + self.tiles.has(tile) + } + + pub fn remove_cached_tile_surface(&mut self, tile: Tile) -> bool { + self.tiles.remove(tile) + } + + pub fn draw_cached_tile_surface(&mut self, tile: Tile, rect: skia::Rect) { + let image = self.tiles.get(tile).unwrap(); + self.target + .canvas() + .draw_image_rect(&image, None, rect, &skia::Paint::default()); + } + + pub fn remove_cached_tiles(&mut self) { + self.tiles.clear(); + } +} + +pub struct TileTextureCache { + grid: HashMap, + visited: HashMap, +} + +impl TileTextureCache { + pub fn new() -> Self { + Self { + grid: HashMap::new(), + visited: HashMap::new(), + } + } + + pub fn has(&mut self, tile: Tile) -> bool { + return self.grid.contains_key(&tile); + } + + fn remove_list(&mut self, marked: Vec) { + for tile in marked.iter() { + self.grid.remove(tile); + } + } + + pub fn add(&mut self, tile: Tile, image: skia::Image) { + if self.grid.len() > TEXTURES_CACHE_CAPACITY { + let marked: Vec<_> = self + .grid + .iter_mut() + .filter_map(|(tile, _)| { + if !self.visited.contains_key(tile) { + Some(tile.clone()) + } else { + None + } + }) + .take(TEXTURES_BATCH_DELETE) + .collect(); + self.remove_list(marked); + } + self.grid.insert(tile, image); + } + + pub fn get(&mut self, tile: Tile) -> Result<&mut skia::Image, String> { + let image = self.grid.get_mut(&tile).unwrap(); + Ok(image) + } + + pub fn remove(&mut self, tile: Tile) -> bool { + if !self.grid.contains_key(&tile) { + return false; + } + self.grid.remove(&tile); + true + } + + pub fn clear(&mut self) { + self.grid.clear(); + } + + pub fn clear_visited(&mut self) { + self.visited.clear(); + } + + pub fn visit(&mut self, tile: Tile) { + self.visited.insert(tile, true); + } } diff --git a/render-wasm/src/render/text.rs b/render-wasm/src/render/text.rs index c494dcb9dc..9ef6cdb1d2 100644 --- a/render-wasm/src/render/text.rs +++ b/render-wasm/src/render/text.rs @@ -1,13 +1,25 @@ -use super::{RenderState, SurfaceId}; -use crate::shapes::TextContent; +use super::{RenderState, Shape, SurfaceId}; +use skia_safe::{self as skia, canvas::SaveLayerRec, paint, textlayout::Paragraph}; -pub fn render(render_state: &mut RenderState, text: &TextContent) { +pub fn render( + render_state: &mut RenderState, + shape: &Shape, + paragraphs: &[Paragraph], + surface_id: Option, + paint: Option<&paint::Paint>, +) { let mut offset_y = 0.0; - for mut skia_paragraph in text.to_paragraphs(&render_state.fonts().font_collection()) { - skia_paragraph.layout(text.width()); + let default_paint = skia::Paint::default(); + let mask = SaveLayerRec::default().paint(&paint.unwrap_or(&default_paint)); + let canvas = render_state + .surfaces + .canvas(surface_id.unwrap_or(SurfaceId::Fills)); - let xy = (text.x(), text.y() + offset_y); - skia_paragraph.paint(render_state.surfaces.canvas(SurfaceId::Fills), xy); + canvas.save_layer(&mask); + for skia_paragraph in paragraphs { + let xy = (shape.selrect().x(), shape.selrect.y() + offset_y); + skia_paragraph.paint(canvas, xy); offset_y += skia_paragraph.height(); } + canvas.restore(); } diff --git a/render-wasm/src/render/tiles.rs b/render-wasm/src/render/tiles.rs new file mode 100644 index 0000000000..d14e5fed91 --- /dev/null +++ b/render-wasm/src/render/tiles.rs @@ -0,0 +1,114 @@ +use crate::uuid::Uuid; +use crate::view::Viewbox; +use indexmap::IndexSet; +use skia_safe as skia; +use std::collections::{HashMap, HashSet}; + +pub type Tile = (i32, i32); +pub type TileWithDistance = (i32, i32, i32); + +pub const TILE_SIZE: f32 = 512.; + +// @see https://en.wikipedia.org/wiki/Taxicab_geometry +pub fn manhattan_distance(a: (i32, i32), b: (i32, i32)) -> i32 { + (a.0 - b.0).abs() + (a.1 - b.1).abs() +} + +pub fn get_tile_dimensions() -> skia::ISize { + (TILE_SIZE as i32, TILE_SIZE as i32).into() +} + +pub fn get_tiles_for_rect(rect: skia::Rect, tile_size: f32) -> (i32, i32, i32, i32) { + // start + let sx = (rect.left / tile_size).floor() as i32; + let sy = (rect.top / tile_size).floor() as i32; + // end + let ex = (rect.right / tile_size).floor() as i32; + let ey = (rect.bottom / tile_size).floor() as i32; + (sx, sy, ex, ey) +} + +pub fn get_tiles_for_viewbox(viewbox: Viewbox) -> (i32, i32, i32, i32) { + let tile_size = get_tile_size(viewbox); + get_tiles_for_rect(viewbox.area, tile_size) +} + +pub fn get_tiles_for_viewbox_with_interest( + viewbox: Viewbox, + interest: i32, +) -> (i32, i32, i32, i32) { + let (sx, sy, ex, ey) = get_tiles_for_viewbox(viewbox); + (sx - interest, sy - interest, ex + interest, ey + interest) +} + +pub fn get_tile_pos(viewbox: Viewbox, (x, y): Tile) -> (f32, f32) { + ( + x as f32 * get_tile_size(viewbox), + y as f32 * get_tile_size(viewbox), + ) +} + +pub fn get_tile_size(viewbox: Viewbox) -> f32 { + // TODO: * self.options.dpr() too? + 1. / viewbox.zoom * TILE_SIZE +} + +pub fn get_tile_rect(viewbox: Viewbox, tile: Tile) -> skia::Rect { + let (tx, ty) = get_tile_pos(viewbox, tile); + let ts = get_tile_size(viewbox); + skia::Rect::from_xywh(tx, ty, ts, ts) +} + +// This structure is usseful to keep all the shape uuids by shape id. +pub struct TileHashMap { + grid: HashMap>, + index: HashMap>, +} + +impl TileHashMap { + pub fn new() -> Self { + TileHashMap { + grid: HashMap::new(), + index: HashMap::new(), + } + } + + pub fn get_shapes_at(&mut self, tile: Tile) -> Option<&IndexSet> { + return self.grid.get(&tile); + } + + pub fn remove_shape_at(&mut self, tile: Tile, id: Uuid) { + if let Some(shapes) = self.grid.get_mut(&tile) { + shapes.shift_remove(&id); + } + + if let Some(tiles) = self.index.get_mut(&id) { + tiles.remove(&tile); + } + } + + pub fn get_tiles_of(&mut self, shape_id: Uuid) -> Option<&HashSet> { + self.index.get(&shape_id) + } + + pub fn add_shape_at(&mut self, tile: Tile, shape_id: Uuid) { + if !self.grid.contains_key(&tile) { + self.grid.insert(tile, IndexSet::new()); + } + + if !self.index.contains_key(&shape_id) { + self.index.insert(shape_id, HashSet::new()); + } + + let tile_set = self.grid.get_mut(&tile).unwrap(); + tile_set.insert(shape_id); + + let index_set = self.index.get_mut(&shape_id).unwrap(); + index_set.insert(tile); + } + + pub fn invalidate(&mut self) { + self.grid.clear(); + self.index.clear(); + } +} diff --git a/render-wasm/src/shapes.rs b/render-wasm/src/shapes.rs index ec58b4f0e7..caf9056c82 100644 --- a/render-wasm/src/shapes.rs +++ b/render-wasm/src/shapes.rs @@ -1,9 +1,8 @@ use skia_safe::{self as skia}; -use std::collections::HashMap; -use uuid::Uuid; - use crate::render::BlendMode; +use crate::uuid::Uuid; +use std::collections::{HashMap, HashSet}; mod blurs; mod bools; @@ -41,6 +40,10 @@ pub use transform::*; use crate::math; use crate::math::{Bounds, Matrix, Point}; +use indexmap::IndexSet; + +const MIN_VISIBLE_SIZE: f32 = 2.0; +const ANTIALIAS_THRESHOLD: f32 = 15.0; #[derive(Debug, Clone, PartialEq)] pub enum Type { @@ -157,7 +160,7 @@ pub struct Shape { pub id: Uuid, pub parent_id: Option, pub shape_type: Type, - pub children: Vec, + pub children: IndexSet, pub selrect: math::Rect, pub transform: Matrix, pub rotation: f32, @@ -182,7 +185,7 @@ impl Shape { id, parent_id: None, shape_type: Type::Rect(Rect::default()), - children: Vec::::new(), + children: IndexSet::::new(), selrect: math::Rect::new_empty(), transform: Matrix::default(), rotation: 0., @@ -318,7 +321,7 @@ impl Shape { pub fn set_flex_layout_data( &mut self, - direction: Direction, + direction: FlexDirection, row_gap: f32, column_gap: f32, align_items: AlignItems, @@ -334,7 +337,6 @@ impl Shape { match &mut self.shape_type { Type::Frame(data) => { let layout_data = LayoutData { - direction, align_items, align_content, justify_items, @@ -343,11 +345,12 @@ impl Shape { padding_right, padding_bottom, padding_left, + row_gap, + column_gap, }; let flex_data = FlexData { - row_gap, - column_gap, + direction, wrap_type, }; @@ -357,16 +360,88 @@ impl Shape { } } + pub fn set_grid_layout_data( + &mut self, + direction: GridDirection, + row_gap: f32, + column_gap: f32, + align_items: AlignItems, + align_content: AlignContent, + justify_items: JustifyItems, + justify_content: JustifyContent, + padding_top: f32, + padding_right: f32, + padding_bottom: f32, + padding_left: f32, + ) { + match &mut self.shape_type { + Type::Frame(data) => { + let layout_data = LayoutData { + align_items, + align_content, + justify_items, + justify_content, + padding_top, + padding_right, + padding_bottom, + padding_left, + row_gap, + column_gap, + }; + + let mut grid_data = GridData::default(); + grid_data.direction = direction; + data.layout = Some(Layout::GridLayout(layout_data, grid_data)); + } + _ => {} + } + } + + pub fn set_grid_columns(&mut self, tracks: Vec) { + let Type::Frame(frame_data) = &mut self.shape_type else { + return; + }; + let Some(Layout::GridLayout(_, grid_data)) = &mut frame_data.layout else { + return; + }; + grid_data.columns = tracks.iter().map(GridTrack::from_raw).collect(); + } + + pub fn set_grid_rows(&mut self, tracks: Vec) { + let Type::Frame(frame_data) = &mut self.shape_type else { + return; + }; + let Some(Layout::GridLayout(_, grid_data)) = &mut frame_data.layout else { + return; + }; + grid_data.rows = tracks.iter().map(GridTrack::from_raw).collect(); + } + + pub fn set_grid_cells(&mut self, cells: Vec) { + let Type::Frame(frame_data) = &mut self.shape_type else { + return; + }; + let Some(Layout::GridLayout(_, grid_data)) = &mut frame_data.layout else { + return; + }; + grid_data.cells = cells.iter().map(GridCell::from_raw).collect(); + } + pub fn set_blur(&mut self, blur_type: u8, hidden: bool, value: f32) { self.blur = Blur::new(blur_type, hidden, value); } pub fn add_child(&mut self, id: Uuid) { - self.children.push(id); + self.children.insert(id); } - pub fn clear_children(&mut self) { - self.children.clear(); + pub fn compute_children_differences( + &mut self, + children: &IndexSet, + ) -> (IndexSet, IndexSet) { + let added = children.difference(&self.children).cloned().collect(); + let removed = self.children.difference(children).cloned().collect(); + (added, removed) } pub fn fills(&self) -> std::slice::Iter { @@ -381,21 +456,6 @@ impl Shape { self.fills.clear(); } - pub fn add_fill_gradient_stops(&mut self, buffer: Vec) -> Result<(), String> { - let fill = self.fills.last_mut().ok_or("Shape has no fills")?; - let gradient = match fill { - Fill::LinearGradient(g) => Ok(g), - Fill::RadialGradient(g) => Ok(g), - _ => Err("Active fill is not a gradient"), - }?; - - for stop in buffer.into_iter() { - gradient.add_stop(stop.color(), stop.offset()); - } - - Ok(()) - } - pub fn strokes(&self) -> std::slice::Iter { self.strokes.iter() } @@ -410,22 +470,6 @@ impl Shape { Ok(()) } - pub fn add_stroke_gradient_stops(&mut self, buffer: Vec) -> Result<(), String> { - let stroke = self.strokes.last_mut().ok_or("Shape has no strokes")?; - let fill = &mut stroke.fill; - let gradient = match fill { - Fill::LinearGradient(g) => Ok(g), - Fill::RadialGradient(g) => Ok(g), - _ => Err("Active stroke is not a gradient"), - }?; - - for stop in buffer.into_iter() { - gradient.add_stop(stop.color(), stop.offset()); - } - - Ok(()) - } - pub fn clear_strokes(&mut self) { self.strokes.clear(); } @@ -505,6 +549,21 @@ impl Shape { self.hidden } + #[allow(dead_code)] + pub fn width(&self) -> f32 { + self.selrect.width() + } + + pub fn visually_insignificant(&self, scale: f32) -> bool { + self.selrect.width() * scale < MIN_VISIBLE_SIZE + || self.selrect.height() * scale < MIN_VISIBLE_SIZE + } + + pub fn should_use_antialias(&self, scale: f32) -> bool { + self.selrect.width() * scale > ANTIALIAS_THRESHOLD + || self.selrect.height() * scale > ANTIALIAS_THRESHOLD + } + // TODO: Maybe store this inside the shape pub fn bounds(&self) -> Bounds { let mut bounds = Bounds::new( @@ -531,6 +590,33 @@ impl Shape { self.selrect } + pub fn extrect(&self) -> math::Rect { + let mut rect = self.bounds().to_rect(); + for shadow in self.shadows.iter() { + let (x, y) = shadow.offset; + let mut shadow_rect = rect.clone(); + shadow_rect.left += x; + shadow_rect.right += x; + shadow_rect.top += y; + shadow_rect.bottom += y; + + shadow_rect.left -= shadow.blur; + shadow_rect.top -= shadow.blur; + shadow_rect.right += shadow.blur; + shadow_rect.bottom += shadow.blur; + + rect.join(shadow_rect); + } + if self.blur.blur_type != blurs::BlurType::None { + rect.left -= self.blur.value; + rect.top -= self.blur.value; + rect.right += self.blur.value; + rect.bottom += self.blur.value; + } + + rect + } + pub fn center(&self) -> Point { self.selrect.center() } @@ -543,17 +629,17 @@ impl Shape { self.children.first() } - pub fn children_ids(&self) -> Vec { + pub fn children_ids(&self) -> IndexSet { if let Type::Bool(_) = self.shape_type { - vec![] + IndexSet::::new() } else if let Type::Group(group) = self.shape_type { if group.masked { - self.children[1..self.children.len()].to_vec() + self.children.iter().skip(1).cloned().collect() } else { - self.children.clone() + self.children.clone().into_iter().collect() } } else { - self.children.clone() + self.children.clone().into_iter().collect() } } @@ -574,7 +660,10 @@ impl Shape { } pub fn is_recursive(&self) -> bool { - !matches!(self.shape_type, Type::SVGRaw(_)) + matches!( + self.shape_type, + Type::Frame(_) | Type::Group(_) | Type::Bool(_) + ) } pub fn add_shadow(&mut self, shadow: Shadow) { @@ -611,25 +700,10 @@ impl Shape { } } - pub fn add_text_leaf( - &mut self, - text_str: String, - font_family: FontFamily, - font_size: f32, - ) -> Result<(), String> { + pub fn add_paragraph(&mut self, paragraph: Paragraph) -> Result<(), String> { match self.shape_type { Type::Text(ref mut text) => { - text.add_leaf(text_str, font_family, font_size)?; - Ok(()) - } - _ => Err("Shape is not a text".to_string()), - } - } - - pub fn add_text_paragraph(&mut self) -> Result<(), String> { - match self.shape_type { - Type::Text(ref mut text) => { - text.add_paragraph(); + text.add_paragraph(paragraph); Ok(()) } _ => Err("Shape is not a text".to_string()), @@ -671,12 +745,13 @@ impl Shape { let width = bounds.width(); let height = bounds.height(); - self.selrect = math::Rect::from_xywh( + let new_selrect = math::Rect::from_xywh( center.x - width / 2.0, center.y - height / 2.0, width, height, ); + self.selrect = new_selrect; } pub fn apply_transform(&mut self, transform: &Matrix) { @@ -691,6 +766,20 @@ impl Shape { } } + pub fn is_absolute(&self) -> bool { + match &self.layout_item { + Some(LayoutItem { is_absolute, .. }) => *is_absolute, + _ => false, + } + } + + pub fn z_index(&self) -> i32 { + match &self.layout_item { + Some(LayoutItem { z_index, .. }) => *z_index, + _ => 0, + } + } + pub fn is_layout_vertical_auto(&self) -> bool { match &self.layout_item { Some(LayoutItem { v_sizing, .. }) => v_sizing == &Sizing::Auto, @@ -718,6 +807,44 @@ impl Shape { _ => false, } } + + pub fn has_fills(&self) -> bool { + !self.fills.is_empty() + } +} + +/* + Returns the list of children taking into account the structure modifiers +*/ +pub fn modified_children_ids( + element: &Shape, + structure: Option<&Vec>, +) -> IndexSet { + if let Some(structure) = structure { + let mut result: Vec = Vec::from_iter(element.children_ids().iter().map(|id| *id)); + let mut to_remove = HashSet::<&Uuid>::new(); + + for st in structure { + match st.entry_type { + StructureEntryType::AddChild => { + result.insert(st.index as usize, st.id); + } + StructureEntryType::RemoveChild => { + to_remove.insert(&st.id); + } + } + } + + let ret: IndexSet = result + .iter() + .filter(|id| !to_remove.contains(id)) + .map(|id| *id) + .collect(); + + ret + } else { + element.children_ids() + } } #[cfg(test)] diff --git a/render-wasm/src/shapes/fills.rs b/render-wasm/src/shapes/fills.rs index d94c21fc00..f85ba75068 100644 --- a/render-wasm/src/shapes/fills.rs +++ b/render-wasm/src/shapes/fills.rs @@ -1,32 +1,107 @@ use skia_safe::{self as skia, Rect}; use super::Color; -use uuid::Uuid; +use crate::uuid::Uuid; + +const MAX_GRADIENT_STOPS: usize = 16; +const BASE_GRADIENT_DATA_SIZE: usize = 28; +const RAW_GRADIENT_DATA_SIZE: usize = + BASE_GRADIENT_DATA_SIZE + RAW_STOP_DATA_SIZE * MAX_GRADIENT_STOPS; + +#[derive(Debug)] +#[repr(C)] +pub struct RawGradientData { + start_x: f32, + start_y: f32, + end_x: f32, + end_y: f32, + opacity: f32, + width: f32, + stop_count: u32, + stops: [RawStopData; MAX_GRADIENT_STOPS], +} + +impl From<[u8; RAW_GRADIENT_DATA_SIZE]> for RawGradientData { + fn from(bytes: [u8; RAW_GRADIENT_DATA_SIZE]) -> Self { + Self { + start_x: f32::from_le_bytes([bytes[0], bytes[1], bytes[2], bytes[3]]), + start_y: f32::from_le_bytes([bytes[4], bytes[5], bytes[6], bytes[7]]), + end_x: f32::from_le_bytes([bytes[8], bytes[9], bytes[10], bytes[11]]), + end_y: f32::from_le_bytes([bytes[12], bytes[13], bytes[14], bytes[15]]), + opacity: f32::from_le_bytes([bytes[16], bytes[17], bytes[18], bytes[19]]), + width: f32::from_le_bytes([bytes[20], bytes[21], bytes[22], bytes[23]]), + stop_count: u32::from_le_bytes([bytes[24], bytes[25], bytes[26], bytes[27]]), + // FIXME: 2025-04-22: use `array_chunks` once the next release is out + // and we update our devenv. + // See https://github.com/rust-lang/rust/issues/74985 + stops: bytes[28..] + .chunks_exact(RAW_STOP_DATA_SIZE) + .map(|chunk| RawStopData::try_from(chunk).unwrap()) + .collect::>() + .try_into() + .unwrap(), + } + } +} + +impl RawGradientData { + pub fn start(&self) -> (f32, f32) { + (self.start_x, self.start_y) + } + + pub fn end(&self) -> (f32, f32) { + (self.end_x, self.end_y) + } + + pub fn opacity(&self) -> f32 { + self.opacity + } + + pub fn width(&self) -> f32 { + self.width + } +} + +pub const RAW_STOP_DATA_SIZE: usize = 8; #[derive(Debug)] #[repr(C)] pub struct RawStopData { - color: [u8; 4], - offset: u8, + color: u32, + offset: f32, } impl RawStopData { pub fn color(&self) -> skia::Color { - skia::Color::from_argb(self.color[3], self.color[0], self.color[1], self.color[2]) + skia::Color::from(self.color) } pub fn offset(&self) -> f32 { - self.offset as f32 / 100.0 + self.offset } +} - pub fn from_bytes(bytes: [u8; 5]) -> Self { +impl From<[u8; RAW_STOP_DATA_SIZE]> for RawStopData { + fn from(bytes: [u8; RAW_STOP_DATA_SIZE]) -> Self { Self { - color: [bytes[0], bytes[1], bytes[2], bytes[3]], - offset: bytes[4], + color: u32::from_le_bytes([bytes[0], bytes[1], bytes[2], bytes[3]]), + offset: f32::from_le_bytes([bytes[4], bytes[5], bytes[6], bytes[7]]), } } } +// FIXME: We won't need this once we use `array_chunks`. See comment above. +impl TryFrom<&[u8]> for RawStopData { + type Error = String; + + fn try_from(bytes: &[u8]) -> Result { + let data: [u8; RAW_STOP_DATA_SIZE] = bytes + .try_into() + .map_err(|_| "Invalid stop data".to_string())?; + Ok(RawStopData::from(data)) + } +} + #[derive(Debug, Clone, PartialEq)] pub struct Gradient { colors: Vec, @@ -38,9 +113,11 @@ pub struct Gradient { } impl Gradient { - pub fn add_stop(&mut self, color: Color, offset: f32) { - self.colors.push(color); - self.offsets.push(offset); + fn add_stops(&mut self, stops: &[(Color, f32)]) { + let colors = stops.iter().map(|(color, _)| *color); + let offsets = stops.iter().map(|(_, offset)| *offset); + self.colors.extend(colors); + self.offsets.extend(offsets); } fn to_linear_shader(&self, rect: &Rect) -> Option { @@ -96,6 +173,43 @@ impl Gradient { } } +impl From for Gradient { + fn from(raw_gradient: RawGradientData) -> Self { + let stops = raw_gradient + .stops + .iter() + .take(raw_gradient.stop_count as usize) + .map(|stop| (stop.color(), stop.offset())) + .collect::>(); + + let mut gradient = Gradient { + start: raw_gradient.start(), + end: raw_gradient.end(), + opacity: raw_gradient.opacity(), + colors: vec![], + offsets: vec![], + width: raw_gradient.width(), + }; + + gradient.add_stops(&stops); + + gradient + } +} + +impl TryFrom<&[u8]> for Gradient { + type Error = String; + + fn try_from(bytes: &[u8]) -> Result { + let raw_gradient_bytes: [u8; RAW_GRADIENT_DATA_SIZE] = bytes[0..RAW_GRADIENT_DATA_SIZE] + .try_into() + .map_err(|_| "Invalid gradient data".to_string())?; + let gradient = RawGradientData::from(raw_gradient_bytes).into(); + + Ok(gradient) + } +} + #[derive(Debug, Clone, PartialEq)] pub struct ImageFill { id: Uuid, @@ -123,32 +237,6 @@ pub enum Fill { } impl Fill { - pub fn new_linear_gradient(start: (f32, f32), end: (f32, f32), opacity: f32) -> Self { - Self::LinearGradient(Gradient { - start, - end, - opacity, - colors: vec![], - offsets: vec![], - width: 0., - }) - } - pub fn new_radial_gradient( - start: (f32, f32), - end: (f32, f32), - opacity: f32, - width: f32, - ) -> Self { - Self::RadialGradient(Gradient { - start, - end, - opacity, - colors: vec![], - offsets: vec![], - width, - }) - } - pub fn new_image_fill(id: Uuid, opacity: u8, (width, height): (i32, i32)) -> Self { Self::Image(ImageFill { id, @@ -158,38 +246,38 @@ impl Fill { }) } - pub fn to_paint(&self, rect: &Rect) -> skia::Paint { + pub fn to_paint(&self, rect: &Rect, anti_alias: bool) -> skia::Paint { match self { Self::Solid(color) => { let mut p = skia::Paint::default(); p.set_color(*color); p.set_style(skia::PaintStyle::Fill); - p.set_anti_alias(true); + p.set_anti_alias(anti_alias); p.set_blend_mode(skia::BlendMode::SrcOver); p } Self::LinearGradient(gradient) => { let mut p = skia::Paint::default(); - p.set_shader(gradient.to_linear_shader(&rect)); + p.set_shader(gradient.to_linear_shader(rect)); p.set_alpha((gradient.opacity * 255.) as u8); p.set_style(skia::PaintStyle::Fill); - p.set_anti_alias(true); + p.set_anti_alias(anti_alias); p.set_blend_mode(skia::BlendMode::SrcOver); p } Self::RadialGradient(gradient) => { let mut p = skia::Paint::default(); - p.set_shader(gradient.to_radial_shader(&rect)); + p.set_shader(gradient.to_radial_shader(rect)); p.set_alpha((gradient.opacity * 255.) as u8); p.set_style(skia::PaintStyle::Fill); - p.set_anti_alias(true); + p.set_anti_alias(anti_alias); p.set_blend_mode(skia::BlendMode::SrcOver); p } Self::Image(image_fill) => { let mut p = skia::Paint::default(); p.set_style(skia::PaintStyle::Fill); - p.set_anti_alias(true); + p.set_anti_alias(anti_alias); p.set_blend_mode(skia::BlendMode::SrcOver); p.set_alpha(image_fill.opacity); p diff --git a/render-wasm/src/shapes/fonts.rs b/render-wasm/src/shapes/fonts.rs index 58104af062..7a4524cad5 100644 --- a/render-wasm/src/shapes/fonts.rs +++ b/render-wasm/src/shapes/fonts.rs @@ -1,6 +1,6 @@ use std::fmt; -use uuid::Uuid; +use crate::uuid::Uuid; #[derive(Debug, PartialEq, Clone, Copy)] pub enum FontStyle { @@ -39,6 +39,10 @@ impl FontFamily { pub fn new(id: Uuid, weight: u32, style: FontStyle) -> Self { Self { id, style, weight } } + + pub fn alias(&self) -> String { + format!("{}", self) + } } impl fmt::Display for FontFamily { diff --git a/render-wasm/src/shapes/layouts.rs b/render-wasm/src/shapes/layouts.rs index 3dcdf2e166..b6fea8b85d 100644 --- a/render-wasm/src/shapes/layouts.rs +++ b/render-wasm/src/shapes/layouts.rs @@ -1,3 +1,6 @@ +use crate::utils::uuid_from_u32_quartet; +use crate::uuid::Uuid; + #[derive(Debug, Clone, PartialEq)] #[allow(dead_code)] pub enum Layout { @@ -6,14 +9,14 @@ pub enum Layout { } #[derive(Debug, Clone, PartialEq)] -pub enum Direction { +pub enum FlexDirection { Row, RowReverse, Column, ColumnReverse, } -impl Direction { +impl FlexDirection { pub fn from_u8(value: u8) -> Self { match value { 0 => Self::Row, @@ -26,6 +29,22 @@ impl Direction { } #[derive(Debug, Clone, PartialEq)] +pub enum GridDirection { + Row, + Column, +} + +impl GridDirection { + pub fn from_u8(value: u8) -> Self { + match value { + 0 => Self::Row, + 1 => Self::Column, + _ => unreachable!(), + } + } +} + +#[derive(Debug, Clone, PartialEq, Copy)] pub enum AlignItems { Start, End, @@ -45,7 +64,7 @@ impl AlignItems { } } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Copy)] pub enum AlignContent { Start, End, @@ -71,7 +90,7 @@ impl AlignContent { } } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Copy)] pub enum JustifyItems { Start, End, @@ -91,7 +110,7 @@ impl JustifyItems { } } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Copy)] pub enum JustifyContent { Start, End, @@ -132,9 +151,82 @@ impl WrapType { } } } +#[derive(Debug, Copy, Clone, PartialEq)] +pub enum GridTrackType { + Percent, + Flex, + Auto, + Fixed, +} + +impl GridTrackType { + pub fn from_u8(value: u8) -> Self { + match value { + 0 => Self::Percent, + 1 => Self::Flex, + 2 => Self::Auto, + 3 => Self::Fixed, + _ => unreachable!(), + } + } +} #[derive(Debug, Clone, PartialEq)] -pub struct GridTrack {} +pub struct GridTrack { + pub track_type: GridTrackType, + pub value: f32, +} + +impl GridTrack { + pub fn from_raw(raw: &RawGridTrack) -> Self { + Self { + track_type: GridTrackType::from_u8(raw.track_type), + value: f32::from_le_bytes(raw.value), + } + } +} + +#[derive(Debug, Clone, PartialEq)] +pub struct GridCell { + pub row: i32, + pub row_span: i32, + pub column: i32, + pub column_span: i32, + pub align_self: Option, + pub justify_self: Option, + pub shape: Option, +} + +impl GridCell { + pub fn from_raw(raw: &RawGridCell) -> Self { + Self { + row: i32::from_le_bytes(raw.row), + row_span: i32::from_le_bytes(raw.row_span), + column: i32::from_le_bytes(raw.column), + column_span: i32::from_le_bytes(raw.column_span), + align_self: if raw.has_align_self == 1 { + AlignSelf::from_u8(raw.align_self) + } else { + None + }, + justify_self: if raw.has_justify_self == 1 { + JustifySelf::from_u8(raw.justify_self) + } else { + None + }, + shape: if raw.has_shape_id == 1 { + Some(uuid_from_u32_quartet( + u32::from_le_bytes(raw.shape_id_a), + u32::from_le_bytes(raw.shape_id_b), + u32::from_le_bytes(raw.shape_id_c), + u32::from_le_bytes(raw.shape_id_d), + )) + } else { + None + }, + } + } +} #[derive(Debug, Clone, PartialEq, Copy)] pub enum Sizing { @@ -156,7 +248,6 @@ impl Sizing { #[derive(Debug, Clone, PartialEq)] pub struct LayoutData { - pub direction: Direction, pub align_items: AlignItems, pub align_content: AlignContent, pub justify_items: JustifyItems, @@ -165,33 +256,13 @@ pub struct LayoutData { pub padding_right: f32, pub padding_bottom: f32, pub padding_left: f32, -} - -impl LayoutData { - pub fn is_reverse(&self) -> bool { - match &self.direction { - Direction::RowReverse | Direction::ColumnReverse => true, - _ => false, - } - } - pub fn is_row(&self) -> bool { - match &self.direction { - Direction::RowReverse | Direction::Row => true, - _ => false, - } - } - - #[allow(dead_code)] - pub fn is_column(&self) -> bool { - match &self.direction { - Direction::ColumnReverse | Direction::Column => true, - _ => false, - } - } + pub row_gap: f32, + pub column_gap: f32, } #[derive(Debug, Copy, Clone, PartialEq)] pub enum AlignSelf { + Auto, Start, End, Center, @@ -201,10 +272,33 @@ pub enum AlignSelf { impl AlignSelf { pub fn from_u8(value: u8) -> Option { match value { - 0 => Some(Self::Start), - 1 => Some(Self::End), - 2 => Some(Self::Center), - 3 => Some(Self::Stretch), + 0 => Some(Self::Auto), + 1 => Some(Self::Start), + 2 => Some(Self::End), + 3 => Some(Self::Center), + 4 => Some(Self::Stretch), + _ => None, + } + } +} + +#[derive(Debug, Copy, Clone, PartialEq)] +pub enum JustifySelf { + Auto, + Start, + End, + Center, + Stretch, +} + +impl JustifySelf { + pub fn from_u8(value: u8) -> Option { + match value { + 0 => Some(Self::Auto), + 1 => Some(Self::Start), + 2 => Some(Self::End), + 3 => Some(Self::Center), + 4 => Some(Self::Stretch), _ => None, } } @@ -212,11 +306,26 @@ impl AlignSelf { #[derive(Debug, Clone, PartialEq)] pub struct FlexData { - pub row_gap: f32, - pub column_gap: f32, + pub direction: FlexDirection, pub wrap_type: WrapType, } +impl FlexData { + pub fn is_reverse(&self) -> bool { + match &self.direction { + FlexDirection::RowReverse | FlexDirection::ColumnReverse => true, + _ => false, + } + } + + pub fn is_row(&self) -> bool { + match &self.direction { + FlexDirection::RowReverse | FlexDirection::Row => true, + _ => false, + } + } +} + impl FlexData { pub fn is_wrap(&self) -> bool { match self.wrap_type { @@ -228,9 +337,78 @@ impl FlexData { #[derive(Debug, Clone, PartialEq)] pub struct GridData { + pub direction: GridDirection, pub rows: Vec, pub columns: Vec, - // layout-grid-cells ;; map of id->grid-cell + pub cells: Vec, +} + +impl GridData { + pub fn default() -> Self { + Self { + direction: GridDirection::Row, + rows: vec![], + columns: vec![], + cells: vec![], + } + } +} + +#[derive(Debug)] +#[repr(C)] +pub struct RawGridTrack { + track_type: u8, + value: [u8; 4], +} + +impl RawGridTrack { + pub fn from_bytes(bytes: [u8; 5]) -> Self { + Self { + track_type: bytes[0], + value: [bytes[1], bytes[2], bytes[3], bytes[4]], + } + } +} + +#[derive(Debug)] +#[repr(C)] +pub struct RawGridCell { + row: [u8; 4], + row_span: [u8; 4], + column: [u8; 4], + column_span: [u8; 4], + has_align_self: u8, + align_self: u8, + has_justify_self: u8, + justify_self: u8, + has_shape_id: u8, + shape_id_a: [u8; 4], + shape_id_b: [u8; 4], + shape_id_c: [u8; 4], + shape_id_d: [u8; 4], +} + +impl RawGridCell { + pub fn from_bytes(bytes: [u8; 37]) -> Self { + Self { + row: [bytes[0], bytes[1], bytes[2], bytes[3]], + row_span: [bytes[4], bytes[5], bytes[6], bytes[7]], + column: [bytes[8], bytes[9], bytes[10], bytes[11]], + column_span: [bytes[12], bytes[13], bytes[14], bytes[15]], + + has_align_self: bytes[16], + align_self: bytes[17], + + has_justify_self: bytes[18], + justify_self: bytes[19], + + has_shape_id: bytes[20], + shape_id_a: [bytes[21], bytes[22], bytes[23], bytes[24]], + shape_id_b: [bytes[25], bytes[26], bytes[27], bytes[28]], + shape_id_c: [bytes[29], bytes[30], bytes[31], bytes[32]], + shape_id_d: [bytes[33], bytes[34], bytes[35], bytes[36]], + } + } } #[derive(Debug, Clone, PartialEq, Copy)] diff --git a/render-wasm/src/shapes/modifiers.rs b/render-wasm/src/shapes/modifiers.rs index 2ca02ffaa0..491b5ba7e6 100644 --- a/render-wasm/src/shapes/modifiers.rs +++ b/render-wasm/src/shapes/modifiers.rs @@ -1,19 +1,18 @@ use std::collections::{HashMap, HashSet, VecDeque}; - mod common; mod constraints; mod flex_layout; mod grid_layout; -use uuid::Uuid; - use common::GetBounds; -use crate::math::{Bounds, Matrix, Point}; +use crate::math::{identitish, Bounds, Matrix, Point}; use crate::shapes::{ - ConstraintH, ConstraintV, Frame, Group, Layout, Modifier, Shape, TransformEntry, Type, + modified_children_ids, ConstraintH, ConstraintV, Frame, Group, Layout, Modifier, Shape, + StructureEntry, TransformEntry, Type, }; use crate::state::State; +use crate::uuid::Uuid; fn propagate_children( shape: &Shape, @@ -22,14 +21,17 @@ fn propagate_children( parent_bounds_after: &Bounds, transform: Matrix, bounds: &HashMap, + structure: &HashMap>, ) -> VecDeque { - if shape.children.len() == 0 { + let children_ids = modified_children_ids(shape, structure.get(&shape.id)); + + if children_ids.len() == 0 || identitish(transform) { return VecDeque::new(); } let mut result = VecDeque::new(); - for child_id in shape.children.iter() { + for child_id in children_ids.iter() { let Some(child) = shapes.get(child_id) else { continue; }; @@ -39,7 +41,13 @@ fn propagate_children( let constraint_h = match &shape.shape_type { Type::Frame(Frame { layout: Some(_), .. - }) => ConstraintH::Left, + }) => { + if child.is_absolute() { + child.constraint_h(ConstraintH::Left) + } else { + ConstraintH::Left + } + } Type::Frame(_) => child.constraint_h(ConstraintH::Left), _ => child.constraint_h(ConstraintH::Scale), }; @@ -47,7 +55,13 @@ fn propagate_children( let constraint_v = match &shape.shape_type { Type::Frame(Frame { layout: Some(_), .. - }) => ConstraintV::Top, + }) => { + if child.is_absolute() { + child.constraint_v(ConstraintV::Top) + } else { + ConstraintV::Top + } + } Type::Frame(_) => child.constraint_v(ConstraintV::Top), _ => child.constraint_v(ConstraintV::Scale), }; @@ -71,10 +85,13 @@ fn calculate_group_bounds( shape: &Shape, shapes: &HashMap, bounds: &HashMap, + structure: &HashMap>, ) -> Option { let shape_bounds = bounds.find(&shape); let mut result = Vec::::new(); - for child_id in shape.children.iter() { + + let children_ids = modified_children_ids(shape, structure.get(&shape.id)); + for child_id in children_ids.iter() { let Some(child) = shapes.get(child_id) else { continue; }; @@ -93,6 +110,13 @@ pub fn propagate_modifiers(state: &State, modifiers: Vec) -> Vec .iter() .map(|entry| Modifier::Transform(entry.clone())) .collect(); + + for (id, _) in &state.structure { + if id != &Uuid::nil() { + entries.push_back(Modifier::Reflow(*id)); + } + } + let mut modifiers = HashMap::::new(); let mut bounds = HashMap::::new(); @@ -108,7 +132,6 @@ pub fn propagate_modifiers(state: &State, modifiers: Vec) -> Vec while let Some(modifier) = entries.pop_front() { match modifier { Modifier::Transform(entry) => { - // println!("Transform {}", entry.id); let Some(shape) = state.shapes.get(&entry.id) else { continue; }; @@ -124,6 +147,7 @@ pub fn propagate_modifiers(state: &State, modifiers: Vec) -> Vec &shape_bounds_after, entry.transform, &bounds, + &state.structure, ); entries.append(&mut children); @@ -149,26 +173,53 @@ pub fn propagate_modifiers(state: &State, modifiers: Vec) -> Vec continue; }; + let mut reflow_parent = false; + match &shape.shape_type { Type::Frame(Frame { layout: Some(_), .. }) => { if !reflown.contains(&id) { - layout_reflows.push(id); - reflown.insert(id); + let mut skip_reflow = false; + if shape.is_layout_horizontal_fill() + || shape.is_layout_vertical_fill() + { + if let Some(parent_id) = shape.parent_id { + if !reflown.contains(&parent_id) { + // If this is a fill layout but the parent has not been reflown yet + // we wait for the next iteration for reflow + skip_reflow = true; + reflow_parent = true; + } + } + } + + if shape.is_layout_vertical_auto() + || shape.is_layout_horizontal_auto() + { + reflow_parent = true; + } + + if !skip_reflow { + layout_reflows.push(id); + } } } Type::Group(Group { masked: true }) => { - if let Some(child) = shapes.get(&shape.children[0]) { + let children_ids = + modified_children_ids(shape, state.structure.get(&shape.id)); + if let Some(child) = shapes.get(&children_ids[0]) { let child_bounds = bounds.find(&child); bounds.insert(shape.id, child_bounds); + reflow_parent = true; } } Type::Group(_) => { if let Some(shape_bounds) = - calculate_group_bounds(shape, shapes, &bounds) + calculate_group_bounds(shape, shapes, &bounds, &state.structure) { bounds.insert(shape.id, shape_bounds); + reflow_parent = true; } } Type::Bool(_) => { @@ -176,9 +227,10 @@ pub fn propagate_modifiers(state: &State, modifiers: Vec) -> Vec // new path... impossible right now. I'm going to use for the moment the group // calculation if let Some(shape_bounds) = - calculate_group_bounds(shape, shapes, &bounds) + calculate_group_bounds(shape, shapes, &bounds, &state.structure) { bounds.insert(shape.id, shape_bounds); + reflow_parent = true; } } _ => { @@ -187,7 +239,7 @@ pub fn propagate_modifiers(state: &State, modifiers: Vec) -> Vec } if let Some(parent) = shape.parent_id.and_then(|id| shapes.get(&id)) { - if parent.has_layout() || parent.is_group_like() { + if reflow_parent && (parent.has_layout() || parent.is_group_like()) { entries.push_back(Modifier::reflow(parent.id)); } } @@ -196,6 +248,10 @@ pub fn propagate_modifiers(state: &State, modifiers: Vec) -> Vec } for id in layout_reflows.iter() { + if reflown.contains(&id) { + continue; + } + let Some(shape) = state.shapes.get(&id) else { continue; }; @@ -205,16 +261,29 @@ pub fn propagate_modifiers(state: &State, modifiers: Vec) -> Vec }; if let Some(Layout::FlexLayout(layout_data, flex_data)) = &frame_data.layout { - let mut children = - flex_layout::reflow_flex_layout(shape, layout_data, flex_data, shapes, &bounds); + let mut children = flex_layout::reflow_flex_layout( + shape, + layout_data, + flex_data, + shapes, + &mut bounds, + &state.structure, + ); entries.append(&mut children); } if let Some(Layout::GridLayout(layout_data, grid_data)) = &frame_data.layout { - let mut children = - grid_layout::reflow_grid_layout(shape, layout_data, grid_data, shapes, &bounds); + let mut children = grid_layout::reflow_grid_layout( + shape, + layout_data, + grid_data, + shapes, + &mut bounds, + &state.structure, + ); entries.append(&mut children); } + reflown.insert(*id); } layout_reflows = Vec::new(); } @@ -263,7 +332,8 @@ mod tests { &bounds_before, &bounds_after, transform, - &HashMap::::new(), + &HashMap::new(), + &HashMap::new(), ); assert_eq!(result.len(), 1); @@ -292,7 +362,7 @@ mod tests { shapes.insert(parent_id, parent.clone()); let bounds = - calculate_group_bounds(&parent, &shapes, HashMap::::new()).unwrap(); + calculate_group_bounds(&parent, &shapes, &HashMap::new(), &HashMap::new()).unwrap(); assert_eq!(bounds.width(), 3.0); assert_eq!(bounds.height(), 3.0); diff --git a/render-wasm/src/shapes/modifiers/common.rs b/render-wasm/src/shapes/modifiers/common.rs index 9324adb90f..8b071ee542 100644 --- a/render-wasm/src/shapes/modifiers/common.rs +++ b/render-wasm/src/shapes/modifiers/common.rs @@ -1,8 +1,8 @@ use std::collections::HashMap; -use uuid::Uuid; use crate::math::Bounds; use crate::shapes::Shape; +use crate::uuid::Uuid; pub trait GetBounds { fn find(&self, shape: &Shape) -> Bounds; diff --git a/render-wasm/src/shapes/modifiers/flex_layout.rs b/render-wasm/src/shapes/modifiers/flex_layout.rs index 10ec4caffa..51022a35fb 100644 --- a/render-wasm/src/shapes/modifiers/flex_layout.rs +++ b/render-wasm/src/shapes/modifiers/flex_layout.rs @@ -1,11 +1,12 @@ #![allow(dead_code)] use crate::math::{self as math, Bounds, Matrix, Point, Vector, VectorExt}; use crate::shapes::{ - AlignContent, AlignItems, AlignSelf, FlexData, JustifyContent, LayoutData, LayoutItem, - Modifier, Shape, + modified_children_ids, AlignContent, AlignItems, AlignSelf, FlexData, JustifyContent, + LayoutData, LayoutItem, Modifier, Shape, StructureEntry, }; +use crate::uuid::Uuid; + use std::collections::{HashMap, VecDeque}; -use uuid::Uuid; use super::common::GetBounds; @@ -67,7 +68,7 @@ impl LayoutAxis { layout_data: &LayoutData, flex_data: &FlexData, ) -> Self { - if layout_data.is_row() { + if flex_data.is_row() { Self { main_size: layout_bounds.width(), across_size: layout_bounds.height(), @@ -77,8 +78,8 @@ impl LayoutAxis { padding_main_end: layout_data.padding_right, padding_across_start: layout_data.padding_top, padding_across_end: layout_data.padding_bottom, - gap_main: flex_data.column_gap, - gap_across: flex_data.row_gap, + gap_main: layout_data.column_gap, + gap_across: layout_data.row_gap, is_auto_main: shape.is_layout_horizontal_auto(), is_auto_across: shape.is_layout_vertical_auto(), } @@ -92,8 +93,8 @@ impl LayoutAxis { padding_main_end: layout_data.padding_bottom, padding_across_start: layout_data.padding_left, padding_across_end: layout_data.padding_right, - gap_main: flex_data.row_gap, - gap_across: flex_data.column_gap, + gap_main: layout_data.row_gap, + gap_across: layout_data.column_gap, is_auto_main: shape.is_layout_vertical_auto(), is_auto_across: shape.is_layout_horizontal_auto(), } @@ -116,15 +117,15 @@ struct ChildAxis { max_across_size: f32, is_fill_main: bool, is_fill_across: bool, - is_absolute: bool, z_index: i32, + bounds: Bounds, } impl ChildAxis { - fn new(child: &Shape, child_bounds: &Bounds, layout_data: &LayoutData) -> Self { + fn new(child: &Shape, child_bounds: &Bounds, flex_data: &FlexData) -> Self { let id = child.id; let layout_item = child.layout_item; - let mut result = if layout_data.is_row() { + let mut result = if flex_data.is_row() { Self { id, main_size: child_bounds.width(), @@ -139,8 +140,8 @@ impl ChildAxis { max_across_size: layout_item.and_then(|i| i.max_h).unwrap_or(MAX_SIZE), is_fill_main: child.is_layout_horizontal_fill(), is_fill_across: child.is_layout_vertical_fill(), - is_absolute: layout_item.map(|i| i.is_absolute).unwrap_or(false), z_index: layout_item.map(|i| i.z_index).unwrap_or(0), + bounds: child_bounds.clone(), } } else { Self { @@ -157,8 +158,8 @@ impl ChildAxis { max_main_size: layout_item.and_then(|i| i.max_h).unwrap_or(MAX_SIZE), is_fill_main: child.is_layout_vertical_fill(), is_fill_across: child.is_layout_horizontal_fill(), - is_absolute: layout_item.map(|i| i.is_absolute).unwrap_or(false), z_index: layout_item.map(|i| i.z_index).unwrap_or(0), + bounds: child_bounds.clone(), } }; @@ -174,18 +175,19 @@ impl ChildAxis { fn initialize_tracks( shape: &Shape, + layout_bounds: &Bounds, layout_axis: &LayoutAxis, - layout_data: &LayoutData, flex_data: &FlexData, shapes: &HashMap, bounds: &HashMap, + structure: &HashMap>, ) -> Vec { let mut tracks = Vec::::new(); let mut current_track = TrackData::default(); - let mut children = shape.children.clone(); + let mut children = modified_children_ids(shape, structure.get(&shape.id)); let mut first = true; - if !layout_data.is_reverse() { + if !flex_data.is_reverse() { children.reverse(); } @@ -194,19 +196,32 @@ fn initialize_tracks( continue; }; - let child_bounds = bounds.find(child); - let child_axis = ChildAxis::new(child, &child_bounds, layout_data); + if child.is_absolute() || child.hidden() { + continue; + } - let child_main_size = if child_axis.is_fill_main { - child_axis.min_main_size - } else { - child_axis.main_size - }; - let child_across_size = if child_axis.is_fill_across { - child_axis.min_across_size - } else { - child_axis.across_size - }; + let default_bounds = bounds.find(child); + let child_bounds = layout_bounds + .box_bounds(&default_bounds) + .unwrap_or(default_bounds); + + let child_axis = ChildAxis::new(child, &child_bounds, flex_data); + + let child_main_size = child_axis.margin_main_start + + child_axis.margin_main_end + + if child_axis.is_fill_main { + child_axis.min_main_size + } else { + child_axis.main_size + }; + + let child_across_size = child_axis.margin_across_start + + child_axis.margin_across_end + + if child_axis.is_fill_across { + child_axis.min_across_size + } else { + child_axis.across_size + }; let child_max_across_size = if child_axis.is_fill_across { child_axis.max_across_size @@ -271,6 +286,7 @@ fn distribute_fill_main_space(layout_axis: &LayoutAxis, tracks: &mut Vec { - let total_across_size_gap: f32 = - total_across_size + (tracks.len() - 1) as f32 * layout_axis.gap_across; + let total_across_size_gap: f32 = + total_across_size + (tracks.len() - 1) as f32 * layout_axis.gap_across; - let delta = - layout_axis.across_size - total_across_size_gap - layout_axis.padding_across_end; - let mut next_anchor = layout_bounds.nw + layout_axis.across_v * delta; + let (real_margin, real_gap) = match align_content { + AlignContent::End => ( + layout_axis.across_size - total_across_size_gap - layout_axis.padding_across_end, + layout_axis.gap_across, + ), - for track in tracks.iter_mut() { - track.anchor = next_anchor; - next_anchor = next_anchor - + layout_axis.across_v * (track.across_size + layout_axis.gap_across); - } - } + AlignContent::Center => ( + (layout_axis.across_size - total_across_size_gap) / 2.0, + layout_axis.gap_across, + ), - AlignContent::Center => { - let total_across_size_gap: f32 = - total_across_size + (tracks.len() - 1) as f32 * layout_axis.gap_across; - let center_margin = (layout_axis.across_size - total_across_size_gap) / 2.0; - - let mut next_anchor = layout_bounds.nw + layout_axis.across_v * center_margin; - - for track in tracks.iter_mut() { - track.anchor = next_anchor; - next_anchor = next_anchor - + layout_axis.across_v * (track.across_size + layout_axis.gap_across); - } - } - - AlignContent::SpaceBetween => { - let mut next_anchor = - layout_bounds.nw + layout_axis.across_v * layout_axis.padding_across_start; - - let effective_gap = f32::max( + AlignContent::SpaceBetween => ( + layout_axis.padding_across_start, + f32::max( layout_axis.gap_across, (layout_axis.across_space() - total_across_size) / (tracks.len() - 1) as f32, - ); - - for track in tracks.iter_mut() { - track.anchor = next_anchor; - next_anchor = - next_anchor + layout_axis.across_v * (track.across_size + effective_gap); - } - } + ), + ), AlignContent::SpaceAround => { let effective_gap = (layout_axis.across_space() - total_across_size) / tracks.len() as f32; - - let mut next_anchor = layout_bounds.nw - + layout_axis.across_v * (layout_axis.padding_across_start + effective_gap / 2.0); - - for track in tracks.iter_mut() { - track.anchor = next_anchor; - next_anchor = - next_anchor + layout_axis.across_v * (track.across_size + effective_gap); - } + (effective_gap / 2.0, effective_gap) } AlignContent::SpaceEvenly => { let effective_gap = (layout_axis.across_space() - total_across_size) / (tracks.len() + 1) as f32; - - let mut next_anchor = layout_bounds.nw - + layout_axis.across_v * (layout_axis.padding_across_start + effective_gap); - - for track in tracks.iter_mut() { - track.anchor = next_anchor; - next_anchor = - next_anchor + layout_axis.across_v * (track.across_size + effective_gap); - } + ( + layout_axis.padding_across_start + effective_gap, + effective_gap, + ) } - _ => { - let mut next_anchor = - layout_bounds.nw + layout_axis.across_v * layout_axis.padding_across_start; + _ => (layout_axis.padding_across_start, layout_axis.gap_across), + }; - for track in tracks.iter_mut() { - track.anchor = next_anchor; - next_anchor = next_anchor - + layout_axis.across_v * (track.across_size + layout_axis.gap_across); - } - } + let mut next_anchor = layout_bounds.nw + layout_axis.across_v * real_margin; + + for track in tracks.iter_mut() { + track.anchor = next_anchor; + next_anchor = next_anchor + layout_axis.across_v * real_gap; } } @@ -444,9 +422,18 @@ fn calculate_track_data( layout_bounds: &Bounds, shapes: &HashMap, bounds: &HashMap, + structure: &HashMap>, ) -> Vec { let layout_axis = LayoutAxis::new(shape, layout_bounds, layout_data, flex_data); - let mut tracks = initialize_tracks(shape, &layout_axis, layout_data, flex_data, shapes, bounds); + let mut tracks = initialize_tracks( + shape, + layout_bounds, + &layout_axis, + flex_data, + shapes, + bounds, + structure, + ); if !layout_axis.is_auto_main { distribute_fill_main_space(&layout_axis, &mut tracks); @@ -510,24 +497,26 @@ fn next_anchor( prev_anchor: Point, total_shapes_size: f32, ) -> Point { - let delta = match layout_data.justify_content { - JustifyContent::SpaceBetween => { - let effective_gap = - (layout_axis.main_space() - total_shapes_size) / (track.shapes.len() - 1) as f32; - child_axis.main_size + f32::max(layout_axis.gap_main, effective_gap) - } - JustifyContent::SpaceAround => { - let effective_gap = - (layout_axis.main_space() - total_shapes_size) / (track.shapes.len()) as f32; - child_axis.main_size + f32::max(layout_axis.gap_main, effective_gap) - } - JustifyContent::SpaceEvenly => { - let effective_gap = - (layout_axis.main_space() - total_shapes_size) / (track.shapes.len() + 1) as f32; - child_axis.main_size + f32::max(layout_axis.gap_main, effective_gap) - } - _ => child_axis.main_size + layout_axis.gap_main, - }; + let delta = child_axis.margin_main_start + + child_axis.margin_main_end + + match layout_data.justify_content { + JustifyContent::SpaceBetween => { + let effective_gap = (layout_axis.main_space() - total_shapes_size) + / (track.shapes.len() - 1) as f32; + child_axis.main_size + f32::max(layout_axis.gap_main, effective_gap) + } + JustifyContent::SpaceAround => { + let effective_gap = + (layout_axis.main_space() - total_shapes_size) / (track.shapes.len()) as f32; + child_axis.main_size + f32::max(layout_axis.gap_main, effective_gap) + } + JustifyContent::SpaceEvenly => { + let effective_gap = (layout_axis.main_space() - total_shapes_size) + / (track.shapes.len() + 1) as f32; + child_axis.main_size + f32::max(layout_axis.gap_main, effective_gap) + } + _ => child_axis.main_size + layout_axis.gap_main, + }; prev_anchor + layout_axis.main_v * delta } @@ -539,22 +528,23 @@ fn child_position( child_axis: &ChildAxis, track: &TrackData, ) -> Point { - let delta = match child.layout_item { - Some(LayoutItem { - align_self: Some(align_self), - .. - }) => match align_self { - AlignSelf::Center => (track.across_size - child_axis.across_size) / 2.0, - AlignSelf::End => track.across_size - child_axis.across_size, - _ => 0.0, - }, - _ => match layout_data.align_items { - AlignItems::Center => (track.across_size - child_axis.across_size) / 2.0, - AlignItems::End => track.across_size - child_axis.across_size, - _ => 0.0, - }, - }; - shape_anchor + layout_axis.across_v * delta + let delta = child_axis.margin_across_start + + match child.layout_item { + Some(LayoutItem { + align_self: Some(align_self), + .. + }) => match align_self { + AlignSelf::Center => (track.across_size - child_axis.across_size) / 2.0, + AlignSelf::End => track.across_size - child_axis.across_size, + _ => 0.0, + }, + _ => match layout_data.align_items { + AlignItems::Center => (track.across_size - child_axis.across_size) / 2.0, + AlignItems::End => track.across_size - child_axis.across_size, + _ => 0.0, + }, + }; + shape_anchor + layout_axis.main_v * child_axis.margin_main_start + layout_axis.across_v * delta } pub fn reflow_flex_layout( @@ -562,12 +552,21 @@ pub fn reflow_flex_layout( layout_data: &LayoutData, flex_data: &FlexData, shapes: &HashMap, - bounds: &HashMap, + bounds: &mut HashMap, + structure: &HashMap>, ) -> VecDeque { let mut result = VecDeque::new(); let layout_bounds = &bounds.find(&shape); let layout_axis = LayoutAxis::new(shape, layout_bounds, layout_data, flex_data); - let tracks = calculate_track_data(shape, layout_data, flex_data, layout_bounds, shapes, bounds); + let tracks = calculate_track_data( + shape, + layout_data, + flex_data, + layout_bounds, + shapes, + bounds, + structure, + ); for track in tracks.iter() { let total_shapes_size = track.shapes.iter().map(|s| s.main_size).sum::(); @@ -587,10 +586,10 @@ pub fn reflow_flex_layout( child_axis, track, ); - let child_bounds = bounds.find(child); + let child_bounds = &child_axis.bounds; let delta_v = Vector::new_points(&child_bounds.nw, &position); - let (new_width, new_height) = if layout_data.is_row() { + let (new_width, new_height) = if flex_data.is_row() { (child_axis.main_size, child_axis.across_size) } else { (child_axis.across_size, child_axis.main_size) @@ -633,8 +632,8 @@ pub fn reflow_flex_layout( let auto_across_size = if layout_axis.is_auto_across { tracks.iter().map(|track| track.across_size).sum::() + (tracks.len() - 1) as f32 * layout_axis.gap_across - + layout_axis.padding_main_start - + layout_axis.padding_main_end + + layout_axis.padding_across_start + + layout_axis.padding_across_end } else { 0.0 }; @@ -648,13 +647,13 @@ pub fn reflow_flex_layout( }) .reduce(f32::max) .unwrap_or(0.01) - + layout_axis.padding_across_start - + layout_axis.padding_across_end + + layout_axis.padding_main_start + + layout_axis.padding_main_end } else { 0.0 }; - let (scale_width, scale_height) = if layout_data.is_row() { + let (scale_width, scale_height) = if flex_data.is_row() { ( if layout_axis.is_auto_main { auto_main_size / width @@ -695,7 +694,9 @@ pub fn reflow_flex_layout( scale.pre_translate(-origin); scale.pre_concat(&parent_transform_inv); + let layout_bounds_after = layout_bounds.transform(&scale); result.push_back(Modifier::parent(shape.id, scale)); + bounds.insert(shape.id, layout_bounds_after); } result } diff --git a/render-wasm/src/shapes/modifiers/grid_layout.rs b/render-wasm/src/shapes/modifiers/grid_layout.rs index 26714cbb04..bbac9efa2d 100644 --- a/render-wasm/src/shapes/modifiers/grid_layout.rs +++ b/render-wasm/src/shapes/modifiers/grid_layout.rs @@ -1,15 +1,755 @@ -use crate::math::Bounds; -use crate::shapes::{GridData, LayoutData, Modifier, Shape}; +use crate::math::{self as math, intersect_rays, Bounds, Matrix, Point, Ray, Vector, VectorExt}; +use crate::shapes::{ + modified_children_ids, AlignContent, AlignItems, AlignSelf, GridCell, GridData, GridTrack, + GridTrackType, JustifyContent, JustifyItems, JustifySelf, LayoutData, LayoutItem, Modifier, + Shape, StructureEntry, +}; +use crate::uuid::Uuid; +use indexmap::IndexSet; use std::collections::{HashMap, VecDeque}; -use uuid::Uuid; -pub fn reflow_grid_layout( - _shape: &Shape, - _layout_data: &LayoutData, - _grid_data: &GridData, - _shapes: &HashMap, - _bounds: &HashMap, -) -> VecDeque { - // TODO - VecDeque::new() +use super::common::GetBounds; + +const MIN_SIZE: f32 = 0.01; +const MAX_SIZE: f32 = f32::INFINITY; + +#[derive(Debug)] +struct CellData<'a> { + shape: &'a Shape, + anchor: Point, + width: f32, + height: f32, + align_self: Option, + justify_self: Option, +} + +#[derive(Debug)] +struct TrackData { + track_type: GridTrackType, + value: f32, + size: f32, + max_size: f32, + anchor_start: Point, + anchor_end: Point, +} + +fn calculate_tracks( + is_column: bool, + shape: &Shape, + layout_data: &LayoutData, + grid_data: &GridData, + layout_bounds: &Bounds, + cells: &Vec, + shapes: &HashMap, + bounds: &HashMap, +) -> Vec { + let layout_size = if is_column { + layout_bounds.width() - layout_data.padding_left - layout_data.padding_right + } else { + layout_bounds.height() - layout_data.padding_top - layout_data.padding_bottom + }; + + let grid_tracks = if is_column { + &grid_data.columns + } else { + &grid_data.rows + }; + + let mut tracks = init_tracks(grid_tracks, layout_size); + set_auto_base_size(is_column, &mut tracks, cells, shapes, bounds); + set_auto_multi_span(is_column, &mut tracks, cells, shapes, bounds); + set_flex_multi_span(is_column, &mut tracks, cells, shapes, bounds); + set_fr_value(is_column, shape, layout_data, &mut tracks, layout_size); + stretch_tracks(is_column, shape, layout_data, &mut tracks, layout_size); + assign_anchors(is_column, layout_data, &layout_bounds, &mut tracks); + return tracks; +} + +fn init_tracks(track: &Vec, size: f32) -> Vec { + track + .iter() + .map(|t| { + let (size, max_size) = match t.track_type { + GridTrackType::Fixed => (t.value, t.value), + GridTrackType::Percent => (size * t.value / 100.0, size * t.value / 100.0), + _ => (MIN_SIZE, MAX_SIZE), + }; + TrackData { + track_type: t.track_type, + value: t.value, + size, + max_size, + anchor_start: Point::default(), + anchor_end: Point::default(), + } + }) + .collect() +} + +fn min_size(column: bool, shape: &Shape, bounds: &HashMap) -> f32 { + if column && shape.is_layout_horizontal_fill() { + shape.layout_item.and_then(|i| i.min_w).unwrap_or(MIN_SIZE) + } else if !column && shape.is_layout_vertical_fill() { + shape.layout_item.and_then(|i| i.min_h).unwrap_or(MIN_SIZE) + } else if column { + let bounds = bounds.find(shape); + bounds.width() + } else { + let bounds = bounds.find(shape); + bounds.height() + } +} + +// Go through cells to adjust auto sizes for span=1. Base is the max of its children +fn set_auto_base_size( + column: bool, + tracks: &mut Vec, + cells: &Vec, + shapes: &HashMap, + bounds: &HashMap, +) { + for cell in cells { + let (prop, prop_span) = if column { + (cell.column, cell.column_span) + } else { + (cell.row, cell.row_span) + }; + + if prop_span != 1 || (prop as usize) >= tracks.len() { + continue; + } + + let track = &mut tracks[(prop - 1) as usize]; + + // We change the size for auto+flex tracks + if track.track_type != GridTrackType::Auto && track.track_type != GridTrackType::Flex { + continue; + } + + let Some(shape) = cell.shape.and_then(|id| shapes.get(&id)) else { + continue; + }; + + let min_size = min_size(column, shape, bounds); + track.size = f32::max(track.size, min_size); + } +} + +fn track_index(is_column: bool, c: &GridCell) -> (usize, usize) { + if is_column { + ( + (c.column - 1) as usize, + (c.column + c.column_span - 1) as usize, + ) + } else { + ((c.row - 1) as usize, (c.row + c.row_span - 1) as usize) + } +} + +fn has_flex(is_column: bool, cell: &GridCell, tracks: &mut Vec) -> bool { + let (start, end) = track_index(is_column, cell); + (start..end).any(|i| tracks[i].track_type == GridTrackType::Flex) +} + +// Adjust multi-spaned cells with no flex columns +fn set_auto_multi_span( + column: bool, + tracks: &mut Vec, + cells: &Vec, + shapes: &HashMap, + bounds: &HashMap, +) { + // Remove groups with flex (will be set in flex_multi_span) + let mut selected_cells: Vec<&GridCell> = cells + .iter() + .filter(|c| { + if column { + c.column_span > 1 + } else { + c.row_span > 1 + } + }) + .filter(|c| !has_flex(column, c, tracks)) + .collect(); + + // Sort descendant order of prop-span + selected_cells.sort_by(|a, b| { + if column { + b.column_span.cmp(&a.row_span) + } else { + b.row_span.cmp(&a.row_span) + } + }); + + for cell in selected_cells { + let Some(child) = cell.shape.and_then(|id| shapes.get(&id)) else { + continue; + }; + + // Retrieve the value we need to distribute (fixed cell size minus gaps) + let mut dist = min_size(column, child, bounds); + let mut num_auto = 0; + + let (start, end) = track_index(column, cell); + + // Distribute the size between the tracks that already have a set value + for i in start..end { + dist = dist - tracks[i].size; + + if tracks[i].track_type == GridTrackType::Auto { + num_auto = num_auto + 1; + } + } + + // If we still have more space we distribute equally between all auto tracks + while dist > MIN_SIZE && num_auto > 0 { + let rest = dist / num_auto as f32; + + // Distribute the space between auto tracks + for i in start..end { + if tracks[i].track_type == GridTrackType::Auto { + // dist = dist - track[i].size; + let new_size = if tracks[i].size + rest < tracks[i].max_size { + tracks[i].size + rest + } else { + num_auto = num_auto - 1; + tracks[i].max_size + }; + + let aloc = new_size - tracks[i].size; + dist = dist - aloc; + tracks[i].size = tracks[i].size + aloc; + } + } + } + } +} + +// Adjust multi-spaned cells with flex columns +fn set_flex_multi_span( + column: bool, + tracks: &mut Vec, + cells: &Vec, + shapes: &HashMap, + bounds: &HashMap, +) { + // Remove groups without flex + let mut selected_cells: Vec<&GridCell> = cells + .iter() + .filter(|c| { + if column { + c.column_span > 1 + } else { + c.row_span > 1 + } + }) + .filter(|c| has_flex(column, c, tracks)) + .collect(); + + // Sort descendant order of prop-span + selected_cells.sort_by(|a, b| { + if column { + b.column_span.cmp(&a.row_span) + } else { + b.row_span.cmp(&a.row_span) + } + }); + + // Retrieve the value that we need to distribute and the number of frs + for cell in selected_cells { + let Some(child) = cell.shape.and_then(|id| shapes.get(&id)) else { + continue; + }; + + // Retrieve the value we need to distribute (fixed cell size minus gaps) + let mut dist = min_size(column, child, bounds); + let mut num_flex = 0.0; + let mut num_auto = 0; + + let (start, end) = track_index(column, cell); + + // Distribute the size between the tracks that already have a set value + for i in start..end { + dist = dist - tracks[i].size; + + match tracks[i].track_type { + GridTrackType::Flex => { + num_flex = num_flex + tracks[i].value; + num_auto = num_auto + 1; + } + GridTrackType::Auto => { + num_auto = num_auto + 1; + } + _ => {} + } + } + + if dist <= MIN_SIZE { + // No space available to distribute + continue; + } + + let rest = dist / num_flex as f32; + + // Distribute the space between flex tracks in proportion to the division + for i in start..end { + if tracks[i].track_type == GridTrackType::Flex { + let new_size = f32::min(tracks[i].size + rest, tracks[i].max_size); + let aloc = new_size - tracks[i].size; + dist = dist - aloc; + tracks[i].size = tracks[i].size + aloc; + } + } + + // Distribute the space between auto tracks if any + while dist > MIN_SIZE && num_auto > 0 { + let rest = dist / num_auto as f32; + + for i in start..end { + if tracks[i].track_type == GridTrackType::Auto + || tracks[i].track_type == GridTrackType::Flex + { + let new_size = if tracks[i].size + rest < tracks[i].max_size { + tracks[i].size + rest + } else { + num_auto = num_auto - 1; + tracks[i].max_size + }; + + let aloc = new_size - tracks[i].size; + dist = dist - aloc; + tracks[i].size = tracks[i].size + aloc; + } + } + } + } +} + +// Calculate the `fr` unit and adjust the size +fn set_fr_value( + column: bool, + shape: &Shape, + layout_data: &LayoutData, + tracks: &mut Vec, + layout_size: f32, +) { + let tot_gap: f32 = if column { + layout_data.column_gap * (tracks.len() - 1) as f32 + } else { + layout_data.row_gap * (tracks.len() - 1) as f32 + }; + + // Total size already used + let tot_size: f32 = tracks + .iter() + .filter(|t| t.track_type != GridTrackType::Flex) + .map(|t| t.size) + .sum::() + + tot_gap; + + let tot_frs: f32 = tracks + .iter() + .filter(|t| t.track_type == GridTrackType::Flex) + .map(|t| t.value) + .sum(); + + let cur_fr_size = tracks + .iter() + .filter(|t| t.track_type == GridTrackType::Flex) + .map(|t| t.size / t.value) + .reduce(f32::max) + .unwrap_or(0.0); + + // Divide the space between FRS + let fr = if column && shape.is_layout_horizontal_auto() + || !column && shape.is_layout_vertical_auto() + { + cur_fr_size + } else { + f32::max(cur_fr_size, (layout_size - tot_size) / tot_frs) + }; + + // Assign the space to the FRS + tracks + .iter_mut() + .filter(|t| t.track_type == GridTrackType::Flex) + .for_each(|t| t.size = f32::min(fr * t.value, t.max_size)); +} + +fn stretch_tracks( + column: bool, + shape: &Shape, + layout_data: &LayoutData, + tracks: &mut Vec, + layout_size: f32, +) { + if (column + && (layout_data.justify_content != JustifyContent::Stretch + || shape.is_layout_horizontal_auto())) + || (!column + && (layout_data.align_content != AlignContent::Stretch + || shape.is_layout_vertical_auto())) + { + return; + } + + let tot_gap: f32 = if column { + layout_data.column_gap * (tracks.len() - 1) as f32 + } else { + layout_data.row_gap * (tracks.len() - 1) as f32 + }; + + // Total size already used + let tot_size: f32 = tracks.iter().map(|t| t.size).sum::() + tot_gap; + + let auto_tracks = tracks + .iter_mut() + .filter(|t| t.track_type == GridTrackType::Auto) + .count() as f32; + + let free_space = layout_size - tot_size; + let add_size = free_space / auto_tracks; + + // Assign the space to the FRS + tracks + .iter_mut() + .filter(|t| t.track_type == GridTrackType::Auto) + .for_each(|t| t.size = f32::min(t.max_size, t.size + add_size)); +} + +fn justify_to_align(justify: JustifyContent) -> AlignContent { + match justify { + JustifyContent::Start => AlignContent::Start, + JustifyContent::End => AlignContent::End, + JustifyContent::Center => AlignContent::Center, + JustifyContent::SpaceBetween => AlignContent::SpaceBetween, + JustifyContent::SpaceAround => AlignContent::SpaceAround, + JustifyContent::SpaceEvenly => AlignContent::SpaceEvenly, + JustifyContent::Stretch => AlignContent::Stretch, + } +} + +fn assign_anchors( + column: bool, + layout_data: &LayoutData, + layout_bounds: &Bounds, + tracks: &mut Vec, +) { + let tot_track_length = tracks.iter().map(|t| t.size).sum::(); + + let mut cursor = layout_bounds.nw; + + let (v, gap, size, padding_start, padding_end, align) = if column { + ( + layout_bounds.hv(1.0), + layout_data.column_gap, + layout_bounds.width(), + layout_data.padding_left, + layout_data.padding_right, + justify_to_align(layout_data.justify_content), + ) + } else { + ( + layout_bounds.vv(1.0), + layout_data.row_gap, + layout_bounds.height(), + layout_data.padding_top, + layout_data.padding_bottom, + layout_data.align_content, + ) + }; + + let tot_gap = gap * (tracks.len() - 1) as f32; + let tot_size = tot_track_length + tot_gap; + let padding = padding_start + padding_end; + let pad_size = size - padding; + + let (real_margin, real_gap) = match align { + AlignContent::End => (size - padding_end - tot_size, gap), + AlignContent::Center => ((size - tot_size) / 2.0, gap), + AlignContent::SpaceAround => { + let effective_gap = (pad_size - tot_track_length) / tracks.len() as f32; + (padding_start + effective_gap / 2.0, effective_gap) + } + AlignContent::SpaceBetween => ( + padding_start, + f32::max( + gap, + (pad_size - tot_track_length) / (tracks.len() - 1) as f32, + ), + ), + _ => (padding_start + 0.0, gap), + }; + + cursor = cursor + (v * real_margin); + + for track in tracks { + track.anchor_start = cursor; + track.anchor_end = cursor + (v * track.size); + cursor = track.anchor_end + (v * real_gap); + } +} + +fn cell_bounds( + layout_bounds: &Bounds, + column_start: Point, + column_end: Point, + row_start: Point, + row_end: Point, +) -> Option { + let hv = layout_bounds.hv(1.0); + let vv = layout_bounds.vv(1.0); + let nw = intersect_rays(&Ray::new(column_start, vv), &Ray::new(row_start, hv))?; + let ne = intersect_rays(&Ray::new(column_end, vv), &Ray::new(row_start, hv))?; + let sw = intersect_rays(&Ray::new(column_start, vv), &Ray::new(row_end, hv))?; + let se = intersect_rays(&Ray::new(column_end, vv), &Ray::new(row_end, hv))?; + Some(Bounds::new(nw, ne, se, sw)) +} + +fn create_cell_data<'a>( + layout_bounds: &Bounds, + children: &IndexSet, + shapes: &'a HashMap, + cells: &Vec, + column_tracks: &Vec, + row_tracks: &Vec, +) -> Vec> { + let mut result = Vec::>::new(); + + for cell in cells { + let Some(shape_id) = cell.shape else { + continue; + }; + + if !children.contains(&shape_id) { + continue; + } + + let Some(shape) = shapes.get(&shape_id) else { + continue; + }; + + let column_start = (cell.column - 1) as usize; + let column_end = (cell.column + cell.column_span - 2) as usize; + let row_start = (cell.row - 1) as usize; + let row_end = (cell.row + cell.row_span - 2) as usize; + + if column_start >= column_tracks.len() + || column_end >= column_tracks.len() + || row_start >= row_tracks.len() + || row_end >= row_tracks.len() + { + continue; + } + + let Some(cell_bounds) = cell_bounds( + layout_bounds, + column_tracks[column_start].anchor_start, + column_tracks[column_end].anchor_end, + row_tracks[row_start].anchor_start, + row_tracks[row_end].anchor_end, + ) else { + continue; + }; + + result.push(CellData { + shape, + anchor: cell_bounds.nw, + width: cell_bounds.width(), + height: cell_bounds.height(), + align_self: cell.align_self, + justify_self: cell.justify_self, + }); + } + + result +} + +fn child_position( + child: &Shape, + layout_bounds: &Bounds, + layout_data: &LayoutData, + child_bounds: &Bounds, + layout_item: Option, + cell: &CellData, +) -> Point { + let hv = layout_bounds.hv(1.0); + let vv = layout_bounds.vv(1.0); + + let margin_left = layout_item.map(|i| i.margin_left).unwrap_or(0.0); + let margin_top = layout_item.map(|i| i.margin_top).unwrap_or(0.0); + let margin_right = layout_item.map(|i| i.margin_right).unwrap_or(0.0); + let margin_bottom = layout_item.map(|i| i.margin_bottom).unwrap_or(0.0); + + let vpos = match (cell.align_self, layout_data.align_items) { + (Some(AlignSelf::Start), _) => margin_top, + (Some(AlignSelf::Center), _) => (cell.height - child_bounds.height()) / 2.0, + (Some(AlignSelf::End), _) => margin_bottom + cell.height - child_bounds.height(), + (_, AlignItems::Center) => (cell.height - child_bounds.height()) / 2.0, + (_, AlignItems::End) => margin_bottom + cell.height - child_bounds.height(), + _ => margin_top, + }; + + let vpos = if child.is_layout_vertical_fill() { + margin_top + } else { + vpos + }; + + let hpos = match (cell.justify_self, layout_data.justify_items) { + (Some(JustifySelf::Start), _) => margin_left, + (Some(JustifySelf::Center), _) => (cell.width - child_bounds.width()) / 2.0, + (Some(JustifySelf::End), _) => margin_right + cell.width - child_bounds.width(), + (_, JustifyItems::Center) => (cell.width - child_bounds.width()) / 2.0, + (_, JustifyItems::End) => margin_right + cell.width - child_bounds.width(), + _ => margin_left, + }; + + let hpos = if child.is_layout_horizontal_fill() { + margin_left + } else { + hpos + }; + + cell.anchor + vv * vpos + hv * hpos +} + +pub fn reflow_grid_layout<'a>( + shape: &Shape, + layout_data: &LayoutData, + grid_data: &GridData, + shapes: &'a HashMap, + bounds: &mut HashMap, + structure: &HashMap>, +) -> VecDeque { + let mut result = VecDeque::new(); + let layout_bounds = bounds.find(shape); + let children = modified_children_ids(shape, structure.get(&shape.id)); + + let column_tracks = calculate_tracks( + true, + shape, + layout_data, + grid_data, + &layout_bounds, + &grid_data.cells, + shapes, + bounds, + ); + + let row_tracks = calculate_tracks( + false, + shape, + layout_data, + grid_data, + &layout_bounds, + &grid_data.cells, + shapes, + bounds, + ); + + let cells = create_cell_data( + &layout_bounds, + &children, + shapes, + &grid_data.cells, + &column_tracks, + &row_tracks, + ); + + for cell in cells.iter() { + let child = cell.shape; + let child_bounds = bounds.find(child); + + let mut new_width = child_bounds.width(); + if child.is_layout_horizontal_fill() { + let margin_left = child.layout_item.map(|i| i.margin_left).unwrap_or(0.0); + new_width = cell.width - margin_left; + let min_width = child.layout_item.and_then(|i| i.min_w).unwrap_or(MIN_SIZE); + let max_width = child.layout_item.and_then(|i| i.max_w).unwrap_or(MAX_SIZE); + new_width = new_width.clamp(min_width, max_width); + } + + let mut new_height = child_bounds.height(); + if child.is_layout_vertical_fill() { + let margin_top = child.layout_item.map(|i| i.margin_top).unwrap_or(0.0); + new_height = cell.height - margin_top; + let min_height = child.layout_item.and_then(|i| i.min_h).unwrap_or(MIN_SIZE); + let max_height = child.layout_item.and_then(|i| i.max_h).unwrap_or(MAX_SIZE); + new_height = new_height.clamp(min_height, max_height); + } + + let mut transform = Matrix::default(); + + if (new_width - child_bounds.width()).abs() > MIN_SIZE + || (new_height - child_bounds.height()).abs() > MIN_SIZE + { + transform.post_concat(&math::resize_matrix( + &layout_bounds, + &child_bounds, + new_width, + new_height, + )); + } + + let position = child_position( + &child, + &layout_bounds, + &layout_data, + &child_bounds, + child.layout_item, + cell, + ); + + let delta_v = Vector::new_points(&child_bounds.nw, &position); + + if delta_v.x.abs() > MIN_SIZE || delta_v.y.abs() > MIN_SIZE { + transform.post_concat(&Matrix::translate(delta_v)); + } + + result.push_back(Modifier::transform(child.id, transform)); + } + + if shape.is_layout_horizontal_auto() || shape.is_layout_vertical_auto() { + let width = layout_bounds.width(); + let height = layout_bounds.height(); + + let mut scale_width = 1.0; + let mut scale_height = 1.0; + + if shape.is_layout_horizontal_auto() { + let auto_width = column_tracks.iter().map(|t| t.size).sum::() + + layout_data.padding_left + + layout_data.padding_right + + (column_tracks.len() - 1) as f32 * layout_data.column_gap; + scale_width = auto_width / width; + } + + if shape.is_layout_vertical_auto() { + let auto_height = row_tracks.iter().map(|t| t.size).sum::() + + layout_data.padding_top + + layout_data.padding_bottom + + (row_tracks.len() - 1) as f32 * layout_data.row_gap; + scale_height = auto_height / height; + } + + let parent_transform = layout_bounds + .transform_matrix() + .unwrap_or(Matrix::default()); + + let parent_transform_inv = &parent_transform.invert().unwrap(); + let origin = parent_transform_inv.map_point(layout_bounds.nw); + + let mut scale = Matrix::scale((scale_width, scale_height)); + scale.post_translate(origin); + scale.post_concat(&parent_transform); + scale.pre_translate(-origin); + scale.pre_concat(&parent_transform_inv); + + let layout_bounds_after = layout_bounds.transform(&scale); + result.push_back(Modifier::parent(shape.id, scale)); + bounds.insert(shape.id, layout_bounds_after); + } + + result } diff --git a/render-wasm/src/shapes/paths.rs b/render-wasm/src/shapes/paths.rs index 5f0741842c..a09ec3c545 100644 --- a/render-wasm/src/shapes/paths.rs +++ b/render-wasm/src/shapes/paths.rs @@ -76,18 +76,6 @@ pub struct Path { open: bool, } -fn starts_and_ends_at_same_point(path: &skia::Path) -> bool { - if path.count_points() < 2 { - return false; // A path with fewer than 2 points cannot be closed - } - - let start_point = path.get_point(0); // First point of the path - let end_point = path.get_point(path.count_points() - 1); // Last point of the path - - // Compare the start and end points - start_point == end_point -} - impl Default for Path { fn default() -> Self { Path::try_from(Vec::new()).unwrap() @@ -105,29 +93,36 @@ impl TryFrom> for Path { .collect::, String>>()?; let mut skia_path = skia::Path::new(); + let mut start = None; + for segment in segments.iter() { - match *segment { + let destination = match *segment { Segment::MoveTo(xy) => { + start = Some(xy); skia_path.move_to(xy); + None } Segment::LineTo(xy) => { skia_path.line_to(xy); + Some(xy) } Segment::CurveTo((c1, c2, xy)) => { skia_path.cubic_to(c1, c2, xy); + Some(xy) } Segment::Close => { skia_path.close(); open = false; + None + } + }; + if let (Some(start), Some(destination)) = (start, destination) { + if destination == start { + skia_path.close(); + open = false; } } } - - if !skia_path.is_last_contour_closed() && starts_and_ends_at_same_point(&skia_path) { - skia_path.close(); - open = false; - } - Ok(Path { segments, skia_path, diff --git a/render-wasm/src/shapes/shadows.rs b/render-wasm/src/shapes/shadows.rs index 755d8e063c..a8f226c41b 100644 --- a/render-wasm/src/shapes/shadows.rs +++ b/render-wasm/src/shapes/shadows.rs @@ -1,4 +1,4 @@ -use skia_safe::{self as skia, image_filters, ImageFilter}; +use skia_safe::{self as skia, image_filters, ImageFilter, Paint}; use super::Color; @@ -62,81 +62,17 @@ impl Shadow { self.hidden } - pub fn to_paint(&self, scale: f32) -> skia::Paint { - let mut paint = skia::Paint::default(); - - let image_filter = match self.style { - ShadowStyle::Drop => self.drop_shadow_filters(scale), - ShadowStyle::Inner => self.inner_shadow_filters(scale), - }; - - paint.set_image_filter(image_filter); - paint.set_anti_alias(true); - - paint - } - - fn drop_shadow_filters(&self, scale: f32) -> Option { - let mut filter = image_filters::drop_shadow_only( - (self.offset.0 * scale, self.offset.1 * scale), - (self.blur * scale, self.blur * scale), - self.color, - None, - None, - None, - ); - - if self.spread > 0. { - filter = - image_filters::dilate((self.spread * scale, self.spread * scale), filter, None); - } - - filter - } - - fn inner_shadow_filters(&self, scale: f32) -> Option { - let sigma = self.blur * 0.5; - let mut filter = skia::image_filters::drop_shadow_only( - (self.offset.0 * scale, self.offset.1 * scale), // DPR? - (sigma * scale, sigma * scale), - skia::Color::BLACK, - None, - None, - None, - ); - - filter = skia::image_filters::color_filter( - skia::color_filters::blend(self.color, skia::BlendMode::SrcOut).unwrap(), - filter, - None, - ); - - if self.spread > 0. { - filter = skia::image_filters::dilate( - (self.spread * scale, self.spread * scale), - filter, - None, - ); - } - - filter = skia::image_filters::blend(skia::BlendMode::SrcIn, None, filter, None); - - filter - } - - // New methods for DropShadow - pub fn get_drop_shadow_paint(&self) -> skia::Paint { - let mut paint = skia::Paint::default(); - + pub fn get_drop_shadow_paint(&self, antialias: bool) -> Paint { + let mut paint = Paint::default(); let image_filter = self.get_drop_shadow_filter(); paint.set_image_filter(image_filter); - paint.set_anti_alias(true); + paint.set_anti_alias(antialias); paint } - fn get_drop_shadow_filter(&self) -> Option { + pub fn get_drop_shadow_filter(&self) -> Option { let mut filter = image_filters::drop_shadow_only( (self.offset.0, self.offset.1), (self.blur, self.blur), @@ -152,4 +88,41 @@ impl Shadow { filter } + + pub fn get_inner_shadow_paint(&self, antialias: bool) -> Paint { + let mut paint = Paint::default(); + + let image_filter = self.get_inner_shadow_filter(); + + paint.set_image_filter(image_filter); + paint.set_anti_alias(antialias); + + paint + } + + pub fn get_inner_shadow_filter(&self) -> Option { + let sigma = self.blur * 0.5; + let mut filter = skia::image_filters::drop_shadow_only( + (self.offset.0, self.offset.1), // DPR? + (sigma, sigma), + skia::Color::WHITE, + None, + None, + None, + ); + + filter = skia::image_filters::color_filter( + skia::color_filters::blend(self.color, skia::BlendMode::SrcOut).unwrap(), + filter, + None, + ); + + if self.spread > 0. { + filter = skia::image_filters::dilate((self.spread, self.spread), filter, None); + } + + filter = skia::image_filters::blend(skia::BlendMode::SrcIn, None, filter, None); + + filter + } } diff --git a/render-wasm/src/shapes/strokes.rs b/render-wasm/src/shapes/strokes.rs index d68b95bbdb..c1372d224c 100644 --- a/render-wasm/src/shapes/strokes.rs +++ b/render-wasm/src/shapes/strokes.rs @@ -116,8 +116,8 @@ impl Stroke { pub fn delta(&self) -> f32 { match self.kind { StrokeKind::InnerStroke => 0., - StrokeKind::CenterStroke => self.width / 2., - StrokeKind::OuterStroke => self.width, + StrokeKind::CenterStroke => self.width, + StrokeKind::OuterStroke => self.width * 2., } } @@ -160,8 +160,9 @@ impl Stroke { rect: &Rect, svg_attrs: &HashMap, scale: f32, + antialias: bool, ) -> skia::Paint { - let mut paint = self.fill.to_paint(rect); + let mut paint = self.fill.to_paint(rect, antialias); paint.set_style(skia::PaintStyle::Stroke); let width = match self.kind { @@ -171,7 +172,7 @@ impl Stroke { }; paint.set_stroke_width(width); - paint.set_anti_alias(true); + paint.set_anti_alias(antialias); if let Some("round") = svg_attrs.get("stroke-linecap").map(String::as_str) { paint.set_stroke_cap(skia::paint::Cap::Round); @@ -225,18 +226,19 @@ impl Stroke { rect: &Rect, svg_attrs: &HashMap, scale: f32, + antialias: bool, ) -> skia::Paint { - let mut paint = self.to_paint(rect, svg_attrs, scale); + let mut paint = self.to_paint(rect, svg_attrs, scale, antialias); match self.render_kind(is_open) { StrokeKind::InnerStroke => { paint.set_stroke_width(2. * paint.stroke_width()); - paint } - StrokeKind::CenterStroke => paint, + StrokeKind::CenterStroke => {} StrokeKind::OuterStroke => { paint.set_stroke_width(2. * paint.stroke_width()); - paint } } + + paint } } diff --git a/render-wasm/src/shapes/text.rs b/render-wasm/src/shapes/text.rs index 47cc123903..0e338f62ef 100644 --- a/render-wasm/src/shapes/text.rs +++ b/render-wasm/src/shapes/text.rs @@ -1,6 +1,6 @@ use crate::{ math::Rect, - render::{DEFAULT_EMOJI_FONT, DEFAULT_FONT}, + render::{default_font, DEFAULT_EMOJI_FONT}, }; use skia_safe::{ self as skia, @@ -8,6 +8,8 @@ use skia_safe::{ }; use super::FontFamily; +use crate::utils::uuid_from_u32; +use crate::Uuid; #[derive(Debug, PartialEq, Clone)] pub struct TextContent { @@ -26,60 +28,52 @@ impl TextContent { self.bounds = Rect::from_xywh(x, y, w, h); } + #[allow(dead_code)] pub fn width(&self) -> f32 { self.bounds.width() } + #[allow(dead_code)] pub fn x(&self) -> f32 { self.bounds.x() } + #[allow(dead_code)] pub fn y(&self) -> f32 { self.bounds.y() } - pub fn add_paragraph(&mut self) { - let p = Paragraph::default(); - self.paragraphs.push(p); - } - - pub fn add_leaf( - &mut self, - text: String, - font_family: FontFamily, - font_size: f32, - ) -> Result<(), String> { - let paragraph = self - .paragraphs - .last_mut() - .ok_or("No paragraph to add text leaf to")?; - - paragraph.add_leaf(TextLeaf::new(text, font_family, font_size)); - - Ok(()) + pub fn add_paragraph(&mut self, paragraph: Paragraph) { + self.paragraphs.push(paragraph); } pub fn to_paragraphs(&self, fonts: &FontCollection) -> Vec { - let mut paragraph_style = ParagraphStyle::default(); - // TODO: read text direction, align, etc. from the shape - paragraph_style.set_text_direction(skia::textlayout::TextDirection::LTR); - self.paragraphs .iter() .map(|p| { + let paragraph_style = p.paragraph_to_style(); let mut builder = ParagraphBuilder::new(¶graph_style, fonts); - for leaf in &p.children { - let text_style = leaf.to_style(); + let text_style = leaf.to_style(&p); + let text = leaf.apply_text_transform(p.text_transform); + builder.push_style(&text_style); - builder.add_text(&leaf.text); + builder.add_text(&text); builder.pop(); } - builder.build() }) .collect() } + + pub fn to_skia_paragraphs(&self, fonts: &FontCollection) -> Vec { + let mut paragraphs = Vec::new(); + for mut skia_paragraph in self.to_paragraphs(fonts) { + skia_paragraph.layout(self.width()); + paragraphs.push(skia_paragraph); + } + paragraphs + } } impl Default for TextContent { @@ -93,19 +87,90 @@ impl Default for TextContent { #[derive(Debug, PartialEq, Clone)] pub struct Paragraph { + text_align: u8, + text_decoration: u8, + text_direction: u8, + text_transform: u8, + line_height: f32, + letter_spacing: f32, + typography_ref_file: Uuid, + typography_ref_id: Uuid, children: Vec, } impl Default for Paragraph { fn default() -> Self { - Self { children: vec![] } + Self { + text_align: 0, + text_decoration: 0, + text_direction: 0, + text_transform: 0, + line_height: 1.0, + letter_spacing: 0.0, + typography_ref_file: Uuid::nil(), + typography_ref_id: Uuid::nil(), + children: vec![], + } } } impl Paragraph { + pub fn new( + text_align: u8, + text_decoration: u8, + text_direction: u8, + text_transform: u8, + line_height: f32, + letter_spacing: f32, + typography_ref_file: Uuid, + typography_ref_id: Uuid, + children: Vec, + ) -> Self { + Self { + text_align, + text_decoration, + text_direction, + text_transform, + line_height, + letter_spacing, + typography_ref_file, + typography_ref_id, + children, + } + } + + #[allow(dead_code)] + fn set_children(&mut self, children: Vec) { + self.children = children; + } + + #[allow(dead_code)] + pub fn get_children(&self) -> &Vec { + &self.children + } + + #[allow(dead_code)] fn add_leaf(&mut self, leaf: TextLeaf) { self.children.push(leaf); } + + pub fn paragraph_to_style(&self) -> ParagraphStyle { + let mut style = ParagraphStyle::default(); + style.set_text_align(match self.text_align { + 0 => skia::textlayout::TextAlign::Left, + 1 => skia::textlayout::TextAlign::Center, + 2 => skia::textlayout::TextAlign::Right, + 3 => skia::textlayout::TextAlign::Justify, + _ => skia::textlayout::TextAlign::Left, + }); + style.set_height(self.line_height); + style.set_text_direction(match self.text_direction { + 0 => skia::textlayout::TextDirection::LTR, + 1 => skia::textlayout::TextDirection::RTL, + _ => skia::textlayout::TextDirection::LTR, + }); + style + } } #[derive(Debug, PartialEq, Clone)] @@ -113,30 +178,250 @@ pub struct TextLeaf { text: String, font_family: FontFamily, font_size: f32, + font_style: u8, + font_weight: i32, + font_variant_id: Uuid, } impl TextLeaf { - pub fn new(text: String, font_family: FontFamily, font_size: f32) -> Self { + pub fn new( + text: String, + font_family: FontFamily, + font_size: f32, + font_style: u8, + font_weight: i32, + font_variant_id: Uuid, + ) -> Self { Self { text, font_family, font_size, + font_style, + font_weight, + font_variant_id, } } - pub fn to_style(&self) -> skia::textlayout::TextStyle { + pub fn to_style(&self, paragraph: &Paragraph) -> skia::textlayout::TextStyle { let mut style = skia::textlayout::TextStyle::default(); style.set_color(skia::Color::BLACK); style.set_font_size(self.font_size); + style.set_letter_spacing(paragraph.letter_spacing); + style.set_height(paragraph.line_height); + style.set_height_override(true); + style.set_decoration_type(match paragraph.text_decoration { + 0 => skia::textlayout::TextDecoration::NO_DECORATION, + 1 => skia::textlayout::TextDecoration::UNDERLINE, + 2 => skia::textlayout::TextDecoration::LINE_THROUGH, + 3 => skia::textlayout::TextDecoration::OVERLINE, + _ => skia::textlayout::TextDecoration::NO_DECORATION, + }); style.set_font_families(&[ self.serialized_font_family(), - DEFAULT_FONT.to_string(), + default_font(), DEFAULT_EMOJI_FONT.to_string(), ]); + style } fn serialized_font_family(&self) -> String { format!("{}", self.font_family) } + + pub fn apply_text_transform(&self, transform: u8) -> String { + match transform { + 1 => self.text.to_uppercase(), + 2 => self.text.to_lowercase(), + 3 => self + .text + .split_whitespace() + .map(|word| { + let mut chars = word.chars(); + match chars.next() { + Some(first) => first.to_uppercase().collect::() + chars.as_str(), + None => String::new(), + } + }) + .collect::>() + .join(" "), + _ => self.text.clone(), + } + } +} + +pub const RAW_PARAGRAPH_DATA_SIZE: usize = 48; +pub const RAW_LEAF_DATA_SIZE: usize = 52; + +#[repr(C)] +#[derive(Debug)] +pub struct RawTextLeafData { + font_style: u8, + font_size: f32, + font_weight: i32, + font_id: [u32; 4], + font_family: [u8; 4], + font_variant_id: [u32; 4], + text_length: u32, +} + +#[repr(C)] +#[derive(Debug)] +pub struct RawParagraphData { + text_align: u8, + text_transform: u8, + text_decoration: u8, + text_direction: u8, + line_height: f32, + letter_spacing: f32, + typography_ref_file: [u32; 4], + typography_ref_id: [u32; 4], +} + +impl From<[u8; RAW_PARAGRAPH_DATA_SIZE]> for RawParagraphData { + fn from(bytes: [u8; RAW_PARAGRAPH_DATA_SIZE]) -> Self { + Self { + text_align: bytes[4], + text_direction: bytes[5], + text_decoration: bytes[6], + text_transform: bytes[7], + line_height: f32::from_be_bytes([bytes[8], bytes[9], bytes[10], bytes[11]]), + letter_spacing: f32::from_be_bytes([bytes[12], bytes[13], bytes[14], bytes[15]]), + typography_ref_file: [ + u32::from_be_bytes([bytes[16], bytes[17], bytes[18], bytes[19]]), + u32::from_be_bytes([bytes[20], bytes[21], bytes[22], bytes[23]]), + u32::from_be_bytes([bytes[24], bytes[25], bytes[26], bytes[27]]), + u32::from_be_bytes([bytes[28], bytes[29], bytes[30], bytes[31]]), + ], + typography_ref_id: [ + u32::from_be_bytes([bytes[32], bytes[33], bytes[34], bytes[35]]), + u32::from_be_bytes([bytes[36], bytes[37], bytes[38], bytes[39]]), + u32::from_be_bytes([bytes[40], bytes[41], bytes[42], bytes[43]]), + u32::from_be_bytes([bytes[44], bytes[45], bytes[46], bytes[47]]), + ], + } + } +} + +pub struct RawTextData { + pub paragraph: Paragraph, +} + +impl RawTextData { + fn leaves_attrs_from_bytes(buffer: &[u8], num_leaves: usize) -> Vec { + let mut attrs = Vec::new(); + for i in 0..num_leaves { + let start = i * RAW_LEAF_DATA_SIZE; + let end = start + RAW_LEAF_DATA_SIZE; + let bytes = &buffer[start..end]; + let array: [u8; RAW_LEAF_DATA_SIZE] = bytes.try_into().expect("Slice length mismatch"); + let leaf_attrs = RawTextLeafData::from(array); + attrs.push(leaf_attrs); + } + attrs + } + + fn paragraph_attrs_from_bytes(buffer: &[u8]) -> RawParagraphData { + let bytes: [u8; RAW_PARAGRAPH_DATA_SIZE] = buffer[..RAW_PARAGRAPH_DATA_SIZE] + .try_into() + .expect("Slice length mismatch for paragraph attributes"); + RawParagraphData::from(bytes) + } + + fn text_from_bytes(buffer: &[u8], offset: usize, text_length: u32) -> (String, usize) { + let text_length = text_length as usize; + let text_end = offset + text_length; + + if text_end > buffer.len() { + panic!( + "Invalid text range: offset={}, text_end={}, buffer_len={}", + offset, + text_end, + buffer.len() + ); + } + + let text_utf8 = buffer[offset..text_end].to_vec(); + let text = String::from_utf8(text_utf8).expect("Invalid UTF-8 text"); + + (text, text_end) + } +} + +impl From<[u8; RAW_LEAF_DATA_SIZE]> for RawTextLeafData { + fn from(bytes: [u8; RAW_LEAF_DATA_SIZE]) -> Self { + Self { + font_style: bytes[0], + font_size: f32::from_be_bytes([bytes[4], bytes[5], bytes[6], bytes[7]]), + font_weight: i32::from_be_bytes([bytes[8], bytes[9], bytes[10], bytes[11]]), + font_id: [ + u32::from_be_bytes([bytes[12], bytes[13], bytes[14], bytes[15]]), + u32::from_be_bytes([bytes[16], bytes[17], bytes[18], bytes[19]]), + u32::from_be_bytes([bytes[20], bytes[21], bytes[22], bytes[23]]), + u32::from_be_bytes([bytes[24], bytes[25], bytes[26], bytes[27]]), + ], + font_family: [bytes[28], bytes[29], bytes[30], bytes[31]], + font_variant_id: [ + u32::from_be_bytes([bytes[32], bytes[33], bytes[34], bytes[35]]), + u32::from_be_bytes([bytes[36], bytes[37], bytes[38], bytes[39]]), + u32::from_be_bytes([bytes[40], bytes[41], bytes[42], bytes[43]]), + u32::from_be_bytes([bytes[44], bytes[45], bytes[46], bytes[47]]), + ], + text_length: u32::from_be_bytes([bytes[48], bytes[49], bytes[50], bytes[51]]), + } + } +} + +impl From<&Vec> for RawTextData { + fn from(bytes: &Vec) -> Self { + let num_leaves = u32::from_be_bytes([bytes[0], bytes[1], bytes[2], bytes[3]]) as usize; + + let paragraph_attrs = + RawTextData::paragraph_attrs_from_bytes(&bytes[..RAW_PARAGRAPH_DATA_SIZE]); + let leaves_attrs = + RawTextData::leaves_attrs_from_bytes(&bytes[1 + RAW_PARAGRAPH_DATA_SIZE..], num_leaves); + + let metadata_size = 1 + RAW_PARAGRAPH_DATA_SIZE + num_leaves * RAW_LEAF_DATA_SIZE; + let text_start = metadata_size; + let mut offset = text_start; + let mut text_leaves: Vec = Vec::new(); + + for attrs in leaves_attrs { + let (text, new_offset) = RawTextData::text_from_bytes(bytes, offset, attrs.text_length); + offset = new_offset; + + let font_id = uuid_from_u32(attrs.font_id); + let font_variant_id = uuid_from_u32(attrs.font_variant_id); + + let font_family = + FontFamily::new(font_id, attrs.font_weight as u32, attrs.font_style.into()); + + let text_leaf = TextLeaf::new( + text, + font_family, + attrs.font_size, + attrs.font_style, + attrs.font_weight, + font_variant_id, + ); + text_leaves.push(text_leaf); + } + + let typography_ref_file = uuid_from_u32(paragraph_attrs.typography_ref_file); + let typography_ref_id = uuid_from_u32(paragraph_attrs.typography_ref_id); + + let paragraph = Paragraph::new( + paragraph_attrs.text_align, + paragraph_attrs.text_decoration, + paragraph_attrs.text_direction, + paragraph_attrs.text_transform, + paragraph_attrs.line_height, + paragraph_attrs.letter_spacing, + typography_ref_file, + typography_ref_id, + text_leaves.clone(), + ); + + Self { paragraph } + } } diff --git a/render-wasm/src/shapes/transform.rs b/render-wasm/src/shapes/transform.rs index bbfd8f77d8..7c7be13ec7 100644 --- a/render-wasm/src/shapes/transform.rs +++ b/render-wasm/src/shapes/transform.rs @@ -1,8 +1,8 @@ use skia_safe as skia; -use uuid::Uuid; use crate::mem::SerializableResult; use crate::utils::{uuid_from_u32_quartet, uuid_to_u32_quartet}; +use crate::uuid::Uuid; use skia::Matrix; #[derive(PartialEq, Debug, Clone)] @@ -98,15 +98,74 @@ impl SerializableResult for TransformEntry { } } +#[derive(PartialEq, Debug, Clone, Copy)] +pub enum StructureEntryType { + RemoveChild, + AddChild, +} + +impl StructureEntryType { + pub fn from_u32(value: u32) -> Self { + match value { + 1 => Self::RemoveChild, + 2 => Self::AddChild, + _ => unreachable!(), + } + } +} + +#[derive(PartialEq, Debug, Clone)] +#[repr(C)] +pub struct StructureEntry { + pub entry_type: StructureEntryType, + pub index: u32, + pub parent: Uuid, + pub id: Uuid, +} + +impl StructureEntry { + pub fn new(entry_type: StructureEntryType, index: u32, parent: Uuid, id: Uuid) -> Self { + StructureEntry { + entry_type, + index, + parent, + id, + } + } + + pub fn from_bytes(bytes: [u8; 40]) -> Self { + let entry_type = StructureEntryType::from_u32(u32::from_le_bytes([ + bytes[0], bytes[1], bytes[2], bytes[3], + ])); + + let index = u32::from_le_bytes([bytes[4], bytes[5], bytes[6], bytes[7]]); + + let parent = uuid_from_u32_quartet( + u32::from_le_bytes([bytes[8], bytes[9], bytes[10], bytes[11]]), + u32::from_le_bytes([bytes[12], bytes[13], bytes[14], bytes[15]]), + u32::from_le_bytes([bytes[16], bytes[17], bytes[18], bytes[19]]), + u32::from_le_bytes([bytes[20], bytes[21], bytes[22], bytes[23]]), + ); + + let id = uuid_from_u32_quartet( + u32::from_le_bytes([bytes[24], bytes[25], bytes[26], bytes[27]]), + u32::from_le_bytes([bytes[28], bytes[29], bytes[30], bytes[31]]), + u32::from_le_bytes([bytes[32], bytes[33], bytes[34], bytes[35]]), + u32::from_le_bytes([bytes[36], bytes[37], bytes[38], bytes[39]]), + ); + + StructureEntry::new(entry_type, index, parent, id) + } +} + #[cfg(test)] mod tests { use super::*; - use uuid::uuid; #[test] fn test_serialization() { let entry = TransformEntry::new( - uuid!("550e8400-e29b-41d4-a716-446655440000"), + Uuid::new_v4(), Matrix::new_all(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 0.0, 0.0, 1.0), ); diff --git a/render-wasm/src/state.rs b/render-wasm/src/state.rs index 2f440ef785..67f9129c17 100644 --- a/render-wasm/src/state.rs +++ b/render-wasm/src/state.rs @@ -1,10 +1,11 @@ use std::collections::HashMap; use skia_safe as skia; -use uuid::Uuid; use crate::render::RenderState; use crate::shapes::Shape; +use crate::shapes::StructureEntry; +use crate::uuid::Uuid; /// This struct holds the state of the Rust application between JS calls. /// @@ -17,6 +18,7 @@ pub(crate) struct State<'a> { pub current_shape: Option<&'a mut Shape>, pub shapes: HashMap, pub modifiers: HashMap, + pub structure: HashMap>, } impl<'a> State<'a> { @@ -27,6 +29,7 @@ impl<'a> State<'a> { current_shape: None, shapes: HashMap::with_capacity(capacity), modifiers: HashMap::new(), + structure: HashMap::new(), } } @@ -39,21 +42,25 @@ impl<'a> State<'a> { } pub fn start_render_loop(&mut self, timestamp: i32) -> Result<(), String> { - self.render_state - .start_render_loop(&mut self.shapes, &self.modifiers, timestamp)?; + self.render_state.start_render_loop( + &mut self.shapes, + &self.modifiers, + &self.structure, + timestamp, + )?; Ok(()) } pub fn process_animation_frame(&mut self, timestamp: i32) -> Result<(), String> { - self.render_state - .process_animation_frame(&mut self.shapes, &self.modifiers, timestamp)?; + self.render_state.process_animation_frame( + &mut self.shapes, + &self.modifiers, + &self.structure, + timestamp, + )?; Ok(()) } - pub fn render_from_cache(&mut self) { - let _ = self.render_state.render_from_cache(); - } - pub fn use_shape(&'a mut self, id: Uuid) { if !self.shapes.contains_key(&id) { let new_shape = Shape::new(id); @@ -63,6 +70,20 @@ impl<'a> State<'a> { self.current_shape = self.shapes.get_mut(&id); } + pub fn delete_shape(&mut self, id: Uuid) { + // We don't really do a self.shapes.remove so that redo/undo keep working + if let Some(shape) = self.shapes.get(&id) { + let (rsx, rsy, rex, rey) = self.render_state.get_tiles_for_shape(&shape); + for x in rsx..=rex { + for y in rsy..=rey { + let tile = (x, y); + self.render_state.surfaces.remove_cached_tile_surface(tile); + self.render_state.tiles.remove_shape_at(tile, id); + } + } + } + } + pub fn current_shape(&mut self) -> Option<&mut Shape> { self.current_shape.as_deref_mut() } @@ -70,4 +91,45 @@ impl<'a> State<'a> { pub fn set_background_color(&mut self, color: skia::Color) { self.render_state.set_background_color(color); } + + pub fn set_selrect_for_current_shape(&mut self, left: f32, top: f32, right: f32, bottom: f32) { + match self.current_shape.as_mut() { + Some(shape) => { + shape.set_selrect(left, top, right, bottom); + // We don't need to update the tile for the root shape. + if !shape.id.is_nil() { + self.render_state.update_tile_for(&shape); + } + } + None => panic!("Invalid current shape"), + } + } + + pub fn update_tile_for_current_shape(&mut self) { + match self.current_shape.as_mut() { + Some(shape) => { + // We don't need to update the tile for the root shape. + // We can also have deleted the selected shape + if !shape.id.is_nil() && self.shapes.contains_key(&shape.id) { + self.render_state.update_tile_for(&shape); + } + } + None => panic!("Invalid current shape"), + } + } + + pub fn rebuild_tiles_shallow(&mut self) { + self.render_state + .rebuild_tiles_shallow(&mut self.shapes, &self.modifiers, &self.structure); + } + + pub fn rebuild_tiles(&mut self) { + self.render_state + .rebuild_tiles(&mut self.shapes, &self.modifiers, &self.structure); + } + + pub fn rebuild_modifier_tiles(&mut self) { + self.render_state + .rebuild_modifier_tiles(&mut self.shapes, &self.modifiers); + } } diff --git a/render-wasm/src/utils.rs b/render-wasm/src/utils.rs index ae5ff986c2..3b51efba02 100644 --- a/render-wasm/src/utils.rs +++ b/render-wasm/src/utils.rs @@ -1,4 +1,4 @@ -use uuid::Uuid; +use crate::uuid::Uuid; pub fn uuid_from_u32_quartet(a: u32, b: u32, c: u32, d: u32) -> Uuid { let hi: u64 = ((a as u64) << 32) | b as u64; @@ -14,3 +14,7 @@ pub fn uuid_to_u32_quartet(id: &Uuid) -> (u32, u32, u32, u32) { let lolo32 = lo as u32; (hihi32, hilo32, lohi32, lolo32) } + +pub fn uuid_from_u32(id: [u32; 4]) -> Uuid { + uuid_from_u32_quartet(id[0], id[1], id[2], id[3]) +} diff --git a/render-wasm/src/uuid.rs b/render-wasm/src/uuid.rs new file mode 100644 index 0000000000..7c2d64ec09 --- /dev/null +++ b/render-wasm/src/uuid.rs @@ -0,0 +1,80 @@ +use crate::mem::SerializableResult; +use crate::utils::uuid_from_u32_quartet; +use crate::utils::uuid_to_u32_quartet; +use std::fmt; +use std::ops::{Deref, DerefMut}; +use uuid::Uuid as ExternalUuid; + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub struct Uuid(ExternalUuid); + +impl Deref for Uuid { + type Target = ExternalUuid; + + fn deref(&self) -> &Self::Target { + &self.0 + } +} + +impl DerefMut for Uuid { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } +} + +impl Uuid { + pub fn nil() -> Self { + Self(ExternalUuid::nil()) + } + + pub fn from_u64_pair(high: u64, low: u64) -> Self { + Self(ExternalUuid::from_u64_pair(high, low)) + } + + #[cfg(test)] + pub fn new_v4() -> Self { + Self(ExternalUuid::new_v4()) + } +} + +impl From for Uuid { + fn from(uuid: ExternalUuid) -> Self { + Self(uuid) + } +} + +impl fmt::Display for Uuid { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + write!(f, "{}", self.0) + } +} + +impl SerializableResult for Uuid { + type BytesType = [u8; 16]; + + fn from_bytes(bytes: Self::BytesType) -> Self { + Self(*uuid_from_u32_quartet( + u32::from_le_bytes([bytes[0], bytes[1], bytes[2], bytes[3]]), + u32::from_le_bytes([bytes[4], bytes[5], bytes[6], bytes[7]]), + u32::from_le_bytes([bytes[8], bytes[9], bytes[10], bytes[11]]), + u32::from_le_bytes([bytes[12], bytes[13], bytes[14], bytes[15]]), + )) + } + + fn as_bytes(&self) -> Self::BytesType { + let mut result: Self::BytesType = [0; 16]; + let (a, b, c, d) = uuid_to_u32_quartet(&self); + result[0..4].clone_from_slice(&a.to_le_bytes()); + result[4..8].clone_from_slice(&b.to_le_bytes()); + result[8..12].clone_from_slice(&c.to_le_bytes()); + result[12..16].clone_from_slice(&d.to_le_bytes()); + + result + } + + // The generic trait doesn't know the size of the array. This is why the + // clone needs to be here even if it could be generic. + fn clone_to_slice(&self, slice: &mut [u8]) { + slice.clone_from_slice(&self.as_bytes()); + } +} diff --git a/render-wasm/src/view.rs b/render-wasm/src/view.rs index 1c23511521..eeb7aa858b 100644 --- a/render-wasm/src/view.rs +++ b/render-wasm/src/view.rs @@ -45,23 +45,14 @@ impl Viewbox { ); } - pub fn set_zoom(&mut self, zoom: f32) { - self.zoom = zoom; - self.area - .set_wh(self.width / self.zoom, self.height / self.zoom); - } - - pub fn set_pan_xy(&mut self, pan_x: f32, pan_y: f32) { - self.pan_x = pan_x; - self.pan_y = pan_y; - self.area.left = -pan_x; - self.area.top = -pan_y; - } - pub fn set_wh(&mut self, width: f32, height: f32) { self.width = width; self.height = height; self.area .set_wh(self.width / self.zoom, self.height / self.zoom); } + + pub fn zoom(&self) -> f32 { + self.zoom + } } diff --git a/render-wasm/src/wapi.rs b/render-wasm/src/wapi.rs new file mode 100644 index 0000000000..92e03d82cf --- /dev/null +++ b/render-wasm/src/wapi.rs @@ -0,0 +1,38 @@ +#[macro_export] +macro_rules! request_animation_frame { + () => {{ + #[cfg(target_arch = "wasm32")] + unsafe extern "C" { + pub fn wapi_requestAnimationFrame() -> i32; + } + + #[cfg(target_arch = "wasm32")] + let result = unsafe { wapi_requestAnimationFrame() }; + #[cfg(not(target_arch = "wasm32"))] + let result = 0; + + result + }}; +} + +#[macro_export] +macro_rules! cancel_animation_frame { + ($frame_id:expr) => { + #[cfg(target_arch = "wasm32")] + unsafe extern "C" { + pub fn wapi_cancelAnimationFrame(frame_id: i32); + } + + { + #[cfg(target_arch = "wasm32")] + unsafe { + wapi_cancelAnimationFrame($frame_id) + }; + #[cfg(not(target_arch = "wasm32"))] + let _ = $frame_id; + } + }; +} + +pub use cancel_animation_frame; +pub use request_animation_frame; diff --git a/render-wasm/src/wasm.rs b/render-wasm/src/wasm.rs index 31ae8a7c1d..7d45923d91 100644 --- a/render-wasm/src/wasm.rs +++ b/render-wasm/src/wasm.rs @@ -1,2 +1,4 @@ +pub mod fills; pub mod fonts; +pub mod strokes; pub mod text; diff --git a/render-wasm/src/wasm/fills.rs b/render-wasm/src/wasm/fills.rs new file mode 100644 index 0000000000..a6c47fdf1c --- /dev/null +++ b/render-wasm/src/wasm/fills.rs @@ -0,0 +1,60 @@ +use skia_safe as skia; + +use crate::mem; +use crate::shapes; +use crate::utils::uuid_from_u32_quartet; +use crate::with_current_shape; +use crate::STATE; + +#[no_mangle] +pub extern "C" fn add_shape_solid_fill(raw_color: u32) { + with_current_shape!(state, |shape: &mut Shape| { + let color = skia::Color::new(raw_color); + shape.add_fill(shapes::Fill::Solid(color)); + }); +} + +#[no_mangle] +pub extern "C" fn add_shape_linear_fill() { + with_current_shape!(state, |shape: &mut Shape| { + let bytes = mem::bytes(); + let gradient = shapes::Gradient::try_from(&bytes[..]).expect("Invalid gradient data"); + shape.add_fill(shapes::Fill::LinearGradient(gradient)); + }); +} + +#[no_mangle] +pub extern "C" fn add_shape_radial_fill() { + with_current_shape!(state, |shape: &mut Shape| { + let bytes = mem::bytes(); + let gradient = shapes::Gradient::try_from(&bytes[..]).expect("Invalid gradient data"); + shape.add_fill(shapes::Fill::RadialGradient(gradient)); + }); +} + +#[no_mangle] +pub extern "C" fn add_shape_image_fill( + a: u32, + b: u32, + c: u32, + d: u32, + alpha: f32, + width: i32, + height: i32, +) { + with_current_shape!(state, |shape: &mut Shape| { + let id = uuid_from_u32_quartet(a, b, c, d); + shape.add_fill(shapes::Fill::new_image_fill( + id, + (alpha * 0xff as f32).floor() as u8, + (width, height), + )); + }); +} + +#[no_mangle] +pub extern "C" fn clear_shape_fills() { + with_current_shape!(state, |shape: &mut Shape| { + shape.clear_fills(); + }); +} diff --git a/render-wasm/src/wasm/strokes.rs b/render-wasm/src/wasm/strokes.rs new file mode 100644 index 0000000000..5aea834cfb --- /dev/null +++ b/render-wasm/src/wasm/strokes.rs @@ -0,0 +1,97 @@ +use skia_safe as skia; + +use crate::mem; +use crate::shapes; +use crate::utils::uuid_from_u32_quartet; +use crate::with_current_shape; +use crate::STATE; + +#[no_mangle] +pub extern "C" fn add_shape_center_stroke(width: f32, style: u8, cap_start: u8, cap_end: u8) { + with_current_shape!(state, |shape: &mut Shape| { + shape.add_stroke(shapes::Stroke::new_center_stroke( + width, style, cap_start, cap_end, + )); + }); +} + +#[no_mangle] +pub extern "C" fn add_shape_inner_stroke(width: f32, style: u8, cap_start: u8, cap_end: u8) { + with_current_shape!(state, |shape: &mut Shape| { + shape.add_stroke(shapes::Stroke::new_inner_stroke( + width, style, cap_start, cap_end, + )); + }); +} + +#[no_mangle] +pub extern "C" fn add_shape_outer_stroke(width: f32, style: u8, cap_start: u8, cap_end: u8) { + with_current_shape!(state, |shape: &mut Shape| { + shape.add_stroke(shapes::Stroke::new_outer_stroke( + width, style, cap_start, cap_end, + )); + }); +} + +#[no_mangle] +pub extern "C" fn add_shape_stroke_solid_fill(raw_color: u32) { + with_current_shape!(state, |shape: &mut Shape| { + let color = skia::Color::new(raw_color); + shape + .set_stroke_fill(shapes::Fill::Solid(color)) + .expect("could not add stroke solid fill"); + }); +} + +#[no_mangle] +pub extern "C" fn add_shape_stroke_linear_fill() { + with_current_shape!(state, |shape: &mut Shape| { + let bytes = mem::bytes(); + let gradient = shapes::Gradient::try_from(&bytes[..]).expect("Invalid gradient data"); + + shape + .set_stroke_fill(shapes::Fill::LinearGradient(gradient)) + .expect("could not add stroke linear gradient fill"); + }); +} + +#[no_mangle] +pub extern "C" fn add_shape_stroke_radial_fill() { + with_current_shape!(state, |shape: &mut Shape| { + let bytes = mem::bytes(); + let gradient = shapes::Gradient::try_from(&bytes[..]).expect("Invalid gradient data"); + + shape + .set_stroke_fill(shapes::Fill::RadialGradient(gradient)) + .expect("could not add stroke radial gradient fill"); + }); +} + +#[no_mangle] +pub extern "C" fn add_shape_image_stroke( + a: u32, + b: u32, + c: u32, + d: u32, + alpha: f32, + width: i32, + height: i32, +) { + with_current_shape!(state, |shape: &mut Shape| { + let id = uuid_from_u32_quartet(a, b, c, d); + shape + .set_stroke_fill(shapes::Fill::new_image_fill( + id, + (alpha * 0xff as f32).floor() as u8, + (width, height), + )) + .expect("could not add stroke image fill"); + }); +} + +#[no_mangle] +pub extern "C" fn clear_shape_strokes() { + with_current_shape!(state, |shape: &mut Shape| { + shape.clear_strokes(); + }); +} diff --git a/render-wasm/src/wasm/text.rs b/render-wasm/src/wasm/text.rs index 8ab9062ea0..1fb3fd4018 100644 --- a/render-wasm/src/wasm/text.rs +++ b/render-wasm/src/wasm/text.rs @@ -1,6 +1,5 @@ use crate::mem; -use crate::shapes::FontFamily; -use crate::utils::uuid_from_u32_quartet; +use crate::shapes::RawTextData; use crate::with_current_shape; use crate::STATE; @@ -12,37 +11,14 @@ pub extern "C" fn clear_shape_text() { } #[no_mangle] -pub extern "C" fn add_text_paragraph() { - with_current_shape!(state, |shape: &mut Shape| { - let res = shape.add_text_paragraph(); - if let Err(err) = res { - eprintln!("{}", err); - } - }); -} - -#[no_mangle] -pub extern "C" fn add_text_leaf( - a: u32, - b: u32, - c: u32, - d: u32, - weight: u32, - style: u8, - font_size: f32, -) { - let font_id = uuid_from_u32_quartet(a, b, c, d); - let font_family = FontFamily::new(font_id, weight, style.into()); +pub extern "C" fn set_shape_text_content() { let bytes = mem::bytes(); - - let text = unsafe { - String::from_utf8_unchecked(bytes) // TODO: handle this error - }; - with_current_shape!(state, |shape: &mut Shape| { - let res = shape.add_text_leaf(text, font_family, font_size); - if let Err(err) = res { - eprintln!("{}", err); - } + let raw_text_data = RawTextData::from(&bytes); + shape + .add_paragraph(raw_text_data.paragraph) + .expect("Failed to add paragraph"); }); + + mem::free_bytes(); } diff --git a/render-wasm/test b/render-wasm/test index 752f25877e..90009283fc 100755 --- a/render-wasm/test +++ b/render-wasm/test @@ -1,8 +1,17 @@ #!/usr/bin/env bash +set -x + _SCRIPT_DIR=$(dirname $0); - -export SKIA_BINARIES_URL="https://github.com/rust-skia/skia-binaries/releases/download/0.80.0/skia-binaries-9e7d2684a17084095aef-x86_64-unknown-linux-gnu-egl-gl-svg-textlayout-vulkan-wayland-webpd-webpe-x11.tar.gz" - pushd $_SCRIPT_DIR; + +. ./_build_env + +export SKIA_BINARIES_URL=${SKIA_BINARIES_URL:-"https://github.com/penpot/skia-binaries/releases/download/0.81.0-3/skia-binaries-24dee32a277b6c7b5357-x86_64-unknown-linux-gnu-gl-svg-textlayout-binary-cache.tar.gz"} +export CARGO_BUILD_TARGET=${CARGO_BUILD_TARGET:-"x86_64-unknown-linux-gnu"}; + cargo test --bin render_wasm -- --show-output + +# Exit with the same status code as cargo test +exit $? + popd diff --git a/render-wasm/watch b/render-wasm/watch index 0b7b12afed..720e0e2e93 100755 --- a/render-wasm/watch +++ b/render-wasm/watch @@ -4,7 +4,10 @@ set -x _SCRIPT_DIR=$(dirname $0); pushd $_SCRIPT_DIR; -. ./_build_env +. ./_build_env + +export CARGO_BUILD_TARGET=${CARGO_BUILD_TARGET:-"wasm32-unknown-emscripten"}; +export SKIA_BINARIES_URL=${SKIA_BINARIES_URL:-"https://github.com/penpot/skia-binaries/releases/download/0.81.0-3/skia-binaries-24dee32a277b6c7b5357-wasm32-unknown-emscripten-gl-svg-textlayout-binary-cache.tar.gz"} pushd $_SCRIPT_DIR; cargo watch \